: ${timesyncd_conf_d:=/run/systemd/timesyncd.conf.d}
timesyncd_conf="${timesyncd_conf_d}/dhcpcd-$ifname.conf"
timesyncd_tmp_d="$state_dir/timesyncd"
timesyncd_tmp="$timesyncd_tmp_d/$ifname"
NL="
"
remove_timesyncd_conf()
{
if [ -e "$timesyncd_conf" ]; then
rm "$timesyncd_conf"
systemctl try-reload-or-restart --no-block systemd-timesyncd
fi
}
add_timesyncd_conf()
{
if [ -z "$new_ntp_servers" ]; then
remove_timesyncd_conf
return $?
fi
mkdir -p "$timesyncd_tmp_d" "$timesyncd_conf_d"
conf="$signature$NL"
conf="${conf}[Time]$NL"
conf="${conf}NTP="
# Trim spaces
space=false
for ntp_server in $(uniqify $new_ntp_servers); do
if ! $space; then
space=true
else
conf="$conf "
fi
conf="$conf$ntp_server"
done
conf="$conf$NL"
printf %s "$conf" > "$timesyncd_tmp"
if change_file "$timesyncd_conf" "$timesyncd_tmp"; then
systemctl try-reload-or-restart --no-block systemd-timesyncd
fi
}
# For ease of use, map DHCP6 names onto our DHCP4 names
case "$reason" in
BOUND6|RENEW6|REBIND6|REBOOT6|INFORM6)
new_ntp_servers="$new_dhcp6_sntp_servers $new_dhcp6_ntp_server_addr $new_dhcp6_ntp_server_fqdn"
;;
esac
if $if_configured; then
if $if_up; then
add_timesyncd_conf
elif $if_down; then
remove_timesyncd_conf
fi
fi
|