diff --git a/ChangeLog b/ChangeLog index f2cc69b5c..f12a01614 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-10-21 Dan Williams + + * Add some support for telling NetworkManagerInfo to tell the user + that they are using a device that's not fully supported + + * Fix some assertions in debug messages due to null access point args + 2004-10-21 Dan Williams * src/NetworkManagerDevice.c diff --git a/src/NetworkManagerDbus.c b/src/NetworkManagerDbus.c index 83d75541b..79e7d1c84 100644 --- a/src/NetworkManagerDbus.c +++ b/src/NetworkManagerDbus.c @@ -1036,6 +1036,7 @@ static DBusHandlerResult nm_dbus_nmi_filter (DBusConnection *connection, DBusMes { data->update_ap_lists = TRUE; data->info_daemon_avail = TRUE; + data->notify_device_support = TRUE; nm_data_mark_state_changed (data); } /* Don't set handled = TRUE since other filter functions on this dbus connection @@ -1053,6 +1054,7 @@ static DBusHandlerResult nm_dbus_nmi_filter (DBusConnection *connection, DBusMes { data->update_ap_lists = TRUE; data->info_daemon_avail = FALSE; + data->notify_device_support = TRUE; nm_data_mark_state_changed (data); } /* Don't set handled = TRUE since other filter functions on this dbus connection diff --git a/src/NetworkManagerDevice.c b/src/NetworkManagerDevice.c index 3c8140038..0d2acd06c 100644 --- a/src/NetworkManagerDevice.c +++ b/src/NetworkManagerDevice.c @@ -1399,9 +1399,15 @@ void nm_device_activate_wireless_wait_for_link (NMDevice *dev) || (best_ap && (nm_ap_get_encrypted (best_ap) && (!nm_ap_get_enc_key_source (best_ap) || !strlen (nm_ap_get_enc_key_source (best_ap)))))) { - syslog (LOG_NOTICE, "LINK: !HAVE=%d, (best_ap=0x%X && (is_enc=%d && (!source=%d || !len_source=%d)))\n", - !HAVE_LINK (dev, bad_crypt_packets), best_ap, nm_ap_get_encrypted (best_ap), !nm_ap_get_enc_key_source (best_ap), - nm_ap_get_enc_key_source (best_ap) ? !strlen (nm_ap_get_enc_key_source (best_ap)) : 0); + if (best_ap) + { + syslog (LOG_NOTICE, "LINK: !HAVE=%d, (best_ap=0x%X && (is_enc=%d && (!source=%d || !len_source=%d)))", + !HAVE_LINK (dev, bad_crypt_packets), best_ap, nm_ap_get_encrypted (best_ap), !nm_ap_get_enc_key_source (best_ap), + nm_ap_get_enc_key_source (best_ap) ? !strlen (nm_ap_get_enc_key_source (best_ap)) : 0); + } + else + syslog (LOG_NOTICE, "LINK: !HAVE=%d, (best_ap=NULL)", !HAVE_LINK (dev, bad_crypt_packets)); + if ((best_ap = nm_device_get_best_ap (dev))) { diff --git a/src/NetworkManagerMain.h b/src/NetworkManagerMain.h index 268afbd22..c20152586 100644 --- a/src/NetworkManagerMain.h +++ b/src/NetworkManagerMain.h @@ -37,6 +37,7 @@ typedef struct NMData gboolean enable_test_devices; gboolean starting_up; /* Hack for not taking down an already-set-up wired device when we launch */ + gboolean notify_device_support; GSList *dev_list; GMutex *dev_list_mutex; diff --git a/src/NetworkManagerPolicy.c b/src/NetworkManagerPolicy.c index 3f64ef92b..15d528b86 100644 --- a/src/NetworkManagerPolicy.c +++ b/src/NetworkManagerPolicy.c @@ -248,16 +248,24 @@ gboolean nm_state_modification_monitor (gpointer user_data) g_return_val_if_fail (data != NULL, TRUE); /* If the info daemon is now running, get our trusted/preferred ap lists from it */ - if (data->info_daemon_avail && data->update_ap_lists) + if (data->info_daemon_avail) { - /* Query info daemon for network lists if its now running */ - if (data->allowed_ap_list) - nm_ap_list_unref (data->allowed_ap_list); - data->allowed_ap_list = nm_ap_list_new (NETWORK_TYPE_ALLOWED); - if (data->allowed_ap_list) - nm_ap_list_populate (data->allowed_ap_list, data); + if (data->update_ap_lists) + { + /* Query info daemon for network lists if its now running */ + if (data->allowed_ap_list) + nm_ap_list_unref (data->allowed_ap_list); + data->allowed_ap_list = nm_ap_list_new (NETWORK_TYPE_ALLOWED); + if (data->allowed_ap_list) + nm_ap_list_populate (data->allowed_ap_list, data); + + data->update_ap_lists = FALSE; + } - data->update_ap_lists = FALSE; + if (data->notify_device_support) + { + data->notify_device_support = FALSE; + } } /* Check global state modified variable, and reset it with diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c index ef7991d7c..2f487e5e0 100644 --- a/src/NetworkManagerUtils.c +++ b/src/NetworkManagerUtils.c @@ -260,7 +260,7 @@ static driver_support wired_driver_blacklist[] = /* * nm_get_device_driver_name * - * Checks either /proc/sys/bus/devices or /var/lib/pcmcia/stab to determine + * Checks either /proc/bus/pci/devices or /var/lib/pcmcia/stab to determine * which driver is bound to the device. * */