From 3fbfa66df2ae40169eba042ba6af46ce84407499 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Thu, 21 Oct 2004 19:33:41 +0000 Subject: [PATCH] 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 git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@264 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 7 +++++++ src/NetworkManagerDbus.c | 2 ++ src/NetworkManagerDevice.c | 12 +++++++++--- src/NetworkManagerMain.h | 1 + src/NetworkManagerPolicy.c | 24 ++++++++++++++++-------- src/NetworkManagerUtils.c | 2 +- 6 files changed, 36 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index f2cc69b5c4..f12a016143 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 83d75541b4..79e7d1c845 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 3c81400387..0d2acd06c9 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 268afbd226..c201525862 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 3f64ef92b1..15d528b860 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 ef7991d7c0..2f487e5e00 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. * */