summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/networkmanager/files/networkmanager-0.8.1-dhcp-configure.patch')
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.1-dhcp-configure.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.1-dhcp-configure.patch b/net-misc/networkmanager/files/networkmanager-0.8.1-dhcp-configure.patch
new file mode 100644
index 0000000..be5e58a
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-0.8.1-dhcp-configure.patch
@@ -0,0 +1,64 @@
+From c050e036c3d748970945195ed0fe6c914c439481 Mon Sep 17 00:00:00 2001
+From: Dan Williams <dcbw@redhat.com>
+Date: Thu, 05 Aug 2010 20:25:42 +0000
+Subject: dhcp: make sure disabled DHCP clients aren't used (gentoo #330319)
+
+If the client was disabled with --with-dhclient=no or
+--with-dhcpcd=no, then it's corresponding _PATH will be an empty
+string. In that case we want to ignore that client completely
+since it was disabled at build time.
+---
+diff --git a/src/dhcp-manager/nm-dhcp-manager.c b/src/dhcp-manager/nm-dhcp-manager.c
+index bde874f..a1e3e5e 100644
+--- a/src/dhcp-manager/nm-dhcp-manager.c
++++ b/src/dhcp-manager/nm-dhcp-manager.c
+@@ -265,8 +265,13 @@ get_client_type (const char *client, GError **error)
+ const char *dhclient_path = NULL;
+ const char *dhcpcd_path = NULL;
+
+- dhclient_path = nm_dhcp_dhclient_get_path (DHCLIENT_PATH);
+- dhcpcd_path = nm_dhcp_dhcpcd_get_path (DHCPCD_PATH);
++ /* If a client was disabled at build-time, its *_PATH define will be
++ * an empty string.
++ */
++ if (DHCLIENT_PATH && strlen (DHCLIENT_PATH))
++ dhclient_path = nm_dhcp_dhclient_get_path (DHCLIENT_PATH);
++ if (DHCPCD_PATH && strlen (DHCPCD_PATH))
++ dhcpcd_path = nm_dhcp_dhcpcd_get_path (DHCPCD_PATH);
+
+ if (!client) {
+ if (dhclient_path)
+--
+From 91e90d9d5412223e0252ccff0e3732afae201af6 Mon Sep 17 00:00:00 2001
+From: Mike Auty <ikelos@gentoo.org>
+Date: Thu, 05 Aug 2010 20:25:12 +0000
+Subject: build: fix dhcpcd client detection
+
+---
+diff --git a/configure.ac b/configure.ac
+index 9c260fb..b1d16f2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -344,10 +344,10 @@ case "${with_dhcpcd}" in
+ AC_MSG_CHECKING(for dhcpcd)
+ # We fully work with upstream dhcpcd-4
+ for path in /sbin /usr/sbin /usr/pkg/sbin /usr/local/sbin; do
+- test -x "${path}/dhclient" || continue
++ test -x "${path}/dhcpcd" || continue
+ case `"$path/dhcpcd" --version 2>/dev/null` in
+ "dhcpcd "[123]*);;
+- "dhcpcd "*) DHCP_CLIENT_PATH="$path/dhcpcd"; break;;
++ "dhcpcd "*) DHCPCD_PATH="$path/dhcpcd"; break;;
+ esac
+ done
+ if test -n "${DHCPCD_PATH}"; then
+@@ -364,7 +364,7 @@ if test -z "$DHCPCD_PATH" -a -z "$DHCLIENT_PATH"; then
+ # in most distros, so use it.
+ AC_MSG_WARN([Could not find a suitable DHCP client])
+ DHCLIENT_PATH=/sbin/dhclient
+- AC_MSG_WARN([Falling back to ISC dhclient, ${DHCP_CLIENT_PATH}])
++ AC_MSG_WARN([Falling back to ISC dhclient, ${DHCLIENT_PATH}])
+ fi
+ AC_SUBST(DHCLIENT_PATH)
+ AC_SUBST(DHCPCD_PATH)
+--