]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
ntp_parser.y, ntp_parser.c, ChangeLog:
authorHarlan Stenn <stenn@ntp.org>
Sun, 21 Jan 2018 11:34:08 +0000 (03:34 -0800)
committerHarlan Stenn <stenn@ntp.org>
Sun, 21 Jan 2018 11:34:08 +0000 (03:34 -0800)
  Warn the user if deprecated "driftfile name WanderThreshold" is used
Many files:
  Update the documentation in ntp.conf.def

bk: 5a647ab0VYTnLRPx-pe0K40pxCIq3Q

ChangeLog
ntpd/invoke-ntp.conf.texi
ntpd/ntp.conf.5man
ntpd/ntp.conf.5mdoc
ntpd/ntp.conf.def
ntpd/ntp.conf.man.in
ntpd/ntp.conf.mdoc.in
ntpd/ntp_parser.c
ntpd/ntp_parser.y

index 8ac476190f0c011f296e76a21549f9e0b77a4729..62c5f99e59dd0ee3e1fbef23d04c910157cedd9a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -83,6 +83,8 @@
 * Improve saveconfig output.  HStenn.
 * Decode restrict flags on receive() debug output.  HStenn.
 * Decode interface flags on receive() debug output.  HStenn.
+* Warn the user if deprecated "driftfile name WanderThreshold" is used.  HStenn.
+* Update the documentation in ntp.conf.def .  HStenn.
 
 ---
 (4.2.8p10) 2017/03/21 Released by Harlan Stenn <stenn@ntp.org>
index 51d3eb3b0db2addc68c35a09b44d81b896c95ea8..57a2c1bc154df6c39d747a254880541638769032 100644 (file)
@@ -6,7 +6,7 @@
 #
 # EDIT THIS FILE WITH CAUTION  (invoke-ntp.conf.texi)
 #
-# It has been AutoGen-ed  January  8, 2018 at 12:00:34 AM by AutoGen 5.18.5
+# It has been AutoGen-ed  January 21, 2018 at 03:03:16 AM by AutoGen 5.18.5
 # From the definitions    ntp.conf.def
 # and the template file   agtexi-file.tpl
 @end ignore
@@ -2520,6 +2520,71 @@ This option is useful for sites that run
 @code{ntpd(1ntpdmdoc)}
 on multiple hosts, with (mostly) common options (e.g., a
 restriction list).
