Date: Tue, 28 Nov 2017 14:44:49 +0100 From: Andre Albsmeier <andre@fbsd.e4m.org> To: Cy Schubert <cy@FreeBSD.org> Cc: svn-src-stable-11@freebsd.org, andre@fbsd.e4m.org Subject: Re: svn commit: r325256 - in stable/11/etc: periodic/daily rc.d Message-ID: <20171128134449.GA2549@voyager> In-Reply-To: <201711010103.vA113iPh014257@repo.freebsd.org> References: <201711010103.vA113iPh014257@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20171128134449.GA2549>