if [ ! -d /run/systemd/system ]; then
	return
fi
if [ ! -x /lib/systemd/systemd-timesyncd ]; then
	return
fi

: ${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
