Hello community, here is the log from the commit of package NetworkManager checked in at Fri Nov 10 13:12:38 CET 2006. -------- --- NetworkManager/NetworkManager.changes 2006-11-02 10:58:29.000000000 +0100 +++ /mounts/work_src_done/STABLE/NetworkManager/NetworkManager.changes 2006-11-10 12:40:10.000000000 +0100 @@ -1,0 +2,9 @@ +Fri Nov 10 12:34:16 CET 2006 - tambet@suse.de + +- Pull in latest CVS updates: + - Fix a bunch of memory leaks and reference counting issues. + (Novell #217027). +- Actually fix (Novell #212556). +- Implement disconnect wireless on exit (Novell #218848). + +------------------------------------------------------------------- New: ---- nm-applet-disconnect-on-exit.patch nm-disconnect-wireless-on-exit.sh ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ NetworkManager.spec ++++++ --- /var/tmp/diff_new_pack.U9XNGf/_old 2006-11-10 13:12:24.000000000 +0100 +++ /var/tmp/diff_new_pack.U9XNGf/_new 2006-11-10 13:12:24.000000000 +0100 @@ -30,11 +30,12 @@ URL: http://www.gnome.org/projects/NetworkManager/ Autoreqprov: on Version: 0.6.4 -Release: 28 +Release: 36 Summary: Network Link Manager and User Applications Source0: NetworkManager-%{version}.tar.gz Source1: nm-icons.tar.gz Source2: nfs +Source3: nm-disconnect-wireless-on-exit.sh Patch0: nm-0.6-branch.patch Patch1: nm-make-wireless-menu-item-inactive-rml.patch Patch2: nm-configure-networking-rml.patch @@ -44,6 +45,7 @@ Patch6: nm-resolv-conf-header-rml.patch Patch7: nm-fix-adhoc-icon-rml.patch Patch8: nm-fallback.patch +Patch9: nm-applet-disconnect-on-exit.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: sysconfig >= %{sysconfig_version} Recommends: %{name}-client @@ -151,6 +153,7 @@ %patch6 -p0 %patch7 -p0 %patch8 -p1 +%patch9 -p1 %build sed -i s/" --sm-disable"// nm-applet.desktop @@ -179,6 +182,7 @@ cp test/nm-tool $RPM_BUILD_ROOT%{_bindir}/ cp test/nm-online $RPM_BUILD_ROOT%{_bindir}/ cp %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d/ +cp %{SOURCE3} $RPM_BUILD_ROOT%{gnome_datadir}/NetworkManager/ %clean rm -rf $RPM_BUILD_ROOT @@ -215,6 +219,7 @@ %{_libdir}/libnm-util.so.0.0.0 %dir %{gnome_datadir}/NetworkManager %{gnome_datadir}/NetworkManager/gdb-cmd +%{gnome_datadir}/NetworkManager/nm-disconnect-wireless-on-exit.sh %files gnome %defattr(-,root,root,0755) @@ -262,6 +267,12 @@ %{_libdir}/libnm_glib.so.0.0.0 %changelog -n NetworkManager +* Fri Nov 10 2006 - tambet@suse.de +- Pull in latest CVS updates: + - Fix a bunch of memory leaks and reference counting issues. + (Novell #217027). +- Actually fix (Novell #212556). +- Implement disconnect wireless on exit (Novell #218848). * Thu Nov 02 2006 - tambet@suse.de - Pull in latest CVS updates: - Suppress messages from the "SCAN" command. ++++++ nm-0.6-branch.patch ++++++ ++++ 2358 lines (skipped) ++++ between NetworkManager/nm-0.6-branch.patch ++++ and /mounts/work_src_done/STABLE/NetworkManager/nm-0.6-branch.patch ++++++ nm-applet-disconnect-on-exit.patch ++++++ diff -urN NetworkManager-0.6.4/gnome/applet/applet.c NetworkManager-new/gnome/applet/applet.c --- NetworkManager-0.6.4/gnome/applet/applet.c 2006-11-10 13:25:14.000000000 +0200 +++ NetworkManager-new/gnome/applet/applet.c 2006-11-10 13:24:22.000000000 +0200 @@ -1195,6 +1195,48 @@ } +gboolean nma_get_disconnect_wireless_on_exit (NMApplet *applet) +{ + GConfValue *value; + gboolean ret = FALSE; + + g_return_val_if_fail (applet != NULL, FALSE); + g_return_val_if_fail (applet->gconf_client != NULL, FALSE); + + value = gconf_client_get (applet->gconf_client, + GCONF_PATH_PREFS "/disconnect_wireless_on_exit", + NULL); + + if (value) + { + if (value->type == GCONF_VALUE_BOOL) + ret = gconf_value_get_bool (value); + + gconf_value_free (value); + } + + return ret; +} + + +void nma_set_disconnect_wireless_on_exit (NMApplet *applet, gboolean disconnect) +{ + gboolean current; + + g_return_if_fail (applet != NULL); + g_return_if_fail (applet->gconf_client != NULL); + + current = nma_get_disconnect_wireless_on_exit (applet); + if (current != disconnect) + { + gconf_client_set_bool (applet->gconf_client, + GCONF_PATH_PREFS "/disconnect_wireless_on_exit", + disconnect, + NULL); + } +} + + /* * nma_redraw_timeout * @@ -1984,7 +2026,13 @@ state = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget)); if (applet->wireless_enabled != state) + { + gconf_client_set_bool (applet->gconf_client, + GCONF_PATH_PREFS "/wireless_enabled", + state, + NULL); nma_dbus_enable_wireless (applet, state); + } } @@ -1996,7 +2044,13 @@ state = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget)); if ((applet->nm_state == NM_STATE_ASLEEP && state) || (applet->nm_state != NM_STATE_ASLEEP && !state)) + { + gconf_client_set_bool (applet->gconf_client, + GCONF_PATH_PREFS "/networking_enabled", + state, + NULL); nma_dbus_enable_networking (applet, state); + } } @@ -2574,6 +2628,36 @@ } +static gboolean +update_network_state (gpointer data) +{ + NMApplet *applet = data; + GConfValue *value; + + value = gconf_client_get (applet->gconf_client, + GCONF_PATH_PREFS "/networking_enabled", + NULL); + if (value) + { + if (value->type == GCONF_VALUE_BOOL) + nma_dbus_enable_networking (applet, gconf_value_get_bool (value)); + gconf_value_free (value); + } + + value = gconf_client_get (applet->gconf_client, + GCONF_PATH_PREFS "/wireless_enabled", + NULL); + if (value) + { + if (value->type == GCONF_VALUE_BOOL) + nma_dbus_enable_wireless (applet, gconf_value_get_bool (value)); + gconf_value_free (value); + } + + return FALSE; +} + + /* * nma_get_instance * @@ -2645,6 +2729,11 @@ if (!applet->connection) nma_start_dbus_connection_watch (applet); + g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, + update_network_state, + g_object_ref (applet), + (GDestroyNotify) g_object_unref); + /* Load pixmaps and create applet widgets */ nma_setup_widgets (applet); diff -urN NetworkManager-0.6.4/gnome/applet/applet.h NetworkManager-new/gnome/applet/applet.h --- NetworkManager-0.6.4/gnome/applet/applet.h 2006-11-10 13:25:13.000000000 +0200 +++ NetworkManager-new/gnome/applet/applet.h 2006-11-10 13:18:58.000000000 +0200 @@ -156,6 +156,9 @@ void nma_set_running (NMApplet *applet, gboolean running); void nma_update_state (NMApplet *applet); +gboolean nma_get_disconnect_wireless_on_exit (NMApplet *applet); +void nma_set_disconnect_wireless_on_exit (NMApplet *applet, gboolean disconnect); + int nm_null_safe_strcmp (const char *s1, const char *s2); #endif diff -urN NetworkManager-0.6.4/gnome/applet/main.c NetworkManager-new/gnome/applet/main.c --- NetworkManager-0.6.4/gnome/applet/main.c 2006-11-10 13:25:14.000000000 +0200 +++ NetworkManager-new/gnome/applet/main.c 2006-11-10 13:18:48.000000000 +0200 @@ -36,7 +36,14 @@ static void session_die (GnomeClient *client, gpointer client_data) { NMApplet *applet = client_data; + + /* Deactivate VPN */ nma_dbus_vpn_deactivate_connection (applet->connection); + + /* Deactivate wireless devices if required */ + if (nma_get_disconnect_wireless_on_exit (applet)) + nma_dbus_enable_wireless (applet, FALSE); + gtk_main_quit (); } ++++++ nm-fallback.patch ++++++ --- /var/tmp/diff_new_pack.U9XNGf/_old 2006-11-10 13:12:24.000000000 +0100 +++ /var/tmp/diff_new_pack.U9XNGf/_new 2006-11-10 13:12:24.000000000 +0100 @@ -1,7 +1,7 @@ -diff -urN NetworkManager-CVS/gnome/applet/applet.c NetworkManager-0.6.4/gnome/applet/applet.c ---- NetworkManager-CVS/gnome/applet/applet.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/gnome/applet/applet.c 2006-11-02 11:17:07.000000000 +0200 -@@ -1308,7 +1308,7 @@ +diff -urN NetworkManager-0.6.4/gnome/applet/applet.c NetworkManager-fallback/gnome/applet/applet.c +--- NetworkManager-0.6.4/gnome/applet/applet.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/gnome/applet/applet.c 2006-11-10 13:08:08.000000000 +0200 +@@ -1310,7 +1310,7 @@ if ((tag = g_object_get_data (G_OBJECT (item), "network"))) net = network_device_get_wireless_network_by_essid (dev, tag); @@ -10,9 +10,9 @@ network_device_unref (dev); nmi_dbus_signal_user_interface_activated (applet->connection); -diff -urN NetworkManager-CVS/gnome/applet/applet-dbus-devices.c NetworkManager-0.6.4/gnome/applet/applet-dbus-devices.c ---- NetworkManager-CVS/gnome/applet/applet-dbus-devices.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/gnome/applet/applet-dbus-devices.c 2006-11-02 11:17:07.000000000 +0200 +diff -urN NetworkManager-0.6.4/gnome/applet/applet-dbus-devices.c NetworkManager-fallback/gnome/applet/applet-dbus-devices.c +--- NetworkManager-0.6.4/gnome/applet/applet-dbus-devices.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/gnome/applet/applet-dbus-devices.c 2006-11-10 13:08:21.000000000 +0200 @@ -1253,7 +1253,7 @@ * */ @@ -30,9 +30,9 @@ DBUS_TYPE_INVALID); /* If we have specific wireless security options, add them */ -diff -urN NetworkManager-CVS/gnome/applet/applet-dbus-devices.h NetworkManager-0.6.4/gnome/applet/applet-dbus-devices.h ---- NetworkManager-CVS/gnome/applet/applet-dbus-devices.h 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/gnome/applet/applet-dbus-devices.h 2006-11-02 11:17:07.000000000 +0200 +diff -urN NetworkManager-0.6.4/gnome/applet/applet-dbus-devices.h NetworkManager-fallback/gnome/applet/applet-dbus-devices.h +--- NetworkManager-0.6.4/gnome/applet/applet-dbus-devices.h 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/gnome/applet/applet-dbus-devices.h 2006-11-10 13:08:34.000000000 +0200 @@ -49,7 +49,7 @@ void nma_dbus_device_update_one_network (NMApplet *applet, const char *dev_path, const char *net_path, const char *active_net_path); void nma_dbus_device_remove_one_network (NMApplet *applet, const char *dev_path, const char *net_path); @@ -42,9 +42,9 @@ void nma_dbus_create_network (DBusConnection *connection, NetworkDevice *dev, const char *essid, WirelessSecurityOption *opt); void nma_free_data_model (NMApplet *applet); -diff -urN NetworkManager-CVS/gnome/applet/applet-dbus-info.c NetworkManager-0.6.4/gnome/applet/applet-dbus-info.c ---- NetworkManager-CVS/gnome/applet/applet-dbus-info.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/gnome/applet/applet-dbus-info.c 2006-11-02 11:17:07.000000000 +0200 +diff -urN NetworkManager-0.6.4/gnome/applet/applet-dbus-info.c NetworkManager-fallback/gnome/applet/applet-dbus-info.c +--- NetworkManager-0.6.4/gnome/applet/applet-dbus-info.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/gnome/applet/applet-dbus-info.c 2006-11-10 13:08:44.000000000 +0200 @@ -395,7 +395,7 @@ char * escaped_network = NULL; char * essid = NULL; @@ -150,9 +150,9 @@ g_object_unref (G_OBJECT (gconf_wso)); out: -diff -urN NetworkManager-CVS/gnome/applet/applet.glade NetworkManager-0.6.4/gnome/applet/applet.glade ---- NetworkManager-CVS/gnome/applet/applet.glade 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/gnome/applet/applet.glade 2006-11-02 11:17:07.000000000 +0200 +diff -urN NetworkManager-0.6.4/gnome/applet/applet.glade NetworkManager-fallback/gnome/applet/applet.glade +--- NetworkManager-0.6.4/gnome/applet/applet.glade 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/gnome/applet/applet.glade 2006-11-10 13:08:50.000000000 +0200 @@ -426,7 +426,7 @@ <child> <widget class="GtkTable" id="table1"> @@ -218,9 +218,9 @@ </packing> </child> </widget> -diff -urN NetworkManager-CVS/gnome/applet/nm-gconf-wso-wpa-eap.c NetworkManager-0.6.4/gnome/applet/nm-gconf-wso-wpa-eap.c ---- NetworkManager-CVS/gnome/applet/nm-gconf-wso-wpa-eap.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/gnome/applet/nm-gconf-wso-wpa-eap.c 2006-11-02 11:19:29.000000000 +0200 +diff -urN NetworkManager-0.6.4/gnome/applet/nm-gconf-wso-wpa-eap.c NetworkManager-fallback/gnome/applet/nm-gconf-wso-wpa-eap.c +--- NetworkManager-0.6.4/gnome/applet/nm-gconf-wso-wpa-eap.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/gnome/applet/nm-gconf-wso-wpa-eap.c 2006-11-10 13:08:56.000000000 +0200 @@ -332,3 +332,80 @@ } return type; @@ -302,9 +302,9 @@ + gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (widget), wso->priv->private_key_file); + } +} -diff -urN NetworkManager-CVS/gnome/applet/nm-gconf-wso-wpa-eap.h NetworkManager-0.6.4/gnome/applet/nm-gconf-wso-wpa-eap.h ---- NetworkManager-CVS/gnome/applet/nm-gconf-wso-wpa-eap.h 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/gnome/applet/nm-gconf-wso-wpa-eap.h 2006-11-02 11:19:29.000000000 +0200 +diff -urN NetworkManager-0.6.4/gnome/applet/nm-gconf-wso-wpa-eap.h NetworkManager-fallback/gnome/applet/nm-gconf-wso-wpa-eap.h +--- NetworkManager-0.6.4/gnome/applet/nm-gconf-wso-wpa-eap.h 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/gnome/applet/nm-gconf-wso-wpa-eap.h 2006-11-10 13:09:01.000000000 +0200 @@ -59,4 +59,7 @@ NMGConfWSOWPA_EAP * nm_gconf_wso_wpa_eap_new_deserialize_gconf (GConfClient *client, const char *network, int we_cipher); @@ -313,9 +313,9 @@ +void nm_gconf_wpa_eap_populate_dialog (NMGConfWSOWPA_EAP *wso, GladeXML *xml); + #endif /* NM_GCONF_WSO_WPA_EAP_H */ -diff -urN NetworkManager-CVS/gnome/applet/other-network-dialog.c NetworkManager-0.6.4/gnome/applet/other-network-dialog.c ---- NetworkManager-CVS/gnome/applet/other-network-dialog.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/gnome/applet/other-network-dialog.c 2006-11-02 11:17:07.000000000 +0200 +diff -urN NetworkManager-0.6.4/gnome/applet/other-network-dialog.c NetworkManager-fallback/gnome/applet/other-network-dialog.c +--- NetworkManager-0.6.4/gnome/applet/other-network-dialog.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/gnome/applet/other-network-dialog.c 2006-11-10 13:09:05.000000000 +0200 @@ -410,19 +410,24 @@ WirelessSecurityOption * opt; GtkComboBox * security_combo; @@ -342,9 +342,9 @@ } } -diff -urN NetworkManager-CVS/gnome/applet/passphrase-dialog.c NetworkManager-0.6.4/gnome/applet/passphrase-dialog.c ---- NetworkManager-CVS/gnome/applet/passphrase-dialog.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/gnome/applet/passphrase-dialog.c 2006-11-02 11:19:29.000000000 +0200 +diff -urN NetworkManager-0.6.4/gnome/applet/passphrase-dialog.c NetworkManager-fallback/gnome/applet/passphrase-dialog.c +--- NetworkManager-0.6.4/gnome/applet/passphrase-dialog.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/gnome/applet/passphrase-dialog.c 2006-11-10 13:09:10.000000000 +0200 @@ -37,6 +37,9 @@ #include "NetworkManager.h" #include "wireless-security-manager.h" @@ -355,7 +355,7 @@ static GladeXML *get_dialog_xml (GtkWidget *dialog) { g_return_val_if_fail (dialog != NULL, NULL); -@@ -265,6 +268,24 @@ +@@ -269,6 +272,24 @@ g_signal_connect (G_OBJECT (dialog), "response", GTK_SIGNAL_FUNC (nmi_passphrase_dialog_response_received), dialog); @@ -380,10 +380,10 @@ /* Bash focus-stealing prevention in the face */ gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER_ALWAYS); gtk_widget_realize (dialog); -diff -urN NetworkManager-CVS/src/backends/NetworkManagerSuSE.c NetworkManager-0.6.4/src/backends/NetworkManagerSuSE.c ---- NetworkManager-CVS/src/backends/NetworkManagerSuSE.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/src/backends/NetworkManagerSuSE.c 2006-11-02 11:17:56.000000000 +0200 -@@ -538,11 +538,10 @@ +diff -urN NetworkManager-0.6.4/src/backends/NetworkManagerSuSE.c NetworkManager-fallback/src/backends/NetworkManagerSuSE.c +--- NetworkManager-0.6.4/src/backends/NetworkManagerSuSE.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/src/backends/NetworkManagerSuSE.c 2006-11-10 13:11:52.000000000 +0200 +@@ -535,11 +535,10 @@ NMAccessPoint * list_ap; char * key; char * mode; @@ -396,7 +396,7 @@ if ((mode = svGetValue (file, "WIRELESS_AUTH_MODE")) && !strcmp (mode, "psk")) { -@@ -560,11 +559,16 @@ +@@ -557,11 +556,16 @@ { nm_ap_security_set_key (NM_AP_SECURITY (security), hash, strlen (hash)); nm_ap_set_security (ap, NM_AP_SECURITY (security)); @@ -413,7 +413,7 @@ } else if ((key = svGetValue (file, "WIRELESS_KEY_0")) && strlen (key) > 3) { -@@ -623,7 +627,10 @@ +@@ -620,7 +624,10 @@ { nm_ap_security_set_key (NM_AP_SECURITY (security), hash, strlen (hash)); nm_ap_set_security (ap, NM_AP_SECURITY (security)); @@ -424,7 +424,7 @@ ieee_802_11_cipher_unref (cipher); g_object_unref (G_OBJECT (security)); -@@ -637,26 +644,34 @@ +@@ -634,26 +641,34 @@ security = nm_ap_security_new (IW_AUTH_CIPHER_NONE); nm_ap_set_security (ap, security); g_object_unref (G_OBJECT (security)); @@ -474,9 +474,9 @@ free (key); free (mode); -diff -urN NetworkManager-CVS/src/NetworkManagerAP.c NetworkManager-0.6.4/src/NetworkManagerAP.c ---- NetworkManager-CVS/src/NetworkManagerAP.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/src/NetworkManagerAP.c 2006-11-02 11:17:07.000000000 +0200 +diff -urN NetworkManager-0.6.4/src/NetworkManagerAP.c NetworkManager-fallback/src/NetworkManagerAP.c +--- NetworkManager-0.6.4/src/NetworkManagerAP.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/src/NetworkManagerAP.c 2006-11-10 13:09:20.000000000 +0200 @@ -56,7 +56,7 @@ GTimeVal last_seen; /* Last time the AP was seen in a scan */ @@ -513,9 +513,9 @@ } -diff -urN NetworkManager-CVS/src/NetworkManagerAP.h NetworkManager-0.6.4/src/NetworkManagerAP.h ---- NetworkManager-CVS/src/NetworkManagerAP.h 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/src/NetworkManagerAP.h 2006-11-02 11:17:07.000000000 +0200 +diff -urN NetworkManager-0.6.4/src/NetworkManagerAP.h NetworkManager-fallback/src/NetworkManagerAP.h +--- NetworkManager-0.6.4/src/NetworkManagerAP.h 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/src/NetworkManagerAP.h 2006-11-10 13:09:25.000000000 +0200 @@ -72,8 +72,8 @@ gboolean nm_ap_get_invalid (const NMAccessPoint *ap); void nm_ap_set_invalid (NMAccessPoint *ap, gboolean invalid); @@ -527,10 +527,10 @@ gboolean nm_ap_get_artificial (const NMAccessPoint *ap); void nm_ap_set_artificial (NMAccessPoint *ap, gboolean artificial); -diff -urN NetworkManager-CVS/src/NetworkManagerAPList.c NetworkManager-0.6.4/src/NetworkManagerAPList.c ---- NetworkManager-CVS/src/NetworkManagerAPList.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/src/NetworkManagerAPList.c 2006-11-02 11:20:45.000000000 +0200 -@@ -422,6 +422,62 @@ +diff -urN NetworkManager-0.6.4/src/NetworkManagerAPList.c NetworkManager-fallback/src/NetworkManagerAPList.c +--- NetworkManager-0.6.4/src/NetworkManagerAPList.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/src/NetworkManagerAPList.c 2006-11-10 13:09:30.000000000 +0200 +@@ -422,6 +422,63 @@ return (found_ap); } @@ -582,6 +582,7 @@ + g_get_current_time (&cur_time); + nm_ap_set_last_seen (ap, &cur_time); + nm_ap_set_artificial (ap, TRUE); ++ nm_ap_set_broadcast (ap, FALSE); + + nm_ap_list_merge_scanned_ap (dev, scan_list, ap); + nm_ap_unref (ap); @@ -593,54 +594,9 @@ /* * nm_ap_list_merge_scanned_ap -@@ -501,25 +557,28 @@ - * equal, the merge AP and the list AP come from the same scan. - * Update the time_last_seen. */ - -- const GTimeVal * merge_ap_seen = nm_ap_get_last_seen (merge_ap); -- const GTimeVal * list_ap_seen = nm_ap_get_last_seen (list_ap); -- const int merge_ap_strength = nm_ap_get_strength (merge_ap); -+ if (!nm_ap_get_artificial (merge_ap)) { -+ /* Only update the list AP if the merge_ap is real. */ -+ const GTimeVal * merge_ap_seen = nm_ap_get_last_seen (merge_ap); -+ const GTimeVal * list_ap_seen = nm_ap_get_last_seen (list_ap); -+ const int merge_ap_strength = nm_ap_get_strength (merge_ap); - -- nm_ap_set_capabilities (list_ap, nm_ap_get_capabilities (merge_ap)); -+ nm_ap_set_capabilities (list_ap, nm_ap_get_capabilities (merge_ap)); - -- if (!((list_ap_seen->tv_sec == merge_ap_seen->tv_sec) -- && (nm_ap_get_strength (list_ap) >= merge_ap_strength))) -- { -- nm_ap_set_strength (list_ap, merge_ap_strength); -- nm_ap_set_address (list_ap, nm_ap_get_address (merge_ap)); -- } -- nm_ap_set_last_seen (list_ap, merge_ap_seen); -- nm_ap_set_broadcast (list_ap, nm_ap_get_broadcast (merge_ap)); -+ if (!((list_ap_seen->tv_sec == merge_ap_seen->tv_sec) -+ && (nm_ap_get_strength (list_ap) >= merge_ap_strength))) -+ { -+ nm_ap_set_strength (list_ap, merge_ap_strength); -+ nm_ap_set_address (list_ap, nm_ap_get_address (merge_ap)); -+ } -+ nm_ap_set_last_seen (list_ap, merge_ap_seen); -+ nm_ap_set_broadcast (list_ap, nm_ap_get_broadcast (merge_ap)); - -- /* If the AP is noticed in a scan, it's automatically no longer -- * artificial, since it clearly exists somewhere. -- */ -- nm_ap_set_artificial (list_ap, FALSE); -+ /* If the AP is noticed in a scan, it's automatically no longer -+ * artificial, since it clearly exists somewhere. -+ */ -+ nm_ap_set_artificial (list_ap, FALSE); -+ } - } - else - { -diff -urN NetworkManager-CVS/src/NetworkManagerAPList.h NetworkManager-0.6.4/src/NetworkManagerAPList.h ---- NetworkManager-CVS/src/NetworkManagerAPList.h 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/src/NetworkManagerAPList.h 2006-11-02 11:17:07.000000000 +0200 +diff -urN NetworkManager-0.6.4/src/NetworkManagerAPList.h NetworkManager-fallback/src/NetworkManagerAPList.h +--- NetworkManager-0.6.4/src/NetworkManagerAPList.h 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/src/NetworkManagerAPList.h 2006-11-10 13:09:35.000000000 +0200 @@ -51,6 +51,8 @@ void nm_ap_list_copy_essids_by_address (NMData *app_data, NMDevice80211Wireless *dev, NMAccessPointList *dest, NMAccessPointList *source); void nm_ap_list_copy_one_essid_by_address (NMData *app_data, NMDevice80211Wireless *dev, NMAccessPoint *ap, NMAccessPointList *search_list); @@ -650,10 +606,10 @@ gboolean nm_ap_list_merge_scanned_ap (NMDevice80211Wireless *dev, NMAccessPointList *list, NMAccessPoint *merge_ap); NMNetworkType nm_ap_list_get_type (NMAccessPointList *list); -diff -urN NetworkManager-CVS/src/nm-dbus-nm.c NetworkManager-0.6.4/src/nm-dbus-nm.c ---- NetworkManager-CVS/src/nm-dbus-nm.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/src/nm-dbus-nm.c 2006-11-02 11:17:07.000000000 +0200 -@@ -261,6 +261,7 @@ +diff -urN NetworkManager-0.6.4/src/nm-dbus-nm.c NetworkManager-fallback/src/nm-dbus-nm.c +--- NetworkManager-0.6.4/src/nm-dbus-nm.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/src/nm-dbus-nm.c 2006-11-10 13:09:46.000000000 +0200 +@@ -262,6 +262,7 @@ { NMAPSecurity * security = NULL; char * essid = NULL; @@ -661,7 +617,7 @@ if (!dbus_message_iter_next (&iter) || (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_STRING)) { -@@ -276,6 +277,15 @@ +@@ -277,6 +278,15 @@ goto out; } @@ -677,7 +633,7 @@ /* If there's security information, we use that. If not, we * make some up from the scan list. */ -@@ -292,6 +302,7 @@ +@@ -293,6 +303,7 @@ /* Set up the wireless-specific activation request properties */ ap = nm_device_802_11_wireless_get_activation_ap (NM_DEVICE_802_11_WIRELESS (dev), essid, security); @@ -685,10 +641,10 @@ if (security) g_object_unref (G_OBJECT (security)); -diff -urN NetworkManager-CVS/src/nm-dbus-nmi.c NetworkManager-0.6.4/src/nm-dbus-nmi.c ---- NetworkManager-CVS/src/nm-dbus-nmi.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/src/nm-dbus-nmi.c 2006-11-02 11:17:07.000000000 +0200 -@@ -224,6 +224,7 @@ +diff -urN NetworkManager-0.6.4/src/nm-dbus-nmi.c NetworkManager-fallback/src/nm-dbus-nmi.c +--- NetworkManager-0.6.4/src/nm-dbus-nmi.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/src/nm-dbus-nmi.c 2006-11-10 13:10:37.000000000 +0200 +@@ -223,6 +223,7 @@ { DBusMessage * message; gboolean success = FALSE; @@ -696,7 +652,7 @@ const char * essid; gchar * char_bssid; NMAPSecurity * security; -@@ -246,10 +247,14 @@ +@@ -245,10 +246,14 @@ /* First argument: ESSID (STRING) */ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &essid); @@ -713,7 +669,7 @@ addr = nm_ap_get_address (ap); if ((nm_ap_get_mode (ap) == IW_MODE_INFRA) && nm_ethernet_address_is_valid (addr)) { -@@ -340,7 +345,7 @@ +@@ -339,7 +344,7 @@ DBusMessageIter subiter; const char * essid = NULL; gint timestamp_secs = -1; @@ -722,7 +678,7 @@ GSList * addr_list = NULL; NMAPSecurity * security; NMAccessPoint * ap; -@@ -393,14 +398,14 @@ +@@ -390,14 +395,14 @@ } dbus_message_iter_get_basic (&iter, ×tamp_secs); @@ -740,7 +696,7 @@ /* Fourth arg: BSSID addresses (ARRAY, STRING) */ if (!dbus_message_iter_next (&iter) -@@ -439,19 +444,21 @@ +@@ -436,11 +441,12 @@ ap = nm_ap_new (); nm_ap_set_essid (ap, essid); nm_ap_set_security (ap, security); @@ -754,21 +710,22 @@ nm_ap_set_user_addresses (ap, addr_list); if ((list_ap = nm_ap_list_get_ap_by_essid (cb_data->list, essid))) - { +@@ -449,8 +455,9 @@ + nm_ap_set_essid (list_ap, nm_ap_get_essid (ap)); nm_ap_set_timestamp_via_timestamp (list_ap, nm_ap_get_timestamp (ap)); - nm_ap_set_trusted (list_ap, nm_ap_get_trusted (ap)); + nm_ap_set_fallback (list_ap, nm_ap_get_fallback (ap)); nm_ap_set_security (list_ap, nm_ap_get_security (ap)); + nm_ap_add_capabilities_from_security (list_ap, nm_ap_get_security (ap)); - nm_ap_set_user_addresses (list_ap, nm_ap_get_user_addresses (ap)); - } - else -diff -urN NetworkManager-CVS/src/nm-device-802-11-wireless.c NetworkManager-0.6.4/src/nm-device-802-11-wireless.c ---- NetworkManager-CVS/src/nm-device-802-11-wireless.c 2006-11-02 11:16:52.000000000 +0200 -+++ NetworkManager-0.6.4/src/nm-device-802-11-wireless.c 2006-11-02 11:17:07.000000000 +0200 -@@ -170,12 +170,13 @@ - goto out; + + user_addresses = nm_ap_get_user_addresses (ap); + nm_ap_set_user_addresses (list_ap, user_addresses); +diff -urN NetworkManager-0.6.4/src/nm-device-802-11-wireless.c NetworkManager-fallback/src/nm-device-802-11-wireless.c +--- NetworkManager-0.6.4/src/nm-device-802-11-wireless.c 2006-11-10 13:07:55.000000000 +0200 ++++ NetworkManager-fallback/src/nm-device-802-11-wireless.c 2006-11-10 13:11:40.000000000 +0200 +@@ -244,12 +244,13 @@ + return; /* Get the current BSSID. If it is valid but does not match the stored value, - * and the ESSID is the same as what we think its suposed to be, update it. */ @@ -782,7 +739,7 @@ && !nm_ethernet_addresses_are_equal (&new_bssid, old_bssid) && !nm_null_safe_strcmp (old_essid, new_essid)) { -@@ -672,12 +673,11 @@ +@@ -792,12 +793,11 @@ NMAPListIter * iter; NMAccessPoint * scan_ap = NULL; NMAccessPoint * best_ap = NULL; @@ -798,7 +755,7 @@ NMData * app_data; g_return_val_if_fail (self != NULL, NULL); -@@ -763,27 +763,50 @@ +@@ -883,27 +883,50 @@ } } @@ -861,7 +818,7 @@ if (best_ap) nm_ap_ref (best_ap); -@@ -1738,7 +1761,6 @@ +@@ -1837,7 +1860,6 @@ NMDevice80211Wireless * self; GTimeVal cur_time; NMAPListIter * iter = NULL; @@ -869,9 +826,9 @@ NMData * app_data; NMAccessPointList * ap_list; -@@ -1751,17 +1773,22 @@ +@@ -1847,17 +1869,22 @@ + if (!self || !cb_data->results) return FALSE; - } - iface = nm_device_get_iface (NM_DEVICE (self)); app_data = nm_device_get_app_data (NM_DEVICE (self)); @@ -893,7 +850,7 @@ /* Walk the access point list and remove any access points older than thrice the inactive scan interval */ g_get_current_time (&cur_time); ap_list = nm_device_802_11_wireless_ap_list_get (self); -@@ -2641,9 +2668,10 @@ +@@ -3053,9 +3080,10 @@ goto out; /* For non-broadcast networks, we need to set "scan_ssid 1" to scan with probe request frames. @@ -905,7 +862,7 @@ { if (!nm_utils_supplicant_request_with_check (ctrl, "OK", __func__, NULL, "SET_NETWORK %i scan_ssid 1", nwid)) -@@ -2936,24 +2964,27 @@ +@@ -3363,24 +3391,27 @@ if ((ap = nm_act_request_get_ap (req))) { @@ -950,9 +907,9 @@ } } -diff -urN NetworkManager-CVS/test/nm-set-fallback NetworkManager-0.6.4/test/nm-set-fallback ---- NetworkManager-CVS/test/nm-set-fallback 1970-01-01 03:00:00.000000000 +0300 -+++ NetworkManager-0.6.4/test/nm-set-fallback 2006-11-02 11:17:07.000000000 +0200 +diff -urN NetworkManager-0.6.4/test/nm-set-fallback NetworkManager-fallback/test/nm-set-fallback +--- NetworkManager-0.6.4/test/nm-set-fallback 1970-01-01 03:00:00.000000000 +0300 ++++ NetworkManager-fallback/test/nm-set-fallback 2006-11-03 11:20:25.000000000 +0200 @@ -0,0 +1,27 @@ +#! /bin/sh +# @@ -981,3 +938,4 @@ +fi + +$BIN --set --type=bool $KEY ${2} + ++++++ nm-wireless-driver-workarounds-rml.patch ++++++ --- /var/tmp/diff_new_pack.U9XNGf/_old 2006-11-10 13:12:24.000000000 +0100 +++ /var/tmp/diff_new_pack.U9XNGf/_new 2006-11-10 13:12:24.000000000 +0100 @@ -1,11 +1,6 @@ -Index: src/nm-device-802-11-wireless.c -=================================================================== -RCS file: /cvs/gnome/NetworkManager/src/nm-device-802-11-wireless.c,v -retrieving revision 1.60.2.15 -diff -u -r1.60.2.15 nm-device-802-11-wireless.c ---- src/nm-device-802-11-wireless.c 20 Jun 2006 02:24:57 -0000 1.60.2.15 -+++ src/nm-device-802-11-wireless.c 13 Jul 2006 14:55:31 -0000 -@@ -356,23 +356,15 @@ +--- src/nm-device-802-11-wireless.c.old 2006-11-10 12:28:06.000000000 +0200 ++++ src/nm-device-802-11-wireless.c 2006-11-10 12:28:40.000000000 +0200 +@@ -354,23 +354,15 @@ if ((data_len >= minlen) && range->we_version_compiled >= 18) { @@ -38,7 +33,7 @@ } return caps; -@@ -2329,13 +2319,11 @@ +@@ -2695,13 +2687,11 @@ } @@ -53,7 +48,7 @@ return NM_SUPPLICANT_TIMEOUT; } -@@ -2495,6 +2483,8 @@ +@@ -2910,6 +2900,8 @@ struct wpa_ctrl * ctrl = NULL; char * socket_path; const char * iface = nm_device_get_iface (NM_DEVICE (self)); @@ -62,7 +57,7 @@ gboolean success = FALSE; int tries = 0; -@@ -2511,9 +2501,21 @@ +@@ -2926,9 +2918,21 @@ goto exit; } @@ -85,17 +80,17 @@ goto exit; wpa_ctrl_close (ctrl); -@@ -2549,7 +2551,8 @@ +@@ -2964,7 +2968,8 @@ struct wpa_ctrl * ctrl; gboolean is_adhoc; - const char * hex_essid; + char * hex_essid = NULL; - const char * ap_scan = "AP_SCAN 1"; -+ const char * ap_scan; ++ char * ap_scan; + const char * kernel_driver; guint32 caps; gboolean supports_wpa; -@@ -2571,12 +2574,39 @@ +@@ -2986,12 +2991,39 @@ || (caps & NM_802_11_CAP_PROTO_WPA2); /* Use "AP_SCAN 2" if: @@ -115,7 +110,7 @@ + if (!strcmp (kernel_driver, "orinoco_cs")) + ap_scan = "AP_SCAN 2"; + else if (!strcmp (kernel_driver, "prism54")) - ap_scan = "AP_SCAN 2"; ++ ap_scan = "AP_SCAN 2"; + else if (!strncmp (kernel_driver, "airo", 4)) + ap_scan = "AP_SCAN 2"; + else if (!strcmp (kernel_driver, "ndiswrapper") && !nm_ap_get_broadcast (ap)) @@ -128,7 +123,7 @@ + ap_scan = "AP_SCAN 2"; + } + else if (is_adhoc) -+ ap_scan = "AP_SCAN 2"; + ap_scan = "AP_SCAN 2"; + else if (!supports_wpa) + ap_scan = "AP_SCAN 2"; + else ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@suse.de