+@item @code{interface}
+@code{[@code{listen} | @code{ignore} | @code{drop}]}
+@code{[@code{all} | @code{ipv4} | @code{ipv6} | @code{wildcard} @kbd{name} | @kbd{address} @code{[@code{/} @kbd{prefixlen}]}
+The
+@code{interface}
+directive controls which network addresses
+@code{ntpd(1ntpdmdoc)}
+opens, and whether input is dropped without processing.
+The first parameter determines the aciton  for addresses
+which match the second parameter.
+The second parameter specifies a class of addresses,
+or a specific interface name,
+or an address.
+In the address case,
+@kbd{prefixlen}
+determines how many bits must match  for this rule to apply.
+@code{ignore}
+prevents opening matching addresses,
+@code{drop}
+causes
+@code{ntpd(1ntpdmdoc)}
+to open the address and drop all received packets without examination.
+Multiple
+@code{interface}
+directives can be used.
+The last rule which matches a particular address determines the action for it.
+@code{interface}
+directives are disabled if any
+@code{-I},
+@code{--interface},
+@code{-L},
+or
+@code{--novirtualips}
+command-line options are specified in the configuration file,
+all available network addresses are opened.
+The
+@code{nic}
+directive is an alias for
+@code{interface}.
+@item @code{leapfile} @kbd{leapfile}
+This command loads the IERS leapseconds file and initializes the
+leapsecond values for the next leapsecond event, leapfile expiration
+time, and TAI offset.
+The file can be obtained directly from the IERS at
+@code{https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list}
+or
+@code{ftp://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list}.
+The
+@code{leapfile}
+is scanned when
+@code{ntpd(1ntpdmdoc)}
+processes the
+@code{leapfile} @code{directive} @code{or} @code{when}
+@code{ntpd} @code{detects} @code{that} @code{the}
+@kbd{leapfile}
+has changed.
+@code{ntpd}
+checks once a day to see if the
+@kbd{leapfile}
+has changed.
+The
+@code{update-leap(1update_leapmdoc)}
+script can be run to see if the
+@kbd{leapfile}
+should be updated.
 @item @code{leapsmearinterval} @kbd{seconds}
 This EXPERIMENTAL option is only available if
 @code{ntpd(1ntpdmdoc)}
@@ -2610,6 +2675,154 @@ facility.
 This is the same operation as the
 @code{-l}
 command line option.
+@item @code{mru}
+@code{[@code{maxdepth} @kbd{count} | @code{maxmem} @kbd{kilobytes} | @code{mindepth} @kbd{count} | @code{maxage} @kbd{seconds} | @code{initialloc} @kbd{count} | @code{initmem} @kbd{kilobytes} | @code{incalloc} @kbd{count} | @code{incmem} @kbd{kilobytes}]}
+Controls size limite of the monitoring facility's Most Recently Used
+(MRU) list
+of client addresses, which is also used by the
+rate control facility.
+@table @asis
+@item @code{maxdepth} @kbd{count}
+@item @code{maxmem} @kbd{kilobytes}
+Equivalent upper limits on the size of the MRU list, in terms of entries or kilobytes.
+The acutal limit will be up to
+@code{incalloc}
+entries or
+@code{incmem}
+kilobytes larger.
+As with all of the
+@code{mru}
+options offered in units of entries or kilobytes, if both
+@code{maxdepth}
+and
+@code{maxmem} @code{are} @code{used,} @code{the} @code{last} @code{one} @code{used} @code{controls.}
+The default is 1024 kilobytes.
+@item @code{mindepth} @kbd{count}
+Lower limit on the MRU list size.
+When the MRU list has fewer than
+@code{mindepth}
+entries, existing entries are never removed to make room for newer ones,
+regardless of their age.
+The default is 600 entries.
+@item @code{maxage} @kbd{seconds}
+Once the MRU list has
+@code{mindepth}
+entries and an additional client is to ba added to the list,
+if the oldest entry was updated more than
+@code{maxage}
+seconds ago, that entry is removed and its storage is reused.
+If the oldest entry was updated more recently the MRU list is grown,
+subject to 
+@code{maxdepth} @code{/} @code{moxmem}.
+The default is 64 seconds.
+@item @code{initalloc} @kbd{count}
+@item @code{initmem} @kbd{kilobytes}
+Initial memory allocation at the time the monitoringfacility is first enabled,
+in terms of the number of entries or kilobytes.
+The default is 4 kilobytes.
+@item @code{incalloc} @kbd{count}
+@item @code{incmem} @kbd{kilobytes}
+Size of additional memory allocations when growing the MRU list, in entries or kilobytes.
+The default is 4 kilobytes.
+@end table
+@item @code{nonvolatile} @kbd{threshold}
+Specify the
+@kbd{threshold}
+delta in seconds before an hourly change to the
+@code{driftfile}
+(frequency file) will be written, with a default value of 1e-7 (0.1 PPM).
+The frequency file is inspected each hour.
+If the difference between the current frequency and the last value written
+exceeds the threshold, the file is written and the
+@code{threshold}
+becomes the new threshold value.
+If the threshold is not exceeeded, it is reduced by half.
+This is intended to reduce the number of file writes 
+for embedded systems with nonvolatile memory.
+@item @code{phone} @kbd{dial} @kbd{...}
+This command is used in conjunction with
+the ACTS modem driver (type 18)
+or the JJY driver (type 40, mode 100 - 180).
+For the ACTS modem driver (type 18), the arguments consist of
+a maximum of 10 telephone numbers used to dial USNO, NIST, or European
+time service.
+For the JJY driver (type 40 mode 100 - 180), the argument is 
+one telephone number used to dial the telephone JJY service.
+The Hayes command ATDT is normally prepended to the number.
+The number can contain other modem control codes as well.
+@item @code{reset}
+@code{[@code{allpeers}]}
+@code{[@code{auth}]}
+@code{[@code{ctl}]}
+@code{[@code{io}]}
+@code{[@code{mem}]}
+@code{[@code{sys}]}
+@code{[@code{timer}]}
+Reset one or more groups of counters maintained by
+@code{ntpd}
+and exposed by
+@code{ntpq}
+and
+@code{ntpdc}.
+@item @code{rlimit} @code{[@code{memlock} @kbd{Nmegabytes} | @code{stacksize} @kbd{N4kPages} @code{filenum} @kbd{Nfiledescriptors}]}
+@table @asis
+@item @code{memlock} @kbd{Nmegabytes}
+Specify the number of megabytes of memory that should be
+allocated and locked.
+Probably only available under Linux, this option may be useful
+when dropping root (the
+@code{-i}
+option).
+The default is 32 megabytes on non-Linux machines, and -1 under Linux.
+-1 means "do not lock the process into memory".
+0 means "lock whatever memory the process wants into memory".
+@item @code{stacksize} @kbd{N4kPages}
+Specifies the maximum size of the process stack on systems with the
+@code{mlockall()}
+function.
+Defaults to 50 4k pages (200 4k pages in OpenBSD).
+@item @code{filenum} @kbd{Nfiledescriptors}
+Specifies the maximum number of file descriptors ntpd may have open at once.
+Defaults to the system default.
+@end table
+@item @code{saveconfigdir} @kbd{directory_path}
+Specify the directory in which to write configuration snapshots
+requested with
+.Cm ntpq 's
+@code{saveconfig}
+command.
+If
+@code{saveconfigdir}
+does not appear in the configuration file,
+@code{saveconfig}
+requests are rejected by
+@code{ntpd}.
+@item @code{saveconfig} @kbd{filename}
+Write the current configuration, including any runtime
+modifications given with
+@code{:config}
+or
+@code{config-from-file}
+to the
+@code{ntpd}
+host's
+@kbd{filename}
+in the
+@code{saveconfigdir}.
+This command will be rejected unless the
+@code{saveconfigdir}
+directive appears in
+.Cm ntpd 's
+configuration file.
+@kbd{filename}
+can use
+@code{strftime(3)}
+format directives to substitute the current date and time,
+for example,
+@code{saveconfig\ ntp-%Y%m%d-%H%M%S.conf}.
+The filename used is stored in the system variable
+@code{savedconfig}.
+Authentication is required.
 @item @code{setvar} @kbd{variable} @code{[@code{default}]}
 This command adds an additional system variable.
 These
@@ -2642,6 +2855,10 @@ holds
 the names of all peer variables and the
 @code{clock_var_list}
 holds the names of the reference clock variables.
+@item @code{sysinfo}
+Display operational summary.
+@item @code{sysstats}
+Show statistucs counters maintained in the protocol module.
 @item @code{tinker} @code{[@code{allan} @kbd{allan} | @code{dispersion} @kbd{dispersion} | @code{freq} @kbd{freq} | @code{huffpuff} @kbd{huffpuff} | @code{panic} @kbd{panic} | @code{step} @kbd{step} | @code{stepback} @kbd{stepback} | @code{stepfwd} @kbd{stepfwd} | @code{stepout} @kbd{stepout}]}
 This command can be used to alter several system variables in
 very exceptional circumstances.
@@ -2719,27 +2936,19 @@ be set to any positive number in seconds.
 If set to zero, the stepout
 pulses will not be suppressed.
 @end table
-@item @code{rlimit} @code{[@code{memlock} @kbd{Nmegabytes} | @code{stacksize} @kbd{N4kPages} @code{filenum} @kbd{Nfiledescriptors}]}
-@table @asis
-@item @code{memlock} @kbd{Nmegabytes}
-Specify the number of megabytes of memory that should be
-allocated and locked.
-Probably only available under Linux, this option may be useful
-when dropping root (the
-@code{-i}
-option).
-The default is 32 megabytes on non-Linux machines, and -1 under Linux.
--1 means "do not lock the process into memory".
-0 means "lock whatever memory the process wants into memory".
-@item @code{stacksize} @kbd{N4kPages}
-Specifies the maximum size of the process stack on systems with the
-@code{mlockall()}
-function.
-Defaults to 50 4k pages (200 4k pages in OpenBSD).
-@item @code{filenum} @kbd{Nfiledescriptors}
-Specifies the maximum number of file descriptors ntpd may have open at once.
-Defaults to the system default.
-@end table
+@item @code{writevar} @kbd{assocID\ name} @kbd{=} @kbd{value} @kbd{[,...]}
+Write (create or update) the specified variables.
+If the
+@code{assocID}
+is zero, the variablea re from the
+system variables
+name space, otherwise they are from the
+peer variables
+name space.
+The
+@code{assocID}
+is required, as the same name can occur in both name spaces.
+
 @item @code{trap} @kbd{host_address} @code{[@code{port} @kbd{port_number}]} @code{[@code{interface} @kbd{interface_address}]}
 This command configures a trap receiver at the given host
 address and port number for sending messages with the specified
@@ -2751,6 +2960,13 @@ message is sent with a source address of the local interface the
 message is sent through.
 Note that on a multihomed host the
 interface used may vary from time to time with routing changes.
+@item @code{ttl} @kbd{hop} @kbd{...}
+This command specifies a list of TTL values in increasing order.
+Up to 8 values can be specified.
+In
+manycast
+mode these values are used in-turn in an expanding-ring search.
+The default is eight multiples of 32 starting at 31.
 
 The trap receiver will generally log event messages and other
 information from the server in a log file.
index 0fe2fbe41923903df03c9777a2f10b35464c8cda..988d800f64f751556add35df0a41575c97618c38 100644 (file)
 .ds B-Font B
 .ds I-Font I
 .ds R-Font R
-.TH ntp.conf 5man "08 Jan 2018" "4.2.8p10" "File Formats"
+.TH ntp.conf 5man "21 Jan 2018" "4.2.8p10" "File Formats"
 .\"
 .\" EDIT THIS FILE WITH CAUTION (in-mem file)
 .\"
-.\" It has been AutoGen-ed January 8, 2018 at 12:00:37 AM by AutoGen 5.18.5
+.\" It has been AutoGen-ed January 21, 2018 at 03:03:19 AM by AutoGen 5.18.5
 .\" From the definitions ntp.conf.def
 .\" and the template file agman-cmd.tpl
 .SH NAME
index 1042545b3172e8baeec7a9a270171e650b6b6fce..19399b821a93707b895545d5ea52ddc96aaecd55 100644 (file)
@@ -1,9 +1,9 @@
-.Dd January 8 2018
+.Dd January 21 2018
 .Dt NTP_CONF 5mdoc File Formats
 .Os
 .\"  EDIT THIS FILE WITH CAUTION  (ntp.mdoc)
 .\"
-.\"  It has been AutoGen-ed  January  8, 2018 at 12:00:31 AM by AutoGen 5.18.5
+.\"  It has been AutoGen-ed  January 21, 2018 at 03:03:14 AM by AutoGen 5.18.5
 .\"  From the definitions    ntp.conf.def
 .\"  and the template file   agmdoc-cmd.tpl
 .Sh NAME
index 7cd6ab1a78ff8a057c8a172b119cbfcf11b807c0..351f2229529f802d03ec428c84dcd2111c0fdc16 100644 (file)
@@ -2643,6 +2643,78 @@ This option is useful for sites that run
 .Xr ntpd 1ntpdmdoc
 on multiple hosts, with (mostly) common options (e.g., a
 restriction list).
+.It Ic interface
+.Oo
+.Cm listen | Cm ignore | Cm drop
+.Oc
+.Oo
+.Cm all | Cm ipv4 | Cm ipv6 | Cm wildcard
+.Ar name | Ar address
+.Oo Cm / Ar prefixlen
+.Oc
+.Oc
+The
+.Cm interface
+directive controls which network addresses
+.Xr ntpd 1ntpdmdoc
+opens, and whether input is dropped without processing.
+The first parameter determines the aciton  for addresses
+which match the second parameter.
+The second parameter specifies a class of addresses,
+or a specific interface name,
+or an address.
+In the address case,
+.Ar prefixlen
+determines how many bits must match  for this rule to apply.
+.Cm ignore
+prevents opening matching addresses,
+.Cm drop
+causes
+.Xr ntpd 1ntpdmdoc
+to open the address and drop all received packets without examination.
+Multiple
+.Cm interface
+directives can be used.
+The last rule which matches a particular address determines the action for it.
+.Cm interface
+directives are disabled if any
+.Fl I ,
+.Fl -interface ,
+.Fl L ,
+or
+.Fl -novirtualips
+command-line options are specified in the configuration file,
+all available network addresses are opened.
+The
+.Cm nic
+directive is an alias for
+.Cm interface .
+.It Ic leapfile Ar leapfile
+This command loads the IERS leapseconds file and initializes the
+leapsecond values for the next leapsecond event, leapfile expiration
+time, and TAI offset.
+The file can be obtained directly from the IERS at
+.Li https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list
+or
+.Li ftp://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list .
+The
+.Cm leapfile
+is scanned when
+.Xr ntpd 1ntpdmdoc
+processes the
+.Cm leapfile directive or when
+.Cm ntpd detects that the
+.Ar leapfile
+has changed.
+.Cm ntpd
+checks once a day to see if the
+.Ar leapfile
+has changed.
+The
+.Xr update-leap 1update_leapmdoc
+script can be run to see if the
+.Ar leapfile
+should be updated.
 .It Ic leapsmearinterval Ar seconds
 This EXPERIMENTAL option is only available if
 .Xr ntpd 1ntpdmdoc
@@ -2747,6 +2819,179 @@ facility.
 This is the same operation as the
 .Fl l
 command line option.
+.It Ic mru
+.Oo
+.Cm maxdepth Ar count | Cm maxmem Ar kilobytes |
+.Cm mindepth Ar count | Cm maxage Ar seconds |
+.Cm initialloc Ar count | Cm initmem Ar kilobytes |
+.Cm incalloc Ar count | Cm incmem Ar kilobytes
+.Oc
+Controls size limite of the monitoring facility's Most Recently Used
+(MRU) list
+of client addresses, which is also used by the
+rate control facility.
+.Bl -tag -width indent
+.It Ic maxdepth Ar count
+.It Ic maxmem Ar kilobytes
+Equivalent upper limits on the size of the MRU list, in terms of entries or kilobytes.
+The acutal limit will be up to
+.Cm incalloc
+entries or
+.Cm incmem
+kilobytes larger.
+As with all of the
+.Cm mru
+options offered in units of entries or kilobytes, if both
+.Cm maxdepth
+and
+.Cm maxmem are used, the last one used controls.
+The default is 1024 kilobytes.
+.It Cm mindepth Ar count
+Lower limit on the MRU list size.
+When the MRU list has fewer than
+.Cm mindepth
+entries, existing entries are never removed to make room for newer ones,
+regardless of their age.
+The default is 600 entries.
+.It Cm maxage Ar seconds
+Once the MRU list has
+.Cm mindepth
+entries and an additional client is to ba added to the list,
+if the oldest entry was updated more than
+.Cm maxage
+seconds ago, that entry is removed and its storage is reused.
+If the oldest entry was updated more recently the MRU list is grown,
+subject to 
+.Cm maxdepth / moxmem .
+The default is 64 seconds.
+.It Cm initalloc Ar count
+.It Cm initmem Ar kilobytes
+Initial memory allocation at the time the monitoringfacility is first enabled,
+in terms of the number of entries or kilobytes.
+The default is 4 kilobytes.
+.It Cm incalloc Ar count
+.It Cm incmem Ar kilobytes
+Size of additional memory allocations when growing the MRU list, in entries or kilobytes.
+The default is 4 kilobytes.
+.El
+.It Ic nonvolatile Ar threshold
+Specify the
+.Ar threshold
+delta in seconds before an hourly change to the
+.Cm driftfile
+(frequency file) will be written, with a default value of 1e-7 (0.1 PPM).
+The frequency file is inspected each hour.
+If the difference between the current frequency and the last value written
+exceeds the threshold, the file is written and the
+.Cm threshold
+becomes the new threshold value.
+If the threshold is not exceeeded, it is reduced by half.
+This is intended to reduce the number of file writes 
+for embedded systems with nonvolatile memory.
+.It Ic phone Ar dial ...
+This command is used in conjunction with
+the ACTS modem driver (type 18)
+or the JJY driver (type 40, mode 100 - 180).
+For the ACTS modem driver (type 18), the arguments consist of
+a maximum of 10 telephone numbers used to dial USNO, NIST, or European
+time service.
+For the JJY driver (type 40 mode 100 - 180), the argument is 
+one telephone number used to dial the telephone JJY service.
+The Hayes command ATDT is normally prepended to the number.
+The number can contain other modem control codes as well.
+.It Ic reset
+.Oo
+.Ic allpeers
+.Oc
+.Oo
+.Ic auth
+.Oc
+.Oo
+.Ic ctl
+.Oc
+.Oo
+.Ic io
+.Oc
+.Oo
+.Ic mem
+.Oc
+.Oo
+.Ic sys
+.Oc
+.Oo
+.Ic timer
+.Oc
+Reset one or more groups of counters maintained by
+.Cm ntpd
+and exposed by
+.Cm ntpq
+and
+.Cm ntpdc .
+.It Xo Ic rlimit
+.Oo
+.Cm memlock Ar Nmegabytes |
+.Cm stacksize Ar N4kPages
+.Cm filenum Ar Nfiledescriptors
+.Oc
+.Xc
+.Bl -tag -width indent
+.It Cm memlock Ar Nmegabytes
+Specify the number of megabytes of memory that should be
+allocated and locked.
+Probably only available under Linux, this option may be useful
+when dropping root (the
+.Fl i
+option).
+The default is 32 megabytes on non-Linux machines, and -1 under Linux.
+-1 means "do not lock the process into memory".
+0 means "lock whatever memory the process wants into memory".
+.It Cm stacksize Ar N4kPages
+Specifies the maximum size of the process stack on systems with the
+.Fn mlockall
+function.
+Defaults to 50 4k pages (200 4k pages in OpenBSD).
+.It Cm filenum Ar Nfiledescriptors
+Specifies the maximum number of file descriptors ntpd may have open at once.
+Defaults to the system default.
+.El
+.It Ic saveconfigdir Ar directory_path
+Specify the directory in which to write configuration snapshots
+requested with
+.Cm ntpq 's
+.Cm saveconfig
+command.
+If
+.Cm saveconfigdir
+does not appear in the configuration file,
+.Cm saveconfig
+requests are rejected by
+.Cm ntpd .
+.It Ic saveconfig Ar filename
+Write the current configuration, including any runtime
+modifications given with
+.Cm :config
+or
+.Cm config-from-file 
+to the
+.Cm ntpd
+host's
+.Ar filename
+in the
+.Cm saveconfigdir .
+This command will be rejected unless the
+.Cm saveconfigdir
+directive appears in
+.Cm ntpd 's
+configuration file.
+.Ar filename
+can use
+.Xr strftime 3
+format directives to substitute the current date and time,
+for example,
+.Cm saveconfig\ ntp-%Y%m%d-%H%M%S.conf .
+The filename used is stored in the system variable
+.Cm savedconfig .
+Authentication is required.
 .It Ic setvar Ar variable Op Cm default
 This command adds an additional system variable.
 These
@@ -2785,6 +3030,10 @@ holds
 the names of all peer variables and the
 .Va clock_var_list
 holds the names of the reference clock variables.
+.It Cm sysinfo
+Display operational summary.
+.It Cm sysstats
+Show statistucs counters maintained in the protocol module.
 .It Xo Ic tinker
 .Oo
 .Cm allan Ar allan |
@@ -2874,33 +3123,18 @@ be set to any positive number in seconds.
 If set to zero, the stepout
 pulses will not be suppressed.
 .El
-.It Xo Ic rlimit
-.Oo
-.Cm memlock Ar Nmegabytes |
-.Cm stacksize Ar N4kPages
-.Cm filenum Ar Nfiledescriptors
-.Oc
-.Xc
-.Bl -tag -width indent
-.It Cm memlock Ar Nmegabytes
-Specify the number of megabytes of memory that should be
-allocated and locked.
-Probably only available under Linux, this option may be useful
-when dropping root (the
-.Fl i
-option).
-The default is 32 megabytes on non-Linux machines, and -1 under Linux.
--1 means "do not lock the process into memory".
-0 means "lock whatever memory the process wants into memory".
-.It Cm stacksize Ar N4kPages
-Specifies the maximum size of the process stack on systems with the
-.Fn mlockall
-function.
-Defaults to 50 4k pages (200 4k pages in OpenBSD).
-.It Cm filenum Ar Nfiledescriptors
-Specifies the maximum number of file descriptors ntpd may have open at once.
-Defaults to the system default.
-.El
+.It Cm writevar Ar assocID\ name = value [,...]
+Write (create or update) the specified variables.
+If the
+.Cm assocID
+is zero, the variablea re from the
+system variables
+name space, otherwise they are from the
+peer variables
+name space.
+The
+.Cm assocID
+is required, as the same name can occur in both name spaces.
 .It Xo Ic trap Ar host_address
 .Op Cm port Ar port_number
 .Op Cm interface Ar interface_address
@@ -2915,6 +3149,14 @@ message is sent with a source address of the local interface the
 message is sent through.
 Note that on a multihomed host the
 interface used may vary from time to time with routing changes.
+.It Cm ttl Ar hop ...
+This command specifies a list of TTL values in increasing order.
+Up to 8 values can be specified.
+In
+.Cm
+manycast
+mode these values are used in-turn in an expanding-ring search.
+The default is eight multiples of 32 starting at 31.
 .Pp
 The trap receiver will generally log event messages and other
 information from the server in a log file.
index be6ad755c003a2def7cb6e1d228c1967f4ddb48a..9b65a857d409f864b3c15c99326854db02c04d46 100644 (file)
 .ds B-Font B
 .ds I-Font I
 .ds R-Font R
-.TH ntp.conf 5 "08 Jan 2018" "4.2.8p10" "File Formats"
+.TH ntp.conf 5 "21 Jan 2018" "4.2.8p10" "File Formats"
 .\"
 .\" EDIT THIS FILE WITH CAUTION (in-mem file)
 .\"
-.\" It has been AutoGen-ed January 8, 2018 at 12:00:37 AM by AutoGen 5.18.5
+.\" It has been AutoGen-ed January 21, 2018 at 03:03:19 AM by AutoGen 5.18.5
 .\" From the definitions ntp.conf.def
 .\" and the template file agman-cmd.tpl
 .SH NAME
index 1224ea514a3329add9ea927a8a1e3a9bdb5cfb67..cb203d2fc33da6cdb684fcfdddfc05de46b542c1 100644 (file)
@@ -1,9 +1,9 @@
-.Dd January 8 2018
+.Dd January 21 2018
 .Dt NTP_CONF 5 File Formats
 .Os
 .\"  EDIT THIS FILE WITH CAUTION  (ntp.mdoc)
 .\"
-.\"  It has been AutoGen-ed  January  8, 2018 at 12:00:31 AM by AutoGen 5.18.5
+.\"  It has been AutoGen-ed  January 21, 2018 at 03:03:14 AM by AutoGen 5.18.5
 .\"  From the definitions    ntp.conf.def
 .\"  and the template file   agmdoc-cmd.tpl
 .Sh NAME
index f2d54f32e16724f19b6a607f864f2e99643cfff1..782019cdfa0c0c870b42d9a167b0b98bdefb6684 100644 (file)
@@ -918,14 +918,14 @@ static const yytype_uint16 yyrline[] =
     1161,  1162,  1163,  1164,  1165,  1166,  1167,  1176,  1177,  1178,
     1185,  1192,  1199,  1215,  1234,  1236,  1238,  1240,  1242,  1244,
     1251,  1256,  1257,  1258,  1262,  1266,  1275,  1276,  1280,  1281,
-    1282,  1286,  1297,  1311,  1323,  1328,  1330,  1335,  1336,  1344,
-    1346,  1354,  1359,  1367,  1392,  1399,  1409,  1410,  1414,  1415,
-    1416,  1417,  1421,  1422,  1423,  1427,  1432,  1437,  1445,  1446,
-    1447,  1448,  1449,  1450,  1451,  1461,  1466,  1474,  1479,  1487,
-    1489,  1493,  1498,  1503,  1511,  1516,  1524,  1533,  1534,  1538,
-    1539,  1543,  1551,  1569,  1573,  1578,  1586,  1591,  1592,  1596,
-    1601,  1609,  1614,  1619,  1624,  1629,  1637,  1642,  1647,  1655,
-    1660,  1661,  1662,  1663,  1664
+    1282,  1286,  1297,  1315,  1327,  1332,  1334,  1339,  1340,  1348,
+    1350,  1358,  1363,  1371,  1396,  1403,  1413,  1414,  1418,  1419,
+    1420,  1421,  1425,  1426,  1427,  1431,  1436,  1441,  1449,  1450,
+    1451,  1452,  1453,  1454,  1455,  1465,  1470,  1478,  1483,  1491,
+    1493,  1497,  1502,  1507,  1515,  1520,  1528,  1537,  1538,  1542,
+    1543,  1547,  1555,  1573,  1577,  1582,  1590,  1595,  1596,  1600,
+    1605,  1613,  1618,  1623,  1628,  1633,  1641,  1646,  1651,  1659,
+    1664,  1665,  1666,  1667,  1668
 };
 #endif
 
@@ -3048,16 +3048,20 @@ yyreduce:
                                APPEND_G_FIFO(cfgt.vars, av);
                                av = create_attr_dval(T_WanderThreshold, (yyvsp[0].Double));
                                APPEND_G_FIFO(cfgt.vars, av);
+                       msyslog(LOG_WARNING,
+                               "'driftfile FILENAME WanderValue' is deprecated, "
+                               "please use separate 'driftfile FILENAME' and "
+                               "'nonvolatile WanderValue' lines instead.");
                        } else {
                                YYFREE((yyvsp[-1].String));
                                yyerror("driftfile remote configuration ignored");
                        }
                }
