networkmanager: add forgotten nm_dhclient_v3.patch
authorGrazvydas Ignotas <notasas@gmail.com>
Mon, 20 Jun 2011 09:44:09 +0000 (12:44 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Mon, 20 Jun 2011 09:44:09 +0000 (12:44 +0300)
whoops!

recipes/networkmanager/networkmanager-0.8.1/nm_dhclient_v3.patch [new file with mode: 0644]

diff --git a/recipes/networkmanager/networkmanager-0.8.1/nm_dhclient_v3.patch b/recipes/networkmanager/networkmanager-0.8.1/nm_dhclient_v3.patch
new file mode 100644 (file)
index 0000000..2aa031b
--- /dev/null
@@ -0,0 +1,72 @@
+From b929cfa664b8c95985b6b5d7422924ee3540e961 Mon Sep 17 00:00:00 2001
+From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
+Date: Thu, 12 Aug 2010 22:52:20 +0000
+Subject: dhcp: don't fail with dhclient v3
+
+---
+diff --git a/src/dhcp-manager/nm-dhcp-dhclient.c b/src/dhcp-manager/nm-dhcp-dhclient.c
+index cae7df2..13caa02 100644
+--- a/src/dhcp-manager/nm-dhcp-dhclient.c
++++ b/src/dhcp-manager/nm-dhcp-dhclient.c
+@@ -45,7 +45,12 @@ G_DEFINE_TYPE (NMDHCPDhclient, nm_dhcp_dhclient, NM_TYPE_DHCP_CLIENT)
+ #define NM_DHCP_DHCLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP_DHCLIENT, NMDHCPDhclientPrivate))
+ #if defined(TARGET_DEBIAN) || defined(TARGET_SUSE) || defined(TARGET_MANDRIVA)
++#define DHCLIENT_V3
++#if defined(DHCLIENT_V3)
++#define NM_DHCLIENT_LEASE_DIR                 LOCALSTATEDIR "/lib/dhcp3"
++#else
+ #define NM_DHCLIENT_LEASE_DIR           LOCALSTATEDIR "/lib/dhcp"
++#endif
+ #else
+ #define NM_DHCLIENT_LEASE_DIR           LOCALSTATEDIR "/lib/dhclient"
+ #endif
+@@ -437,7 +441,11 @@ create_dhclient_config (const char *iface,
+ #if defined(TARGET_SUSE)
+       orig = g_strdup (SYSCONFDIR "/dhclient.conf");
+ #elif defined(TARGET_DEBIAN) || defined(TARGET_GENTOO)
++#if defined(DHCLIENT_V3)
++      orig = g_strdup (SYSCONFDIR "/dhcp3/dhclient.conf");
++#else
+       orig = g_strdup (SYSCONFDIR "/dhcp/dhclient.conf");
++#endif
+ #else
+       orig = g_strdup_printf (SYSCONFDIR "/dhclient-%s.conf", iface);
+ #endif
+@@ -499,12 +507,20 @@ dhclient_start (NMDHCPClient *client,
+       guint log_domain;
+       g_return_val_if_fail (priv->pid_file == NULL, -1);
+-      g_return_val_if_fail (ip_opt != NULL, -1);
+       iface = nm_dhcp_client_get_iface (client);
+       uuid = nm_dhcp_client_get_uuid (client);
+       ipv6 = nm_dhcp_client_get_ipv6 (client);
++#if defined(DHCLIENT_V3)
++      if (ipv6) {
++              nm_log_warn (log_domain, "(%s): ISC dhcp3 does not support IPv6", iface);
++              return -1;
++      }
++#else
++      g_return_val_if_fail (ip_opt != NULL, -1);
++#endif
++
+       log_domain = ipv6 ? LOGD_DHCP6 : LOGD_DHCP4;
+       priv->pid_file = g_strdup_printf (LOCALSTATEDIR "/run/dhclient%s-%s.pid",
+@@ -536,10 +552,11 @@ dhclient_start (NMDHCPClient *client,
+       g_ptr_array_add (argv, (gpointer) "-d");
++#if !defined(DHCLIENT_V3)
+       g_ptr_array_add (argv, (gpointer) ip_opt);
+-
+       if (mode_opt)
+               g_ptr_array_add (argv, (gpointer) mode_opt);
++#endif
+       g_ptr_array_add (argv, (gpointer) "-sf");       /* Set script file */
+       g_ptr_array_add (argv, (gpointer) ACTION_SCRIPT_PATH );
+--
+cgit v0.8.3-6-g21f6