Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/etc/rc.d if $ntpd_chrootdir != "", ensure that the following...
details: https://anonhg.NetBSD.org/src/rev/568016634ccf
branches: trunk
changeset: 520831:568016634ccf
user: lukem <lukem%NetBSD.org@localhost>
date: Fri Jan 18 10:51:30 2002 +0000
description:
if $ntpd_chrootdir != "", ensure that the following files, devices,
and links exist:
${ntpd_chrootdir}/dev/clockctl
/var/db/ntp.drift -> ${ntpd_chrootdir}/var/db/ntp.drift
and then start ntpd with the appropriate options to run chroot(2)ed
under $ntpd_chrootdir as user ntpd group ntpd.
to take advantage of this, set ntpd_chrootdir in /etc/rc.conf.
[this is based on similar work i did for rc.d/named]
diffstat:
etc/rc.d/ntpd | 29 ++++++++++++++++++++++++++++-
1 files changed, 28 insertions(+), 1 deletions(-)
diffs (46 lines):
diff -r 9f85a3fa8ae2 -r 568016634ccf etc/rc.d/ntpd
--- a/etc/rc.d/ntpd Fri Jan 18 10:48:41 2002 +0000
+++ b/etc/rc.d/ntpd Fri Jan 18 10:51:30 2002 +0000
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# $NetBSD: ntpd,v 1.3 2000/09/19 13:04:39 lukem Exp $
+# $NetBSD: ntpd,v 1.4 2002/01/18 10:51:30 lukem Exp $
#
# PROVIDE: ntpd
@@ -12,7 +12,34 @@
rcvar=$name
command="/usr/sbin/${name}"
pidfile="/var/run/${name}.pid"
+start_precmd="ntpd_precmd"
required_files="/etc/ntp.conf"
+ntpd_precmd()
+{
+ if [ -z "$ntpd_chrootdir" ]; then
+ return 0;
+ fi
+
+ # If running in a chroot cage, ensure that the appropriate files
+ # exist inside the cage, as well as helper symlinks into the cage
+ # from outside.
+ #
+ # As this is called after the is_running and required_dir checks
+ # are made in run_rc_command(), we can safely assume ${ntpd_chrootdir}
+ # exists and ntpd isn't running at this point (unless forcestart
+ # is used).
+ #
+ if [ ! -c "${ntpd_chrootdir}/dev/clockctl" ]; then
+ rm -f "${ntpd_chrootdir}/dev/clockctl"
+ ( cd /dev ; /bin/pax -rw -pe clockctl "${ntpd_chrootdir}/dev" )
+ fi
+ ln -fs "${ntpd_chrootdir}/var/db/ntp.drift" /var/db/ntp.drift
+
+ # Change run_rc_commands()'s internal copy of $ntpd_flags
+ #
+ _flags="-u ntpd:ntpd -i ${ntpd_chrootdir} $_flags"
+}
+
load_rc_config $name
run_rc_command "$1"
Home |
Main Index |
Thread Index |
Old Index