-#line 3057 "ntp_parser.c" /* yacc.c:1646  */
+#line 3061 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 253:
-#line 1311 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1315 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if (lex_from_file()) {
                                attr_val *av;
@@ -3067,71 +3071,71 @@ yyreduce:
                                yyerror("driftfile remote configuration ignored");
                        }
                }
-#line 3071 "ntp_parser.c" /* yacc.c:1646  */
+#line 3075 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 254:
-#line 1324 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1328 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); }
-#line 3077 "ntp_parser.c" /* yacc.c:1646  */
+#line 3081 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 256:
-#line 1330 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1334 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 0; }
-#line 3083 "ntp_parser.c" /* yacc.c:1646  */
+#line 3087 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 257:
-#line 1335 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1339 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val_fifo) = NULL; }
-#line 3089 "ntp_parser.c" /* yacc.c:1646  */
+#line 3093 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 258:
-#line 1337 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1341 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3098 "ntp_parser.c" /* yacc.c:1646  */
+#line 3102 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 259:
-#line 1345 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1349 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 3104 "ntp_parser.c" /* yacc.c:1646  */
+#line 3108 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 260:
-#line 1347 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1351 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address));
                        destroy_address_node((yyvsp[0].Address_node));
                }
-#line 3113 "ntp_parser.c" /* yacc.c:1646  */
+#line 3117 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 261:
-#line 1355 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1359 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3122 "ntp_parser.c" /* yacc.c:1646  */
+#line 3126 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 262:
-#line 1360 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1364 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3131 "ntp_parser.c" /* yacc.c:1646  */
+#line 3135 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 263:
-#line 1368 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1372 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        char    prefix;
                        char *  type;
