summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Gilligan <gilligan@vyatta.com>2009-06-17 15:54:59 -0700
committerBob Gilligan <gilligan@vyatta.com>2009-06-17 15:54:59 -0700
commit08d0d9ed2d8824a446bfe6a1ba660db854f1a8f5 (patch)
tree44ae06b1c3821a84e6aa0c4b26672240d07b47ff
parentebb0524cc5eb8732d12c1dfcac612fd567c15144 (diff)
downloadvyatta-cfg-system-08d0d9ed2d8824a446bfe6a1ba660db854f1a8f5.tar.gz
vyatta-cfg-system-08d0d9ed2d8824a446bfe6a1ba660db854f1a8f5.zip
Bugfix 4592: Generate NTP config file from Vyatta configuration parameters.
This fix changes the way that the /etc/ntp.conf file is generated. Now it is generated at boot time using a fixed section that contains only parameters that users don't change, plus a section that is generated from any "system ntp-servers" parameters that are configured. The fixed section does not contain any "server" definitions, so all server definitions come from the Vyatta config. The Vyatta configuration template for this parameter and code at other places in the system will now start the NTP server ONLY if there is at least one NTP server configured. So the user can "turn off" the NTP server by just deleting all NTP servers from the configuration. The default "config.boot" file does contiain one built-in "system ntp-servers" parameter, so a newly installed system will start the NTP server.
-rw-r--r--debian/vyatta-cfg-system.postinst.in3
-rwxr-xr-xscripts/rl-system.init10
-rwxr-xr-xscripts/system/vyatta_update_resolv.pl2
-rw-r--r--sysconf/ntp.conf14
4 files changed, 23 insertions, 6 deletions
diff --git a/debian/vyatta-cfg-system.postinst.in b/debian/vyatta-cfg-system.postinst.in
index 38d276ec..38757106 100644
--- a/debian/vyatta-cfg-system.postinst.in
+++ b/debian/vyatta-cfg-system.postinst.in
@@ -107,9 +107,6 @@ EOF
fi
done
- # replace debian /etc/ntp.conf with Vyatta version
- cp $sysconfdir/ntp.conf /etc/ntp.conf
-
# purge off ancient devfs stuff from /etc/securetty
cp $sysconfdir/securetty /etc/securetty
fi
diff --git a/scripts/rl-system.init b/scripts/rl-system.init
index 4c8c937f..e05e0564 100755
--- a/scripts/rl-system.init
+++ b/scripts/rl-system.init
@@ -154,12 +154,22 @@ set_ipv6_params ()
done
}
+setup_ntp_config_file () {
+ template_ntp_conf=/opt/vyatta/etc/ntp.conf
+ if [ -e $template_ntp_conf ]; then
+ cp -f $template_ntp_conf /etc/ntp.conf
+ else
+ log_failure_msg "NTP template config file doesn\'t exist"
+ fi
+}
+
start () {
udev_rescan
create_ssh_host_keys || \
log_failure_msg "can't initialize ssh host keys"
clear_or_override_config_files || \
log_failure_msg "can\'t reset config files"
+ setup_ntp_config_file
add_new_serial_if || \
log_failure_msg "can\'t add serial interfaces"
sysctl -q -p /opt/vyatta/etc/vyatta-sysctl.conf ||
diff --git a/scripts/system/vyatta_update_resolv.pl b/scripts/system/vyatta_update_resolv.pl
index d8e30961..7f2b84b2 100755
--- a/scripts/system/vyatta_update_resolv.pl
+++ b/scripts/system/vyatta_update_resolv.pl
@@ -178,7 +178,7 @@ if ($dhclient_script == 1) {
}
if ($restart_ntp == 1) {
# this corresponds to what is done in name-server/node.def as a fix for bug 1300
- my $cmd_ntp_restart = "if [ -f /etc/ntp.conf ] && grep -q 'server' /etc/ntp.conf; then /usr/sbin/invoke-rc.d ntp restart >&/dev/null; fi &";
+ my $cmd_ntp_restart = "if [ -f /etc/ntp.conf ] && grep -q '^server' /etc/ntp.conf; then /usr/sbin/invoke-rc.d ntp restart >&/dev/null; fi &";
system($cmd_ntp_restart);
}
}
diff --git a/sysconf/ntp.conf b/sysconf/ntp.conf
index 2bd9a711..248cdc2d 100644
--- a/sysconf/ntp.conf
+++ b/sysconf/ntp.conf
@@ -1,5 +1,12 @@
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
+# This configuration file is automatically generated by the Vyatta
+# configuration subsystem. Please do not manually edit it.
+#
+# The first section of this file consists of static parameters
+# that can not be changed via the Vyatta configuration subsystem.
+#
+
driftfile /var/lib/ntp/ntp.drift
# By default, exchange time with everybody, but don't allow configuration.
@@ -10,5 +17,8 @@ restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
-# You do need to talk to an NTP server or two (or three).
-server 0.vyatta.pool.ntp.org iburst
+#
+# The remainder of this file is for parameters that are set up via
+# the Vyatta configuration subsystem.
+#
+