Hello community, here is the log from the commit of package NetworkManager for openSUSE:Factory checked in at Fri Jul 8 09:27:03 CEST 2011. -------- --- NetworkManager/NetworkManager.changes 2011-05-05 11:24:24.000000000 +0200 +++ /mounts/work_src_done/STABLE/NetworkManager/NetworkManager.changes 2011-06-09 16:35:23.000000000 +0200 @@ -1,0 +2,21 @@ +Thu Jun 9 14:03:30 UTC 2011 - fcrozat@suse.com + +- Update to version 0.8.9997: + + Fix symbol exports in libnm-glib. + + Fix some gobject introspection annotations. + + WiMax fixes : do not attemp to connect when scanning. + + Recognize PKCS#8 private keys and check passwords. + + Allow _ as valid character for GSM APN. + + Improve PolicyKit integration. + + Fix up Ad-Hoc frequency when connecting. + + Don't complay if ConsoleKit database isn't found at startup. + + Improve openconnect migration. + + Handle DHCP options perperty correctly. + + Only send hostname without domain as host-name option for + DHCP. + + Fix crash when SSID is missing + + Make auto-activation retries really work. + + Fix dispatcher handling of empty VPN interface. +- Update f15-branch.patch from the git branch. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- NetworkManager-0.8.999.tar.bz2 New: ---- NetworkManager-0.8.9997.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ NetworkManager.spec ++++++ --- /var/tmp/diff_new_pack.n8uIxb/_old 2011-07-08 09:25:46.000000000 +0200 +++ /var/tmp/diff_new_pack.n8uIxb/_new 2011-07-08 09:25:46.000000000 +0200 @@ -19,7 +19,7 @@ Name: NetworkManager Url: http://www.gnome.org/projects/NetworkManager/ -Version: 0.8.999 +Version: 0.8.9997 Release: 1 License: GPLv2+ Group: Productivity/Networking/System @@ -28,7 +28,7 @@ Source1: nfs Source2: nm-system-settings.conf Source99: NetworkManager-rpmlintrc -# PATCH-FIX-UPSTREAM f15-branch.patch fcrozat@novell.com -- all patches from f15 branch (mostly KDE compat) : git diff 0.9.0-rc1..f15 (latest f15 commit : 4d1578c46c66b4942e1fd428bca52f56808f2215) +# PATCH-FIX-UPSTREAM f15-branch.patch fcrozat@novell.com -- all patches from f15 branch (mostly KDE compat) : git diff 0.9.0-rc3..f15 (latest f15 commit : de32d1b87174e33626cb30ac2567d4ae964879f4) Patch0: f15-branch.patch BuildRequires: fdupes BuildRequires: gobject-introspection-devel ++++++ NetworkManager-0.8.999.tar.bz2 -> NetworkManager-0.8.9997.tar.bz2 ++++++ ++++ 12736 lines of diff (skipped) ++++++ f15-branch.patch ++++++ --- /var/tmp/diff_new_pack.n8uIxb/_old 2011-07-08 09:25:47.000000000 +0200 +++ /var/tmp/diff_new_pack.n8uIxb/_new 2011-07-08 09:25:47.000000000 +0200 @@ -1,8 +1,8 @@ diff --git a/configure.ac b/configure.ac -index b18ccc0..35b4fea 100644 +index 74765de..258518e 100644 --- a/configure.ac +++ b/configure.ac -@@ -592,6 +592,7 @@ Makefile +@@ -600,6 +600,7 @@ Makefile include/Makefile include/nm-version.h src/Makefile @@ -4049,10 +4049,10 @@ + diff --git a/src/compat/nm-compat-vpn-connection.c b/src/compat/nm-compat-vpn-connection.c new file mode 100644 -index 0000000..8c50f14 +index 0000000..365bc11 --- /dev/null +++ b/src/compat/nm-compat-vpn-connection.c -@@ -0,0 +1,158 @@ +@@ -0,0 +1,200 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* NetworkManager -- Network link manager + * @@ -4085,10 +4085,15 @@ + +G_DEFINE_TYPE (NMCompatVpnConnection, nm_compat_vpn_connection, NM_TYPE_COMPAT_ACTIVE_CONNECTION) + ++#define NM_COMPAT_VPN_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \ ++ NM_TYPE_COMPAT_VPN_CONNECTION, \ ++ NMCompatVpnConnectionPrivate)) ++ +enum { -+ PROP_0, ++ PROP_0 = 0x9000, + PROP_VPN_STATE, + PROP_BANNER, ++ PROP_SPECIFIC_OBJECT, + LAST_PROP +}; + @@ -4101,6 +4106,10 @@ + +#include "nm-compat-vpn-connection-glue.h" + ++typedef struct { ++ char *specific_object; ++} NMCompatVpnConnectionPrivate; ++ +/*************************************************************************/ + +static void @@ -4124,14 +4133,30 @@ +nm_compat_vpn_connection_new (NMVPNConnection *parent, DBusGConnection *bus) +{ + NMCompatVpnConnection *self; ++ NMCompatVpnConnectionPrivate *priv; ++ NMDevice *device; ++ NMActRequest *req; ++ NMCompatActiveConnection *compat_req; + + self = (NMCompatVpnConnection *) g_object_new (NM_TYPE_COMPAT_VPN_CONNECTION, + "parent", parent, + NULL); + if (self) { ++ priv = NM_COMPAT_VPN_CONNECTION_GET_PRIVATE (self); ++ + g_signal_connect (parent, "notify::" NM_VPN_CONNECTION_VPN_STATE, G_CALLBACK (prop_reemit_cb), self); + g_signal_connect (parent, "notify::" NM_VPN_CONNECTION_BANNER, G_CALLBACK (prop_reemit_cb), self); + g_signal_connect (parent, "vpn-state-changed", G_CALLBACK (vpn_state_changed_cb), self); ++ ++ device = nm_vpn_connection_get_parent_device (NM_VPN_CONNECTION (parent)); ++ g_assert (device); ++ req = nm_device_get_act_request (device); ++ g_assert (req); ++ compat_req = nm_act_request_get_compat (req); ++ g_assert (compat_req); ++ priv->specific_object = g_strdup (nm_compat_active_connection_get_path (compat_req)); ++ g_assert (priv->specific_object); ++ + nm_compat_active_connection_export (NM_COMPAT_ACTIVE_CONNECTION (self), bus); + } + @@ -4149,8 +4174,15 @@ +{ + GObject *parent = nm_compat_active_connection_get_parent (NM_COMPAT_ACTIVE_CONNECTION (object)); + -+ if (parent) -+ g_object_get_property (parent, pspec->name, value); ++ switch (prop_id) { ++ case PROP_SPECIFIC_OBJECT: ++ g_value_set_boxed (value, NM_COMPAT_VPN_CONNECTION_GET_PRIVATE (object)->specific_object); ++ break; ++ default: ++ if (parent) ++ g_object_get_property (parent, pspec->name, value); ++ break; ++ } +} + +static NMConnection * @@ -4173,6 +4205,8 @@ + GObjectClass *object_class = G_OBJECT_CLASS (compat_class); + NMCompatActiveConnectionClass *ac_class = NM_COMPAT_ACTIVE_CONNECTION_CLASS (compat_class); + ++ g_type_class_add_private (compat_class, sizeof (NMCompatVpnConnectionPrivate)); ++ + ac_class->get_connection = get_connection; + ac_class->get_device = get_device; + object_class->get_property = get_property; @@ -4194,6 +4228,14 @@ + NULL, + G_PARAM_READABLE)); + ++ /* Need to override the specific object because for VPN connections ++ * it will point to the non-compat path of the base NMActRequest and we ++ * need to redirect it to the NMCompatActiveConnection. ++ */ ++ g_object_class_override_property (object_class, ++ PROP_SPECIFIC_OBJECT, ++ NM_ACTIVE_CONNECTION_SPECIFIC_OBJECT); ++ + /* signals */ + signals[VPN_STATE_CHANGED] = + g_signal_new ("vpn-state-changed", @@ -4757,7 +4799,7 @@ object_class->get_property = get_property; object_class->set_property = set_property; diff --git a/src/nm-device-wifi.c b/src/nm-device-wifi.c -index 9258f77..35dbd3f 100644 +index 7a6e752..b78d356 100644 --- a/src/nm-device-wifi.c +++ b/src/nm-device-wifi.c @@ -55,6 +55,7 @@ @@ -4777,7 +4819,7 @@ return object; error: -@@ -1630,22 +1633,29 @@ nm_device_wifi_ap_list_print (NMDeviceWifi *self) +@@ -1650,22 +1653,29 @@ nm_device_wifi_ap_list_print (NMDeviceWifi *self) nm_log_dbg (LOGD_WIFI_SCAN, "Current AP list: done"); } @@ -4828,7 +4870,7 @@ #endif /* NM_DEVICE_WIFI_H */ diff --git a/src/nm-device.c b/src/nm-device.c -index ebd8cdb..d61510a 100644 +index 4b7ec5d..913bce0 100644 --- a/src/nm-device.c +++ b/src/nm-device.c @@ -55,6 +55,7 @@ @@ -4858,7 +4900,7 @@ out: G_OBJECT_CLASS (nm_device_parent_class)->dispose (object); } -@@ -4053,3 +4059,18 @@ nm_device_clear_autoconnect_inhibit (NMDevice *device) +@@ -4063,3 +4069,18 @@ nm_device_clear_autoconnect_inhibit (NMDevice *device) priv->autoconnect_inhibit = FALSE; } @@ -4892,10 +4934,10 @@ #endif /* NM_DEVICE_H */ diff --git a/src/nm-manager.c b/src/nm-manager.c -index 568ff2a..bec9755 100644 +index 961c9d8..7f9316b 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c -@@ -62,6 +62,9 @@ +@@ -63,6 +63,9 @@ #include "nm-settings-connection.h" #include "nm-manager-auth.h" #include "NetworkManagerUtils.h" @@ -4905,7 +4947,7 @@ #define NM_AUTOIP_DBUS_SERVICE "org.freedesktop.nm_avahi_autoipd" #define NM_AUTOIP_DBUS_IFACE "org.freedesktop.nm_avahi_autoipd" -@@ -189,7 +192,10 @@ struct PendingActivation { +@@ -173,7 +176,10 @@ struct PendingActivation { PendingActivationFunc callback; NMAuthChain *chain; @@ -4916,7 +4958,7 @@ NMConnection *connection; char *specific_object_path; char *device_path; -@@ -223,6 +229,11 @@ typedef struct { +@@ -207,6 +213,11 @@ typedef struct { NMSettings *settings; char *hostname; @@ -4928,7 +4970,7 @@ RadioState radio_states[RFKILL_TYPE_MAX]; gboolean sleeping; gboolean net_enabled; -@@ -265,6 +276,11 @@ enum { +@@ -247,6 +258,11 @@ enum { CHECK_PERMISSIONS, USER_PERMISSIONS_CHANGED, @@ -4940,7 +4982,7 @@ LAST_SIGNAL }; -@@ -513,11 +529,15 @@ manager_device_state_changed (NMDevice *device, +@@ -495,11 +511,15 @@ manager_device_state_changed (NMDevice *device, if (new_state == NM_DEVICE_STATE_ACTIVATED) { NMActRequest *req; @@ -4959,7 +5001,7 @@ } } -@@ -634,6 +654,7 @@ nm_manager_get_state (NMManager *manager) +@@ -616,6 +636,7 @@ nm_manager_get_state (NMManager *manager) { g_return_val_if_fail (NM_IS_MANAGER (manager), NM_STATE_UNKNOWN); @@ -4967,7 +5009,7 @@ return NM_MANAGER_GET_PRIVATE (manager)->state; } -@@ -683,6 +704,7 @@ pending_activation_new (NMManager *manager, +@@ -664,6 +685,7 @@ pending_activation_new (NMManager *manager, DBusGMethodInvocation *context, const char *device_path, const char *connection_path, @@ -4975,7 +5017,7 @@ GHashTable *settings, const char *specific_object_path, PendingActivationFunc callback, -@@ -750,6 +772,7 @@ pending_activation_new (NMManager *manager, +@@ -729,6 +751,7 @@ pending_activation_new (NMManager *manager, pending->device_path = g_strdup (device_path); pending->connection_path = g_strdup (connection_path); @@ -4983,7 +5025,7 @@ pending->connection = connection; /* "/" is special-cased to NULL to get through D-Bus */ -@@ -865,6 +888,9 @@ pending_activation_destroy (PendingActivation *pending, +@@ -835,6 +858,9 @@ pending_activation_destroy (PendingActivation *pending, if (pending->chain) nm_auth_chain_unref (pending->chain); @@ -4993,7 +5035,7 @@ memset (pending, 0, sizeof (PendingActivation)); g_slice_free (PendingActivation, pending); } -@@ -899,6 +925,39 @@ get_active_connections (NMManager *manager, NMConnection *filter) +@@ -869,6 +895,39 @@ get_active_connections (NMManager *manager, NMConnection *filter) return active; } @@ -5033,7 +5075,7 @@ /*******************************************************************/ /* Settings stuff via NMSettings */ /*******************************************************************/ -@@ -956,6 +1015,503 @@ system_hostname_changed_cb (NMSettings *settings, +@@ -926,6 +985,502 @@ system_hostname_changed_cb (NMSettings *settings, } /*******************************************************************/ @@ -5482,8 +5524,7 @@ + /* Kick off some PolicyKit authorization requests to figure out what + * permissions this user settings service has. + */ -+ chain = nm_auth_chain_new (priv->authority, -+ NULL, ++ chain = nm_auth_chain_new (NULL, + priv->user_proxy, + user_proxy_auth_done, + self); @@ -5537,7 +5578,7 @@ /* General NMManager stuff */ /*******************************************************************/ -@@ -1477,6 +2033,8 @@ add_device (NMManager *self, NMDevice *device) +@@ -1447,6 +2002,8 @@ add_device (NMManager *self, NMDevice *device) G_OBJECT (device)); nm_log_info (LOGD_CORE, "(%s): exported as %s", iface, path); g_free (path); @@ -5546,7 +5587,32 @@ /* Check if we should assume the device's active connection by matching its * config with an existing system connection. -@@ -2043,14 +2601,18 @@ static void +@@ -1825,6 +2382,7 @@ nm_manager_get_act_request_by_path (NMManager *manager, + for (iter = priv->devices; iter; iter = g_slist_next (iter)) { + NMActRequest *req; + const char *ac_path; ++ NMCompatActiveConnection *compat_req; + + req = nm_device_get_act_request (NM_DEVICE (iter->data)); + if (!req) +@@ -1835,6 +2393,16 @@ nm_manager_get_act_request_by_path (NMManager *manager, + *device = NM_DEVICE (iter->data); + return req; + } ++ ++ /* It might be the object path of the compat ActiveConnection */ ++ compat_req = nm_act_request_get_compat (req); ++ if (compat_req) { ++ ac_path = nm_compat_active_connection_get_path (compat_req); ++ if (g_strcmp0 (path, ac_path) == 0) { ++ *device = NM_DEVICE (iter->data); ++ return req; ++ } ++ } + } + + return NULL; +@@ -2013,14 +2581,18 @@ static void pending_activate (NMManager *self, PendingActivation *pending) { NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); @@ -5567,7 +5633,7 @@ if (!connection) { error = g_error_new_literal (NM_MANAGER_ERROR, NM_MANAGER_ERROR_UNKNOWN_CONNECTION, -@@ -2061,7 +2623,7 @@ pending_activate (NMManager *self, PendingActivation *pending) +@@ -2031,7 +2603,7 @@ pending_activate (NMManager *self, PendingActivation *pending) sender = dbus_g_method_get_sender (pending->context); g_assert (sender); path = nm_manager_activate_connection (self, @@ -5576,7 +5642,7 @@ pending->specific_object_path, pending->device_path, sender, -@@ -2107,6 +2669,7 @@ impl_manager_activate_connection (NMManager *self, +@@ -2076,6 +2648,7 @@ impl_manager_activate_connection (NMManager *self, context, device_path, connection_path, @@ -5584,7 +5650,7 @@ NULL, specific_object_path, activation_auth_done, -@@ -2120,6 +2683,91 @@ impl_manager_activate_connection (NMManager *self, +@@ -2089,6 +2662,90 @@ impl_manager_activate_connection (NMManager *self, } } @@ -5655,7 +5721,6 @@ + * activate the connection. + */ + pending = pending_activation_new (self, -+ priv->authority, + context, + real_dev_path, + connection_path, @@ -5676,7 +5741,7 @@ static void activation_add_done (NMSettings *self, NMSettingsConnection *connection, -@@ -2176,6 +2824,7 @@ impl_manager_add_and_activate_connection (NMManager *self, +@@ -2144,6 +2801,7 @@ impl_manager_add_and_activate_connection (NMManager *self, context, device_path, NULL, @@ -5684,7 +5749,7 @@ settings, specific_object_path, add_and_activate_auth_done, -@@ -2287,13 +2936,21 @@ impl_manager_deactivate_connection (NMManager *self, +@@ -2253,13 +2911,21 @@ impl_manager_deactivate_connection (NMManager *self, for (iter = priv->devices; iter; iter = g_slist_next (iter)) { NMActRequest *req; const char *req_path = NULL; @@ -5708,7 +5773,7 @@ break; } } -@@ -2315,7 +2972,7 @@ impl_manager_deactivate_connection (NMManager *self, +@@ -2281,7 +2947,7 @@ impl_manager_deactivate_connection (NMManager *self, * deactivate the connection. */ if (!nm_auth_get_caller_uid (context, @@ -5717,7 +5782,7 @@ &sender_uid, &error_desc)) { error = g_error_new_literal (NM_MANAGER_ERROR, -@@ -2350,6 +3007,14 @@ impl_manager_deactivate_connection (NMManager *self, +@@ -2316,6 +2982,14 @@ impl_manager_deactivate_connection (NMManager *self, nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_NETWORK_CONTROL, TRUE); } @@ -5732,7 +5797,7 @@ static void do_sleep_wake (NMManager *self) { -@@ -2562,6 +3227,14 @@ impl_manager_sleep (NMManager *self, +@@ -2506,6 +3180,14 @@ impl_manager_sleep (NMManager *self, #endif } @@ -5747,7 +5812,7 @@ static void upower_sleeping_cb (DBusGProxy *proxy, gpointer user_data) { -@@ -2699,6 +3372,14 @@ impl_manager_enable (NMManager *self, +@@ -2640,6 +3322,14 @@ impl_manager_enable (NMManager *self, nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_ENABLE_DISABLE_NETWORK, TRUE); } @@ -5762,7 +5827,7 @@ /* Permissions */ static void -@@ -2860,6 +3541,12 @@ nm_manager_start (NMManager *self) +@@ -2791,6 +3481,12 @@ nm_manager_start (NMManager *self) system_unmanaged_devices_changed_cb (priv->settings, NULL, self); system_hostname_changed_cb (priv->settings, NULL, self); @@ -5775,7 +5840,7 @@ nm_udev_manager_query_devices (priv->udev_mgr); bluez_manager_resync_devices (self); } -@@ -3011,7 +3698,9 @@ prop_filter (DBusConnection *connection, +@@ -2942,7 +3638,9 @@ prop_filter (DBusConnection *connection, if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_STRING) return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; dbus_message_iter_get_basic (&iter, &propiface); @@ -5786,7 +5851,7 @@ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; dbus_message_iter_next (&iter); -@@ -3144,6 +3833,11 @@ nm_manager_get (NMSettings *settings, +@@ -3075,6 +3773,11 @@ nm_manager_get (NMSettings *settings, dbus_g_connection_register_g_object (bus, NM_DBUS_PATH, G_OBJECT (singleton)); @@ -5798,7 +5863,7 @@ priv->udev_mgr = nm_udev_manager_new (); g_signal_connect (priv->udev_mgr, "device-added", -@@ -3170,6 +3864,9 @@ nm_manager_get (NMSettings *settings, +@@ -3101,6 +3804,9 @@ nm_manager_get (NMSettings *settings, G_CALLBACK (bluez_manager_bdaddr_removed_cb), singleton); @@ -5808,7 +5873,7 @@ return singleton; } -@@ -3201,6 +3898,10 @@ dispose (GObject *object) +@@ -3133,6 +3839,10 @@ dispose (GObject *object) g_free (priv->hostname); g_free (priv->config_file); @@ -5819,7 +5884,7 @@ g_object_unref (priv->settings); if (priv->vpn_manager_id) { -@@ -3455,11 +4156,15 @@ periodic_update_active_connection_timestamps (gpointer user_data) +@@ -3387,11 +4097,15 @@ periodic_update_active_connection_timestamps (gpointer user_data) const char *active_path = g_ptr_array_index (active, i); NMActRequest *req; NMDevice *device = NULL; @@ -5838,7 +5903,7 @@ } return TRUE; -@@ -3509,6 +4214,10 @@ nm_manager_init (NMManager *manager) +@@ -3447,6 +4161,10 @@ nm_manager_init (NMManager *manager) priv->dbus_mgr = nm_dbus_manager_get (); @@ -5849,7 +5914,7 @@ priv->modem_manager = nm_modem_manager_get (); priv->modem_added_id = g_signal_connect (priv->modem_manager, "modem-added", G_CALLBACK (modem_added), manager); -@@ -3749,6 +4458,8 @@ nm_manager_class_init (NMManagerClass *manager_class) +@@ -3677,6 +4395,8 @@ nm_manager_class_init (NMManagerClass *manager_class) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); @@ -5858,7 +5923,7 @@ signals[USER_PERMISSIONS_CHANGED] = g_signal_new ("user-permissions-changed", G_OBJECT_CLASS_TYPE (object_class), -@@ -3757,6 +4468,38 @@ nm_manager_class_init (NMManagerClass *manager_class) +@@ -3685,6 +4405,38 @@ nm_manager_class_init (NMManagerClass *manager_class) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); @@ -5934,7 +5999,7 @@ + #endif /* NM_MANAGER_H */ diff --git a/src/nm-policy.c b/src/nm-policy.c -index 5c30828..6b85567 100644 +index 194d111..3e932f7 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -718,9 +718,12 @@ auto_activate_device (gpointer user_data) @@ -5960,7 +6025,7 @@ connections = g_slist_remove (connections, candidate); } -@@ -1168,6 +1171,12 @@ nm_policy_new (NMManager *manager, +@@ -1180,6 +1183,12 @@ nm_policy_new (NMManager *manager, _connect_manager_signal (policy, "device-added", device_added); _connect_manager_signal (policy, "device-removed", device_removed); @@ -6223,7 +6288,7 @@ + #endif /* NM_VPN_CONNECTION_H */ diff --git a/src/vpn-manager/nm-vpn-manager.c b/src/vpn-manager/nm-vpn-manager.c -index 6772bb1..b2636c2 100644 +index 6772bb1..9deaeb3 100644 --- a/src/vpn-manager/nm-vpn-manager.c +++ b/src/vpn-manager/nm-vpn-manager.c @@ -30,6 +30,7 @@ @@ -6234,7 +6299,27 @@ G_DEFINE_TYPE (NMVPNManager, nm_vpn_manager, G_TYPE_OBJECT) -@@ -324,9 +325,16 @@ nm_vpn_manager_get_connection_for_active (NMVPNManager *manager, +@@ -240,10 +241,17 @@ nm_vpn_manager_deactivate_connection (NMVPNManager *self, + active = nm_vpn_service_get_active_connections (NM_VPN_SERVICE (data)); + for (aiter = active; aiter; aiter = g_slist_next (aiter)) { + NMVPNConnection *vpn = NM_VPN_CONNECTION (aiter->data); +- const char *vpn_path; ++ const char *vpn_path, *compat_path = NULL; ++ NMCompatActiveConnection *compat; + + vpn_path = nm_vpn_connection_get_active_connection_path (vpn); +- if (!strcmp (path, vpn_path)) { ++ /* We might have been passed a compat path too */ ++ compat = nm_vpn_connection_get_compat (vpn); ++ if (compat) ++ compat_path = nm_compat_active_connection_get_path (compat); ++ ++ if ( g_strcmp0 (path, vpn_path) == 0 ++ || g_strcmp0 (path, compat_path) == 0) { + nm_vpn_connection_disconnect (vpn, reason); + success = TRUE; + break; +@@ -324,9 +332,16 @@ nm_vpn_manager_get_connection_for_active (NMVPNManager *manager, for (elt = active; elt; elt = g_slist_next (elt)) { NMVPNConnection *vpn = NM_VPN_CONNECTION (elt->data); const char *ac_path; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org