@@ -3153,141 +3157,141 @@ yyreduce:
                        (yyval.Attr_val) = create_attr_sval(prefix, estrdup(type));
                        YYFREE((yyvsp[0].String));
                }
-#line 3157 "ntp_parser.c" /* yacc.c:1646  */
+#line 3161 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 264:
-#line 1393 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1397 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        nic_rule_node *nrn;
 
                        nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer));
                        APPEND_G_FIFO(cfgt.nic_rules, nrn);
                }
-#line 3168 "ntp_parser.c" /* yacc.c:1646  */
+#line 3172 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 265:
-#line 1400 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1404 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        nic_rule_node *nrn;
 
                        nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer));
                        APPEND_G_FIFO(cfgt.nic_rules, nrn);
                }
-#line 3179 "ntp_parser.c" /* yacc.c:1646  */
+#line 3183 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 275:
-#line 1428 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1432 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); }
-#line 3185 "ntp_parser.c" /* yacc.c:1646  */
+#line 3189 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 276:
-#line 1433 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1437 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
                        APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 3194 "ntp_parser.c" /* yacc.c:1646  */
+#line 3198 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 277:
-#line 1438 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1442 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Int_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 3203 "ntp_parser.c" /* yacc.c:1646  */
+#line 3207 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 285:
-#line 1462 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1466 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 3212 "ntp_parser.c" /* yacc.c:1646  */
+#line 3216 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 286:
-#line 1467 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1471 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
                }
