# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
-# Specify the key used as password for chronyc.
-commandkey 1
-
# Send a message to syslog when chronyd has to correct
# an error larger than 0.5 seconds.
logchange 0.5
Summary: An NTP client/server
Name: chrony
Version: 3.5
-Release: 3
+Release: 4
License: GPL v2
Group: Daemons
Source0: http://download.tuxfamily.org/chrony/%{name}-%{version}.tar.gz
CFLAGS="%{rpmcflags} -Wmissing-prototypes -Wall" \
CPPFLAGS="%{rpmcppflags}" \
./configure \
+ --enable-debug \
--enable-ntp-signd \
--enable-scfilter \
--prefix=%{_prefix} \
keyfile=/etc/ntp/keys
chronyc=/usr/bin/chronyc
-get_key() {
- awk '/^[ \t]*'$1'[ \t]*/ { print $2; exit }' < $keyfile
-}
-
-get_commandkeyid() {
- awk '/^[ \t]*commandkey[ \t]*/ { keyid=$2 } END { print keyid }' < $config
-}
-
chrony_command() {
- commandkeyid=$(get_commandkeyid)
- [ -z "$commandkeyid" ] && return 1
- commandkey=$(get_key $commandkeyid)
- [ -z "$commandkey" ] && return 2
-
! (
$chronyc <<EOF &
-password $commandkey
$1
EOF
chronycpid=$!
) | grep -v '200 OK'
}
-generate_commandkey() {
- commandkeyid=$(get_commandkeyid)
- [ -z "$commandkeyid" ] && return 1
- commandkey=$(get_key $commandkeyid)
- [ -z "$commandkey" ] || return 0
-
- show "Generating Chrony command key"; busy
- commandkey=$(tr -c -d '[\041-\176]' < /dev/urandom | head -c 8)
- [ -n "$commandkey" ] && echo "$commandkeyid $commandkey" >> $keyfile && ok || fail
-}
-
start() {
# Check if the service is already running?
if [ -f /var/lock/subsys/chronyd ]; then
return
fi
- generate_commandkey
-
msg_starting "Chronyd NTPD"
daemon /usr/sbin/chronyd -u $NTPD_USER $OPTIONS
RETVAL=$?