about summary refs log tree commit diff
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/03-run-resolvconf.patch138
-rw-r--r--debian/patches/series1
2 files changed, 0 insertions, 139 deletions
diff --git a/debian/patches/03-run-resolvconf.patch b/debian/patches/03-run-resolvconf.patch
deleted file mode 100644
index d043d191..00000000
--- a/debian/patches/03-run-resolvconf.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-Index: src/named-manager/nm-named-manager.c
-===================================================================
---- NetworkManager/src/named-manager/nm-named-manager.c	(revision 4035)
-+++ NetworkManager/src/named-manager/nm-named-manager.c	(working copy)
-@@ -189,6 +178,133 @@
- 	return TRUE;
- }
- 
-+#elif defined(TARGET_DEBIAN)
-+
-+static void
-+resolvconf_child_setup (gpointer user_data G_GNUC_UNUSED)
-+{
-+	pid_t pid = getpid ();
-+	setpgid (pid, pid);
-+}
-+
-+static gint
-+run_resolvconf (GError **error)
-+{
-+	char *argv[4];
-+	gint stdin_fd;
-+
-+	argv[0] = "/sbin/resolvconf";
-+	argv[1] = "-a";
-+	argv[2] = "NetworkManager";
-+	argv[3] = NULL;
-+
-+	if (!g_spawn_async_with_pipes (NULL, argv, NULL, 0, resolvconf_child_setup,
-+	                               NULL, NULL, &stdin_fd, NULL, NULL, error))
-+		return -1;
-+
-+	return stdin_fd;
-+}
-+
-+static gboolean
-+update_resolv_conf (const char *iface,
-+				const char *domain,
-+				char **searches,
-+				char **nameservers,
-+				GError **error)
-+{
-+	gint fd;
-+	char *domain_str = NULL;
-+	char *searches_str = NULL;
-+	char *nameservers_str = NULL;
-+	FILE *f;
-+
-+	fd = run_resolvconf (error);
-+	if (fd < 0)
-+		return FALSE;
-+
-+	if ((f = fdopen (fd, "w")) == NULL) {
-+		g_set_error (error,
-+				   NM_NAMED_MANAGER_ERROR,
-+				   NM_NAMED_MANAGER_ERROR_SYSTEM,
-+				   "Could not fdopen pipe to resolvconf: %s\n",
-+				   g_strerror (errno));
-+		return FALSE;
-+	}
-+
-+	if (fprintf (f, "%s","# generated by NetworkManager, do not edit!\n\n") < 0) {
-+		g_set_error (error,
-+				   NM_NAMED_MANAGER_ERROR,
-+				   NM_NAMED_MANAGER_ERROR_SYSTEM,
-+				   "Could not write to resolvconf: %s\n",
-+				   g_strerror (errno));
-+		fclose (f);
-+		return FALSE;
-+	}
-+
-+	if (domain)
-+		domain_str = g_strconcat ("domain ", domain, "\n\n", NULL);
-+
-+	if (searches) {
-+		char *tmp_str;
-+
-+		tmp_str = g_strjoinv (" ", searches);
-+		searches_str = g_strconcat ("search ", tmp_str, "\n\n", NULL);
-+		g_free (tmp_str);
-+	}
-+
-+	if (nameservers) {
-+		GString *str;
-+		int num;
-+		int i;
-+
-+		str = g_string_new ("");
-+		num = g_strv_length (nameservers);
-+
-+		for (i = 0; i < num; i++) {
-+			if (i == 3) {
-+				g_string_append (str, "\n# ");
-+				g_string_append (str, _("NOTE: the glibc resolver does not support more than 3 nameservers."));
-+				g_string_append (str, "\n# ");
-+				g_string_append (str, _("The nameservers listed below may not be recognized."));
-+				g_string_append_c (str, '\n');
-+			}
-+
-+			g_string_append (str, "nameserver ");
-+			g_string_append (str, nameservers[i]);
-+			g_string_append_c (str, '\n');
-+		}
-+
-+		nameservers_str = g_string_free (str, FALSE);
-+	}
-+
-+	if (fprintf (f, "%s%s%s\n",
-+	             domain_str ? domain_str : "",
-+	             searches_str ? searches_str : "",
-+	             nameservers_str ? nameservers_str : "") < 0) {
-+		g_set_error (error,
-+				   NM_NAMED_MANAGER_ERROR,
-+				   NM_NAMED_MANAGER_ERROR_SYSTEM,
-+				   "Could not write to resolvconf: %s\n",
-+				   g_strerror (errno));
-+	}
-+
-+	g_free (domain_str);
-+	g_free (searches_str);
-+	g_free (nameservers_str);
-+
-+	if (fclose (f) < 0) {
-+		if (*error == NULL) {
-+			g_set_error (error,
-+					   NM_NAMED_MANAGER_ERROR,
-+					   NM_NAMED_MANAGER_ERROR_SYSTEM,
-+					   "Could not close pipe to resolvconf: %s\n",
-+					   g_strerror (errno));
-+		}
-+	}
-+
-+	return *error ? FALSE : TRUE;
-+}
-+
- #else
- /**********************************/
- /* Generic */
diff --git a/debian/patches/series b/debian/patches/series
index bcd2e41b..5bb8c3f1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
 02-dbus_access_network_manager.patch
-03-run-resolvconf.patch