-#line 3221 "ntp_parser.c" /* yacc.c:1646  */
+#line 3225 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 287:
-#line 1475 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1479 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3230 "ntp_parser.c" /* yacc.c:1646  */
+#line 3234 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 288:
-#line 1480 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1484 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
                }
-#line 3239 "ntp_parser.c" /* yacc.c:1646  */
+#line 3243 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 289:
-#line 1488 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1492 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); }
-#line 3245 "ntp_parser.c" /* yacc.c:1646  */
+#line 3249 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 291:
-#line 1494 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1498 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); }
-#line 3251 "ntp_parser.c" /* yacc.c:1646  */
+#line 3255 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 292:
-#line 1499 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1503 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.String_fifo) = (yyvsp[-1].String_fifo);
                        APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
                }
-#line 3260 "ntp_parser.c" /* yacc.c:1646  */
+#line 3264 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 293:
-#line 1504 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1508 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.String_fifo) = NULL;
                        APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
                }
-#line 3269 "ntp_parser.c" /* yacc.c:1646  */
+#line 3273 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 294:
-#line 1512 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1516 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Address_fifo) = (yyvsp[-1].Address_fifo);
                        APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
                }
-#line 3278 "ntp_parser.c" /* yacc.c:1646  */
+#line 3282 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 295:
-#line 1517 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1521 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Address_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
                }
