From 2014fed4e2bbd07045a38b4483f087c0328ab7b9 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 5 Jan 2005 20:40:38 +0000 Subject: [PATCH] 2004-01-05 Colin Walters * named/named.conf: Add PID_FILE. * named/nm-named-manager.c: Always generate a pid file, since older BIND versions don't support "pid-file none". git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@359 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 8 ++++++++ named/named.conf | 2 +- named/nm-named-manager.c | 16 ++++++++++++++++ src/NetworkManager.conf | 19 ++++++++++++++----- 4 files changed, 39 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index dc7f3c6ab8..e0ba93d839 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2004-01-05 Colin Walters + + * named/named.conf: Add PID_FILE. + + * named/nm-named-manager.c: Always generate a pid + file, since older BIND versions don't support + "pid-file none". + 2005-01-01 Satoru SATOH * configure.in (ALL_LINGUAS): Added ja (Japanese). diff --git a/named/named.conf b/named/named.conf index af143b591b..d61b4cfacc 100644 --- a/named/named.conf +++ b/named/named.conf @@ -6,7 +6,7 @@ options { forward only; forwarders { @@FORWARDERS@@ }; listen-on { 127.0.0.1; }; - pid-file none; + pid-file "@@PID_FILE@@"; }; // Disable rndc diff --git a/named/nm-named-manager.c b/named/nm-named-manager.c index e48d4cb0ef..8b3d0d28e8 100644 --- a/named/nm-named-manager.c +++ b/named/nm-named-manager.c @@ -63,6 +63,7 @@ struct NMNamedManagerPrivate GHashTable *domain_ipv4_nameservers; /* char * -> GHashTable(guint -> char *) */ char *named_conf; + char *named_pid_file; gboolean disposed; }; @@ -102,6 +103,8 @@ nm_named_manager_dispose (GObject *object) if (mgr->priv->named_conf) unlink (mgr->priv->named_conf); + if (mgr->priv->named_pid_file) + unlink (mgr->priv->named_pid_file); if (mgr->priv->named_realpath_binary) safer_kill (mgr->priv->named_realpath_binary, mgr->priv->named_pid, SIGTERM); if (mgr->priv->child_watch_id) @@ -120,6 +123,7 @@ nm_named_manager_finalize (GObject *object) g_hash_table_destroy (mgr->priv->global_ipv4_nameservers); g_hash_table_destroy (mgr->priv->domain_ipv4_nameservers); + g_free (mgr->priv->named_pid_file); g_free (mgr->priv->named_conf); g_free (mgr->priv); @@ -234,6 +238,16 @@ generate_named_conf (NMNamedManager *mgr, GError **error) close (out_fd); } + if (!mgr->priv->named_pid_file) + { + out_fd = g_file_open_tmp ("NetworkManager-named-pid-XXXXXX", + &mgr->priv->named_pid_file, + error); + if (out_fd < 0) + return FALSE; + close (out_fd); + } + if (!g_file_get_contents (config_name, &config_contents_str, NULL, @@ -272,6 +286,8 @@ generate_named_conf (NMNamedManager *mgr, GError **error) variable_end_pos - (variable_pos + 2)); if (strcmp ("LOCALSTATEDIR", variable) == 0) replacement = g_strdup (NM_LOCALSTATEDIR); + else if (strcmp ("PID_FILE", variable) == 0) + replacement = g_strdup (mgr->priv->named_pid_file); else if (strcmp ("FORWARDERS", variable) == 0) replacement = compute_global_forwarders (mgr); else if (strcmp ("DOMAIN_ZONES", variable) == 0) diff --git a/src/NetworkManager.conf b/src/NetworkManager.conf index 1d88e00c43..680a4ad2eb 100644 --- a/src/NetworkManager.conf +++ b/src/NetworkManager.conf @@ -2,11 +2,20 @@ "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> - - + + - - - + + + + + + + + + + + +