- nm: work around unhandled device removals due to missing HAL events

- nm: improve handling of multiple modem ports
- nm: support for Sony Ericsson F3507g / MD300 and Dell 5530
- applet: updated translations
This commit is contained in:
Daniel Williams 2009-03-18 11:19:41 +00:00
parent aae1d86989
commit 164b069eaf
5 changed files with 13 additions and 71 deletions

View File

@ -141,3 +141,5 @@ NetworkManager-0.7.0.98.git20090225.tar.bz2
network-manager-applet-0.7.0.98.svn1202.tar.bz2
NetworkManager-0.7.0.99.tar.bz2
network-manager-applet-0.7.0.99.tar.bz2
NetworkManager-0.7.0.99.git20090318.tar.bz2
network-manager-applet-0.7.0.99.svn1224.tar.bz2

View File

@ -1,47 +0,0 @@
commit 21defe6d73853bf19c6ce99d07701d1531e09409
Author: Drew Moseley <dmoseley@mvista.com>
Date: Fri Mar 6 17:19:17 2009 -0500
core: fix use-after-free caused by incorrect HAL device resync code
diff --git a/src/nm-manager.c b/src/nm-manager.c
index a6bac55..d0e5564 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -1426,12 +1426,11 @@ static void
sync_devices (NMManager *self)
{
NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
- GSList *devices;
+ GSList *devices = NULL;
GSList *iter;
- /* Remove devices which are no longer known to HAL */
- devices = g_slist_copy (priv->devices);
- for (iter = devices; iter; iter = iter->next) {
+ /* Keep devices still known to HAL; get rid of ones HAL no longer knows about */
+ for (iter = priv->devices; iter; iter = iter->next) {
NMDevice *device = NM_DEVICE (iter->data);
const char *udi = nm_device_get_udi (device);
@@ -1440,15 +1439,14 @@ sync_devices (NMManager *self)
nm_device_set_managed (device, TRUE, NM_DEVICE_STATE_REASON_NOW_MANAGED);
else
nm_device_set_managed (device, FALSE, NM_DEVICE_STATE_REASON_NOW_UNMANAGED);
- } else {
- priv->devices = g_slist_delete_link (priv->devices, iter);
+ devices = g_slist_prepend (devices, device);
+ } else
remove_one_device (self, device);
- }
}
+ g_slist_free (priv->devices);
+ priv->devices = devices;
- g_slist_free (devices);
-
- /* Get any new ones */
+ /* Ask HAL for new devices */
nm_hal_manager_query_devices (priv->hal_mgr);
}

View File

@ -11,14 +11,14 @@ ExcludeArch: s390 s390x
%define libnl_version 1.1
%define ppp_version 2.2.4
%define snapshot %{nil}
%define applet_snapshot %{nil}
%define snapshot .git20090318
%define applet_snapshot .svn1224
Name: NetworkManager
Summary: Network connection manager and user applications
Epoch: 1
Version: 0.7.0.99
Release: 3%{snapshot}%{?dist}
Release: 3.5%{snapshot}%{?dist}
Group: System Environment/Base
License: GPLv2+
URL: http://www.gnome.org/projects/NetworkManager/
@ -28,8 +28,6 @@ Source1: network-manager-applet-%{version}%{applet_snapshot}.tar.bz2
Source2: nm-system-settings.conf
Patch1: nm-applet-internal-buildfixes.patch
Patch2: explain-dns1-dns2.patch
Patch4: NetworkManager-0.7.0.99-fix-hal-resync.patch
Patch5: missing-onboot-equals-yes.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
PreReq: chkconfig
@ -147,8 +145,6 @@ NetworkManager functionality from applications that use glib.
tar -xjf %{SOURCE1}
%patch1 -p1 -b .buildfix
%patch2 -p1 -b .explain-dns1-dns2
%patch4 -p1 -b .fix-hal-resync
%patch5 -p1 -b .missing-onboot
%build
@ -329,6 +325,12 @@ fi
%{_datadir}/gtk-doc/html/libnm-util/*
%changelog
* Wed Mar 18 2009 Dan Williams <dcbw@redhat.com> - 1:0.7.0.99-3.5
- nm: work around unhandled device removals due to missing HAL events
- nm: improve handling of multiple modem ports
- nm: support for Sony Ericsson F3507g / MD300 and Dell 5530
- applet: updated translations
* Mon Mar 9 2009 Dan Williams <dcbw@redhat.com> - 1:0.7.0.99-3
- Missing ONBOOT should actually mean ONBOOT=yes (rh #489422)

View File

@ -1,15 +0,0 @@
diff -up NetworkManager-0.7.0.99/system-settings/plugins/ifcfg-rh/reader.c.ignore-minimal NetworkManager-0.7.0.99/system-settings/plugins/ifcfg-rh/reader.c
--- NetworkManager-0.7.0.99/system-settings/plugins/ifcfg-rh/reader.c.ignore-minimal 2009-03-09 23:02:38.000000000 -0400
+++ NetworkManager-0.7.0.99/system-settings/plugins/ifcfg-rh/reader.c 2009-03-09 23:22:57.000000000 -0400
@@ -132,9 +132,9 @@ make_connection_setting (const char *fil
NULL);
g_free (uuid);
- /* Be somewhat conservative about autoconnect */
+ /* Missing ONBOOT is treated as "ONBOOT=true" by the old network service */
g_object_set (s_con, NM_SETTING_CONNECTION_AUTOCONNECT,
- svTrueValue (ifcfg, "ONBOOT", FALSE),
+ svTrueValue (ifcfg, "ONBOOT", TRUE),
NULL);
value = svGetValue (ifcfg, "LAST_CONNECT", FALSE);

View File

@ -1,2 +1,2 @@
2f3aef00a0cd1a2d32acba880bcca27c NetworkManager-0.7.0.99.tar.bz2
8670d75dffe0d4fe5a497f0857a5ff00 network-manager-applet-0.7.0.99.tar.bz2
c518edf9da2fc4fd967f41dc99489f1d NetworkManager-0.7.0.99.git20090318.tar.bz2
dd72580a83311d636834d0d4de044fb9 network-manager-applet-0.7.0.99.svn1224.tar.bz2