-#line 3287 "ntp_parser.c" /* yacc.c:1646  */
+#line 3291 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 296:
-#line 1525 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1529 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) {
                                yyerror("Integer value is not boolean (0 or 1). Assuming 1");
@@ -3296,35 +3300,35 @@ yyreduce:
                                (yyval.Integer) = (yyvsp[0].Integer);
                        }
                }
-#line 3300 "ntp_parser.c" /* yacc.c:1646  */
+#line 3304 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 297:
-#line 1533 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1537 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 1; }
-#line 3306 "ntp_parser.c" /* yacc.c:1646  */
+#line 3310 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 298:
-#line 1534 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1538 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = 0; }
-#line 3312 "ntp_parser.c" /* yacc.c:1646  */
+#line 3316 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 299:
-#line 1538 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1542 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Double) = (double)(yyvsp[0].Integer); }
-#line 3318 "ntp_parser.c" /* yacc.c:1646  */
+#line 3322 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 301:
-#line 1544 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1548 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Integer) = basedate_eval_string((yyvsp[0].String)); YYFREE((yyvsp[0].String)); }
-#line 3324 "ntp_parser.c" /* yacc.c:1646  */
+#line 3328 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 302:
-#line 1552 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1556 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        sim_node *sn;
 
@@ -3334,125 +3338,125 @@ yyreduce:
                        /* Revert from ; to \n for end-of-command */
                        old_config_style = 1;
                }
