Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Nov 2019 12:25:55 -0800
From:      Cy Schubert <Cy.Schubert@cschubert.com>
To:        Ian Lepore <ian@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r355100 - head/libexec/rc/rc.d
Message-ID:  <201911252025.xAPKPtBh004212@slippy.cwsent.com>
In-Reply-To: <201911251959.xAPJxsJa088257@repo.freebsd.org>
References:  <201911251959.xAPJxsJa088257@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message <201911251959.xAPJxsJa088257@repo.freebsd.org>, Ian Lepore 
writes:
> Author: ian
> Date: Mon Nov 25 19:59:53 2019
> New Revision: 355100
> URL: https://svnweb.freebsd.org/changeset/base/355100
>
> Log:
>   Allow opt-out of automatic ntpd leapfile checking/fetching.
>   
>   When a system has no internet connection, or when it is configured to obtai
> n
>   ntpd leapfiles from some source other than the internet, or even when the
>   sysadmin has decided for some reason to customize ntp.conf to eliminate use
>   of the leapfile, the rc.d/ntpd script emits various error messages related
>   to the file.
>   
>   This change allows setting the rc var ntp_db_leapfile to NONE to disable al
> l
>   automatic processing related to that file in rc.d/ntpd.
>   

    Reviewed by:		cy

>   Differential Revision:	https://reviews.freebsd.org/D22461
>
> Modified:
>   head/libexec/rc/rc.d/ntpd
>
> Modified: head/libexec/rc/rc.d/ntpd
> =============================================================================
> =
> --- head/libexec/rc/rc.d/ntpd	Mon Nov 25 19:38:05 2019	(r355099)
> +++ head/libexec/rc/rc.d/ntpd	Mon Nov 25 19:59:53 2019	(r355100)
> @@ -28,6 +28,16 @@ pidfile="${_ntp_default_dir}/${name}.pid"
>  
>  load_rc_config $name
>  
> +leapfile_is_disabled() {
> +	# Return true (0) if automatic leapfile handling is disabled.
> +	case "$ntp_db_leapfile" in
> +	[Nn][Oo] | [Nn][Oo][Nn][Ee] )
> +		return 0;;
> +	* )
> +		return 1;;
> +	esac
> +}
> +
>  can_run_nonroot()
>  {
>  	# If the admin set what uid to use, we don't change it.
> @@ -107,7 +117,12 @@ ntpd_precmd()
>  		command_args="${command_args} -g"
>  	fi
>  
> -	# Make sure the leapfile is ready to use.
> +	# Make sure the leapfile is ready to use, unless leapfile
> +	# handling is disabled.
> +	if leapfile_is_disabled; then
> +		return
> +	fi
> +
>  	ntpd_init_leapfile
>  	if [ ! -f "${ntp_db_leapfile}" ]; then
>  		ntpd_fetch_leapfile
> @@ -135,6 +150,11 @@ get_ntp_leapfile_expiry() {
>  }
>  
>  ntpd_init_leapfile() {
> +
> +	if leapfile_is_disabled; then
> +		return
> +	fi
> +
>  	# Refresh working leapfile with an invalid hash due to
>  	# FreeBSD id header. Ntpd will ignore leapfiles with a
>  	# mismatch hash. The file must be the virgin file from
> @@ -146,7 +166,12 @@ ntpd_init_leapfile() {
>  
>  ntpd_needfetch_leapfile() {
>  	local rc verbose
> -	
> +
> +	if leapfile_is_disabled; then
> +		# Return code 1: ntp leapfile fetch not needed
> +		return 1
> +	fi
> +
>  	if checkyesno ntp_leapfile_fetch_verbose; then
>  		verbose=echo
>  	else
> @@ -182,6 +207,11 @@ ntpd_needfetch_leapfile() {
>  }
>  
>  ntpd_fetch_leapfile() {
> +
> +	if leapfile_is_disabled; then
> +		return
> +	fi
> +
>  	if checkyesno ntp_leapfile_fetch_verbose; then
>  		verbose=echo
>  	else
>


-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911252025.xAPKPtBh004212>