network/NetworkManager: Updated for version 0.8.4.0.

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Robby Workman 2011-04-26 18:49:03 -05:00
parent b0722d6a02
commit 4202088db2
24 changed files with 7 additions and 2810 deletions

View file

@ -2,7 +2,7 @@
# Slackware build script for NetworkManager
# Copyright 2010 Robby Workman, Northport, Alabama, USA
# Copyright 2010,2011 Robby Workman, Northport, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=NetworkManager
VERSION=${VERSION:-0.8.2}
BUILD=${BUILD:-5}
VERSION=${VERSION:-0.8.4.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -69,33 +69,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Fix Slackware init script
patch -p1 < $CWD/patches/fixup_rc.networkmanager.patch
# Apply some patches from the 0.8 branch in NM git
patch -p1 < $CWD/patches/keyfile-create-keyfile-data-directory-during-install.patch
patch -p1 < $CWD/patches/keyfile-quiet-keyfile-plugin-when-re-read-connection.patch
patch -p1 < $CWD/patches/build-create-NM-state-directory-at-install-time.patch
patch -p1 < $CWD/patches/keyfile-ignore-temporary-files-bgo-602868.patch
patch -p1 < $CWD/patches/dhcpcd-prevent-dhcpcd-from-messing-with-routing-bgo-.patch
patch -p1 < $CWD/patches/wired-fix-uninitialized-variable.patch
patch -p1 < $CWD/patches/core-correct-TIMESTAMP-type-fixes-potential-crash-wh.patch
patch -p1 < $CWD/patches/dhcp-ensure-that-dhcp-client-is-exited.patch
patch -p1 < $CWD/patches/keyfile-allow-uppercase-MAC-addresses-in-unmanaged-d.patch
patch -p1 < $CWD/patches/core-handle-device-removal-when-properties-are-unrea.patch
patch -p1 < $CWD/patches/examples-fix-querying-active-connections.patch
patch -p1 < $CWD/patches/core-suppress-error-message-when-user-settings-servi.patch
patch -p1 < $CWD/patches/dns-fix-a-crash-due-to-uninitialized-nis_domain-nove.patch
patch -p1 < $CWD/patches/libnm-glib-actually-define-the-ip-interface-property.patch
patch -p1 < $CWD/patches/libnm-util-fix-a-memory-leaks-in-nm_setting_to_strin.patch
patch -p1 < $CWD/patches/dns-direct-IPv4-reverse-DNS-queries-to-split-DNS-ser.patch
patch -p1 < $CWD/patches/policy-stop-touching-etc-hosts.patch
patch -p1 < $CWD/patches/modem-handle-IP-Method-changes-after-modem-has-been-.patch
patch -p1 < $CWD/patches/policy-don-t-update-hostname-on-exit.patch
patch -p1 < $CWD/patches/core-handle-D-Bus-disconnect-better-on-exit.patch
autoreconf
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@ -131,15 +104,7 @@ mkdir -p $PKG/etc/NetworkManager
cat $CWD/NetworkManager.conf.new > \
$PKG/etc/NetworkManager/NetworkManager.conf.new
# This file should actually be shipped with Slackware's wpa_supplicant
# package, but since we missed it there (oops), we'll do it here:
mkdir -p $PKG/usr/share/dbus-1/system-services
cat $CWD/fi.epitest.hostap.WPASupplicant.service > \
$PKG/usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service
# pm-utils upstream ships this file, but it shouldn't really, and it's going
# to be removed from the Slackware package, so we'll include it here just to
# be sure. Once upower is part of Slackware, this file can be removed, since
# Once upower is part of Slackware, this file can be removed, since
# NM listens to upower events to know when to sleep/wake
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d
cp $CWD/55NetworkManager $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/

View file

@ -1,8 +1,8 @@
PRGNAM="NetworkManager"
VERSION="0.8.2"
VERSION="0.8.4.0"
HOMEPAGE="http://projects.gnome.org/NetworkManager/"
DOWNLOAD="ftp://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.8/NetworkManager-0.8.2.tar.bz2"
MD5SUM="951158258544f761d9c09c052a7072e2"
DOWNLOAD="http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.8/NetworkManager-0.8.4.0.tar.bz2"
MD5SUM="61645617b2e8ce14a1198ad359202aea"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Robby Workman"

View file

@ -1,4 +0,0 @@
[D-BUS Service]
Name=fi.epitest.hostap.WPASupplicant
Exec=/usr/sbin/wpa_supplicant -u
User=root

View file

@ -1,27 +0,0 @@
From ce741199c1b304e8f2cc0791f9c4d439ab8bd196 Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Mon, 8 Nov 2010 09:09:54 -0600
Subject: [PATCH 2/3] build: create NM state directory at install time
---
src/Makefile.am | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 8c01df0..d7dccaa 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -275,8 +275,10 @@ EXTRA_DIST = \
$(NetworkManager_DATA)
rundir=$(localstatedir)/run/NetworkManager
+statedir=$(localstatedir)/lib/NetworkManager
install-data-hook:
$(mkinstalldirs) -m 0700 $(DESTDIR)$(rundir)
+ $(mkinstalldirs) -m 0700 $(DESTDIR)$(statedir)
CLEANFILES = $(BUILT_SOURCES)
--
1.7.3.4

View file

@ -1,23 +0,0 @@
From b8ff25eb43c9fa5eb534495a501c73169649d0a6 Mon Sep 17 00:00:00 2001
From: Jiří Klimeš <jklimes@redhat.com>
Date: Tue, 23 Nov 2010 18:06:58 +0000
Subject: core: correct TIMESTAMP type; fixes potential crash when time() is 32bit
The Crash appeared on some platforms in glib while processing variable
arguments.
---
diff --git a/src/system-settings/nm-default-wired-connection.c b/src/system-settings/nm-default-wired-connection.c
index 1cda3d9..0d19dea 100644
--- a/src/system-settings/nm-default-wired-connection.c
+++ b/src/system-settings/nm-default-wired-connection.c
@@ -163,7 +163,7 @@ constructor (GType type,
NM_SETTING_CONNECTION_AUTOCONNECT, TRUE,
NM_SETTING_CONNECTION_UUID, uuid,
NM_SETTING_CONNECTION_READ_ONLY, priv->read_only,
- NM_SETTING_CONNECTION_TIMESTAMP, time (NULL),
+ NM_SETTING_CONNECTION_TIMESTAMP, (guint64) time (NULL),
NULL);
g_free (id);
--
cgit v0.8.3-6-g21f6

View file

@ -1,35 +0,0 @@
From 9751335f013248749d7d05c56c9c18af1410baa1 Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Sun, 2 Jan 2011 10:49:36 -0600
Subject: [PATCH 8/8] core: handle D-Bus disconnect better on exit
We're just going to quit here anyway, so we don't need to
make sure the property filter is unregistered. Fixes a
crash on exit if D-Bus has quit before NM has.
---
src/nm-manager.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/nm-manager.c b/src/nm-manager.c
index afcc6ad..9bd5354 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -4364,10 +4364,11 @@ dispose (GObject *object)
/* Unregister property filter */
bus = nm_dbus_manager_get_connection (priv->dbus_mgr);
- g_assert (bus);
- dbus_connection = dbus_g_connection_get_connection (bus);
- g_assert (dbus_connection);
- dbus_connection_remove_filter (dbus_connection, prop_filter, manager);
+ if (bus) {
+ dbus_connection = dbus_g_connection_get_connection (bus);
+ g_assert (dbus_connection);
+ dbus_connection_remove_filter (dbus_connection, prop_filter, manager);
+ }
g_object_unref (priv->dbus_mgr);
if (priv->bluez_mgr)
--
1.7.3.4

View file

@ -1,37 +0,0 @@
From 8698e62fb9ba492bd4decd14d4faa7fded661ba2 Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Tue, 23 Nov 2010 13:10:01 -0600
Subject: [PATCH 1/4] core: handle device removal when properties are unreadable
By the time we get the udev device removal notification we may not
be able to read properties, since the device has already been
removed from sysfs. That means we can't get the ifindex, so we need
to fall back to the interface name. But we always want to prefer
the ifindex since that will never change as long as the device is
connected, unlike the interface name.
---
src/nm-manager.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/nm-manager.c b/src/nm-manager.c
index eb393fa..48f2173 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -2426,6 +2426,14 @@ udev_device_removed_cb (NMUdevManager *manager,
ifindex = g_udev_device_get_property_as_int (udev_device, "IFINDEX");
device = find_device_by_ifindex (self, ifindex);
+ if (!device) {
+ /* On removal we won't always be able to read properties anymore, as
+ * they may have already been removed from sysfs. Instead, we just
+ * have to fall back to the device's interface name.
+ */
+ device = find_device_by_iface (self, g_udev_device_get_name (udev_device));
+ }
+
if (device)
priv->devices = remove_one_device (self, priv->devices, device, FALSE);
}
--
1.7.3.4

View file

@ -1,42 +0,0 @@
From 83e02840b5ce1cf8c122cc70918ddd57396c91db Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Tue, 23 Nov 2010 22:17:21 -0600
Subject: [PATCH 3/4] core: suppress error message when user settings service is not active
Don't bother trying to initialize the user settings proxy when it
isn't even active. Would trigger a warning to syslog if PolicyKit
permissions changed via changes to /usr/share/polkit-1/actions/.
---
src/nm-manager.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/nm-manager.c b/src/nm-manager.c
index 48f2173..afcc6ad 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -1356,6 +1356,12 @@ user_proxy_init (NMManager *self)
g_return_if_fail (self != NULL);
g_return_if_fail (priv->user_proxy == NULL);
+ /* Don't try to initialize the user settings proxy if the user
+ * settings service doesn't actually exist.
+ */
+ if (!nm_dbus_manager_name_has_owner (priv->dbus_mgr, NM_DBUS_SERVICE_USER_SETTINGS))
+ return;
+
bus = nm_dbus_manager_get_connection (priv->dbus_mgr);
priv->user_proxy = dbus_g_proxy_new_for_name_owner (bus,
NM_DBUS_SERVICE_USER_SETTINGS,
@@ -3975,8 +3981,7 @@ nm_manager_start (NMManager *self)
* they will be queried when the user settings service shows up on the
* bus in nm_manager_name_owner_changed().
*/
- if (nm_dbus_manager_name_has_owner (priv->dbus_mgr, NM_DBUS_SERVICE_USER_SETTINGS))
- user_proxy_init (self);
+ user_proxy_init (self);
nm_udev_manager_query_devices (priv->udev_mgr);
bluez_manager_resync_devices (self);
--
1.7.3.4

View file

@ -1,38 +0,0 @@
From 3d3c87774381cee77bae911367a12e8c86d6ad99 Mon Sep 17 00:00:00 2001
From: Mikhail Efremov <sem@altlinux.org>
Date: Fri, 19 Nov 2010 16:52:55 -0600
Subject: [PATCH 3/4] dhcp: ensure that dhcp client is exited
On restart ensure that the client we're trying to kill has
actually exited even if it's not our child.
---
src/dhcp-manager/nm-dhcp-client.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/dhcp-manager/nm-dhcp-client.c b/src/dhcp-manager/nm-dhcp-client.c
index 0c7f3d4..3a8b194 100644
--- a/src/dhcp-manager/nm-dhcp-client.c
+++ b/src/dhcp-manager/nm-dhcp-client.c
@@ -156,11 +156,15 @@ stop_process (GPid pid, const char *iface)
if (ret == -1) {
/* Child already exited */
- if (errno == ECHILD)
+ if (errno == ECHILD) {
+ /* Was it really our child and it exited? */
+ if (kill (pid, 0) < 0 && errno == ESRCH)
+ break;
+ } else {
+ /* Took too long; shoot it in the head */
+ i = 0;
break;
- /* Took too long; shoot it in the head */
- i = 0;
- break;
+ }
}
g_usleep (G_USEC_PER_SEC / 5);
}
--
1.7.3.4

View file

@ -1,26 +0,0 @@
From d60a988518cb0851488bc21732271a971877cdcd Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Thu, 18 Nov 2010 16:30:00 -0600
Subject: [PATCH 1/4] dhcpcd: prevent dhcpcd from messing with routing (bgo #634983)
Since NM is already handling that.
---
src/dhcp-manager/nm-dhcp-dhcpcd.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/dhcp-manager/nm-dhcp-dhcpcd.c b/src/dhcp-manager/nm-dhcp-dhcpcd.c
index 378a97b..4fb703c 100644
--- a/src/dhcp-manager/nm-dhcp-dhcpcd.c
+++ b/src/dhcp-manager/nm-dhcp-dhcpcd.c
@@ -128,6 +128,8 @@ real_ip4_start (NMDHCPClient *client,
g_ptr_array_add (argv, (gpointer) "-L"); /* Disable built-in IPv4LL since we use avahi-autoipd */
+ g_ptr_array_add (argv, (gpointer) "-G"); /* Let NM handle routing */
+
g_ptr_array_add (argv, (gpointer) "-c"); /* Set script file */
g_ptr_array_add (argv, (gpointer) ACTION_SCRIPT_PATH );
--
1.7.3.4

View file

@ -1,236 +0,0 @@
From 93249f1901cc3f1f08d5f8f66f7cd6f7bd918946 Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Thu, 16 Dec 2010 17:47:59 -0600
Subject: [PATCH] dns: direct IPv4 reverse DNS queries to split DNS servers
When split DNS is used for a local caching nameserver, make sure
that reverse DNS queries for hosts within the VPN tunnel are directed
to the VPN's nameservers, not to the public upstream nameservers.
---
src/dns-manager/Makefile.am | 4 +-
src/dns-manager/nm-dns-dnsmasq.c | 22 +++++++--
src/dns-manager/nm-dns-utils.c | 99 ++++++++++++++++++++++++++++++++++++++
src/dns-manager/nm-dns-utils.h | 28 +++++++++++
4 files changed, 148 insertions(+), 5 deletions(-)
create mode 100644 src/dns-manager/nm-dns-utils.c
create mode 100644 src/dns-manager/nm-dns-utils.h
diff --git a/src/dns-manager/Makefile.am b/src/dns-manager/Makefile.am
index 1ffe62d..7b5fc4f 100644
--- a/src/dns-manager/Makefile.am
+++ b/src/dns-manager/Makefile.am
@@ -14,7 +14,9 @@ libdns_manager_la_SOURCES = \
nm-dns-dnsmasq.h \
nm-dns-dnsmasq.c \
nm-dns-bind.h \
- nm-dns-bind.c
+ nm-dns-bind.c \
+ nm-dns-utils.h \
+ nm-dns-utils.c
libdns_manager_la_CPPFLAGS = \
$(DBUS_CFLAGS) \
diff --git a/src/dns-manager/nm-dns-dnsmasq.c b/src/dns-manager/nm-dns-dnsmasq.c
index 41c8e2a..9cc0197 100644
--- a/src/dns-manager/nm-dns-dnsmasq.c
+++ b/src/dns-manager/nm-dns-dnsmasq.c
@@ -33,6 +33,7 @@
#include "nm-logging.h"
#include "nm-ip4-config.h"
#include "nm-ip6-config.h"
+#include "nm-dns-utils.h"
G_DEFINE_TYPE (NMDnsDnsmasq, nm_dns_dnsmasq, NM_TYPE_DNS_PLUGIN)
@@ -75,9 +76,11 @@ add_ip4_config (GString *str, NMIP4Config *ip4, gboolean split)
gboolean added = FALSE;
if (split) {
+ char **domains, **iter;
+
/* FIXME: it appears that dnsmasq can only handle one nameserver
- * per domain (at the manpage seems to indicate that) so only use
- * the first nameserver here.
+ * per domain (and the manpage says this too) so only use the first
+ * nameserver here.
*/
addr.s_addr = nm_ip4_config_get_nameserver (ip4, 0);
memset (&buf[0], 0, sizeof (buf));
@@ -103,6 +106,17 @@ add_ip4_config (GString *str, NMIP4Config *ip4, gboolean split)
added = TRUE;
}
}
+
+ /* Ensure reverse-DNS works by directing queries for in-addr.arpa
+ * domains to the split domain's nameserver.
+ */
+ domains = nm_dns_utils_get_ip4_rdns_domains (ip4);
+ if (domains) {
+ for (iter = domains; iter && *iter; iter++)
+ g_string_append_printf (str, "server=/%s/%s\n", *iter, buf);
+ g_strfreev (domains);
+ added = TRUE;
+ }
}
/* If no searches or domains, just add the namservers */
@@ -216,7 +230,7 @@ update (NMDnsPlugin *plugin,
}
/* Now add interface configs without split DNS */
- for (iter = (GSList *) dev_configs; iter;iter = g_slist_next (iter)) {
+ for (iter = (GSList *) dev_configs; iter; iter = g_slist_next (iter)) {
if (NM_IS_IP4_CONFIG (iter->data))
add_ip4_config (conf, NM_IP4_CONFIG (iter->data), FALSE);
else if (NM_IS_IP6_CONFIG (iter->data))
@@ -224,7 +238,7 @@ update (NMDnsPlugin *plugin,
}
/* And any other random configs */
- for (iter = (GSList *) other_configs; iter;iter = g_slist_next (iter)) {
+ for (iter = (GSList *) other_configs; iter; iter = g_slist_next (iter)) {
if (NM_IS_IP4_CONFIG (iter->data))
add_ip4_config (conf, NM_IP4_CONFIG (iter->data), FALSE);
else if (NM_IS_IP6_CONFIG (iter->data))
diff --git a/src/dns-manager/nm-dns-utils.c b/src/dns-manager/nm-dns-utils.c
new file mode 100644
index 0000000..615adfd
--- /dev/null
+++ b/src/dns-manager/nm-dns-utils.c
@@ -0,0 +1,99 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+/* 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, 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.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Copyright (C) 2010 Red Hat, Inc.
+ *
+ */
+
+#include <arpa/inet.h>
+#include <string.h>
+
+#include "nm-dns-utils.h"
+#include "nm-utils.h"
+
+static void
+add_ip4_to_rdns_array (guint32 ip, GPtrArray *domains) /* network byte order */
+{
+ guint32 defprefix;
+ guchar *p;
+ char *str = NULL;
+ int i;
+
+ defprefix = nm_utils_ip4_get_default_prefix (ip);
+
+ /* Convert to host byte order, mask the host bits, and convert back */
+ ip = ntohl (ip);
+ ip &= 0xFFFFFFFF << (32 - defprefix);
+ ip = htonl (ip);
+ p = (guchar *) &ip;
+
+ if (defprefix == 8)
+ str = g_strdup_printf ("%u.in-addr.arpa", p[0] & 0xFF);
+ else if (defprefix == 16)
+ str = g_strdup_printf ("%u.%u.in-addr.arpa", p[1] & 0xFF, p[0] & 0xFF);
+ else if (defprefix == 24)
+ str = g_strdup_printf ("%u.%u.%u.in-addr.arpa", p[2] & 0xFF, p[1] & 0xFF, p[0] & 0xFF);
+
+ g_return_if_fail (str != NULL);
+
+ /* Suppress duplicates */
+ for (i = 0; i < domains->len; i++) {
+ if (strcmp (str, g_ptr_array_index (domains, i)) == 0)
+ break;
+ }
+
+ if (i == domains->len)
+ g_ptr_array_add (domains, str);
+ else
+ g_free (str);
+}
+
+char **
+nm_dns_utils_get_ip4_rdns_domains (NMIP4Config *ip4)
+{
+ GPtrArray *domains = NULL;
+ int i;
+
+ g_return_val_if_fail (ip4 != NULL, NULL);
+
+ domains = g_ptr_array_sized_new (5);
+
+ /* To calculate the reverse DNS domains for this IP4 config, we take
+ * all the IP addresses and routes in the config, calculate the network
+ * portion, and convert that to classful, and use the network bits for
+ * the final domain. FIXME: better handle classless routing, which might
+ * require us to add multiple domains for each actual network prefix to
+ * cover all the separate networks in that block.
+ */
+
+ for (i = 0; i < nm_ip4_config_get_num_addresses (ip4); i++) {
+ NMIP4Address *addr = nm_ip4_config_get_address (ip4, i);
+
+ add_ip4_to_rdns_array (nm_ip4_address_get_address (addr), domains);
+ }
+
+ for (i = 0; i < nm_ip4_config_get_num_routes (ip4); i++) {
+ NMIP4Route *route = nm_ip4_config_get_route (ip4, i);
+
+ add_ip4_to_rdns_array (nm_ip4_route_get_dest (route), domains);
+ }
+
+ /* Terminating NULL so we can use g_strfreev() to free it */
+ g_ptr_array_add (domains, NULL);
+
+ /* Free the array and return NULL if the only element was the ending NULL */
+ return (char **) g_ptr_array_free (domains, (domains->len == 1));
+}
+
diff --git a/src/dns-manager/nm-dns-utils.h b/src/dns-manager/nm-dns-utils.h
new file mode 100644
index 0000000..daa6711
--- /dev/null
+++ b/src/dns-manager/nm-dns-utils.h
@@ -0,0 +1,28 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+/* 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, 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.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Copyright (C) 2010 Red Hat, Inc.
+ *
+ */
+
+#ifndef NM_DNS_UTILS_H
+#define NM_DNS_UTILS_H
+
+#include "nm-ip4-config.h"
+
+char **nm_dns_utils_get_ip4_rdns_domains (NMIP4Config *ip4);
+
+#endif /* NM_DNS_UTILS_H */
+
--
1.7.3.4

View file

@ -1,25 +0,0 @@
From 45ae52523158f4e7c0cc3fb5af56859c41512f66 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= <jklimes@redhat.com>
Date: Wed, 24 Nov 2010 12:51:08 +0100
Subject: [PATCH 4/4] dns: fix a crash due to uninitialized nis_domain (novell #655685)
Reported and tested by Raymond Wooninck. Thanks!
---
src/dns-manager/nm-dns-manager.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c
index 7a6fbbc..b0cdcc2 100644
--- a/src/dns-manager/nm-dns-manager.c
+++ b/src/dns-manager/nm-dns-manager.c
@@ -583,6 +583,7 @@ update_dns (NMDnsManager *self,
rc.nameservers = g_ptr_array_new ();
rc.domain = NULL;
rc.searches = g_ptr_array_new ();
+ rc.nis_domain = NULL;
rc.nis_servers = g_ptr_array_new ();
if (priv->ip4_vpn_config)
--
1.7.3.4

View file

@ -1,33 +0,0 @@
From 14617f6916124d29f65e380a3602746841203a57 Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Tue, 23 Nov 2010 16:28:25 -0600
Subject: [PATCH 2/4] examples: fix querying active connections
---
examples/python/nm-state.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/examples/python/nm-state.py b/examples/python/nm-state.py
index fddd2da..2bbdd2d 100644
--- a/examples/python/nm-state.py
+++ b/examples/python/nm-state.py
@@ -47,13 +47,13 @@ active = manager_prop_iface.Get("org.freedesktop.NetworkManager", "ActiveConnect
for a in active:
ac_proxy = bus.get_object("org.freedesktop.NetworkManager", a)
prop_iface = dbus.Interface(ac_proxy, "org.freedesktop.DBus.Properties")
- state = prop_iface.Get("org.freedesktop.NetworkManager.ActiveConnection", "State")
+ state = prop_iface.Get("org.freedesktop.NetworkManager.Connection.Active", "State")
# Connections in NM are a collection of settings that describe everything
# needed to connect to a specific network. Lets get those details so we
# can find the user-readable name of the connection.
- con_path = prop_iface.Get("org.freedesktop.NetworkManager.ActiveConnection", "Connection")
- con_service = prop_iface.Get("org.freedesktop.NetworkManager.ActiveConnection", "ServiceName")
+ con_path = prop_iface.Get("org.freedesktop.NetworkManager.Connection.Active", "Connection")
+ con_service = prop_iface.Get("org.freedesktop.NetworkManager.Connection.Active", "ServiceName")
# ask the provider of the connection for its details
service_proxy = bus.get_object(con_service, con_path)
--
1.7.3.4

View file

@ -1,46 +0,0 @@
diff -Nur NetworkManager-0.8.2.orig//initscript/Slackware/rc.networkmanager NetworkManager-0.8.2/initscript/Slackware/rc.networkmanager
--- NetworkManager-0.8.2.orig//initscript/Slackware/rc.networkmanager 2010-11-03 15:11:32.000000000 -0500
+++ NetworkManager-0.8.2/initscript/Slackware/rc.networkmanager 2010-12-23 00:39:39.858508485 -0600
@@ -27,11 +27,6 @@
return
fi
- if [ "`pgrep hald`" = "" ]; then
- echo "HAL must be running to start NetworkManager"
- return
- fi
-
# Just in case the pidfile is still there, we may need to nuke it.
if [ -e "$PIDFILE" ]; then
rm -f $PIDFILE
@@ -67,6 +62,7 @@
nm_restart()
{
nm_stop
+ sleep 2
nm_start
}
diff -Nur NetworkManager-0.8.2.orig//initscript/Slackware/rc.networkmanager.in NetworkManager-0.8.2/initscript/Slackware/rc.networkmanager.in
--- NetworkManager-0.8.2.orig//initscript/Slackware/rc.networkmanager.in 2009-12-23 12:30:29.000000000 -0600
+++ NetworkManager-0.8.2/initscript/Slackware/rc.networkmanager.in 2010-12-23 00:39:52.207382807 -0600
@@ -27,11 +27,6 @@
return
fi
- if [ "`pgrep hald`" = "" ]; then
- echo "HAL must be running to start NetworkManager"
- return
- fi
-
# Just in case the pidfile is still there, we may need to nuke it.
if [ -e "$PIDFILE" ]; then
rm -f $PIDFILE
@@ -67,6 +62,7 @@
nm_restart()
{
nm_stop
+ sleep 2
nm_start
}

View file

@ -1,50 +0,0 @@
From e01c7b69abb9c118b9e0087803ca203ff157aa0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= <jklimes@redhat.com>
Date: Tue, 23 Nov 2010 16:27:21 +0100
Subject: [PATCH 4/4] keyfile: allow uppercase MAC addresses in unmanaged-devices in config file (rh #654714)
---
system-settings/plugins/keyfile/plugin.c | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/system-settings/plugins/keyfile/plugin.c b/system-settings/plugins/keyfile/plugin.c
index 5a927ce..da6456d 100644
--- a/system-settings/plugins/keyfile/plugin.c
+++ b/system-settings/plugins/keyfile/plugin.c
@@ -23,6 +23,7 @@
#include <sys/stat.h>
#include <unistd.h>
#include <sys/types.h>
+#include <netinet/ether.h>
#include <string.h>
#include <gmodule.h>
@@ -418,8 +419,23 @@ get_unmanaged_specs (NMSystemConfigInterface *config)
udis = g_strsplit (str, ";", -1);
g_free (str);
- for (i = 0; udis[i] != NULL; i++)
- specs = g_slist_append (specs, udis[i]);
+ for (i = 0; udis[i] != NULL; i++) {
+ /* Verify unmanaged specification and add it to the list */
+ if (strlen (udis[i]) > 4 && !strncmp (udis[i], "mac:", 4) && ether_aton (udis[i] + 4)) {
+ char *p = udis[i];
+
+ /* To accept uppercase MACs in configuration file, we have to convert values to lowercase here.
+ * Unmanaged MACs in specs are always in lowercase. */
+ while (*p) {
+ *p = g_ascii_tolower (*p);
+ p++;
+ }
+ specs = g_slist_append (specs, udis[i]);
+ } else {
+ g_warning ("Error in file '%s': invalid unmanaged-devices entry: '%s'", priv->conf_file, udis[i]);
+ g_free (udis[i]);
+ }
+ }
g_free (udis); /* Yes, g_free, not g_strfreev because we need the strings in the list */
}
--
1.7.3.4

View file

@ -1,26 +0,0 @@
From 7deea59ad1d018888f18cee5ae3f70ee79ea6463 Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Mon, 8 Nov 2010 09:07:08 -0600
Subject: [PATCH 1/3] keyfile: create keyfile data directory during install
So distributions don't have to do it.
---
system-settings/plugins/keyfile/Makefile.am | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/system-settings/plugins/keyfile/Makefile.am b/system-settings/plugins/keyfile/Makefile.am
index 1c1fd4a..c519adc 100644
--- a/system-settings/plugins/keyfile/Makefile.am
+++ b/system-settings/plugins/keyfile/Makefile.am
@@ -49,6 +49,8 @@ libnm_settings_plugin_keyfile_la_LIBADD = \
$(DBUS_LIBS) \
$(GIO_LIBS)
+keyfiledir=$(sysconfdir)/NetworkManager/system-connections
+
install-data-hook:
$(mkinstalldirs) -m 0755 $(DESTDIR)$(keyfiledir)
--
1.7.3.4

View file

@ -1,208 +0,0 @@
From 0376f6b1ceda64e279e64bfb37ab67f0c36478b6 Mon Sep 17 00:00:00 2001
From: Jiří Klimeš <jklimes@redhat.com>
Date: Wed, 10 Nov 2010 15:21:25 +0000
Subject: keyfile: ignore temporary files (bgo #602868)
Ignore temporary files created by vim editor and temporary files created
internally by g_file_set_contents() (mkstemp()) when writing connections.
---
diff --git a/system-settings/plugins/keyfile/Makefile.am b/system-settings/plugins/keyfile/Makefile.am
index c519adc..128775e 100644
--- a/system-settings/plugins/keyfile/Makefile.am
+++ b/system-settings/plugins/keyfile/Makefile.am
@@ -16,6 +16,8 @@ libkeyfile_io_la_SOURCES = \
writer.c \
writer.h \
errors.c \
+ utils.c \
+ utils.h \
common.h
libkeyfile_io_la_CPPFLAGS = \
diff --git a/system-settings/plugins/keyfile/common.h b/system-settings/plugins/keyfile/common.h
index 7d94a70..6c8f9ce 100644
--- a/system-settings/plugins/keyfile/common.h
+++ b/system-settings/plugins/keyfile/common.h
@@ -23,6 +23,9 @@
#include <glib.h>
+#define SWP_TAG ".swp"
+#define SWPX_TAG ".swpx"
+
#define KEYFILE_PLUGIN_NAME "keyfile"
#define KEYFILE_PLUGIN_INFO "(c) 2007 - 2010 Red Hat, Inc. To report bugs please use the NetworkManager mailing list."
diff --git a/system-settings/plugins/keyfile/plugin.c b/system-settings/plugins/keyfile/plugin.c
index f57a4b6..5a927ce 100644
--- a/system-settings/plugins/keyfile/plugin.c
+++ b/system-settings/plugins/keyfile/plugin.c
@@ -39,6 +39,7 @@
#include "nm-keyfile-connection.h"
#include "writer.h"
#include "common.h"
+#include "utils.h"
#define CONF_FILE SYSCONFDIR "/NetworkManager/NetworkManager.conf"
#define OLD_CONF_FILE SYSCONFDIR "/NetworkManager/nm-system-settings.conf"
@@ -89,6 +90,9 @@ read_connections (NMSystemConfigInterface *config)
NMKeyfileConnection *connection;
char *full_path;
+ if (utils_should_ignore_file (item))
+ continue;
+
full_path = g_build_filename (KEYFILE_DIR, item, NULL);
PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, "parsing %s ... ", item);
connection = nm_keyfile_connection_new (full_path, &error);
@@ -192,6 +196,11 @@ dir_changed (GFileMonitor *monitor,
GError *error = NULL;
name = g_file_get_path (file);
+ if (utils_should_ignore_file (name)) {
+ g_free (name);
+ return;
+ }
+
connection = g_hash_table_lookup (priv->hash, name);
switch (event_type) {
diff --git a/system-settings/plugins/keyfile/utils.c b/system-settings/plugins/keyfile/utils.c
new file mode 100644
index 0000000..de64f79
--- a/dev/null
+++ b/system-settings/plugins/keyfile/utils.c
@@ -0,0 +1,97 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+/* NetworkManager system settings service
+ *
+ * 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.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * (C) Copyright 2010 Red Hat, Inc.
+ */
+
+#include <glib.h>
+#include <stdlib.h>
+#include <string.h>
+#include "utils.h"
+
+
+static const char temp_letters[] =
+"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+
+/*
+ * Check '.[a-zA-Z0-9]{6}' file suffix used for temporary files by g_file_set_contents() (mkstemp()).
+ */
+static gboolean
+check_mkstemp_suffix (const char *path)
+{
+ const char *ptr;
+
+ g_return_val_if_fail (path != NULL, FALSE);
+
+ /* Matches *.[a-zA-Z0-9]{6} suffix of mkstemp()'s temporary files */
+ ptr = strrchr (path, '.');
+ if (ptr && (strspn (ptr + 1, temp_letters) == 6) && (! ptr[7]))
+ return TRUE;
+ return FALSE;
+}
+
+static gboolean
+check_prefix (const char *base, const char *tag)
+{
+ int len, tag_len;
+
+ g_return_val_if_fail (base != NULL, TRUE);
+ g_return_val_if_fail (tag != NULL, TRUE);
+
+ len = strlen (base);
+ tag_len = strlen (tag);
+ if ((len > tag_len) && !strncasecmp (base, tag, tag_len))
+ return TRUE;
+ return FALSE;
+}
+
+static gboolean
+check_suffix (const char *base, const char *tag)
+{
+ int len, tag_len;
+
+ g_return_val_if_fail (base != NULL, TRUE);
+ g_return_val_if_fail (tag != NULL, TRUE);
+
+ len = strlen (base);
+ tag_len = strlen (tag);
+ if ((len > tag_len) && !strcasecmp (base + len - tag_len, tag))
+ return TRUE;
+ return FALSE;
+}
+
+gboolean
+utils_should_ignore_file (const char *filename)
+{
+ char *base;
+ gboolean ignore = FALSE;
+
+ g_return_val_if_fail (filename != NULL, TRUE);
+
+ base = g_path_get_basename (filename);
+ g_return_val_if_fail (base != NULL, TRUE);
+
+ /* Ignore files with certain patterns */
+ if ( (check_prefix (base, ".") && check_suffix (base, SWP_TAG)) /* vim temporary files: .filename.swp */
+ || (check_prefix (base, ".") && check_suffix (base, SWPX_TAG)) /* vim temporary files: .filename.swpx */
+ || check_mkstemp_suffix (base)) /* temporary files created by mkstemp() */
+ ignore = TRUE;
+
+ g_free (base);
+ return ignore;
+}
+
diff --git a/system-settings/plugins/keyfile/utils.h b/system-settings/plugins/keyfile/utils.h
new file mode 100644
index 0000000..3c1a610
--- a/dev/null
+++ b/system-settings/plugins/keyfile/utils.h
@@ -0,0 +1,30 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+/* NetworkManager system settings service
+ *
+ * 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.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * (C) Copyright 2010 Red Hat, Inc.
+ */
+
+#ifndef _UTILS_H_
+#define _UTILS_H_
+
+#include <glib.h>
+#include "common.h"
+
+gboolean utils_should_ignore_file (const char *filename);
+
+#endif /* _UTILS_H_ */
+

View file

@ -1,48 +0,0 @@
From 4a15282e97a53d3df9062ec8e7e59288ad61e6f2 Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Wed, 10 Nov 2010 16:14:51 +0100
Subject: [PATCH 3/3] keyfile: quiet keyfile plugin when re-read connection is the same as in-memory one
It occurs, for example, when NM updates connection's timestamp.
---
system-settings/plugins/keyfile/plugin.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/system-settings/plugins/keyfile/plugin.c b/system-settings/plugins/keyfile/plugin.c
index 27ae0a0..f57a4b6 100644
--- a/system-settings/plugins/keyfile/plugin.c
+++ b/system-settings/plugins/keyfile/plugin.c
@@ -203,15 +203,18 @@ dir_changed (GFileMonitor *monitor,
break;
case G_FILE_MONITOR_EVENT_CREATED:
case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
- PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, "updating %s", name);
-
if (connection) {
/* Update */
NMKeyfileConnection *tmp;
tmp = nm_keyfile_connection_new (name, &error);
if (tmp) {
- update_connection_settings (connection, tmp);
+ if (!nm_connection_compare (NM_CONNECTION (connection),
+ NM_CONNECTION (tmp),
+ NM_SETTING_COMPARE_FLAG_EXACT)) {
+ PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, "updating %s", name);
+ update_connection_settings (connection, tmp);
+ }
g_object_unref (tmp);
} else {
/* Error; remove the connection */
@@ -221,6 +224,8 @@ dir_changed (GFileMonitor *monitor,
remove_connection (SC_PLUGIN_KEYFILE (config), connection, name);
}
} else {
+ PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, "updating %s", name);
+
/* New */
connection = nm_keyfile_connection_new (name, &error);
if (connection) {
--
1.7.3.4

View file

@ -1,38 +0,0 @@
From d1a92a4d4da80b4cdc53164a42cbe29c03b1c8c1 Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Tue, 7 Dec 2010 14:12:55 -0600
Subject: [PATCH] libnm-glib: actually define the "ip-interface" property
Looks like it got left out of 6ab5a9597a26235c9839df346fc3ce95f35a240f
---
libnm-glib/nm-device.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/libnm-glib/nm-device.c b/libnm-glib/nm-device.c
index ea2a91d..b8998f7 100644
--- a/libnm-glib/nm-device.c
+++ b/libnm-glib/nm-device.c
@@ -477,6 +477,20 @@ nm_device_class_init (NMDeviceClass *device_class)
G_PARAM_READABLE));
/**
+ * NMDevice:ip-interface:
+ *
+ * The IP interface of the device which should be used for all IP-related
+ * operations like addressing and routing.
+ **/
+ g_object_class_install_property
+ (object_class, PROP_IP_INTERFACE,
+ g_param_spec_string (NM_DEVICE_IP_INTERFACE,
+ "IP Interface",
+ "IP Interface name",
+ NULL,
+ G_PARAM_READABLE));
+
+ /**
* NMDevice:udi:
*
* The Unique Device Identifier of the device.
--
1.7.3.4

View file

@ -1,25 +0,0 @@
From 71fcccbacd51e939f168d44301393301e9dcb5fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= <jklimes@redhat.com>
Date: Mon, 13 Dec 2010 20:55:02 +0100
Subject: [PATCH] libnm-util: fix a memory leaks in nm_setting_to_string()
---
libnm-util/nm-setting.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/libnm-util/nm-setting.c b/libnm-util/nm-setting.c
index 06994c7..190199c 100644
--- a/libnm-util/nm-setting.c
+++ b/libnm-util/nm-setting.c
@@ -620,6 +620,8 @@ nm_setting_to_string (NMSetting *setting)
is_serializable = prop_spec->flags & NM_SETTING_PARAM_SERIALIZE;
is_default = g_param_value_defaults (prop_spec, &value);
+ g_value_unset (&value);
+
if (is_serializable || is_default) {
g_string_append (string, " (");
--
1.7.3.4

View file

@ -1,31 +0,0 @@
From b83322655b6bbf616fb8021a6a69584ae1486f7e Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Sat, 1 Jan 2011 18:00:50 -0600
Subject: [PATCH 6/8] modem: handle IP Method changes after modem has been created
Some modems don't know their IP method when they are created, but
will update it later. Handle the changed signal for that.
---
src/modem-manager/nm-modem.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/modem-manager/nm-modem.c b/src/modem-manager/nm-modem.c
index e07b818..b3f7eaa 100644
--- a/src/modem-manager/nm-modem.c
+++ b/src/modem-manager/nm-modem.c
@@ -876,6 +876,12 @@ modem_properties_changed (DBusGProxy *proxy,
priv->mm_enabled = g_value_get_boolean (value);
g_object_notify (G_OBJECT (self), NM_MODEM_ENABLED);
}
+
+ value = g_hash_table_lookup (props, "IpMethod");
+ if (value && G_VALUE_HOLDS_UINT (value)) {
+ priv->ip_method = g_value_get_uint (value);
+ g_object_notify (G_OBJECT (self), NM_MODEM_IP_METHOD);
+ }
}
/*****************************************************************************/
--
1.7.3.4

View file

@ -1,42 +0,0 @@
From 2ce6f29c2151af3f34976feda6964a21431cdb5f Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Sun, 2 Jan 2011 10:24:23 -0600
Subject: [PATCH 7/8] policy: don't update hostname on exit
It's a leftover from when /etc/hosts got fixed up, and since that
isn't being done anymore, there's no reason to touch the hostname
on exit. It will already have been updated in response to device
deactivation (if the hostname was DHCP-provided for example) so
it shouldn't need to be touched on exit.
This also removes a potential crash on shutdown when systemd or
another startup manager kills D-Bus before NetworkManager, which
made the dispatcher code angry (which got executed on hostname
change).
---
src/nm-policy.c | 9 ---------
1 files changed, 0 insertions(+), 9 deletions(-)
diff --git a/src/nm-policy.c b/src/nm-policy.c
index 709be09..aed2f89 100644
--- a/src/nm-policy.c
+++ b/src/nm-policy.c
@@ -1195,15 +1195,6 @@ nm_policy_destroy (NMPolicy *policy)
}
g_slist_free (policy->dev_signal_ids);
- /* Rewrite /etc/hosts on exit to ensure we don't leave stale IP addresses
- * lying around. FIXME: this will take out a valid IP address of an
- * ethernet device we're leaving active (ie, a connection we can "assume"
- * when NM starts again).
- */
- policy->default_device4 = NULL;
- policy->default_device6 = NULL;
- update_system_hostname (policy, NULL, NULL);
-
g_free (policy->orig_hostname);
g_free (policy->cur_hostname);
--
1.7.3.4

View file

@ -1,25 +0,0 @@
From 2236c1f318bcbdd50820296136a25bade5fcef9e Mon Sep 17 00:00:00 2001
From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
Date: Fri, 19 Nov 2010 16:17:40 -0600
Subject: [PATCH 2/4] wired: fix uninitialized variable
---
src/nm-device-ethernet.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/nm-device-ethernet.c b/src/nm-device-ethernet.c
index 08bbc50..251a54c 100644
--- a/src/nm-device-ethernet.c
+++ b/src/nm-device-ethernet.c
@@ -308,7 +308,7 @@ _update_s390_subchannels (NMDeviceEthernet *self)
const char *iface;
GUdevClient *client;
GUdevDevice *dev;
- GUdevDevice *parent;
+ GUdevDevice *parent = NULL;
const char *parent_path, *item, *driver;
const char *subsystems[] = { "net", NULL };
GDir *dir;
--
1.7.3.4