svn commit: r325256 - in stable/11/etc: periodic/daily rc.d
Andre Albsmeier
andre at fbsd.e4m.org
Tue Nov 28 13:49:41 UTC 2017
On Wed, 01-Nov-2017 at 01:03:44 +0000, Cy Schubert wrote:
> Author: cy
> Date: Wed Nov 1 01:03:44 2017
> New Revision: 325256
> URL: https://svnweb.freebsd.org/changeset/base/325256
>
> Log:
> MFC r324681, r324738
>
> Anticongestion refinements for ntpd rc script. This checks if ntp
> leapfile needs fetching before entering into the anticongestion sleep.
I wonder if this will ever actually fetch leapfiles ;-)
When ntpd_fetch_leapfile() is called, $ntp_tmp_leapfile will be
empty as it was declared local in ntpd_needfetch_leapfile() resulting in:
usage: fetch [-146AadFlMmnPpqRrsUv] [-B bytes] [--bind-address=host]
[--ca-cert=file] [--ca-path=dir] [--cert=file] [--crl=file]
[-i file] [--key=file] [-N file] [--no-passive] [--no-proxy=list]
...
since the argument to fetch's -o is missing... Either we duplicate
ntp_tmp_leapfile="/var/run/ntpd.leap-seconds.list"
in ntpd_fetch_leapfile() or remove it from the local list in
ntpd_needfetch_leapfile() (which is hacky as this will require
ntpd_needfetch_leapfile() being called before each ntpd_fetch_leapfile())
or we simply put
ntp_tmp_leapfile="/var/run/ntpd.leap-seconds.list"
on top of the script and remove other assignments and local defs...
-Andre
>
> Unfortunately some ports still use their own sleeps so, this commit
> doesn't address the complete problem which is compounded by every
> port that uses its own anticongestion mechanism.
>
> Discussed with: asomers, feld
>
> Modified:
> stable/11/etc/periodic/daily/480.leapfile-ntpd
> stable/11/etc/rc.d/ntpd
> Directory Properties:
> stable/11/ (props changed)
>
> Modified: stable/11/etc/periodic/daily/480.leapfile-ntpd
> ==============================================================================
> --- stable/11/etc/periodic/daily/480.leapfile-ntpd Wed Nov 1 00:46:48 2017 (r325255)
> +++ stable/11/etc/periodic/daily/480.leapfile-ntpd Wed Nov 1 01:03:44 2017 (r325256)
> @@ -13,8 +13,10 @@ fi
>
> case "$daily_ntpd_leapfile_enable" in
> [Yy][Ee][Ss])
> - anticongestion
> - service ntpd onefetch
> + if service ntpd oneneedfetch; then
> + anticongestion
> + service ntpd onefetch
> + fi
> ;;
> esac
>
>
> Modified: stable/11/etc/rc.d/ntpd
> ==============================================================================
> --- stable/11/etc/rc.d/ntpd Wed Nov 1 00:46:48 2017 (r325255)
> +++ stable/11/etc/rc.d/ntpd Wed Nov 1 01:03:44 2017 (r325256)
> @@ -15,8 +15,9 @@ desc="Network Time Protocol daemon"
> rcvar="ntpd_enable"
> command="/usr/sbin/${name}"
> pidfile="/var/run/${name}.pid"
> -extra_commands="fetch"
> +extra_commands="fetch needfetch"
> fetch_cmd="ntpd_fetch_leapfile"
> +needfetch_cmd="ntpd_needfetch_leapfile"
> start_precmd="ntpd_precmd"
>
> load_rc_config $name
> @@ -90,7 +91,7 @@ ntpd_init_leapfile() {
> fi
> }
>
> -ntpd_fetch_leapfile() {
> +ntpd_needfetch_leapfile() {
> local ntp_tmp_leapfile rc verbose
>
> if checkyesno ntp_leapfile_fetch_verbose; then
> @@ -122,6 +123,21 @@ ntpd_fetch_leapfile() {
> ntp_leap_fetch_date=$((ntp_leap_expiry-ntp_leapfile_expiry_seconds))
> if [ $(current_ntp_ts) -ge $ntp_leap_fetch_date ]; then
> $verbose Within ntp leapfile expiry limit, initiating fetch
> + # Return code 0: ntp leapfile fetch needed
> + return 0
> + fi
> + # Return code 1: ntp leapfile fetch not needed
> + return 1
> +}
> +
> +ntpd_fetch_leapfile() {
> + if checkyesno ntp_leapfile_fetch_verbose; then
> + verbose=echo
> + else
> + verbose=:
> + fi
> +
> + if ntpd_needfetch_leapfile ; then
> for url in $ntp_leapfile_sources ; do
> $verbose fetching $url
> fetch $ntp_leapfile_fetch_opts -o $ntp_tmp_leapfile $url && break
> _______________________________________________
> svn-src-stable-11 at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-stable-11
> To unsubscribe, send any mail to "svn-src-stable-11-unsubscribe at freebsd.org"
More information about the svn-src-stable-11
mailing list