-#line 3338 "ntp_parser.c" /* yacc.c:1646  */
+#line 3342 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 303:
-#line 1569 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1573 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { old_config_style = 0; }
-#line 3344 "ntp_parser.c" /* yacc.c:1646  */
+#line 3348 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 304:
-#line 1574 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1578 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
-#line 3353 "ntp_parser.c" /* yacc.c:1646  */
+#line 3357 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 305:
-#line 1579 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1583 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
-#line 3362 "ntp_parser.c" /* yacc.c:1646  */
+#line 3366 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 306:
-#line 1587 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1591 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
-#line 3368 "ntp_parser.c" /* yacc.c:1646  */
+#line 3372 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 309:
-#line 1597 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1601 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo);
                        APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
                }
-#line 3377 "ntp_parser.c" /* yacc.c:1646  */
+#line 3381 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 310:
-#line 1602 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1606 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_server_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
                }
-#line 3386 "ntp_parser.c" /* yacc.c:1646  */
+#line 3390 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 311:
-#line 1610 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1614 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); }
-#line 3392 "ntp_parser.c" /* yacc.c:1646  */
+#line 3396 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 312:
-#line 1615 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1619 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Double) = (yyvsp[-1].Double); }
-#line 3398 "ntp_parser.c" /* yacc.c:1646  */
+#line 3402 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 313:
-#line 1620 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1624 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Address_node) = (yyvsp[0].Address_node); }
-#line 3404 "ntp_parser.c" /* yacc.c:1646  */
+#line 3408 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 314:
-#line 1625 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1629 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo);
                        APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
                }
