Hello community,
here is the log from the commit of package NetworkManager
checked in at Fri Oct 24 17:16:24 CEST 2008.
--------
--- NetworkManager/NetworkManager.changes 2008-10-20 16:09:19.000000000 +0200
+++ /mounts/work_src_done/STABLE/NetworkManager/NetworkManager.changes 2008-10-24 12:30:12.000000000 +0200
@@ -1,0 +2,14 @@
+Fri Oct 24 12:53:43 EEST 2008 - tambet@suse.de
+
+- Fix the problem where NetworkManager thinks it can't start ModemManager.
+- Always add really important stuff to the command line to ensure
+ that NM overrides /etc/ppp/options (bgo #556781).
+- Fix segfaults on shutdown.
+- Correctly determine encryption capabilities.
+- Add support for VPN subnet gateways (bgo #549196).
+- Rework default route handling to consolidate decisions in the policy,
+ and to take active VPN connections into account when changing the default
+ route (bgo #545912).
+- Updated translations: be, es, nb, pt_BR, sv.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
NetworkManager-0.7.0.r4160.tar.bz2
NetworkManager-r4160-use-modem-manager.patch
nm-logging.patch
New:
----
NetworkManager-0.7.0.r4209.tar.bz2
NetworkManager-r4209-use-modem-manager.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager.spec ++++++
--- /var/tmp/diff_new_pack.Li2042/_old 2008-10-24 17:15:59.000000000 +0200
+++ /var/tmp/diff_new_pack.Li2042/_new 2008-10-24 17:15:59.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package NetworkManager (Version 0.7.0.r4160)
+# spec file for package NetworkManager (Version 0.7.0.r4209)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,8 +19,8 @@
Name: NetworkManager
Url: http://www.gnome.org/projects/NetworkManager/
-Version: 0.7.0.r4160
-Release: 2
+Version: 0.7.0.r4209
+Release: 1
License: GPL v2 or later
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: PolicyKit-devel dhcp-client gtk-doc hal-devel intltool iproute2 libgcrypt-devel libnl-devel libtool mozilla-nss-devel ppp-devel wireless-tools
@@ -30,13 +30,12 @@
Source1: nfs
Source2: nm-system-settings.conf
Source3: nis
-Patch0: NetworkManager-r4160-use-modem-manager.patch
+Patch0: NetworkManager-r4209-use-modem-manager.patch
%if 0%{?suse_version} == 1100
Patch1: nm-dbus-glib-opensuse110.patch
%endif
Patch2: nm-opensuse-merge.patch
Patch3: nm-ethtool.patch
-Patch4: nm-logging.patch
Requires: wpa_supplicant >= 0.5.8-54
Requires: dhcp-client
Requires: mozilla-nss
@@ -131,7 +130,6 @@
%endif
%patch2 -p1
%patch3 -p1
-%patch4 -p1
pppddir=`ls -1d /usr/%_lib/pppd/2*`
test -n "$pppddir" || exit 1
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
@@ -238,6 +236,17 @@
%{_datadir}/gtk-doc/html/libnm-glib/*
%changelog
+* Fri Oct 24 2008 tambet@suse.de
+- Fix the problem where NetworkManager thinks it can't start ModemManager.
+- Always add really important stuff to the command line to ensure
+ that NM overrides /etc/ppp/options (bgo #556781).
+- Fix segfaults on shutdown.
+- Correctly determine encryption capabilities.
+- Add support for VPN subnet gateways (bgo #549196).
+- Rework default route handling to consolidate decisions in the policy,
+ and to take active VPN connections into account when changing the default
+ route (bgo #545912).
+- Updated translations: be, es, nb, pt_BR, sv.
* Mon Oct 20 2008 tambet@suse.de
- Implement merging connections from /etc/sysconfig/network in
nm-opensuse-merge (part of bnc #433084).
++++++ NetworkManager-0.7.0.r4160.tar.bz2 -> NetworkManager-0.7.0.r4209.tar.bz2 ++++++
++++ 4692 lines of diff (skipped)
++++++ NetworkManager-r4160-use-modem-manager.patch -> NetworkManager-r4209-use-modem-manager.patch ++++++
--- NetworkManager/NetworkManager-r4160-use-modem-manager.patch 2008-10-13 10:21:42.000000000 +0200
+++ /mounts/work_src_done/STABLE/NetworkManager/NetworkManager-r4209-use-modem-manager.patch 2008-10-24 12:30:11.000000000 +0200
@@ -120,7 +120,7 @@
$(top_builddir)/libnm-util/libnm-util.la
diff --git a/src/NetworkManagerPolicy.c b/src/NetworkManagerPolicy.c
-index 25024c2..f7942d6 100644
+index 5f09704..bad6a34 100644
--- a/src/NetworkManagerPolicy.c
+++ b/src/NetworkManagerPolicy.c
@@ -35,9 +35,6 @@
@@ -133,7 +133,7 @@
#include "nm-dbus-manager.h"
#include "nm-setting-ip4-config.h"
#include "nm-setting-connection.h"
-@@ -227,7 +224,9 @@ get_best_device (NMManager *manager, NMActRequest **out_req)
+@@ -232,7 +229,9 @@ get_best_device (NMManager *manager, NMActRequest **out_req)
}
/* 'hso' devices never get a gateway from the remote end */
@@ -146,10 +146,10 @@
prio = nm_device_get_priority (dev);
diff --git a/src/modem-manager/Makefile.am b/src/modem-manager/Makefile.am
new file mode 100644
-index 0000000..519636b
+index 0000000..5331f65
--- /dev/null
+++ b/src/modem-manager/Makefile.am
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,45 @@
+INCLUDES = \
+ -I${top_srcdir}/src \
+ -I${top_srcdir}/include \
@@ -165,6 +165,8 @@
+ nm-gsm-modem.h \
+ nm-gsm-modem-hso.c \
+ nm-gsm-modem-hso.h \
++ nm-gsm-modem-mbm.c \
++ nm-gsm-modem-mbm.h \
+ nm-modem-device.c \
+ nm-modem-device.h \
+ nm-modem-manager.h \
@@ -504,10 +506,10 @@
+#endif /* NM_CDMA_MODEM_H */
diff --git a/src/modem-manager/nm-gsm-modem-hso.c b/src/modem-manager/nm-gsm-modem-hso.c
new file mode 100644
-index 0000000..b1a22f1
+index 0000000..2c28752
--- /dev/null
+++ b/src/modem-manager/nm-gsm-modem-hso.c
-@@ -0,0 +1,341 @@
+@@ -0,0 +1,342 @@
+/* -*- Mode: C; tab-width: 5; indent-tabs-mode: t; c-basic-offset: 5 -*- */
+
+#include "nm-gsm-modem-hso.h"
@@ -575,6 +577,7 @@
+ NM_DEVICE_INTERFACE_IFACE, data_device,
+ NM_DEVICE_INTERFACE_DRIVER, driver,
+ NM_DEVICE_INTERFACE_MANAGED, TRUE,
++ NM_MODEM_DEVICE_PATH, path,
+ NULL);
+
+ if (device) {
@@ -888,9 +891,335 @@
+G_END_DECLS
+
+#endif /* NM_GSM_MODEM_HSO_H */
+diff --git a/src/modem-manager/nm-gsm-modem-mbm.c b/src/modem-manager/nm-gsm-modem-mbm.c
+new file mode 100644
+index 0000000..efa8d4f
+--- /dev/null
++++ b/src/modem-manager/nm-gsm-modem-mbm.c
+@@ -0,0 +1,260 @@
++/* -*- Mode: C; tab-width: 5; indent-tabs-mode: t; c-basic-offset: 5 -*- */
++/*
++ Additions to NetworkManager, network-manager-applet and modemmanager
++ for supporting Ericsson modules like F3507g.
++
++ Author: Per Hallsmark
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program; if not, write to the Free Software
++ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++*/
++
++#include "nm-gsm-modem-mbm.h"
++#include "nm-device-private.h"
++#include "nm-device-interface.h"
++#include "NetworkManagerSystem.h"
++#include "nm-setting-connection.h"
++#include "nm-setting-gsm.h"
++#include "nm-modem-types.h"
++#include "nm-utils.h"
++
++G_DEFINE_TYPE (NMGsmModemMbm, nm_gsm_modem_mbm, NM_TYPE_GSM_MODEM)
++
++#define NM_GSM_MODEM_MBM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_GSM_MODEM_MBM, NMGsmModemMbmPrivate))
++
++typedef struct {
++ char *netdev_iface;
++ NMIP4Config *pending_ip4_config;
++} NMGsmModemMbmPrivate;
++
++#define MBM_SECRETS_TRIES "gsm-secrets-tries"
++
++static char *
++get_network_device (NMDevice *device)
++{
++ char *result = NULL;
++ GError *error = NULL;
++ GValue value = { 0, };
++
++ if (!dbus_g_proxy_call (nm_modem_device_get_proxy (NM_MODEM_DEVICE (device), "org.freedesktop.DBus.Properties"),
++ "Get", &error,
++ G_TYPE_STRING, MM_DBUS_INTERFACE_MODEM_GSM_MBM,
++ G_TYPE_STRING, "NetworkDevice",
++ G_TYPE_INVALID,
++ G_TYPE_VALUE, &value,
++ G_TYPE_INVALID)) {
++ nm_warning ("Could not get MBM device's network interface: %s", error->message);
++ g_error_free (error);
++ } else {
++ if (G_VALUE_HOLDS_STRING (&value))
++ result = g_value_dup_string (&value);
++ else
++ nm_warning ("Could not get MBM device's network interface: wrong type '%s'",
++ G_VALUE_TYPE_NAME (&value));
++
++ g_value_unset (&value);
++ }
++
++ return result;
++}
++
++NMDevice *
++nm_gsm_modem_mbm_new (const char *path,
++ const char *data_device,
++ const char *driver)
++{
++ NMDevice *device;
++
++ g_return_val_if_fail (path != NULL, NULL);
++ g_return_val_if_fail (data_device != NULL, NULL);
++ g_return_val_if_fail (driver != NULL, NULL);
++
++ device = (NMDevice *) g_object_new (NM_TYPE_GSM_MODEM_MBM,
++ NM_DEVICE_INTERFACE_UDI, path,
++ NM_DEVICE_INTERFACE_IFACE, data_device,
++ NM_DEVICE_INTERFACE_DRIVER, driver,
++ NM_DEVICE_INTERFACE_MANAGED, TRUE,
++ NULL);
++
++ if (device) {
++ NMGsmModemMbmPrivate *priv;
++
++ priv = NM_GSM_MODEM_MBM_GET_PRIVATE (device);
++ priv->netdev_iface = get_network_device (device);
++ if (!priv->netdev_iface) {
++ g_object_unref (device);
++ device = NULL;
++ }
++ }
++
++ return device;
++}
++
++/*****************************************************************************/
++
++#if 0
++static NMSetting *
++get_setting (NMGsmModemMbm *modem, GType setting_type)
++{
++ NMActRequest *req;
++ NMSetting *setting = NULL;
++
++ req = nm_device_get_act_request (NM_DEVICE (modem));
++ if (req) {
++ NMConnection *connection;
++
++ connection = nm_act_request_get_connection (req);
++ if (connection)
++ setting = nm_connection_get_setting (connection, setting_type);
++ }
++
++ return setting;
++}
++#endif
++
++#if 0
++static NMActStageReturn
++real_act_stage2_config (NMDevice *device, NMDeviceStateReason *reason)
++{
++ NMActRequest *req;
++ NMConnection *connection;
++ const char *setting_name;
++ GPtrArray *hints = NULL;
++ const char *hint1 = NULL, *hint2 = NULL;
++ guint32 tries;
++
++ req = nm_device_get_act_request (device);
++ g_assert (req);
++ connection = nm_act_request_get_connection (req);
++ g_assert (connection);
++
++ setting_name = nm_connection_need_secrets (connection, &hints);
++ if (!setting_name) {
++ // do_mbm_auth (NM_GSM_MODEM_MBM (device));
++ return NM_ACT_STAGE_RETURN_POSTPONE;
++ }
++
++ if (hints) {
++ if (hints->len > 0)
++ hint1 = g_ptr_array_index (hints, 0);
++ if (hints->len > 1)
++ hint2 = g_ptr_array_index (hints, 1);
++ }
++
++ nm_device_state_changed (device, NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_NONE);
++
++ tries = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (connection), MBM_SECRETS_TRIES));
++ nm_act_request_request_connection_secrets (req,
++ setting_name,
++ tries ? TRUE : FALSE,
++ SECRETS_CALLER_MBM_GSM,
++ hint1,
++ hint2);
++ g_object_set_data (G_OBJECT (connection), MBM_SECRETS_TRIES, GUINT_TO_POINTER (++tries));
++
++ if (hints)
++ g_ptr_array_free (hints, TRUE);
++
++ return NM_ACT_STAGE_RETURN_POSTPONE;
++}
++#endif
++
++static void
++real_deactivate (NMDevice *device)
++{
++ NMGsmModemMbmPrivate *priv = NM_GSM_MODEM_MBM_GET_PRIVATE (device);
++
++ if (priv->pending_ip4_config) {
++ g_object_unref (priv->pending_ip4_config);
++ priv->pending_ip4_config = NULL;
++ }
++
++ if (priv->netdev_iface) {
++ nm_system_device_flush_ip4_routes_with_iface (priv->netdev_iface);
++ nm_system_device_flush_ip4_addresses_with_iface (priv->netdev_iface);
++ nm_system_device_set_up_down_with_iface (priv->netdev_iface, FALSE, NULL);
++ }
++ nm_device_set_ip_iface (device, NULL);
++
++ if (NM_DEVICE_CLASS (nm_gsm_modem_mbm_parent_class)->deactivate)
++ NM_DEVICE_CLASS (nm_gsm_modem_mbm_parent_class)->deactivate (device);
++}
++
++static gboolean
++real_hw_is_up (NMDevice *device)
++{
++ NMGsmModemMbmPrivate *priv = NM_GSM_MODEM_MBM_GET_PRIVATE (device);
++
++ if (priv->netdev_iface)
++ return nm_system_device_is_up_with_iface (priv->netdev_iface);
++
++ return TRUE;
++}
++
++static gboolean
++real_hw_bring_up (NMDevice *device, gboolean *no_firmware)
++{
++ NMGsmModemMbmPrivate *priv = NM_GSM_MODEM_MBM_GET_PRIVATE (device);
++
++ if (priv->netdev_iface)
++ return nm_system_device_set_up_down_with_iface (priv->netdev_iface, TRUE, no_firmware);
++
++ return TRUE;
++}
++
++static void
++real_connect (NMModemDevice *modem, const char *number)
++{
++ nm_device_activate_schedule_stage2_device_config (NM_DEVICE (modem));
++}
++
++/*****************************************************************************/
++
++static void
++nm_gsm_modem_mbm_init (NMGsmModemMbm *self)
++{
++}
++
++static void
++finalize (GObject *object)
++{
++ NMGsmModemMbmPrivate *priv = NM_GSM_MODEM_MBM_GET_PRIVATE (object);
++
++ g_free (priv->netdev_iface);
++
++ G_OBJECT_CLASS (nm_gsm_modem_mbm_parent_class)->finalize (object);
++}
++
++static void
++nm_gsm_modem_mbm_class_init (NMGsmModemMbmClass *klass)
++{
++ GObjectClass *object_class = G_OBJECT_CLASS (klass);
++ NMDeviceClass *device_class = NM_DEVICE_CLASS (klass);
++ NMModemDeviceClass *modem_class = NM_MODEM_DEVICE_CLASS (klass);
++
++ g_type_class_add_private (object_class, sizeof (NMGsmModemMbmPrivate));
++
++ object_class->finalize = finalize;
++
++#if 0
++ device_class->act_stage2_config = real_act_stage2_config;
++#endif
++ device_class->deactivate = real_deactivate;
++ device_class->hw_is_up = real_hw_is_up;
++ device_class->hw_bring_up = real_hw_bring_up;
++
++ modem_class->connect = real_connect;
++}
+diff --git a/src/modem-manager/nm-gsm-modem-mbm.h b/src/modem-manager/nm-gsm-modem-mbm.h
+new file mode 100644
+index 0000000..1f49fda
+--- /dev/null
++++ b/src/modem-manager/nm-gsm-modem-mbm.h
+@@ -0,0 +1,54 @@
++/* -*- Mode: C; tab-width: 5; indent-tabs-mode: t; c-basic-offset: 5 -*- */
++/*
++ Additions to NetworkManager, network-manager-applet and modemmanager
++ for supporting Ericsson modules like F3507g.
++
++ Author: Per Hallsmark
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program; if not, write to the Free Software
++ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++*/
++
++#ifndef NM_GSM_MODEM_MBM_H
++#define NM_GSM_MODEM_MBM_H
++
++#include
++
++G_BEGIN_DECLS
++
++#define NM_TYPE_GSM_MODEM_MBM (nm_gsm_modem_mbm_get_type ())
++#define NM_GSM_MODEM_MBM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_GSM_MODEM_MBM, NMGsmModemMbm))
++#define NM_GSM_MODEM_MBM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_GSM_MODEM_MBM, NMGsmModemMbmClass))
++#define NM_IS_GSM_MODEM_MBM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_GSM_MODEM_MBM))
++#define NM_IS_GSM_MODEM_MBM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_GSM_MODEM_MBM))
++#define NM_GSM_MODEM_MBM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_GSM_MODEM_MBM, NMGsmModemMbmClass))
++
++typedef struct {
++ NMGsmModem parent;
++} NMGsmModemMbm;
++
++typedef struct {
++ NMGsmModemClass parent;
++} NMGsmModemMbmClass;
++
++GType nm_gsm_modem_mbm_get_type (void);
++
++NMDevice *nm_gsm_modem_mbm_new (const char *path, const char *data_device,
++ const char *driver);
++
++G_END_DECLS
++
++#endif /* NM_GSM_MODEM_MBM_H */
diff --git a/src/modem-manager/nm-gsm-modem.c b/src/modem-manager/nm-gsm-modem.c
new file mode 100644
-index 0000000..691f189
+index 0000000..9a77abf
--- /dev/null
+++ b/src/modem-manager/nm-gsm-modem.c
@@ -0,0 +1,342 @@
@@ -1052,7 +1381,7 @@
+ priv->modem_state = MODEM_STATE_SET_APN;
+ if (setting->apn)
+ dbus_g_proxy_begin_call (get_proxy (modem, MM_DBUS_INTERFACE_MODEM_GSM_NETWORK),
-+ "SetAPN", state_machine,
++ "SetApn", state_machine,
+ modem, NULL,
+ G_TYPE_STRING, setting->apn,
+ G_TYPE_INVALID);
@@ -1804,10 +2133,10 @@
+#endif /* NM_MODEM_DEVICE_H */
diff --git a/src/modem-manager/nm-modem-manager.c b/src/modem-manager/nm-modem-manager.c
new file mode 100644
-index 0000000..66db012
+index 0000000..318798d
--- /dev/null
+++ b/src/modem-manager/nm-modem-manager.c
-@@ -0,0 +1,388 @@
+@@ -0,0 +1,395 @@
+/* -*- Mode: C; tab-width: 5; indent-tabs-mode: t; c-basic-offset: 5 -*- */
+
+#include
@@ -1815,6 +2144,7 @@
+#include "nm-modem-device.h"
+#include "nm-gsm-modem.h"
+#include "nm-gsm-modem-hso.h"
++#include "nm-gsm-modem-mbm.h"
+#include "nm-cdma-modem.h"
+#include "nm-dbus-manager.h"
+#include "nm-utils.h"
@@ -1958,6 +2288,8 @@
+ if (modem_type == MM_MODEM_TYPE_GSM) {
+ if (!strcmp (driver, "hso"))
+ device = nm_gsm_modem_hso_new (path, data_device, driver);
++ else if (!strcmp (driver, "mbm"))
++ device = nm_gsm_modem_mbm_new (path, data_device, driver);
+ else
+ device = nm_gsm_modem_new (path, data_device, driver);
+ } else if (modem_type == MM_MODEM_TYPE_CDMA)
@@ -1969,7 +2301,7 @@
+ g_free (driver);
+
+ if (device) {
-+ g_hash_table_insert (priv->modems, g_strdup (path), g_object_ref (device));
++ g_hash_table_insert (priv->modems, g_strdup (path), device);
+ g_signal_emit (manager, signals[DEVICE_ADDED], 0, device);
+ }
+}
@@ -2041,7 +2373,7 @@
+}
+
+static void
-+modem_manager_appeared (NMModemManager *self)
++modem_manager_appeared (NMModemManager *self, gboolean enumerate_devices)
+{
+ NMModemManagerPrivate *priv = NM_MODEM_MANAGER_GET_PRIVATE (self);
+
@@ -2063,7 +2395,8 @@
+ G_CALLBACK (modem_removed), self,
+ NULL);
+
-+ dbus_g_proxy_begin_call (priv->proxy, "EnumerateDevices", enumerate_devices_done, self, NULL, G_TYPE_INVALID);
++ if (enumerate_devices)
++ dbus_g_proxy_begin_call (priv->proxy, "EnumerateDevices", enumerate_devices_done, self, NULL, G_TYPE_INVALID);
+}
+
+static gboolean
@@ -2108,10 +2441,13 @@
+ old_owner_good = (old_owner && strlen (old_owner));
+ new_owner_good = (new_owner && strlen (new_owner));
+
-+ if (!old_owner_good && new_owner_good)
++ if (!old_owner_good && new_owner_good) {
++ nm_info ("modem manager appeared");
++ modem_manager_appeared (NM_MODEM_MANAGER (user_data), FALSE);
++ } else if (old_owner_good && !new_owner_good) {
++ nm_info ("modem manager disappeared");
+ modem_manager_disappeared (NM_MODEM_MANAGER (user_data));
-+ else if (old_owner_good && !new_owner_good)
-+ modem_manager_appeared (NM_MODEM_MANAGER (user_data));
++ }
+}
+
+/*******************************************************/
@@ -2129,7 +2465,7 @@
+ self);
+
+ if (nm_dbus_manager_name_has_owner (priv->dbus_mgr, MM_DBUS_SERVICE))
-+ modem_manager_appeared (self);
++ modem_manager_appeared (self, TRUE);
+ else
+ modem_manager_disappeared (self);
+}
@@ -2239,10 +2575,10 @@
+#endif /* NM_MODEM_MANAGER_H */
diff --git a/src/modem-manager/nm-modem-types.h b/src/modem-manager/nm-modem-types.h
new file mode 100644
-index 0000000..f5cbe10
+index 0000000..de1d2de
--- /dev/null
+++ b/src/modem-manager/nm-modem-types.h
-@@ -0,0 +1,89 @@
+@@ -0,0 +1,90 @@
+/* -*- Mode: C; tab-width: 5; indent-tabs-mode: t; c-basic-offset: 5 -*- */
+
+#ifndef NM_MODEM_TYPES_H
@@ -2257,6 +2593,7 @@
+#define MM_DBUS_INTERFACE_MODEM_GSM_CARD "org.freedesktop.ModemManager.Modem.Gsm.Card"
+#define MM_DBUS_INTERFACE_MODEM_GSM_NETWORK "org.freedesktop.ModemManager.Modem.Gsm.Network"
+#define MM_DBUS_INTERFACE_MODEM_GSM_HSO "org.freedesktop.ModemManager.Modem.Gsm.Hso"
++#define MM_DBUS_INTERFACE_MODEM_GSM_MBM "org.freedesktop.ModemManager.Modem.Gsm.Mbm"
+
+#define MM_MODEM_TYPE_UNKNOWN 0
+#define MM_MODEM_TYPE_GSM 1
@@ -3741,7 +4078,7 @@
-
-#endif /* NM_HSO_GSM_DEVICE_H */
diff --git a/src/nm-manager.c b/src/nm-manager.c
-index b755902..3a31418 100644
+index 74345b0..828dd5e 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -7,6 +7,7 @@
@@ -3774,7 +4111,7 @@
DBusGProxy *aipd_proxy;
gboolean disposed;
-@@ -220,6 +229,33 @@ vpn_manager_connection_deactivated_cb (NMVPNManager *manager,
+@@ -220,6 +229,36 @@ vpn_manager_connection_deactivated_cb (NMVPNManager *manager,
}
static void
@@ -3793,7 +4130,7 @@
+ else
+ type_name = "Unknown modem";
+
-+ add_device (NM_MANAGER (user_data), modem, type_name);
++ add_device (NM_MANAGER (user_data), NM_DEVICE (g_object_ref (modem)), type_name);
+}
+
+static void
@@ -3801,14 +4138,17 @@
+ NMDevice *modem,
+ gpointer user_data)
+{
++ NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (user_data);
++
+ remove_one_device (NM_MANAGER (user_data), modem);
++ priv->devices = g_slist_remove (priv->devices, modem);
+}
+
+static void
aipd_handle_event (DBusGProxy *proxy,
const char *event,
const char *iface,
-@@ -282,6 +318,12 @@ nm_manager_init (NMManager *manager)
+@@ -282,6 +321,12 @@ nm_manager_init (NMManager *manager)
g_free,
g_object_unref);
@@ -3821,7 +4161,7 @@
priv->vpn_manager = nm_vpn_manager_get ();
id = g_signal_connect (G_OBJECT (priv->vpn_manager), "connection-deactivated",
G_CALLBACK (vpn_manager_connection_deactivated_cb), manager);
-@@ -481,6 +523,16 @@ dispose (GObject *object)
+@@ -481,6 +526,16 @@ dispose (GObject *object)
}
g_object_unref (priv->vpn_manager);
@@ -3838,7 +4178,7 @@
g_object_unref (priv->dbus_mgr);
g_object_unref (priv->hal_mgr);
-@@ -1595,58 +1647,66 @@ next:
+@@ -1614,58 +1669,66 @@ next:
}
static void
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org