-#line 3413 "ntp_parser.c" /* yacc.c:1646  */
+#line 3417 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 315:
-#line 1630 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1634 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Sim_script_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
                }
-#line 3422 "ntp_parser.c" /* yacc.c:1646  */
+#line 3426 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 316:
-#line 1638 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1642 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); }
-#line 3428 "ntp_parser.c" /* yacc.c:1646  */
+#line 3432 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 317:
-#line 1643 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1647 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
-#line 3437 "ntp_parser.c" /* yacc.c:1646  */
+#line 3441 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 318:
-#line 1648 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1652 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     {
                        (yyval.Attr_val_fifo) = NULL;
                        APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
                }
-#line 3446 "ntp_parser.c" /* yacc.c:1646  */
+#line 3450 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
   case 319:
-#line 1656 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
+#line 1660 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
     { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
-#line 3452 "ntp_parser.c" /* yacc.c:1646  */
+#line 3456 "ntp_parser.c" /* yacc.c:1646  */
     break;
 
 
-#line 3456 "ntp_parser.c" /* yacc.c:1646  */
+#line 3460 "ntp_parser.c" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -3680,7 +3684,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 1667 "../../ntpd/ntp_parser.y" /* yacc.c:1906  */
+#line 1671 "../../ntpd/ntp_parser.y" /* yacc.c:1906  */
 
 
 void
index 5049cf34085e5c0a7f364107c8b0e56c23c332d5..02c7342196e596258bb2b1fc5d149795fd9f9e6a 100644 (file)
@@ -1302,6 +1302,10 @@ drift_parm
                                APPEND_G_FIFO(cfgt.vars, av);
                                av = create_attr_dval(T_WanderThreshold, $2);
                                APPEND_G_FIFO(cfgt.vars, av);
+                       msyslog(LOG_WARNING,
+                               "'driftfile FILENAME WanderValue' is deprecated, "
+                               "please use separate 'driftfile FILENAME' and "
+                               "'nonvolatile WanderValue' lines instead.");
                        } else {
                                YYFREE($1);
                                yyerror("driftfile remote configuration ignored");