MFV r315791: ntp 4.2.8p10.

This commit is contained in:
Xin LI 2017-03-23 22:06:06 +00:00
commit f0574f5cf6
410 changed files with 16620 additions and 73630 deletions

View File

@ -4,7 +4,7 @@ This file is automatically generated from html/copyright.html
jpg "Clone me," says Dolly sheepishly.
Last update: 17-Jan-2015 00:16 UTC
Last update: 2-Jan-2017 11:58 UTC
_________________________________________________________________
The following copyright notice applies to all files collectively
@ -33,7 +33,7 @@ This file is automatically generated from html/copyright.html
Burnicki is:
***********************************************************************
* *
* Copyright (c) Network Time Foundation 2011-2015 *
* Copyright (c) Network Time Foundation 2011-2017 *
* *
* All Rights Reserved *
* *

View File

@ -1,6 +1,77 @@
---
(4.2.8p10-win-beta1) 2017/03/21 Released by Harlan Stenn <stenn@ntp.org>
(4.2.8p10)
* [Sec 3389] NTP-01-016: Denial of Service via Malformed Config
(Pentest report 01.2017) <perlinger@ntp.org>
* [Sec 3388] NTP-01-014: Buffer Overflow in DPTS Clock
(Pentest report 01.2017) <perlinger@ntp.org>
* [Sec 3387] NTP-01-012: Authenticated DoS via Malicious Config Option
(Pentest report 01.2017) <perlinger@ntp.org>
* [Sec 3386] NTP-01-011: ntpq_stripquotes() returns incorrect Value
(Pentest report 01.2017) <perlinger@ntp.org>
* [Sec 3385] NTP-01-010: ereallocarray()/eallocarray() underused. HStenn
* [Sec 3384] NTP-01-009: Privileged execution of User Library code
(Pentest report 01.2017) <perlinger@ntp.org>
* [Sec 3383] NTP-01-008: Stack Buffer Overflow from Command Line
(Pentest report 01.2017) <perlinger@ntp.org>
* [Sec 3382] NTP-01-007: Data Structure terminated insufficiently
(Pentest report 01.2017) <perlinger@ntp.org>
* [Sec 3380] NTP-01-005: Off-by-one in Oncore GPS Receiver
(Pentest report 01.2017) <perlinger@ntp.org>
* [Sec 3379] NTP-01-004: Potential Overflows in ctl_put() functions
(Pentest report 01.2017) <perlinger@ntp.org>
* [Sec 3378] NTP-01-003: Improper use of snprintf() in mx4200_send()
(Pentest report 01.2017) <perlinger@ntp.org>
* [Sec 3377] NTP-01-002: Buffer Overflow in ntpq when fetching reslist
(Pentest report 01.2017) <perlinger@ntp.org
* [Sec 3376] Support build "hardening" flags. stenn@ntp.org
* [Sec 3361] 0rigin (zero origin) DoS. HStenn.
* [Bug 3393] clang scan-build findings <perlinger@ntp.org>
* [Bug 3363] Support for openssl-1.1.0 without compatibility modes
- rework of patch set from <ntp.org@eroen.eu>. <perlinger@ntp.org>
* [Bug 3356] Bugfix 3072 breaks multicastclient <perlinger@ntp.org>
* [Bug 3216] libntp audio ioctl() args incorrectly cast to int
on 4.4BSD-Lite derived platforms <perlinger@ntp.org>
- original patch by Majdi S. Abbas
* [Bug 3215] 'make distcheck' fails with new BK repo format <perlinger@ntp.org>
* [Bug 3173] forking async worker: interrupted pipe I/O <perlinger@ntp.org>
- initial patch by Christos Zoulas
* [Bug 3139] (...) time_pps_create: Exec format error <perlinger@ntp.org>
- move loader API from 'inline' to proper source
- augment pathless dlls with absolute path to NTPD
- use 'msyslog()' instead of 'printf() 'for reporting trouble
* [Bug 3107] Incorrect Logic for Peer Event Limiting <perlinger@ntp.org>
- applied patch by Matthew Van Gundy
* [Bug 3065] Quiet warnings on NetBSD <perlinger@ntp.org>
- applied some of the patches provided by Havard. Not all of them
still match the current code base, and I did not touch libopt.
* [Bug 3062] Change the process name of forked DNS worker <perlinger@ntp.org>
- applied patch by Reinhard Max. See bugzilla for limitations.
* [Bug 2923] Trap Configuration Fail <perlinger@ntp.org>
- fixed dependency inversion from [Bug 2837]
* [Bug 2896] Nothing happens if minsane < maxclock < minclock
- produce ERROR log message about dysfunctional daemon. <perlinger@ntp.org>
* [Bug 2851] allow -4/-6 on restrict line with mask <perlinger@ntp.org>
- applied patch by Miroslav Lichvar for ntp4.2.6 compat
* [Bug 2645] out-of-bound pointers in ctl_putsys and decode_bitflags
- Fixed these and some more locations of this pattern.
Probably din't get them all, though. <perlinger@ntp.org>
* Update copyright year.
* bk-7 trigger updates
---
(4.2.8p9-win) 2017/02/01 Released by Harlan Stenn <stenn@ntp.org>
* [Bug 3144] NTP does not build without openSSL. <perlinger@ntp.org>
- added missed changeset for automatic openssl lib detection
- fixed some minor warning issues
* [Bug 3095] More compatibility with openssl 1.1. <perlinger@ntp.org>
* configure.ac cleanup. stenn@ntp.org
* openssl configure cleanup. stenn@ntp.org
---
(4.2.8p9) 2016/11/21 Released by Harlan Stenn <stenn@ntp.org>
(4.2.8p9) 2016/MM/DD Released by Harlan Stenn <stenn@ntp.org>
* [Sec 3119] Trap crash <perlinger@ntp.org>
* [Sec 3118] Mode 6 information disclosure and DDoS vector <perlinger@ntp.org>

File diff suppressed because it is too large Load Diff

View File

@ -107,6 +107,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -202,16 +203,14 @@ am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/sntp/libevent/build-aux/install-sh \
$(top_srcdir)/sntp/libevent/build-aux/ltmain.sh \
$(top_srcdir)/sntp/libevent/build-aux/missing ChangeLog \
INSTALL NEWS README TODO compile config.guess config.sub \
depcomp install-sh ltmain.sh missing \
sntp/libevent/build-aux/ar-lib sntp/libevent/build-aux/compile \
INSTALL NEWS README TODO sntp/libevent/build-aux/ar-lib \
sntp/libevent/build-aux/compile \
sntp/libevent/build-aux/config.guess \
sntp/libevent/build-aux/config.sub \
sntp/libevent/build-aux/depcomp \
sntp/libevent/build-aux/install-sh \
sntp/libevent/build-aux/ltmain.sh \
sntp/libevent/build-aux/missing sntp/libevent/build-aux/ylwrap \
ylwrap
sntp/libevent/build-aux/missing sntp/libevent/build-aux/ylwrap
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@ -280,10 +279,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -336,6 +331,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -399,6 +395,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -472,7 +471,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@

View File

@ -1,4 +1,459 @@
---
--
NTP 4.2.8p10 (Harlan Stenn <stenn@ntp.org>, 2017/03/21)
Focus: Security, Bug fixes, enhancements.
Severity: MEDIUM
This release fixes 5 medium-, 6 low-, and 4 informational-severity
vulnerabilities, and provides 15 other non-security fixes and improvements:
* NTP-01-016 NTP: Denial of Service via Malformed Config (Medium)
Date Resolved: 21 Mar 2017
References: Sec 3389 / CVE-2017-6464 / VU#325339
Affects: All versions of NTP-4, up to but not including ntp-4.2.8p10, and
ntp-4.3.0 up to, but not including ntp-4.3.94.
CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
Summary:
A vulnerability found in the NTP server makes it possible for an
authenticated remote user to crash ntpd via a malformed mode
configuration directive.
Mitigation:
Implement BCP-38.
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or
the NTP Public Services Project Download Page
Properly monitor your ntpd instances, and auto-restart
ntpd (without -g) if it stops running.
Credit:
This weakness was discovered by Cure53.
* NTP-01-014 NTP: Buffer Overflow in DPTS Clock (Low)
Date Resolved: 21 Mar 2017
References: Sec 3388 / CVE-2017-6462 / VU#325339
Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and ntp-4.3.0 up to, but not including ntp-4.3.94.
CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
CVSS3: Low 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
Summary:
There is a potential for a buffer overflow in the legacy Datum
Programmable Time Server refclock driver. Here the packets are
processed from the /dev/datum device and handled in
datum_pts_receive(). Since an attacker would be required to
somehow control a malicious /dev/datum device, this does not
appear to be a practical attack and renders this issue "Low" in
terms of severity.
Mitigation:
If you have a Datum reference clock installed and think somebody
may maliciously change the device, upgrade to 4.2.8p10, or
later, from the NTP Project Download Page or the NTP Public
Services Project Download Page
Properly monitor your ntpd instances, and auto-restart
ntpd (without -g) if it stops running.
Credit:
This weakness was discovered by Cure53.
* NTP-01-012 NTP: Authenticated DoS via Malicious Config Option (Medium)
Date Resolved: 21 Mar 2017
References: Sec 3387 / CVE-2017-6463 / VU#325339
Affects: All versions of ntp, up to but not including ntp-4.2.8p10, and
ntp-4.3.0 up to, but not including ntp-4.3.94.
CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
Summary:
A vulnerability found in the NTP server allows an authenticated
remote attacker to crash the daemon by sending an invalid setting
via the :config directive. The unpeer option expects a number or
an address as an argument. In case the value is "0", a
segmentation fault occurs.
Mitigation:
Implement BCP-38.
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page
Properly monitor your ntpd instances, and auto-restart
ntpd (without -g) if it stops running.
Credit:
This weakness was discovered by Cure53.
* NTP-01-011 NTP: ntpq_stripquotes() returns incorrect value (Informational)
Date Resolved: 21 Mar 2017
References: Sec 3386
Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
ntp-4.3.0 up to, but not including ntp-4.3.94.
CVSS2: None 0.0 (AV:N/AC:H/Au:N/C:N/I:N/A:N)
CVSS3: None 0.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:N
Summary:
The NTP Mode 6 monitoring and control client, ntpq, uses the
function ntpq_stripquotes() to remove quotes and escape characters
from a given string. According to the documentation, the function
is supposed to return the number of copied bytes but due to
incorrect pointer usage this value is always zero. Although the
return value of this function is never used in the code, this
flaw could lead to a vulnerability in the future. Since relying
on wrong return values when performing memory operations is a
dangerous practice, it is recommended to return the correct value
in accordance with the documentation pertinent to the code.
Mitigation:
Implement BCP-38.
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page
Properly monitor your ntpd instances, and auto-restart
ntpd (without -g) if it stops running.
Credit:
This weakness was discovered by Cure53.
* NTP-01-010 NTP: ereallocarray()/eallocarray() underused (Info)
Date Resolved: 21 Mar 2017
References: Sec 3385
Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
ntp-4.3.0 up to, but not including ntp-4.3.94.
Summary:
NTP makes use of several wrappers around the standard heap memory
allocation functions that are provided by libc. This is mainly
done to introduce additional safety checks concentrated on
several goals. First, they seek to ensure that memory is not
accidentally freed, secondly they verify that a correct amount
is always allocated and, thirdly, that allocation failures are
correctly handled. There is an additional implementation for
scenarios where memory for a specific amount of items of the
same size needs to be allocated. The handling can be found in
the oreallocarray() function for which a further number-of-elements
parameter needs to be provided. Although no considerable threat
was identified as tied to a lack of use of this function, it is
recommended to correctly apply oreallocarray() as a preferred
option across all of the locations where it is possible.
Mitigation:
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page
Credit:
This weakness was discovered by Cure53.
* NTP-01-009 NTP: Privileged execution of User Library code (WINDOWS
PPSAPI ONLY) (Low)
Date Resolved: 21 Mar 2017
References: Sec 3384 / CVE-2017-6455 / VU#325339
Affects: All Windows versions of ntp-4 that use the PPSAPI, up to but
not including ntp-4.2.8p10, and ntp-4.3.0 up to, but not
including ntp-4.3.94.
CVSS2: MED 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C)
CVSS3: MED 4.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
Summary:
The Windows NT port has the added capability to preload DLLs
defined in the inherited global local environment variable
PPSAPI_DLLS. The code contained within those libraries is then
called from the NTPD service, usually running with elevated
privileges. Depending on how securely the machine is setup and
configured, if ntpd is configured to use the PPSAPI under Windows
this can easily lead to a code injection.
Mitigation:
Implement BCP-38.
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page
Credit:
This weakness was discovered by Cure53.
* NTP-01-008 NTP: Stack Buffer Overflow from Command Line (WINDOWS
installer ONLY) (Low)
Date Resolved: 21 Mar 2017
References: Sec 3383 / CVE-2017-6452 / VU#325339
Affects: WINDOWS installer ONLY: All versions of the ntp-4 Windows
installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0 up
to, but not including ntp-4.3.94.
CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
Summary:
The Windows installer for NTP calls strcat(), blindly appending
the string passed to the stack buffer in the addSourceToRegistry()
function. The stack buffer is 70 bytes smaller than the buffer
in the calling main() function. Together with the initially
copied Registry path, the combination causes a stack buffer
overflow and effectively overwrites the stack frame. The
passed application path is actually limited to 256 bytes by the
operating system, but this is not sufficient to assure that the
affected stack buffer is consistently protected against
overflowing at all times.
Mitigation:
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page
Credit:
This weakness was discovered by Cure53.
* NTP-01-007 NTP: Data Structure terminated insufficiently (WINDOWS
installer ONLY) (Low)
Date Resolved: 21 Mar 2017
References: Sec 3382 / CVE-2017-6459 / VU#325339
Affects: WINDOWS installer ONLY: All ntp-4 versions of the Windows
installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0
up to, but not including ntp-4.3.94.
CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
Summary:
The Windows installer for NTP calls strcpy() with an argument
that specifically contains multiple null bytes. strcpy() only
copies a single terminating null character into the target
buffer instead of copying the required double null bytes in the
addKeysToRegistry() function. As a consequence, a garbage
registry entry can be created. The additional arsize parameter
is erroneously set to contain two null bytes and the following
call to RegSetValueEx() claims to be passing in a multi-string
value, though this may not be true.
Mitigation:
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page
Credit:
This weakness was discovered by Cure53.
* NTP-01-006 NTP: Copious amounts of Unused Code (Informational)
References: Sec 3381
Summary:
The report says: Statically included external projects
potentially introduce several problems and the issue of having
extensive amounts of code that is "dead" in the resulting binary
must clearly be pointed out. The unnecessary unused code may or
may not contain bugs and, quite possibly, might be leveraged for
code-gadget-based branch-flow redirection exploits. Analogically,
having source trees statically included as well means a failure
in taking advantage of the free feature for periodical updates.
This solution is offered by the system's Package Manager. The
three libraries identified are libisc, libevent, and libopts.
Resolution:
For libisc, we already only use a portion of the original library.
We've found and fixed bugs in the original implementation (and
offered the patches to ISC), and plan to see what has changed
since we last upgraded the code. libisc is generally not
installed, and when it it we usually only see the static libisc.a
file installed. Until we know for sure that the bugs we've found
and fixed are fixed upstream, we're better off with the copy we
are using.
Version 1 of libevent was the only production version available
until recently, and we've been requiring version 2 for a long time.
But if the build system has at least version 2 of libevent
installed, we'll use the version that is installed on the system.
Otherwise, we provide a copy of libevent that we know works.
libopts is provided by GNU AutoGen, and that library and package
undergoes frequent API version updates. The version of autogen
used to generate the tables for the code must match the API
version in libopts. AutoGen can be ... difficult to build and
install, and very few developers really need it. So we have it
on our build and development machines, and we provide the
specific version of the libopts code in the distribution to make
sure that the proper API version of libopts is available.
As for the point about there being code in these libraries that
NTP doesn't use, OK. But other packages used these libraries as
well, and it is reasonable to assume that other people are paying
attention to security and code quality issues for the overall
libraries. It takes significant resources to analyze and
customize these libraries to only include what we need, and to
date we believe the cost of this effort does not justify the benefit.
Credit:
This issue was discovered by Cure53.
* NTP-01-005 NTP: Off-by-one in Oncore GPS Receiver (Low)
Date Resolved: 21 Mar 2017
References: Sec 3380
Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
ntp-4.3.0 up to, but not including ntp-4.3.94.
CVSS2: None 0.0 (AV:L/AC:H/Au:N/C:N/I:N/A:N)
CVSS3: None 0.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N
Summary:
There is a fencepost error in a "recovery branch" of the code for
the Oncore GPS receiver if the communication link to the ONCORE
is weak / distorted and the decoding doesn't work.
Mitigation:
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or
the NTP Public Services Project Download Page
Properly monitor your ntpd instances, and auto-restart
ntpd (without -g) if it stops running.
Credit:
This weakness was discovered by Cure53.
* NTP-01-004 NTP: Potential Overflows in ctl_put() functions (Medium)
Date Resolved: 21 Mar 2017
References: Sec 3379 / CVE-2017-6458 / VU#325339
Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
ntp-4.3.0 up to, but not including ntp-4.3.94.
CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
Summary:
ntpd makes use of different wrappers around ctl_putdata() to
create name/value ntpq (mode 6) response strings. For example,
ctl_putstr() is usually used to send string data (variable names
or string data). The formatting code was missing a length check
for variable names. If somebody explicitly created any unusually
long variable names in ntpd (longer than 200-512 bytes, depending
on the type of variable), then if any of these variables are
added to the response list it would overflow a buffer.
Mitigation:
Implement BCP-38.
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page
If you don't want to upgrade, then don't setvar variable names
longer than 200-512 bytes in your ntp.conf file.
Properly monitor your ntpd instances, and auto-restart
ntpd (without -g) if it stops running.
Credit:
This weakness was discovered by Cure53.
* NTP-01-003 NTP: Improper use of snprintf() in mx4200_send() (Low)
Date Resolved: 21 Mar 2017
References: Sec 3378 / CVE-2017-6451 / VU#325339
Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
ntp-4.3.0 up to, but not including ntp-4.3.94.
CVSS2: LOW 0.8 (AV:L/AC:H/Au:M/C:N/I:N/A:P)
CVSS3: LOW 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N
Summary:
The legacy MX4200 refclock is only built if is specifically
enabled, and furthermore additional code changes are required to
compile and use it. But it uses the libc functions snprintf()
and vsnprintf() incorrectly, which can lead to an out-of-bounds
memory write due to an improper handling of the return value of
snprintf()/vsnprintf(). Since the return value is used as an
iterator and it can be larger than the buffer's size, it is
possible for the iterator to point somewhere outside of the
allocated buffer space. This results in an out-of-bound memory
write. This behavior can be leveraged to overwrite a saved
instruction pointer on the stack and gain control over the
execution flow. During testing it was not possible to identify
any malicious usage for this vulnerability. Specifically, no
way for an attacker to exploit this vulnerability was ultimately
unveiled. However, it has the potential to be exploited, so the
code should be fixed.
Mitigation, if you have a Magnavox MX4200 refclock:
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page.
Properly monitor your ntpd instances, and auto-restart
ntpd (without -g) if it stops running.
Credit:
This weakness was discovered by Cure53.
* NTP-01-002 NTP: Buffer Overflow in ntpq when fetching reslist from a
malicious ntpd (Medium)
Date Resolved: 21 Mar 2017
References: Sec 3377 / CVE-2017-6460 / VU#325339
Affects: All versions of ntpq, up to but not including ntp-4.2.8p10, and
ntp-4.3.0 up to, but not including ntp-4.3.94.
CVSS2: MED 4.9 (AV:N/AC:H/Au:S/C:N/I:N/A:C)
CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
Summary:
A stack buffer overflow in ntpq can be triggered by a malicious
ntpd server when ntpq requests the restriction list from the server.
This is due to a missing length check in the reslist() function.
It occurs whenever the function parses the server's response and
encounters a flagstr variable of an excessive length. The string
will be copied into a fixed-size buffer, leading to an overflow on
the function's stack-frame. Note well that this problem requires
a malicious server, and affects ntpq, not ntpd.
Mitigation:
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page
If you can't upgrade your version of ntpq then if you want to know
the reslist of an instance of ntpd that you do not control,
know that if the target ntpd is malicious that it can send back
a response that intends to crash your ntpq process.
Credit:
This weakness was discovered by Cure53.
* NTP-01-001 NTP: Makefile does not enforce Security Flags (Informational)
Date Resolved: 21 Mar 2017
References: Sec 3376
Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
ntp-4.3.0 up to, but not including ntp-4.3.94.
CVSS2: N/A
CVSS3: N/A
Summary:
The build process for NTP has not, by default, provided compile
or link flags to offer "hardened" security options. Package
maintainers have always been able to provide hardening security
flags for their builds. As of ntp-4.2.8p10, the NTP build
system has a way to provide OS-specific hardening flags. Please
note that this is still not a really great solution because it
is specific to NTP builds. It's inefficient to have every
package supply, track and maintain this information for every
target build. It would be much better if there was a common way
for OSes to provide this information in a way that arbitrary
packages could benefit from it.
Mitigation:
Implement BCP-38.
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page
Properly monitor your ntpd instances, and auto-restart
ntpd (without -g) if it stops running.
Credit:
This weakness was reported by Cure53.
* 0rigin DoS (Medium)
Date Resolved: 21 Mar 2017
References: Sec 3361 / CVE-2016-9042 / VU#325339
Affects: ntp-4.2.8p9 (21 Nov 2016), up to but not including ntp-4.2.8p10
CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C) (worst case)
CVSS3: MED 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H (worst case)
Summary:
An exploitable denial of service vulnerability exists in the
origin timestamp check functionality of ntpd 4.2.8p9. A specially
crafted unauthenticated network packet can be used to reset the
expected origin timestamp for target peers. Legitimate replies
from targeted peers will fail the origin timestamp check (TEST2)
causing the reply to be dropped and creating a denial of service
condition. This vulnerability can only be exploited if the
attacker can spoof all of the servers.
Mitigation:
Implement BCP-38.
Configure enough servers/peers that an attacker cannot target
all of your time sources.
Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
or the NTP Public Services Project Download Page
Properly monitor your ntpd instances, and auto-restart
ntpd (without -g) if it stops running.
Credit:
This weakness was discovered by Matthew Van Gundy of Cisco.
Other fixes:
* [Bug 3393] clang scan-build findings <perlinger@ntp.org>
* [Bug 3363] Support for openssl-1.1.0 without compatibility modes
- rework of patch set from <ntp.org@eroen.eu>. <perlinger@ntp.org>
* [Bug 3356] Bugfix 3072 breaks multicastclient <perlinger@ntp.org>
* [Bug 3216] libntp audio ioctl() args incorrectly cast to int
on 4.4BSD-Lite derived platforms <perlinger@ntp.org>
- original patch by Majdi S. Abbas
* [Bug 3215] 'make distcheck' fails with new BK repo format <perlinger@ntp.org>
* [Bug 3173] forking async worker: interrupted pipe I/O <perlinger@ntp.org>
- initial patch by Christos Zoulas
* [Bug 3139] (...) time_pps_create: Exec format error <perlinger@ntp.org>
- move loader API from 'inline' to proper source
- augment pathless dlls with absolute path to NTPD
- use 'msyslog()' instead of 'printf() 'for reporting trouble
* [Bug 3107] Incorrect Logic for Peer Event Limiting <perlinger@ntp.org>
- applied patch by Matthew Van Gundy
* [Bug 3065] Quiet warnings on NetBSD <perlinger@ntp.org>
- applied some of the patches provided by Havard. Not all of them
still match the current code base, and I did not touch libopt.
* [Bug 3062] Change the process name of forked DNS worker <perlinger@ntp.org>
- applied patch by Reinhard Max. See bugzilla for limitations.
* [Bug 2923] Trap Configuration Fail <perlinger@ntp.org>
- fixed dependency inversion from [Bug 2837]
* [Bug 2896] Nothing happens if minsane < maxclock < minclock
- produce ERROR log message about dysfunctional daemon. <perlinger@ntp.org>
* [Bug 2851] allow -4/-6 on restrict line with mask <perlinger@ntp.org>
- applied patch by Miroslav Lichvar for ntp4.2.6 compat
* [Bug 2645] out-of-bound pointers in ctl_putsys and decode_bitflags
- Fixed these and some more locations of this pattern.
Probably din't get them all, though. <perlinger@ntp.org>
* Update copyright year.
--
(4.2.8p9-win) 2017/02/01 Released by Harlan Stenn <stenn@ntp.org>
* [Bug 3144] NTP does not build without openSSL. <perlinger@ntp.org>
- added missed changeset for automatic openssl lib detection
- fixed some minor warning issues
* [Bug 3095] More compatibility with openssl 1.1. <perlinger@ntp.org>
* configure.ac cleanup. stenn@ntp.org
* openssl configure cleanup. stenn@ntp.org
--
NTP 4.2.8p9 (Harlan Stenn <stenn@ntp.org>, 2016/11/21)
Focus: Security, Bug fixes, enhancements.

View File

@ -1347,6 +1347,7 @@ m4_include([sntp/m4/ntp_debug.m4])
m4_include([sntp/m4/ntp_dir_sep.m4])
m4_include([sntp/m4/ntp_facilitynames.m4])
m4_include([sntp/m4/ntp_googletest.m4])
m4_include([sntp/m4/ntp_harden.m4])
m4_include([sntp/m4/ntp_ipv6.m4])
m4_include([sntp/m4/ntp_lib_m.m4])
m4_include([sntp/m4/ntp_libevent.m4])

View File

@ -8,12 +8,15 @@ BUILT_SOURCES =
CLEANFILES =
EXTRA_PROGRAMS = adjtimed
AM_CFLAGS = $(CFLAGS_NTP)
AM_CFLAGS = $(CFLAGS_NTP)
AM_CFLAGS += $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS)
AM_CPPFLAGS += $(CPPFLAGS_NTP)
AM_CPPFLAGS += $(NTP_HARD_CPPFLAGS)
LDADD = ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) $(PTHREAD_LIBS)
AM_LDFLAGS = $(NTP_HARD_LDFLAGS)
include $(top_srcdir)/bincheck.mf
include $(top_srcdir)/sntp/check-libntp.mf

View File

@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -247,10 +248,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -303,6 +300,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -366,6 +364,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -439,7 +440,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@ -489,9 +489,10 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
BUILT_SOURCES = check-libntp .deps-ver
CLEANFILES = check-libntp .deps-ver
AM_CFLAGS = $(CFLAGS_NTP)
AM_CPPFLAGS = $(NTP_INCS) $(CPPFLAGS_NTP)
AM_CFLAGS = $(CFLAGS_NTP) $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS) $(CPPFLAGS_NTP) $(NTP_HARD_CPPFLAGS)
LDADD = ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) $(PTHREAD_LIBS)
AM_LDFLAGS = $(NTP_HARD_LDFLAGS)
NTP_INCS = -I$(top_srcdir)/include -I$(top_srcdir)/lib/isc/include \
-I$(top_srcdir)/lib/isc/$(LIBISC_PTHREADS_NOTHREADS)/include \
-I$(top_srcdir)/lib/isc/unix/include

View File

@ -2,11 +2,14 @@ noinst_PROGRAMS = @PROPDELAY@ @CHUTEST@
EXTRA_PROGRAMS = propdelay chutest
AM_CFLAGS = $(CFLAGS_NTP)
AM_CFLAGS += $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS)
AM_CPPFLAGS += $(CPPFLAGS_NTP)
AM_CPPFLAGS += $(NTP_HARD_CPPFLAGS)
LDADD = ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) $(PTHREAD_LIBS)
AM_LDFLAGS = $(NTP_HARD_LDFLAGS)
propdelay_LDADD = $(LDADD)
BUILT_SOURCES =

View File

@ -109,6 +109,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -242,10 +243,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -298,6 +295,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -361,6 +359,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -434,7 +435,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@ -483,9 +483,10 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
noinst_PROGRAMS = @PROPDELAY@ @CHUTEST@
AM_CFLAGS = $(CFLAGS_NTP)
AM_CPPFLAGS = $(NTP_INCS) $(CPPFLAGS_NTP)
AM_CFLAGS = $(CFLAGS_NTP) $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS) $(CPPFLAGS_NTP) $(NTP_HARD_CPPFLAGS)
LDADD = ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) $(PTHREAD_LIBS)
AM_LDFLAGS = $(NTP_HARD_LDFLAGS)
propdelay_LDADD = $(LDADD)
BUILT_SOURCES = check-libntp .deps-ver
CLEANFILES = check-libntp .deps-ver

View File

@ -1,142 +0,0 @@
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
scriptversion=2005-05-14.22
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand `-c -o'.
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file `INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
esac
ofile=
cfile=
eat=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as `compile cc -o foo foo.c'.
# So we strip `-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no `-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# `.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
# Create the lock directory.
# Note: use `[/.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

1517
contrib/ntp/config.guess vendored

File diff suppressed because it is too large Load Diff

View File

@ -1342,8 +1342,7 @@
/* Should we align with the NIST lockclock scheme? */
#undef LOCKCLOCK
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
/* Does the target support multicast IP? */
@ -1395,9 +1394,6 @@
/* Should we NOT read /dev/kmem? */
#undef NOKMEM
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
/* Should we avoid #warning on option name collisions? */
#undef NO_OPTION_NAME_WARNINGS

1756
contrib/ntp/config.sub vendored

File diff suppressed because it is too large Load Diff

7702
contrib/ntp/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -65,13 +65,16 @@ ntp_ripe_ncc_ok=${ntp_parse_ok=no}
ntp_jupiter_ok=${ntp_jupiter_ok=no}
NTP_PROG_CC
AC_PROG_CPP
# Do we need CXX for anything besides google test?
AC_PROG_CXX
NTP_COMPILER
dnl # Do we need CXX for anything besides google test?
dnl AC_PROG_CXX
AC_PROG_YACC
AC_PROG_CC_C_O
dnl AC_PROG_CC_C_O # called by NTP_COMPILER
AX_C99_STRUCT_INIT
NTP_HARDEN([sntp])
NTP_VPATH_HACK dnl used only by ntpd/Makefile.am
NTP_LOCINFO([sntp]) dnl takes over from NTP_BINDIR, in NTP_LIBNTP
@ -169,7 +172,6 @@ case "$ans" in
;;
esac
PROG_NET_SNMP_CONFIG=$ans
AC_MSG_CHECKING([for net-snmp-config path])
case "$PROG_NET_SNMP_CONFIG" in
no) ;;
/*)
@ -180,6 +182,7 @@ case "$PROG_NET_SNMP_CONFIG" in
AS_UNSET([ac_cv_path_PATH_NET_SNMP_CONFIG])
;;
esac
AC_MSG_CHECKING([for net-snmp-config path])
AC_MSG_RESULT([$PATH_NET_SNMP_CONFIG])
case "$PATH_NET_SNMP_CONFIG" in

View File

@ -1,530 +0,0 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2005-07-09.11
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mecanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -10,12 +10,12 @@
<h3>Copyright Notice</h3>
<img src="pic/sheepb.jpg" alt="jpg" align="left"> "Clone me," says Dolly sheepishly.
<p>Last update:
<!-- #BeginDate format:En2m -->17-Jan-2015 00:16<!-- #EndDate -->
<!-- #BeginDate format:En2m -->2-Jan-2017 11:58<!-- #EndDate -->
UTC</p>
<br clear="left">
</p>
<hr>
<p>The following copyright notice applies to all files collectively called the Network Time Protocol Version 4 Distribution. Unless specifically declared otherwise in an individual file, this entire notice applies as if the text was explicitly included in the file.</p>
<p>The following copyright notice applies to all files collectively called the Network Time Protocol Version 4 Distribution. Unless specifically declared otherwise in an individual file, this entire notice applies as if the text was explicitly included in the file.</p>
<pre>
***********************************************************************
* *
@ -39,7 +39,7 @@
<pre>
***********************************************************************
* *
* Copyright (c) Network Time Foundation 2011-2015 *
* Copyright (c) Network Time Foundation 2011-2017 *
* *
* All Rights Reserved *
* *
@ -67,7 +67,7 @@
* DAMAGE. *
***********************************************************************
</pre>
<p>The following individuals contributed in part to the Network Time Protocol Distribution Version 4 and are acknowledged as authors of this work.</p>
<p>The following individuals contributed in part to the Network Time Protocol Distribution Version 4 and are acknowledged as authors of this work.</p>
<ol>
<li><a href="mailto:%20takao_abe@xurb.jp">Takao Abe &lt;takao_abe@xurb.jp&gt;</a> Clock driver for JJY receivers</li>
<li><a href="mailto:%20mark_andrews@isc.org">Mark Andrews &lt;mark_andrews@isc.org&gt;</a> Leitch atomic clock controller</li>
@ -96,7 +96,7 @@
<li><a href="mailto:%20jbj@chatham.usdesign.com">Jeff Johnson &lt;jbj@chatham.usdesign.com&gt;</a> massive prototyping overhaul</li>
<li><a href="mailto:%20Hans.Lambermont@nl.origin-it.com">Hans Lambermont &lt;Hans.Lambermont@nl.origin-it.com&gt;</a> or <a href="mailto:H.Lambermont@chello.nl">&lt;H.Lambermont@chello.nl&gt;</a> ntpsweep</li>
<li><a href="mailto:%20phk@FreeBSD.ORG">Poul-Henning Kamp &lt;phk@FreeBSD.ORG&gt;</a> Oncore driver (Original author)</li>
<li><a href="http://www4.informatik.uni-erlangen.de/%7ekardel">Frank Kardel</a> <a href="mailto:%20kardel%20%28at%29%20ntp%20%28dot%29%20org">&lt;kardel (at) ntp (dot) org&gt;</a> PARSE &lt;GENERIC&gt; (driver 14 reference clocks), STREAMS modules for PARSE, support scripts, syslog cleanup, dynamic interface handling</li>
<li><a href="http://www4.informatik.uni-erlangen.de/%7ekardel">Frank Kardel</a> <a href="mailto:%20kardel%20%28at%29%20ntp%20%28dot%29%20org">&lt;kardel (at) ntp (dot) org&gt;</a> PARSE &lt;GENERIC&gt; (driver 14 reference clocks), STREAMS modules for PARSE, support scripts, syslog cleanup, dynamic interface handling</li>
<li><a href="mailto:kuehn@ntp.org">Johannes Maximilian Kuehn &lt;kuehn@ntp.org&gt;</a> Rewrote <tt>sntp</tt> to comply with NTPv4 specification, <tt>ntpq saveconfig</tt></li>
<li><a href="mailto:%20jones@hermes.chpc.utexas.edu">William L. Jones &lt;jones@hermes.chpc.utexas.edu&gt;</a> RS/6000 AIX modifications, HPUX modifications</li>
<li><a href="mailto:%20dkatz@cisco.com">Dave Katz &lt;dkatz@cisco.com&gt;</a> RS/6000 AIX port</li>

View File

@ -108,6 +108,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -245,10 +246,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -301,6 +298,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -364,6 +362,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -437,7 +438,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@

View File

@ -108,6 +108,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -203,10 +204,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -259,6 +256,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -322,6 +320,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -395,7 +396,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@

View File

@ -24,6 +24,18 @@
#include "openssl/dsa.h"
#include "openssl/rsa.h"
#ifndef OPENSSL_VERSION_NUMBER
#define OPENSSL_VERSION_NUMBER SSLEAY_VERSION_NUMBER
#endif
#ifndef OPENSSL_VERSION_TEXT
#define OPENSSL_VERSION_TEXT SSLEAY_VERSION_TEXT
#endif
#ifndef OPENSSL_VERSION
#define OPENSSL_VERSION SSLEAY_VERSION
#endif
/* ----------------------------------------------------------------- */
#if OPENSSL_VERSION_NUMBER < 0x10100000L
/* ----------------------------------------------------------------- */
@ -93,6 +105,13 @@ extern int sslshim_X509_get_signature_nid(const X509 *x);
#define X509_get_signature_nid sslshim_X509_get_signature_nid
#define OpenSSL_version_num SSLeay
#define OpenSSL_version SSLeay_version
#define X509_get0_notBefore X509_get_notBefore
#define X509_getm_notBefore X509_get_notBefore
#define X509_get0_notAfter X509_get_notAfter
#define X509_getm_notAfter X509_get_notAfter
/* ----------------------------------------------------------------- */
#endif /* OPENSSL_VERSION_NUMBER < v1.1.0 */
/* ----------------------------------------------------------------- */

View File

@ -24,6 +24,7 @@
invalidsyntax: AUTOKEY should be defined only if OPENSSL is.
#endif
#include "openssl/bn.h"
#include "openssl/evp.h"
#include "ntp_calendar.h" /* for fields in the cert_info structure */

View File

@ -352,7 +352,7 @@ extern int buftvtots (const char *, l_fp *);
extern char * fptoa (s_fp, short);
extern char * fptoms (s_fp, short);
extern int hextolfp (const char *, l_fp *);
extern void gpstolfp (int, int, unsigned long, l_fp *);
extern void gpstolfp (u_int, u_int, unsigned long, l_fp *);
extern int mstolfp (const char *, l_fp *);
extern char * prettydate (l_fp *);
extern char * gmprettydate (l_fp *);

View File

@ -8,6 +8,7 @@
#ifdef OPENSSL
# include "openssl/evp.h"
# include "libssl_compat.h"
#else /* !OPENSSL follows */
/*
* Provide OpenSSL-alike MD5 API if we're not using OpenSSL
@ -23,6 +24,9 @@
# endif
typedef MD5_CTX EVP_MD_CTX;
# define EVP_MD_CTX_free(c) free(c)
# define EVP_MD_CTX_new() calloc(1, sizeof(MD5_CTX))
# define EVP_get_digestbynid(t) NULL
# define EVP_md5() NULL
# define EVP_MD_CTX_init(c)

View File

@ -105,21 +105,23 @@ extern u_int32 addr2refid (sockaddr_u *);
/* emalloc.c */
#ifndef EREALLOC_CALLSITE /* ntp_malloc.h defines */
extern void * ereallocz (void *, size_t, size_t, int);
extern void * oreallocarray (void *optr, size_t nmemb, size_t size);
extern void * oreallocarrayxz (void *optr, size_t nmemb, size_t size, size_t extra);
#define erealloczsite(p, n, o, z, f, l) ereallocz((p), (n), (o), (z))
#define emalloc(n) ereallocz(NULL, (n), 0, FALSE)
#define emalloc_zero(c) ereallocz(NULL, (c), 0, TRUE)
#define erealloc(p, c) ereallocz((p), (c), 0, FALSE)
#define erealloc_zero(p, n, o) ereallocz((p), (n), (o), TRUE)
#define ereallocarray(p, n, s) oreallocarray((p), (n), (s))
#define eallocarray(n, s) oreallocarray(NULL, (n), (s))
#define ereallocarray(p, n, s) oreallocarrayxz((p), (n), (s), 0)
#define eallocarray(n, s) oreallocarrayxz(NULL, (n), (s), 0)
#define ereallocarrayxz(p, n, s, x) oreallocarrayxz((p), (n), (s), (x))
#define eallocarrayxz(n, s, x) oreallocarrayxz(NULL, (n), (s), (x))
extern char * estrdup_impl(const char *);
#define estrdup(s) estrdup_impl(s)
#else
extern void * ereallocz (void *, size_t, size_t, int,
const char *, int);
extern void * oreallocarray (void *optr, size_t nmemb, size_t size,
const char *, int);
extern void * oreallocarrayxz (void *optr, size_t nmemb, size_t size,
size_t extra, const char *, int);
#define erealloczsite ereallocz
#define emalloc(c) ereallocz(NULL, (c), 0, FALSE, \
__FILE__, __LINE__)
@ -129,9 +131,13 @@ extern void * oreallocarray (void *optr, size_t nmemb, size_t size,
__FILE__, __LINE__)
#define erealloc_zero(p, n, o) ereallocz((p), (n), (o), TRUE, \
__FILE__, __LINE__)
#define ereallocarray(p, n, s) oreallocarray((p), (n), (s), \
#define ereallocarray(p, n, s) oreallocarrayxz((p), (n), (s), 0, \
__FILE__, __LINE__)
#define eallocarray(n, s) oreallocarray(NULL, (n), (s), \
#define eallocarray(n, s) oreallocarrayxz(NULL, (n), (s), 0, \
__FILE__, __LINE__)
#define ereallocarrayxz(p, n, s, x) oreallocarrayxz((p), (n), (s), (x), \
__FILE__, __LINE__)
#define eallocarrayxz(n, s, x) oreallocarrayxz(NULL, (n), (s), (x), \
__FILE__, __LINE__)
extern char * estrdup_impl(const char *, const char *, int);
#define estrdup(s) estrdup_impl((s), __FILE__, __LINE__)

View File

@ -321,6 +321,8 @@ extern void parse_cmdline_opts(int *, char ***);
/* ntp_config.c */
extern char const * progname;
extern int saved_argc;
extern char **saved_argv;
extern char *sys_phone[]; /* ACTS phone numbers */
#if defined(HAVE_SCHED_SETSCHEDULER)
extern int config_priority_override;
@ -487,12 +489,13 @@ extern u_char sys_bcpollbstep; /* broadcast poll backstep gate */
extern u_long sys_epoch; /* last clock update time */
extern keyid_t sys_private; /* private value for session seed */
extern int sys_manycastserver; /* respond to manycast client pkts */
extern int sys_maxclock; /* maximum survivors */
extern int sys_minclock; /* minimum survivors */
extern int sys_minsane; /* minimum candidates */
extern int sys_floor; /* cluster stratum floor */
extern int sys_ceiling; /* cluster stratum ceiling */
extern u_char sys_ttl[MAX_TTL]; /* ttl mapping vector */
extern int sys_ttlmax; /* max ttl mapping vector index */
extern u_int sys_ttlmax; /* max ttl mapping vector index */
/*
* Statistics counters

View File

@ -10,8 +10,13 @@
# ifdef _MSC_VER
# pragma warning(push)
# pragma warning(disable: 4152)
# ifndef OPENSSL_NO_AUTOLINK
# include "msvc_ssl_autolib.h"
# endif
# endif
# if OPENSSL_VERSION_NUMBER < 0x10100000L
# include <openssl/applink.c>
# endif
# include <openssl/applink.c>
# ifdef _MSC_VER
# pragma warning(pop)
# endif
@ -25,20 +30,30 @@
void *wrap_dbg_malloc(size_t s, const char *f, int l);
void *wrap_dbg_realloc(void *p, size_t s, const char *f, int l);
void wrap_dbg_free(void *p);
void wrap_dbg_free_ex(void *p, const char *f, int l);
#endif
#if defined(OPENSSL) && defined(SYS_WINNT)
void ssl_applink(void);
void
ssl_applink(void)
{
#ifdef WRAP_DBG_MALLOC
CRYPTO_set_mem_ex_functions(wrap_dbg_malloc, wrap_dbg_realloc, wrap_dbg_free);
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
# ifdef WRAP_DBG_MALLOC
CRYPTO_set_mem_functions(wrap_dbg_malloc, wrap_dbg_realloc, wrap_dbg_free_ex);
# else
OPENSSL_malloc_init();
# endif
#else
# ifdef WRAP_DBG_MALLOC
CRYPTO_set_mem_ex_functions(wrap_dbg_malloc, wrap_dbg_realloc, wrap_dbg_free);
# else
CRYPTO_malloc_init();
#endif
# endif
#endif /* OpenSSL version cascade */
}
#else /* !OPENSSL || !SYS_WINNT */
#define ssl_applink() do {} while (0)
@ -71,4 +86,11 @@ void wrap_dbg_free(void *p)
{
_free_dbg(p, _NORMAL_BLOCK);
}
void wrap_dbg_free_ex(void *p, const char *f, int l)
{
(void)f;
(void)l;
_free_dbg(p, _NORMAL_BLOCK);
}
#endif /* WRAP_DBG_MALLOC */

View File

@ -1,323 +0,0 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2005-05-14.22
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
chmodcmd="$chmodprog 0755"
chowncmd=
chgrpcmd=
stripcmd=
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=
dst=
dir_arg=
dstarg=
no_target_directory=
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
-c (ignored)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit.
--version display version info and exit.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
"
while test -n "$1"; do
case $1 in
-c) shift
continue;;
-d) dir_arg=true
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
--help) echo "$usage"; exit $?;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t) dstarg=$2
shift
shift
continue;;
-T) no_target_directory=true
shift
continue;;
--version) echo "$0 $scriptversion"; exit $?;;
*) # When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
test -n "$dir_arg$dstarg" && break
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
break;;
esac
done
if test -z "$1"; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src ;;
esac
if test -n "$dir_arg"; then
dst=$src
src=
if test -d "$dst"; then
mkdircmd=:
chmodcmd=
else
mkdircmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dstarg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dstarg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst ;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
dst=$dst/`basename "$src"`
fi
fi
# This sed command emulates the dirname command.
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# Skip lots of stat calls in the usual case.
if test ! -d "$dstdir"; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
shift
IFS=$oIFS
pathcomp=
while test $# -ne 0 ; do
pathcomp=$pathcomp$1
shift
if test ! -d "$pathcomp"; then
$mkdirprog "$pathcomp"
# mkdir can fail with a `File exist' error in case several
# install-sh are creating the directory concurrently. This
# is OK.
test -d "$pathcomp" || exit
fi
pathcomp=$pathcomp/
done
fi
if test -n "$dir_arg"; then
$doit $mkdircmd "$dst" \
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else
dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
trap '(exit $?); exit' 1 2 13 15
# Copy the file name to the temp name.
$doit $cpprog "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
# Now rename the file to the real destination.
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|| {
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
if test -f "$dstdir/$dstfile"; then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit 1
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
}
}
fi || { (exit 1); exit 1; }
done
# The final little trick to "correctly" pass the exit status to the exit trap.
{
(exit 0); exit 0
}
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -107,6 +107,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -242,10 +243,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -298,6 +295,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -361,6 +359,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -434,7 +435,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@

View File

@ -108,6 +108,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -203,10 +204,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -259,6 +256,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -322,6 +320,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -395,7 +396,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@

View File

@ -170,7 +170,7 @@ inet_pton6(const char *src, unsigned char *dst) {
colonp = tp;
continue;
}
if (tp + NS_INT16SZ > endp)
if (NS_INT16SZ > endp - tp)
return (0);
*tp++ = (unsigned char) (val >> 8) & 0xff;
*tp++ = (unsigned char) val & 0xff;
@ -178,7 +178,7 @@ inet_pton6(const char *src, unsigned char *dst) {
val = 0;
continue;
}
if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) &&
if (ch == '.' && (NS_INADDRSZ <= endp - tp) &&
inet_pton4(curtok, tp) > 0) {
tp += NS_INADDRSZ;
seen_xdigits = 0;
@ -187,7 +187,7 @@ inet_pton6(const char *src, unsigned char *dst) {
return (0);
}
if (seen_xdigits) {
if (tp + NS_INT16SZ > endp)
if (NS_INT16SZ > endp - tp)
return (0);
*tp++ = (unsigned char) (val >> 8) & 0xff;
*tp++ = (unsigned char) val & 0xff;

View File

@ -119,10 +119,14 @@ libntpsim_a_SOURCES = systime_s.c $(libntp_a_SRCS)
EXTRA_libntp_a_SOURCES = adjtimex.c
AM_CFLAGS = $(CFLAGS_NTP)
AM_CFLAGS += $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS)
AM_CPPFLAGS += $(LIBOPTS_CFLAGS)
AM_CPPFLAGS += $(CPPFLAGS_NTP)
AM_CPPFLAGS += $(NTP_HARD_CPPFLAGS)
AM_LDFLAGS = $(NTP_HARD_LDFLAGS)
EXTRA_DIST = README

View File

@ -109,6 +109,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -366,10 +367,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -422,6 +419,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -485,6 +483,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -558,7 +559,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@ -710,8 +710,10 @@ libntp_a_SRCS = \
libntp_a_SOURCES = systime.c $(libntp_a_SRCS)
libntpsim_a_SOURCES = systime_s.c $(libntp_a_SRCS)
EXTRA_libntp_a_SOURCES = adjtimex.c
AM_CFLAGS = $(CFLAGS_NTP)
AM_CPPFLAGS = $(NTP_INCS) $(LIBOPTS_CFLAGS) $(CPPFLAGS_NTP)
AM_CFLAGS = $(CFLAGS_NTP) $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS) $(LIBOPTS_CFLAGS) $(CPPFLAGS_NTP) \
$(NTP_HARD_CPPFLAGS)
AM_LDFLAGS = $(NTP_HARD_LDFLAGS)
EXTRA_DIST = README
NTP_INCS = -I$(top_srcdir)/include -I$(top_srcdir)/lib/isc/include \
-I$(top_srcdir)/lib/isc/$(LIBISC_PTHREADS_NOTHREADS)/include \

View File

@ -11,7 +11,6 @@
#include "ntp.h"
#include "ntp_md5.h" /* provides OpenSSL digest API */
#include "isc/string.h"
#include "libssl_compat.h"
/*
* MD5authencrypt - generate message digest
*

View File

@ -46,6 +46,19 @@
# include <ctype.h>
#endif
/*
* 4.4BSD-Lite switched to an unsigned long ioctl arg. Detect common
* derivatives here, and apply that type. To make the following code
* less verbose we make a proper typedef.
* The joy of IOCTL programming...
*/
# if defined(__FreeBSD__) || defined(__APPLE__) || defined(__NetBSD__) || defined __OpenBSD__
typedef unsigned long ioctl_arg_T;
#else
typedef int ioctl_arg_T;
#endif
/*
* Global variables
*/
@ -54,13 +67,14 @@ static struct audio_device device; /* audio device ident */
#endif /* HAVE_SYS_AUDIOIO_H */
#ifdef PCM_STYLE_SOUND
# define INIT_FILE "/etc/ntp.audio"
int agc = SOUND_MIXER_WRITE_RECLEV; /* or IGAIN or LINE */
int audiomonitor = SOUND_MIXER_WRITE_VOLUME; /* or OGAIN */
int devmask = 0;
int recmask = 0;
char cf_c_dev[100], cf_i_dev[100], cf_agc[100], cf_monitor[100];
const char *m_names[SOUND_MIXER_NRDEVICES] = SOUND_DEVICE_NAMES;
static ioctl_arg_T agc = SOUND_MIXER_WRITE_RECLEV; /* or IGAIN or LINE */
static ioctl_arg_T audiomonitor = SOUND_MIXER_WRITE_VOLUME; /* or OGAIN */
static int devmask = 0;
static int recmask = 0;
static char cf_c_dev[100], cf_i_dev[100], cf_agc[100], cf_monitor[100];
static const char *m_names[SOUND_MIXER_NRDEVICES] = SOUND_DEVICE_NAMES;
#else /* not PCM_STYLE_SOUND */
static struct audio_info info; /* audio device info */
#endif /* not PCM_STYLE_SOUND */
@ -347,7 +361,7 @@ audio_init(
# ifdef HAVE_SYS_AUDIOIO_H
info.record.buffer_size = bufsiz;
# endif /* HAVE_SYS_AUDIOIO_H */
rval = ioctl(ctl_fd, (int)AUDIO_SETINFO, (char *)&info);
rval = ioctl(ctl_fd, AUDIO_SETINFO, (char *)&info);
if (rval < 0) {
msyslog(LOG_ERR, "audio: invalid control device parameters");
close(ctl_fd);
@ -448,7 +462,7 @@ audio_gain(
o_port = port;
}
#else /* not PCM_STYLE_SOUND */
ioctl(ctl_fd, (int)AUDIO_GETINFO, (char *)&info);
ioctl(ctl_fd, AUDIO_GETINFO, (char *)&info);
info.record.encoding = AUDIO_ENCODING_ULAW;
info.record.error = 0;
info.record.gain = gain;
@ -456,7 +470,7 @@ audio_gain(
o_mongain = info.monitor_gain = mongain;
if (o_port != port)
o_port = info.record.port = port;
rval = ioctl(ctl_fd, (int)AUDIO_SETINFO, (char *)&info);
rval = ioctl(ctl_fd, AUDIO_SETINFO, (char *)&info);
if (rval < 0) {
msyslog(LOG_ERR, "audio_gain: %m");
return (rval);
@ -485,11 +499,11 @@ audio_show(void)
#else /* not PCM_STYLE_SOUND */
# ifdef HAVE_SYS_AUDIOIO_H
ioctl(ctl_fd, (int)AUDIO_GETDEV, &device);
ioctl(ctl_fd, AUDIO_GETDEV, &device);
printf("audio: name %s, version %s, config %s\n",
device.name, device.version, device.config);
# endif /* HAVE_SYS_AUDIOIO_H */
ioctl(ctl_fd, (int)AUDIO_GETINFO, (char *)&info);
ioctl(ctl_fd, AUDIO_GETINFO, (char *)&info);
printf(
"audio: rate %d, chan %d, prec %d, code %d, gain %d, mon %d, port %d\n",
info.record.sample_rate, info.record.channels,

View File

@ -250,7 +250,7 @@ auth_moremem(
i = (keycount > 0)
? keycount
: MEMINC;
sk = emalloc_zero(i * sizeof(*sk) + MOREMEM_EXTRA_ALLOC);
sk = eallocarrayxz(i, sizeof(*sk), MOREMEM_EXTRA_ALLOC);
#ifdef DEBUG
base = sk;
#endif

View File

@ -83,10 +83,11 @@ ereallocz(
#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4))
void *
oreallocarray(
oreallocarrayxz(
void *optr,
size_t nmemb,
size_t size
size_t size,
size_t extra
#ifdef EREALLOC_CALLSITE /* ntp_malloc.h */
,
const char * file,
@ -106,9 +107,9 @@ oreallocarray(
exit(1);
}
#ifndef EREALLOC_CALLSITE
return ereallocz(optr, (size * nmemb), 0, FALSE);
return ereallocz(optr, extra + (size * nmemb), 0, TRUE);
#else
return ereallocz(optr, (size * nmemb), 0, FALSE, file, line);
return ereallocz(optr, extra + (size * nmemb), 0, TRUE, file, line);
#endif
}

View File

@ -15,15 +15,18 @@
* ---------------------------------------------------------------------
*/
#include "config.h"
#include <string.h>
#include <openssl/bn.h>
#include <openssl/evp.h>
#include "ntp_types.h"
/* ----------------------------------------------------------------- */
#if OPENSSL_VERSION_NUMBER < 0x10100000L
#ifdef OPENSSL
# include <string.h>
# include <openssl/bn.h>
# include <openssl/evp.h>
#endif
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
#if defined(OPENSSL) && OPENSSL_VERSION_NUMBER < 0x10100000L
/* ----------------------------------------------------------------- */
#include "libssl_compat.h"
@ -325,7 +328,7 @@ sslshim_X509_get_signature_nid(
}
/* ----------------------------------------------------------------- */
#else /* OPENSSL_VERSION_NUMBER >= v1.1.0 */
#else /* OPENSSL && OPENSSL_VERSION_NUMBER >= v1.1.0 */
/* ----------------------------------------------------------------- */
NONEMPTY_TRANSLATION_UNIT

View File

@ -410,7 +410,7 @@ blocking_getaddrinfo(
cp += sizeof(*ai);
/* transform ai_canonname into offset */
if (NULL != serialized_ai->ai_canonname) {
if (NULL != ai->ai_canonname) {
serialized_ai->ai_canonname = (char *)canons_octets;
canons_octets += strlen(ai->ai_canonname) + 1;
}

View File

@ -85,7 +85,7 @@ create_buffers(int nbufs)
buffer_shortfall = 0;
#ifndef DEBUG
bufp = emalloc_zero(abuf * sizeof(*bufp));
bufp = eallocarray(abuf, sizeof(*bufp));
#endif
for (i = 0; i < abuf; i++) {

View File

@ -13,31 +13,17 @@
#include <lib_strbuf.h>
#ifdef OPENSSL
#include "openssl/crypto.h"
#include "openssl/err.h"
#include "openssl/evp.h"
#include "openssl/opensslv.h"
#include "libssl_compat.h"
void atexit_ssl_cleanup(void);
int ssl_init_done;
void
ssl_init(void)
{
init_lib();
#if OPENSSL_VERSION_NUMBER < 0x10100000L
if (ssl_init_done)
return;
ERR_load_crypto_strings();
OpenSSL_add_all_algorithms();
atexit(&atexit_ssl_cleanup);
ssl_init_done = TRUE;
}
void
static void
atexit_ssl_cleanup(void)
{
if (!ssl_init_done)
@ -48,17 +34,44 @@ atexit_ssl_cleanup(void)
ERR_free_strings();
}
void
ssl_init(void)
{
init_lib();
if ( ! ssl_init_done) {
ERR_load_crypto_strings();
OpenSSL_add_all_algorithms();
atexit(&atexit_ssl_cleanup);
ssl_init_done = TRUE;
}
}
#else /* OPENSSL_VERSION_NUMBER >= 0x10100000L */
void
ssl_init(void)
{
init_lib();
ssl_init_done = TRUE;
}
#endif /* OPENSSL_VERSION_NUMBER */
void
ssl_check_version(void)
{
if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & ~0xff0L) {
u_long v;
v = OpenSSL_version_num();
if ((v ^ OPENSSL_VERSION_NUMBER) & ~0xff0L) {
msyslog(LOG_WARNING,
"OpenSSL version mismatch. Built against %lx, you have %lx",
(u_long)OPENSSL_VERSION_NUMBER, SSLeay());
(u_long)OPENSSL_VERSION_NUMBER, v);
fprintf(stderr,
"OpenSSL version mismatch. Built against %lx, you have %lx\n",
(u_long)OPENSSL_VERSION_NUMBER, SSLeay());
(u_long)OPENSSL_VERSION_NUMBER, v);
}
INIT_SSL();

View File

@ -355,13 +355,12 @@ decode_bitflags(
for (b = 0; b < tab_ct; b++) {
if (tab[b].code & bits) {
rc = snprintf(pch, (lim - pch), "%s%s", sep,
size_t avail = lim - pch;
rc = snprintf(pch, avail, "%s%s", sep,
tab[b].string);
if (rc < 0)
goto toosmall;
pch += (u_int)rc;
if (pch >= lim)
if ((size_t)rc >= avail)
goto toosmall;
pch += rc;
sep = sep2;
}
}

View File

@ -24,6 +24,8 @@
int worker_process;
addremove_io_fd_func addremove_io_fd;
static volatile int worker_sighup_received;
int saved_argc = 0;
char **saved_argv;
/* === function prototypes === */
static void fork_blocking_child(blocking_child *);
@ -31,6 +33,62 @@ static RETSIGTYPE worker_sighup(int);
static void send_worker_home_atexit(void);
static void cleanup_after_child(blocking_child *);
/* === I/O helpers === */
/* Since we have signals enabled, there's a good chance that blocking IO
* via pipe suffers from EINTR -- and this goes for both directions.
* The next two wrappers will loop until either all the data is written
* or read, plus handling the EOF condition on read. They may return
* zero if no data was transferred at all, and effectively every return
* value that differs from the given transfer length signifies an error
* condition.
*/
static size_t
netread(
int fd,
void * vb,
size_t l
)
{
char * b = vb;
ssize_t r;
while (l) {
r = read(fd, b, l);
if (r > 0) {
l -= r;
b += r;
} else if (r == 0 || errno != EINTR) {
l = 0;
}
}
return (size_t)(b - (char *)vb);
}
static size_t
netwrite(
int fd,
const void * vb,
size_t l
)
{
const char * b = vb;
ssize_t w;
while (l) {
w = write(fd, b, l);
if (w > 0) {
l -= w;
b += w;
} else if (errno != EINTR) {
l = 0;
}
}
return (size_t)(b - (const char *)vb);
}
/* === functions === */
/*
* exit_worker()
@ -200,8 +258,8 @@ send_blocking_req_internal(
void * data
)
{
int octets;
int rc;
size_t octets;
size_t rc;
DEBUG_REQUIRE(hdr != NULL);
DEBUG_REQUIRE(data != NULL);
@ -213,23 +271,18 @@ send_blocking_req_internal(
}
octets = sizeof(*hdr);
rc = write(c->req_write_pipe, hdr, octets);
rc = netwrite(c->req_write_pipe, hdr, octets);
if (rc == octets) {
octets = hdr->octets - sizeof(*hdr);
rc = write(c->req_write_pipe, data, octets);
rc = netwrite(c->req_write_pipe, data, octets);
if (rc == octets)
return 0;
}
if (rc < 0)
msyslog(LOG_ERR,
"send_blocking_req_internal: pipe write: %m");
else
msyslog(LOG_ERR,
"send_blocking_req_internal: short write %d of %d",
rc, octets);
msyslog(LOG_ERR,
"send_blocking_req_internal: short write (%zu of %zu), %m",
rc, octets);
/* Fatal error. Clean up the child process. */
req_child_exit(c);
@ -244,41 +297,32 @@ receive_blocking_req_internal(
{
blocking_pipe_header hdr;
blocking_pipe_header * req;
int rc;
long octets;
size_t rc;
size_t octets;
DEBUG_REQUIRE(-1 != c->req_read_pipe);
req = NULL;
rc = netread(c->req_read_pipe, &hdr, sizeof(hdr));
do {
rc = read(c->req_read_pipe, &hdr, sizeof(hdr));
} while (rc < 0 && EINTR == errno);
if (rc < 0) {
msyslog(LOG_ERR,
"receive_blocking_req_internal: pipe read %m");
} else if (0 == rc) {
if (0 == rc) {
TRACE(4, ("parent closed request pipe, child %d terminating\n",
c->pid));
} else if (rc != sizeof(hdr)) {
msyslog(LOG_ERR,
"receive_blocking_req_internal: short header read %d of %lu",
rc, (u_long)sizeof(hdr));
"receive_blocking_req_internal: short header read (%zu of %zu), %m",
rc, sizeof(hdr));
} else {
INSIST(sizeof(hdr) < hdr.octets && hdr.octets < 4 * 1024);
req = emalloc(hdr.octets);
memcpy(req, &hdr, sizeof(*req));
octets = hdr.octets - sizeof(hdr);
rc = read(c->req_read_pipe, (char *)req + sizeof(*req),
octets);
rc = netread(c->req_read_pipe, (char *)(req + 1),
octets);
if (rc < 0)
if (rc != octets)
msyslog(LOG_ERR,
"receive_blocking_req_internal: pipe data read %m");
else if (rc != octets)
msyslog(LOG_ERR,
"receive_blocking_req_internal: short read %d of %ld",
"receive_blocking_req_internal: short read (%zu of %zu), %m",
rc, octets);
else if (BLOCKING_REQ_MAGIC != req->magic_sig)
msyslog(LOG_ERR,
@ -301,24 +345,20 @@ send_blocking_resp_internal(
blocking_pipe_header * resp
)
{
long octets;
int rc;
size_t octets;
size_t rc;
DEBUG_REQUIRE(-1 != c->resp_write_pipe);
octets = resp->octets;
rc = write(c->resp_write_pipe, resp, octets);
rc = netwrite(c->resp_write_pipe, resp, octets);
free(resp);
if (octets == rc)
return 0;
if (rc < 0)
TRACE(1, ("send_blocking_resp_internal: pipe write %m\n"));
else
TRACE(1, ("send_blocking_resp_internal: short write %d of %ld\n",
rc, octets));
TRACE(1, ("send_blocking_resp_internal: short write (%zu of %zu), %m\n",
rc, octets));
return -1;
}
@ -330,21 +370,19 @@ receive_blocking_resp_internal(
{
blocking_pipe_header hdr;
blocking_pipe_header * resp;
int rc;
long octets;
size_t rc;
size_t octets;
DEBUG_REQUIRE(c->resp_read_pipe != -1);
resp = NULL;
rc = read(c->resp_read_pipe, &hdr, sizeof(hdr));
rc = netread(c->resp_read_pipe, &hdr, sizeof(hdr));
if (rc < 0) {
TRACE(1, ("receive_blocking_resp_internal: pipe read %m\n"));
} else if (0 == rc) {
if (0 == rc) {
/* this is the normal child exited indication */
} else if (rc != sizeof(hdr)) {
TRACE(1, ("receive_blocking_resp_internal: short header read %d of %lu\n",
rc, (u_long)sizeof(hdr)));
TRACE(1, ("receive_blocking_resp_internal: short header read (%zu of %zu), %m\n",
rc, sizeof(hdr)));
} else if (BLOCKING_RESP_MAGIC != hdr.magic_sig) {
TRACE(1, ("receive_blocking_resp_internal: header mismatch (0x%x)\n",
hdr.magic_sig));
@ -354,24 +392,21 @@ receive_blocking_resp_internal(
resp = emalloc(hdr.octets);
memcpy(resp, &hdr, sizeof(*resp));
octets = hdr.octets - sizeof(hdr);
rc = read(c->resp_read_pipe,
(char *)resp + sizeof(*resp),
octets);
rc = netread(c->resp_read_pipe, (char *)(resp + 1),
octets);
if (rc < 0)
TRACE(1, ("receive_blocking_resp_internal: pipe data read %m\n"));
else if (rc < octets)
TRACE(1, ("receive_blocking_resp_internal: short read %d of %ld\n",
if (rc != octets)
TRACE(1, ("receive_blocking_resp_internal: short read (%zu of %zu), %m\n",
rc, octets));
else
return resp;
}
cleanup_after_child(c);
if (resp != NULL)
free(resp);
return NULL;
}
@ -502,6 +537,22 @@ fork_blocking_child(
c->pid = getpid();
worker_process = TRUE;
/*
* Change the process name of the child to avoid confusion
* about ntpd trunning twice.
*/
if (saved_argc != 0) {
int argcc;
int argvlen = 0;
/* Clear argv */
for (argcc = 0; argcc < saved_argc; argcc++) {
int l = strlen(saved_argv[argcc]);
argvlen += l + 1;
memset(saved_argv[argcc], 0, l);
}
strlcpy(saved_argv[0], "ntpd: asynchronous dns resolver", argvlen);
}
/*
* In the child, close all files except stdin, stdout, stderr,
* and the two child ends of the pipes.

View File

@ -81,10 +81,14 @@ libparse_kernel_a_LIBADD = \
$(NULL)
AM_CFLAGS = $(CFLAGS_NTP)
AM_CFLAGS += $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS)
AM_CPPFLAGS += -I$(top_srcdir)/kernel
AM_CPPFLAGS += $(CPPFLAGS_NTP)
AM_CPPFLAGS += $(NTP_HARD_CPPFLAGS)
AM_LDFLAGS = $(NTP_HARD_LDFLAGS)
EXTRA_DIST = parsesolaris.c parsestreams.c mkinfo_scmd.sed mkinfo_rcmd.sed info_trimble.c

View File

@ -110,6 +110,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -270,10 +271,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -326,6 +323,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -389,6 +387,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -462,7 +463,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@ -577,8 +577,10 @@ libparse_kernel_a_LIBADD = \
kgpstolfp.o \
$(NULL)
AM_CFLAGS = $(CFLAGS_NTP)
AM_CPPFLAGS = $(NTP_INCS) -I$(top_srcdir)/kernel $(CPPFLAGS_NTP)
AM_CFLAGS = $(CFLAGS_NTP) $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS) -I$(top_srcdir)/kernel $(CPPFLAGS_NTP) \
$(NTP_HARD_CPPFLAGS)
AM_LDFLAGS = $(NTP_HARD_LDFLAGS)
EXTRA_DIST = parsesolaris.c parsestreams.c mkinfo_scmd.sed mkinfo_rcmd.sed info_trimble.c
NTP_INCS = -I$(top_srcdir)/include -I$(top_srcdir)/lib/isc/include \
-I$(top_srcdir)/lib/isc/$(LIBISC_PTHREADS_NOTHREADS)/include \

View File

@ -250,10 +250,10 @@ cvt_trimtsip(
{
case CMD_RCURTIME:
{ /* GPS time */
l_fp secs;
int week = getshort((unsigned char *)&mb(4));
l_fp utcoffset;
l_fp gpstime;
l_fp secs;
u_int week = getshort((unsigned char *)&mb(4));
l_fp utcoffset;
l_fp gpstime;
bp = &mb(0);
if (fetch_ieee754(&bp, IEEE_SINGLE, &secs, trim_offsets) != IEEE_OK)

View File

@ -39,8 +39,8 @@
void
gpstolfp(
int weeks,
int days,
u_int weeks,
u_int days,
unsigned long seconds,
l_fp * lfp
)

File diff suppressed because it is too large Load Diff

View File

@ -1,360 +0,0 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
scriptversion=2005-06-08.21
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
run=:
# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
msg="missing on your system"
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
# Exit code 63 means version mismatch. This often happens
# when the user try to use an ancient version of a tool on
# a file that requires a minimum version. In this case we
# we should proceed has if the program had been absent, or
# if --run hadn't been passed.
if test $? = 63; then
run=:
msg="probably too old"
fi
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
case "$1" in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
tar)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
exit 1
fi
;;
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
# Could not run --version or --help. This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
exit 1
fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
autom4te)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
proper tools for further handling them.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo "#! /bin/sh"
echo "# Created by GNU Automake missing as a replacement of"
echo "# $ $@"
echo "exit 0"
chmod +x $file
exit 1
fi
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
fi
if [ -f "$file" ]; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
fi
;;
makeinfo)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
# If the file does not exist, the user really needs makeinfo;
# let's fail without touching anything.
test -f $file || exit 1
touch $file
;;
tar)
shift
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar "$@" && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar "$@" && exit 0
fi
firstarg="$1"
if shift; then
case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and is $msg.
You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -7,12 +7,15 @@ sbin_PROGRAMS= $(NTPD_DS) $(NTPDSIM_DS)
noinst_LIBRARIES= libntpd.a
AM_CFLAGS = $(CFLAGS_NTP)
AM_CFLAGS += $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS)
AM_CPPFLAGS += $(LIBOPTS_CFLAGS)
AM_CPPFLAGS += $(CPPFLAGS_NTP)
AM_CPPFLAGS += $(NTP_HARD_CPPFLAGS)
AM_LDFLAGS = $(LDFLAGS_NTP)
AM_LDFLAGS += $(NTP_HARD_LDFLAGS)
# LDADD might need RESLIB and ADJLIB.
LDADD = version.o libntpd.a $(LIBPARSE)

View File

@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -361,10 +362,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -417,6 +414,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -480,6 +478,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -553,7 +554,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@ -606,9 +606,10 @@ bin_PROGRAMS = $(NTPD_DB) $(NTPDSIM_DB)
libexec_PROGRAMS = $(NTPD_DL) $(NTPDSIM_DL)
sbin_PROGRAMS = $(NTPD_DS) $(NTPDSIM_DS)
noinst_LIBRARIES = libntpd.a
AM_CFLAGS = $(CFLAGS_NTP)
AM_CPPFLAGS = $(NTP_INCS) $(LIBOPTS_CFLAGS) $(CPPFLAGS_NTP)
AM_LDFLAGS = $(LDFLAGS_NTP)
AM_CFLAGS = $(CFLAGS_NTP) $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS) $(LIBOPTS_CFLAGS) $(CPPFLAGS_NTP) \
$(NTP_HARD_CPPFLAGS)
AM_LDFLAGS = $(LDFLAGS_NTP) $(NTP_HARD_LDFLAGS)
# LDADD might need RESLIB and ADJLIB.
LDADD = version.o libntpd.a $(LIBPARSE)

View File

@ -6,7 +6,7 @@
#
# EDIT THIS FILE WITH CAUTION (invoke-ntp.conf.texi)
#
# It has been AutoGen-ed November 21, 2016 at 08:01:55 AM by AutoGen 5.18.5
# It has been AutoGen-ed March 21, 2017 at 10:44:16 AM by AutoGen 5.18.5
# From the definitions ntp.conf.def
# and the template file agtexi-file.tpl
@end ignore

View File

@ -6,7 +6,7 @@
#
# EDIT THIS FILE WITH CAUTION (invoke-ntp.keys.texi)
#
# It has been AutoGen-ed November 21, 2016 at 08:01:58 AM by AutoGen 5.18.5
# It has been AutoGen-ed March 21, 2017 at 10:31:04 AM by AutoGen 5.18.5
# From the definitions ntp.keys.def
# and the template file agtexi-file.tpl
@end ignore

View File

@ -6,7 +6,7 @@
#
# EDIT THIS FILE WITH CAUTION (invoke-ntpd.texi)
#
# It has been AutoGen-ed November 21, 2016 at 08:02:00 AM by AutoGen 5.18.5
# It has been AutoGen-ed March 21, 2017 at 10:44:20 AM by AutoGen 5.18.5
# From the definitions ntpd-opts.def
# and the template file agtexi-cmd.tpl
@end ignore
@ -142,7 +142,7 @@ with a status code of 0.
@exampleindent 0
@example
ntpd - NTP daemon program - Ver. 4.2.8p9
ntpd - NTP daemon program - Ver. 4.2.8p10-beta
Usage: ntpd [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... \
[ <server1> ... <serverN> ]
Flg Arg Option-Name Description

View File

@ -10,11 +10,11 @@
.ds B-Font B
.ds I-Font I
.ds R-Font R
.TH ntp.conf 5man "21 Nov 2016" "4.2.8p9" "File Formats"
.TH ntp.conf 5man "21 Mar 2017" "4.2.8p10-beta" "File Formats"
.\"
.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-Q_ai3f/ag-2_aa2f)
.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-UAaqtC/ag-6AaisC)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:01:41 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:30:48 AM by AutoGen 5.18.5
.\" From the definitions ntp.conf.def
.\" and the template file agman-cmd.tpl
.SH NAME
@ -3182,7 +3182,7 @@ RFC5905
.SH "AUTHORS"
The University of Delaware and Network Time Foundation
.SH "COPYRIGHT"
Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.SH BUGS
The syntax checking is not picky; some combinations of

View File

@ -1,9 +1,9 @@
.Dd November 21 2016
.Dd March 21 2017
.Dt NTP_CONF 5mdoc File Formats
.Os
.\" EDIT THIS FILE WITH CAUTION (ntp.mdoc)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:02:03 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:31:09 AM by AutoGen 5.18.5
.\" From the definitions ntp.conf.def
.\" and the template file agmdoc-cmd.tpl
.Sh NAME
@ -2987,7 +2987,7 @@ A snapshot of this documentation is available in HTML format in
.Sh "AUTHORS"
The University of Delaware and Network Time Foundation
.Sh "COPYRIGHT"
Copyright (C) 1992\-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992\-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.Sh BUGS
The syntax checking is not picky; some combinations of

View File

@ -33,7 +33,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
<p>This document describes the configuration file for the NTP Project's
<code>ntpd</code> program.
<p>This document applies to version 4.2.8p9 of <code>ntp.conf</code>.
<p>This document applies to version 4.2.8p10 of <code>ntp.conf</code>.
<div class="shortcontents">
<h2>Short Contents</h2>

View File

@ -10,11 +10,11 @@
.ds B-Font B
.ds I-Font I
.ds R-Font R
.TH ntp.conf 5 "21 Nov 2016" "4.2.8p9" "File Formats"
.TH ntp.conf 5 "21 Mar 2017" "4.2.8p10-beta" "File Formats"
.\"
.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-Q_ai3f/ag-2_aa2f)
.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-UAaqtC/ag-6AaisC)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:01:41 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:30:48 AM by AutoGen 5.18.5
.\" From the definitions ntp.conf.def
.\" and the template file agman-cmd.tpl
.SH NAME
@ -3182,7 +3182,7 @@ RFC5905
.SH "AUTHORS"
The University of Delaware and Network Time Foundation
.SH "COPYRIGHT"
Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.SH BUGS
The syntax checking is not picky; some combinations of

View File

@ -1,9 +1,9 @@
.Dd November 21 2016
.Dd March 21 2017
.Dt NTP_CONF 5 File Formats
.Os
.\" EDIT THIS FILE WITH CAUTION (ntp.mdoc)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:02:03 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:31:09 AM by AutoGen 5.18.5
.\" From the definitions ntp.conf.def
.\" and the template file agmdoc-cmd.tpl
.Sh NAME
@ -2987,7 +2987,7 @@ A snapshot of this documentation is available in HTML format in
.Sh "AUTHORS"
The University of Delaware and Network Time Foundation
.Sh "COPYRIGHT"
Copyright (C) 1992\-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992\-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.Sh BUGS
The syntax checking is not picky; some combinations of

View File

@ -1,8 +1,8 @@
.TH ntp.keys 5man "21 Nov 2016" "4.2.8p9" "File Formats"
.TH ntp.keys 5man "21 Mar 2017" "4.2.8p10" "File Formats"
.\"
.\" EDIT THIS FILE WITH CAUTION (ntp.man)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:01:46 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:44:10 AM by AutoGen 5.18.5
.\" From the definitions ntp.keys.def
.\" and the template file agman-file.tpl
.Sh NAME
@ -168,7 +168,7 @@ the default name of the configuration file
.SH "AUTHORS"
The University of Delaware and Network Time Foundation
.SH "COPYRIGHT"
Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.SH "BUGS"
Please send bug reports to: http://bugs.ntp.org, bugs@ntp.org

View File

@ -1,9 +1,9 @@
.Dd November 21 2016
.Dd March 21 2017
.Dt NTP_KEYS 5mdoc File Formats
.Os SunOS 5.10
.\" EDIT THIS FILE WITH CAUTION (ntp.mdoc)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:02:06 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:44:22 AM by AutoGen 5.18.5
.\" From the definitions ntp.keys.def
.\" and the template file agmdoc-file.tpl
.Sh NAME
@ -155,7 +155,7 @@ it to autogen\-users@lists.sourceforge.net. Thank you.
.Sh "AUTHORS"
The University of Delaware and Network Time Foundation
.Sh "COPYRIGHT"
Copyright (C) 1992\-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992\-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.Sh "BUGS"
Please send bug reports to: http://bugs.ntp.org, bugs@ntp.org

View File

@ -33,7 +33,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
<p>This document describes the symmetric key file for the NTP Project's
<code>ntpd</code> program.
<p>This document applies to version 4.2.8p9 of <code>ntp.keys</code>.
<p>This document applies to version 4.2.8p10 of <code>ntp.keys</code>.
<div class="shortcontents">
<h2>Short Contents</h2>

View File

@ -1,8 +1,8 @@
.TH ntp.keys 5 "21 Nov 2016" "4.2.8p9" "File Formats"
.TH ntp.keys 5 "21 Mar 2017" "4.2.8p10" "File Formats"
.\"
.\" EDIT THIS FILE WITH CAUTION (ntp.man)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:01:46 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:44:10 AM by AutoGen 5.18.5
.\" From the definitions ntp.keys.def
.\" and the template file agman-file.tpl
.Sh NAME
@ -168,7 +168,7 @@ the default name of the configuration file
.SH "AUTHORS"
The University of Delaware and Network Time Foundation
.SH "COPYRIGHT"
Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.SH "BUGS"
Please send bug reports to: http://bugs.ntp.org, bugs@ntp.org

View File

@ -1,9 +1,9 @@
.Dd November 21 2016
.Dd March 21 2017
.Dt NTP_KEYS 5 File Formats
.Os SunOS 5.10
.\" EDIT THIS FILE WITH CAUTION (ntp.mdoc)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:02:06 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:44:22 AM by AutoGen 5.18.5
.\" From the definitions ntp.keys.def
.\" and the template file agmdoc-file.tpl
.Sh NAME
@ -155,7 +155,7 @@ it to autogen\-users@lists.sourceforge.net. Thank you.
.Sh "AUTHORS"
The University of Delaware and Network Time Foundation
.Sh "COPYRIGHT"
Copyright (C) 1992\-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992\-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.Sh "BUGS"
Please send bug reports to: http://bugs.ntp.org, bugs@ntp.org

View File

@ -361,13 +361,32 @@ static char * normal_dtoa(double);
static u_int32 get_pfxmatch(const char **, struct masks *);
static u_int32 get_match(const char *, struct masks *);
static u_int32 get_logmask(const char *);
static int/*BOOL*/ is_refclk_addr(const address_node * addr);
#ifndef SIM
static int getnetnum(const char *num, sockaddr_u *addr, int complain,
enum gnn_type a_type);
#endif
#if defined(__GNUC__) /* this covers CLANG, too */
static void __attribute__((noreturn,format(printf,1,2))) fatal_error(const char *fmt, ...)
#elif defined(_MSC_VER)
static void __declspec(noreturn) fatal_error(const char *fmt, ...)
#else
static void fatal_error(const char *fmt, ...)
#endif
{
va_list va;
va_start(va, fmt);
mvsyslog(LOG_EMERG, fmt, va);
va_end(va);
_exit(1);
}
/* FUNCTIONS FOR INITIALIZATION
* ----------------------------
*/
@ -1266,7 +1285,10 @@ create_peer_node(
break;
case T_Ttl:
if (option->value.u >= MAX_TTL) {
if (is_refclk_addr(addr)) {
msyslog(LOG_ERR, "'ttl' does not apply for refclocks");
errflag = 1;
} else if (option->value.u >= MAX_TTL) {
msyslog(LOG_ERR, "ttl: invalid argument");
errflag = 1;
} else {
@ -1275,7 +1297,12 @@ create_peer_node(
break;
case T_Mode:
my_node->ttl = option->value.u;
if (is_refclk_addr(addr)) {
my_node->ttl = option->value.u;
} else {
msyslog(LOG_ERR, "'mode' does not apply for network peers");
errflag = 1;
}
break;
case T_Key:
@ -1328,8 +1355,8 @@ create_unpeer_node(
)
{
unpeer_node * my_node;
u_int u;
char * pch;
u_long u;
const u_char * pch;
my_node = emalloc_zero(sizeof(*my_node));
@ -1338,16 +1365,15 @@ create_unpeer_node(
* its generic T_String definition of a name/address "address".
* We treat all valid 16-bit numbers as association IDs.
*/
pch = addr->address;
while (*pch && isdigit((unsigned char)*pch))
pch++;
if (!*pch
&& 1 == sscanf(addr->address, "%u", &u)
&& u <= ASSOCID_MAX) {
for (u = 0, pch = (u_char*)addr->address; isdigit(*pch); ++pch) {
/* accumulate with overflow retention */
u = (10 * u + *pch - '0') | (u & 0xFF000000u);
}
if (!*pch && u <= ASSOCID_MAX) {
my_node->assocID = (associd_t)u;
destroy_address_node(addr);
my_node->addr = NULL;
destroy_address_node(addr);
} else {
my_node->assocID = 0;
my_node->addr = addr;
@ -1841,16 +1867,12 @@ config_auth(
/* Crypto Command */
#ifdef AUTOKEY
# ifdef __GNUC__
item = -1; /* quiet warning */
# endif
my_val = HEAD_PFIFO(ptree->auth.crypto_cmd_list);
for (; my_val != NULL; my_val = my_val->link) {
switch (my_val->attr) {
default:
INSIST(0);
break;
fatal_error("config_auth: attr-token=%d", my_val->attr);
case T_Host:
item = CRYPTO_CONF_PRIV;
@ -1996,40 +2018,96 @@ config_tos(
int item;
double val;
#ifdef __GNUC__
item = -1; /* quiet warning */
#endif
/* [Bug 2896] For the daemon to work properly it is essential
* that minsane < minclock <= maxclock.
*
* If either constraint is violated, the daemon will be or might
* become dysfunctional. Fixing the values is too fragile here,
* since three variables with interdependecies are involved. We
* just log an error but do not stop: This might be caused by
* remote config, and it might be fixed by remote config, too.
*/
int l_maxclock = sys_maxclock;
int l_minclock = sys_minclock;
int l_minsane = sys_minsane;
/* -*- phase one: inspect / sanitize the values */
tos = HEAD_PFIFO(ptree->orphan_cmds);
for (; tos != NULL; tos = tos->link) {
val = tos->value.d;
switch(tos->attr) {
default:
break;
case T_Bcpollbstep:
if (val > 4) {
msyslog(LOG_WARNING,
"Using maximum bcpollbstep ceiling %d, %d requested",
4, (int)val);
tos->value.d = 4;
} else if (val < 0) {
msyslog(LOG_WARNING,
"Using minimum bcpollbstep floor %d, %d requested",
0, (int)val);
tos->value.d = 0;
}
break;
case T_Ceiling:
if (val > STRATUM_UNSPEC - 1) {
msyslog(LOG_WARNING,
"Using maximum tos ceiling %d, %d requested",
STRATUM_UNSPEC - 1, (int)val);
tos->value.d = STRATUM_UNSPEC - 1;
} else if (val < 1) {
msyslog(LOG_WARNING,
"Using minimum tos floor %d, %d requested",
1, (int)val);
tos->value.d = 1;
}
break;
case T_Minclock:
if ((int)tos->value.d < 1)
tos->value.d = 1;
l_minclock = (int)tos->value.d;
break;
case T_Maxclock:
if ((int)tos->value.d < 1)
tos->value.d = 1;
l_maxclock = (int)tos->value.d;
break;
case T_Minsane:
if ((int)tos->value.d < 1)
tos->value.d = 1;
l_minsane = (int)tos->value.d;
break;
}
}
if ( ! (l_minsane < l_minclock && l_minclock <= l_maxclock)) {
msyslog(LOG_ERR,
"tos error: must have minsane (%d) < minclock (%d) <= maxclock (%d)"
" - daemon will not operate properly!",
l_minsane, l_minclock, l_maxclock);
}
/* -*- phase two: forward the values to the protocol machinery */
tos = HEAD_PFIFO(ptree->orphan_cmds);
for (; tos != NULL; tos = tos->link) {
val = tos->value.d;
switch(tos->attr) {
default:
INSIST(0);
break;
fatal_error("config-tos: attr-token=%d", tos->attr);
case T_Bcpollbstep:
if (val > 4) {
msyslog(LOG_WARNING,
"Using maximum bcpollbstep ceiling %d, %g requested",
4, val);
val = 4;
} else if (val < 0) {
msyslog(LOG_WARNING,
"Using minimum bcpollbstep floor %d, %g requested",
0, val);
val = 0;
}
item = PROTO_BCPOLLBSTEP;
break;
case T_Ceiling:
if (val > STRATUM_UNSPEC - 1) {
msyslog(LOG_WARNING,
"Using maximum tos ceiling %d, %g requested",
STRATUM_UNSPEC - 1, val);
val = STRATUM_UNSPEC - 1;
}
item = PROTO_CEILING;
break;
@ -2172,8 +2250,7 @@ config_monitor(
switch (my_opts->value.i) {
default:
INSIST(0);
break;
fatal_error("config-monitor: type-token=%d", my_opts->value.i);
case T_None:
filegen_type = FILEGEN_NONE;
@ -2409,8 +2486,7 @@ config_access(
switch (curr_flag->i) {
default:
INSIST(0);
break;
fatal_error("config-access: flag-type-token=%d", curr_flag->i);
case T_Ntpport:
mflags |= RESM_NTPONLY;
@ -2640,8 +2716,7 @@ config_rlimit(
switch (rlimit_av->attr) {
default:
INSIST(0);
break;
fatal_error("config-rlimit: value-token=%d", rlimit_av->attr);
case T_Memlock:
/* What if we HAVE_OPT(SAVECONFIGQUIT) ? */
@ -2714,16 +2789,12 @@ config_tinker(
attr_val * tinker;
int item;
#ifdef __GNUC__
item = -1; /* quiet warning */
#endif
tinker = HEAD_PFIFO(ptree->tinker);
for (; tinker != NULL; tinker = tinker->link) {
switch (tinker->attr) {
default:
INSIST(0);
break;
fatal_error("config_tinker: attr-token=%d", tinker->attr);
case T_Allan:
item = LOOP_ALLAN;
@ -2830,16 +2901,7 @@ config_nic_rules(
switch (curr_node->match_class) {
default:
#ifdef __GNUC__
/*
* this assignment quiets a gcc "may be used
* uninitialized" warning and is here for no
* other reason.
*/
match_type = MATCH_ALL;
#endif
INSIST(FALSE);
break;
fatal_error("config_nic_rules: match-class-token=%d", curr_node->match_class);
case 0:
/*
@ -2890,16 +2952,7 @@ config_nic_rules(
switch (curr_node->action) {
default:
#ifdef __GNUC__
/*
* this assignment quiets a gcc "may be used
* uninitialized" warning and is here for no
* other reason.
*/
action = ACTION_LISTEN;
#endif
INSIST(FALSE);
break;
fatal_error("config_nic_rules: action-token=%d", curr_node->action);
case T_Listen:
action = ACTION_LISTEN;
@ -3087,8 +3140,7 @@ config_logconfig(
ntp_syslogmask = get_logmask(my_lc->value.s);
break;
default:
INSIST(0);
break;
fatal_error("config-logconfig: modifier='%c'", my_lc->attr);
}
}
}
@ -3210,7 +3262,7 @@ config_ttl(
"ttl: Number of TTL entries exceeds %zu. Ignoring TTL %d...",
COUNTOF(sys_ttl), curr_ttl->i);
}
sys_ttlmax = i - 1;
sys_ttlmax = (i) ? (i - 1) : 0;
}
#endif /* !SIM */
@ -3738,8 +3790,7 @@ peerflag_bits(
switch (option->value.i) {
default:
INSIST(0);
break;
fatal_error("peerflag_bits: option-token=%d", option->value.i);
case T_Autokey:
peerflags |= FLAG_SKEY;
@ -4040,10 +4091,10 @@ config_unpeers(
curr_unpeer = HEAD_PFIFO(ptree->unpeers);
for (; curr_unpeer != NULL; curr_unpeer = curr_unpeer->link) {
/*
* Either AssocID will be zero, and we unpeer by name/
* address addr, or it is nonzero and addr NULL.
* If we have no address attached, assume we have to
* unpeer by AssocID.
*/
if (curr_unpeer->assocID) {
if (!curr_unpeer->addr) {
p = findpeerbyassoc(curr_unpeer->assocID);
if (p != NULL) {
msyslog(LOG_NOTICE, "unpeered %s",
@ -4051,7 +4102,6 @@ config_unpeers(
peer_clear(p, "GONE");
unpeer(p);
}
continue;
}
@ -4070,7 +4120,6 @@ config_unpeers(
peer_clear(p, "GONE");
unpeer(p);
}
continue;
}
/*
@ -4384,11 +4433,11 @@ config_ntpd(
config_mdnstries(ptree);
config_setvar(ptree);
config_ttl(ptree);
config_trap(ptree);
config_vars(ptree);
io_open_sockets();
io_open_sockets(); /* [bug 2837] dep. on config_vars() */
config_trap(ptree); /* [bug 2923] dep. on io_open_sockets() */
config_other_modes(ptree);
config_peers(ptree);
config_unpeers(ptree);
@ -4636,6 +4685,16 @@ save_and_apply_config_tree(int/*BOOL*/ input_from_file)
#endif
}
/* Hack to disambiguate 'server' statements for refclocks and network peers.
* Please note the qualification 'hack'. It's just that.
*/
static int/*BOOL*/
is_refclk_addr(
const address_node * addr
)
{
return addr && addr->address && !strncmp(addr->address, "127.127.", 6);
}
static void
ntpd_set_tod_using(
@ -5041,8 +5100,7 @@ ntp_rlimit(
# endif /* RLIMIT_STACK */
default:
INSIST(!"Unexpected setrlimit() case!");
break;
fatal_error("ntp_rlimit: unexpected RLIMIT case: %d", rl_what);
}
}
#endif /* HAVE_SETRLIMIT */

View File

@ -33,8 +33,6 @@
# include "ntp_syscall.h"
#endif
#include "libssl_compat.h"
/*
* Structure to hold request procedure information
*/
@ -1549,21 +1547,15 @@ ctl_putstr(
)
{
char buffer[512];
char *cp;
size_t tl;
int rc;
tl = strlen(tag);
memcpy(buffer, tag, tl);
cp = buffer + tl;
if (len > 0) {
INSIST(tl + 3 + len <= sizeof(buffer));
*cp++ = '=';
*cp++ = '"';
memcpy(cp, data, len);
cp += len;
*cp++ = '"';
}
ctl_putdata(buffer, (u_int)(cp - buffer), 0);
INSIST(len < sizeof(buffer));
if (len)
rc = snprintf(buffer, sizeof(buffer), "%s=\"%.*s\"", tag, (int)len, data);
else
rc = snprintf(buffer, sizeof(buffer), "%s", tag);
INSIST(rc >= 0 && (size_t)rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, 0);
}
@ -1584,19 +1576,15 @@ ctl_putunqstr(
)
{
char buffer[512];
char *cp;
size_t tl;
int rc;
tl = strlen(tag);
memcpy(buffer, tag, tl);
cp = buffer + tl;
if (len > 0) {
INSIST(tl + 1 + len <= sizeof(buffer));
*cp++ = '=';
memcpy(cp, data, len);
cp += len;
}
ctl_putdata(buffer, (u_int)(cp - buffer), 0);
INSIST(len < sizeof(buffer));
if (len)
rc = snprintf(buffer, sizeof(buffer), "%s=%.*s", tag, (int)len, data);
else
rc = snprintf(buffer, sizeof(buffer), "%s", tag);
INSIST(rc >= 0 && (size_t)rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, 0);
}
@ -1611,20 +1599,14 @@ ctl_putdblf(
double d
)
{
char *cp;
const char *cq;
char buffer[200];
cp = buffer;
cq = tag;
while (*cq != '\0')
*cp++ = *cq++;
*cp++ = '=';
INSIST((size_t)(cp - buffer) < sizeof(buffer));
snprintf(cp, sizeof(buffer) - (cp - buffer), use_f ? "%.*f" : "%.*g",
precision, d);
cp += strlen(cp);
ctl_putdata(buffer, (unsigned)(cp - buffer), 0);
int rc;
rc = snprintf(buffer, sizeof(buffer),
(use_f ? "%s=%.*f" : "%s=%.*g"),
tag, precision, d);
INSIST(rc >= 0 && (size_t)rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, 0);
}
/*
@ -1636,25 +1618,19 @@ ctl_putuint(
u_long uval
)
{
register char *cp;
register const char *cq;
char buffer[200];
int rc;
cp = buffer;
cq = tag;
while (*cq != '\0')
*cp++ = *cq++;
*cp++ = '=';
INSIST((cp - buffer) < (int)sizeof(buffer));
snprintf(cp, sizeof(buffer) - (cp - buffer), "%lu", uval);
cp += strlen(cp);
ctl_putdata(buffer, (unsigned)( cp - buffer ), 0);
rc = snprintf(buffer, sizeof(buffer), "%s=%lu", tag, uval);
INSIST(rc >= 0 && rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, 0);
}
/*
* ctl_putcal - write a decoded calendar data into the response
* ctl_putcal - write a decoded calendar data into the response.
* only used with AUTOKEY currently, so compiled conditional
*/
#ifdef AUTOKEY
static void
ctl_putcal(
const char *tag,
@ -1662,22 +1638,18 @@ ctl_putcal(
)
{
char buffer[100];
unsigned numch;
int rc;
numch = snprintf(buffer, sizeof(buffer),
"%s=%04d%02d%02d%02d%02d",
tag,
pcal->year,
pcal->month,
pcal->monthday,
pcal->hour,
pcal->minute
);
INSIST(numch < sizeof(buffer));
ctl_putdata(buffer, numch, 0);
return;
rc = snprintf(buffer, sizeof(buffer),
"%s=%04d%02d%02d%02d%02d",
tag,
pcal->year, pcal->month, pcal->monthday,
pcal->hour, pcal->minute
);
INSIST(rc >= 0 && (size_t)rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, 0);
}
#endif
/*
* ctl_putfs - write a decoded filestamp into the response
@ -1688,28 +1660,23 @@ ctl_putfs(
tstamp_t uval
)
{
register char *cp;
register const char *cq;
char buffer[200];
struct tm *tm = NULL;
time_t fstamp;
cp = buffer;
cq = tag;
while (*cq != '\0')
*cp++ = *cq++;
*cp++ = '=';
fstamp = uval - JAN_1970;
int rc;
fstamp = (time_t)uval - JAN_1970;
tm = gmtime(&fstamp);
if (NULL == tm)
if (NULL == tm)
return;
INSIST((cp - buffer) < (int)sizeof(buffer));
snprintf(cp, sizeof(buffer) - (cp - buffer),
"%04d%02d%02d%02d%02d", tm->tm_year + 1900,
tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min);
cp += strlen(cp);
ctl_putdata(buffer, (unsigned)( cp - buffer ), 0);
rc = snprintf(buffer, sizeof(buffer),
"%s=%04d%02d%02d%02d%02d",
tag,
tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
tm->tm_hour, tm->tm_min);
INSIST(rc >= 0 && (size_t)rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, 0);
}
@ -1723,20 +1690,12 @@ ctl_puthex(
u_long uval
)
{
register char *cp;
register const char *cq;
char buffer[200];
cp = buffer;
cq = tag;
while (*cq != '\0')
*cp++ = *cq++;
*cp++ = '=';
INSIST((cp - buffer) < (int)sizeof(buffer));
snprintf(cp, sizeof(buffer) - (cp - buffer), "0x%lx", uval);
cp += strlen(cp);
ctl_putdata(buffer,(unsigned)( cp - buffer ), 0);
int rc;
rc = snprintf(buffer, sizeof(buffer), "%s=0x%lx", tag, uval);
INSIST(rc >= 0 && (size_t)rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, 0);
}
@ -1749,20 +1708,12 @@ ctl_putint(
long ival
)
{
register char *cp;
register const char *cq;
char buffer[200];
cp = buffer;
cq = tag;
while (*cq != '\0')
*cp++ = *cq++;
*cp++ = '=';
INSIST((cp - buffer) < (int)sizeof(buffer));
snprintf(cp, sizeof(buffer) - (cp - buffer), "%ld", ival);
cp += strlen(cp);
ctl_putdata(buffer, (unsigned)( cp - buffer ), 0);
int rc;
rc = snprintf(buffer, sizeof(buffer), "%s=%ld", tag, ival);
INSIST(rc >= 0 && rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, 0);
}
@ -1775,21 +1726,14 @@ ctl_putts(
l_fp *ts
)
{
register char *cp;
register const char *cq;
char buffer[200];
cp = buffer;
cq = tag;
while (*cq != '\0')
*cp++ = *cq++;
*cp++ = '=';
INSIST((size_t)(cp - buffer) < sizeof(buffer));
snprintf(cp, sizeof(buffer) - (cp - buffer), "0x%08x.%08x",
(u_int)ts->l_ui, (u_int)ts->l_uf);
cp += strlen(cp);
ctl_putdata(buffer, (unsigned)( cp - buffer ), 0);
int rc;
rc = snprintf(buffer, sizeof(buffer),
"%s=0x%08lx.%08lx",
tag, (u_long)ts->l_ui, (u_long)ts->l_uf);
INSIST(rc >= 0 && (size_t)rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, 0);
}
@ -1803,24 +1747,17 @@ ctl_putadr(
sockaddr_u *addr
)
{
register char *cp;
register const char *cq;
const char *cq;
char buffer[200];
cp = buffer;
cq = tag;
while (*cq != '\0')
*cp++ = *cq++;
*cp++ = '=';
int rc;
if (NULL == addr)
cq = numtoa(addr32);
else
cq = stoa(addr);
INSIST((cp - buffer) < (int)sizeof(buffer));
snprintf(cp, sizeof(buffer) - (cp - buffer), "%s", cq);
cp += strlen(cp);
ctl_putdata(buffer, (unsigned)(cp - buffer), 0);
rc = snprintf(buffer, sizeof(buffer), "%s=%s", tag, cq);
INSIST(rc >= 0 && (size_t)rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, 0);
}
@ -1833,34 +1770,22 @@ ctl_putrefid(
u_int32 refid
)
{
char output[16];
char * optr;
char * oplim;
char * iptr;
char * iplim;
char * past_eq;
char buffer[128];
int rc, i;
optr = output;
oplim = output + sizeof(output);
while (optr < oplim && '\0' != *tag)
*optr++ = *tag++;
if (optr < oplim) {
*optr++ = '=';
past_eq = optr;
}
if (!(optr < oplim))
return;
iptr = (char *)&refid;
iplim = iptr + sizeof(refid);
for ( ; optr < oplim && iptr < iplim && '\0' != *iptr;
iptr++, optr++)
if (isprint((int)*iptr))
*optr = *iptr;
else
*optr = '.';
if (!(optr <= oplim))
optr = past_eq;
ctl_putdata(output, (u_int)(optr - output), FALSE);
union {
uint32_t w;
uint8_t b[sizeof(uint32_t)];
} bytes;
bytes.w = refid;
for (i = 0; i < sizeof(bytes.b); ++i)
if (bytes.b[i] && !isprint(bytes.b[i]))
bytes.b[i] = '.';
rc = snprintf(buffer, sizeof(buffer), "%s=%.*s",
tag, (int)sizeof(bytes.b), bytes.b);
INSIST(rc >= 0 && (size_t)rc < sizeof(buffer));
ctl_putdata(buffer, (u_int)rc, FALSE);
}
@ -1874,26 +1799,27 @@ ctl_putarray(
int start
)
{
register char *cp;
register const char *cq;
char *cp, *ep;
char buffer[200];
int i;
int i, rc;
cp = buffer;
cq = tag;
while (*cq != '\0')
*cp++ = *cq++;
*cp++ = '=';
ep = buffer + sizeof(buffer);
rc = snprintf(cp, (size_t)(ep - cp), "%s=", tag);
INSIST(rc >= 0 && rc < (ep - cp));
cp += rc;
i = start;
do {
if (i == 0)
i = NTP_SHIFT;
i--;
INSIST((cp - buffer) < (int)sizeof(buffer));
snprintf(cp, sizeof(buffer) - (cp - buffer),
" %.2f", arr[i] * 1e3);
cp += strlen(cp);
rc = snprintf(cp, (size_t)(ep - cp), " %.2f", arr[i] * 1e3);
INSIST(rc >= 0 && rc < (ep - cp));
cp += rc;
} while (i != start);
ctl_putdata(buffer, (unsigned)(cp - buffer), 0);
ctl_putdata(buffer, (u_int)(cp - buffer), 0);
}
/*
@ -2087,7 +2013,7 @@ ctl_putsys(
buffp = buf;
buffend = buf + sizeof(buf);
if (buffp + strlen(sys_var[CS_VARLIST].text) + 4 > buffend)
if (strlen(sys_var[CS_VARLIST].text) > (sizeof(buf) - 4))
break; /* really long var name */
snprintf(buffp, sizeof(buf), "%s=\"",sys_var[CS_VARLIST].text);
@ -2097,7 +2023,7 @@ ctl_putsys(
if (k->flags & PADDING)
continue;
len = strlen(k->text);
if (buffp + len + 1 >= buffend)
if (len + 1 >= buffend - buffp)
break;
if (!firstVarName)
*buffp++ = ',';
@ -2117,7 +2043,7 @@ ctl_putsys(
len = strlen(k->text);
else
len = ss1 - k->text;
if (buffp + len + 1 >= buffend)
if (len + 1 >= buffend - buffp)
break;
if (firstVarName) {
*buffp++ = ',';
@ -2126,7 +2052,7 @@ ctl_putsys(
memcpy(buffp, k->text,(unsigned)len);
buffp += len;
}
if (buffp + 2 >= buffend)
if (2 >= buffend - buffp)
break;
*buffp++ = '"';
@ -4995,7 +4921,7 @@ report_event(
u_char errlast;
errlast = (u_char)err & ~PEER_EVENT;
if (peer->last_event == errlast)
if (peer->last_event != errlast)
peer->num_events = 0;
if (peer->num_events >= CTL_PEER_MAXEVENTS)
return;

View File

@ -22,11 +22,15 @@
#include "ntp_calendar.h"
#include "ntp_leapsec.h"
#include "openssl/asn1.h"
#include "openssl/bn.h"
#include "openssl/crypto.h"
#include "openssl/err.h"
#include "openssl/evp.h"
#include "openssl/opensslv.h"
#include "openssl/pem.h"
#include "openssl/rand.h"
#include "openssl/x509.h"
#include "openssl/x509v3.h"
#include "libssl_compat.h"
@ -193,7 +197,7 @@ static int crypto_gq (struct exten *, struct peer *);
static int crypto_mv (struct exten *, struct peer *);
static int crypto_send (struct exten *, struct value *, int);
static tstamp_t crypto_time (void);
static void asn_to_calendar (ASN1_TIME *, struct calendar*);
static void asn_to_calendar (const ASN1_TIME *, struct calendar*);
static struct cert_info *cert_parse (const u_char *, long, tstamp_t);
static int cert_sign (struct exten *, struct value *);
static struct cert_info *cert_install (struct exten *, struct peer *);
@ -2010,7 +2014,7 @@ crypto_time()
static
void
asn_to_calendar (
ASN1_TIME *asn1time, /* pointer to ASN1_TIME structure */
const ASN1_TIME *asn1time, /* pointer to ASN1_TIME structure */
struct calendar *pjd /* pointer to result */
)
{
@ -3187,8 +3191,8 @@ cert_sign(
serial = ASN1_INTEGER_new();
ASN1_INTEGER_set(serial, tstamp);
X509_set_serialNumber(cert, serial);
X509_gmtime_adj(X509_get_notBefore(cert), 0L);
X509_gmtime_adj(X509_get_notAfter(cert), YEAR);
X509_gmtime_adj(X509_getm_notBefore(cert), 0L);
X509_gmtime_adj(X509_getm_notAfter(cert), YEAR);
subj = X509_get_issuer_name(cert);
X509_NAME_add_entry_by_txt(subj, "commonName", MBSTRING_ASC,
hostval.ptr, strlen((const char *)hostval.ptr), -1, 0);
@ -3497,8 +3501,8 @@ cert_parse(
return (NULL);
}
ret->issuer = estrdup(pch + 3);
asn_to_calendar(X509_get_notBefore(cert), &(ret->first));
asn_to_calendar(X509_get_notAfter(cert), &(ret->last));
asn_to_calendar(X509_get0_notBefore(cert), &(ret->first));
asn_to_calendar(X509_get0_notAfter(cert), &(ret->last));
/*
* Extract extension fields. These are ad hoc ripoffs of
@ -3922,7 +3926,8 @@ crypto_setup(void)
RAND_seed(&seed, sizeof(l_fp));
RAND_write_file(randfile);
DPRINTF(1, ("crypto_setup: OpenSSL version %lx random seed file %s bytes read %d\n",
SSLeay(), randfile, bytes));
OpenSSL_version_num(), randfile, bytes));
}
/*

View File

@ -516,13 +516,17 @@ io_open_sockets(void)
/*
* function to dump the contents of the interface structure
* for debugging use only.
* We face a dilemma here -- sockets are FDs under POSIX and
* actually HANDLES under Windows. So we use '%lld' as format
* and cast the value to 'long long'; this should not hurt
* with UNIX-like systems and does not truncate values on Win64.
*/
void
interface_dump(const endpt *itf)
{
printf("Dumping interface: %p\n", itf);
printf("fd = %d\n", itf->fd);
printf("bfd = %d\n", itf->bfd);
printf("fd = %lld\n", (long long)itf->fd);
printf("bfd = %lld\n", (long long)itf->bfd);
printf("sin = %s,\n", stoa(&itf->sin));
sockaddr_dump(&itf->sin);
printf("bcast = %s,\n", stoa(&itf->bcast));
@ -570,11 +574,11 @@ sockaddr_dump(const sockaddr_u *psau)
static void
print_interface(const endpt *iface, const char *pfx, const char *sfx)
{
printf("%sinterface #%d: fd=%d, bfd=%d, name=%s, flags=0x%x, ifindex=%u, sin=%s",
printf("%sinterface #%d: fd=%lld, bfd=%lld, name=%s, flags=0x%x, ifindex=%u, sin=%s",
pfx,
iface->ifnum,
iface->fd,
iface->bfd,
(long long)iface->fd,
(long long)iface->bfd,
iface->name,
iface->flags,
iface->ifindex,
@ -2561,7 +2565,7 @@ io_setbclient(void)
{
#ifdef OPEN_BCAST_SOCKET
struct interface * interf;
int nif;
unsigned int nif;
nif = 0;
set_reuseaddr(1);
@ -2638,11 +2642,10 @@ io_setbclient(void)
}
}
set_reuseaddr(0);
if (nif > 0) {
if (nif != 0) {
broadcast_client_enabled = ISC_TRUE;
DPRINTF(1, ("io_setbclient: listening to %d broadcast addresses\n", nif));
}
else if (!nif) {
} else {
broadcast_client_enabled = ISC_FALSE;
msyslog(LOG_ERR,
"Unable to listen for broadcasts, no broadcast interfaces available");

View File

@ -1307,8 +1307,7 @@ loop_config(
if (freq < HUFFPUFF)
freq = HUFFPUFF;
sys_hufflen = (int)(freq / HUFFPUFF);
sys_huffpuff = emalloc(sizeof(sys_huffpuff[0]) *
sys_hufflen);
sys_huffpuff = eallocarray(sys_hufflen, sizeof(sys_huffpuff[0]));
for (i = 0; i < sys_hufflen; i++)
sys_huffpuff[i] = 1e9;
sys_mindly = 1e9;

File diff suppressed because it is too large Load Diff

View File

@ -446,7 +446,7 @@ extern int yydebug;
union YYSTYPE
{
#line 51 "../../ntpd/ntp_parser.y" /* yacc.c:1909 */
#line 51 "ntp_parser.y" /* yacc.c:1909 */
char * String;
double Double;

View File

@ -161,7 +161,7 @@ getmorepeermem(void)
int i;
struct peer *peers;
peers = emalloc_zero(INC_PEER_ALLOC * sizeof(*peers));
peers = eallocarray(INC_PEER_ALLOC, sizeof(*peers));
for (i = INC_PEER_ALLOC - 1; i >= 0; i--)
LINK_SLIST(peer_free, &peers[i], p_link);
@ -309,7 +309,8 @@ findpeer(
for (p = peer_hash[hash]; p != NULL; p = p->adr_link) {
/* [Bug 3072] ensure interface of peer matches */
if (p->dstadr != rbufp->dstadr)
/* [Bug 3356] ... if NOT a broadcast peer! */
if (p->hmode != MODE_BCLIENT && p->dstadr != rbufp->dstadr)
continue;
/* ensure peer source address matches */

View File

@ -147,7 +147,7 @@ int sys_cohort = 0; /* cohort switch */
int sys_orphan = STRATUM_UNSPEC + 1; /* orphan stratum */
int sys_orphwait = NTP_ORPHWAIT; /* orphan wait */
int sys_beacon = BEACON; /* manycast beacon interval */
int sys_ttlmax; /* max ttl mapping vector index */
u_int sys_ttlmax; /* max ttl mapping vector index */
u_char sys_ttl[MAX_TTL]; /* ttl mapping vector */
/*
@ -401,7 +401,7 @@ transmit(
peer_xmit(peer);
} else if ( sys_survivors < sys_minclock
|| peer_associations < sys_maxclock) {
if (peer->ttl < (u_int32)sys_ttlmax)
if (peer->ttl < sys_ttlmax)
peer->ttl++;
peer_xmit(peer);
}
@ -1691,9 +1691,13 @@ receive(
if (0) {
} else if (L_ISZERO(&p_org)) {
char *action;
const char *action;
#ifdef BUG3361
msyslog(LOG_INFO,
"receive: BUG 3361: Clearing peer->aorg ");
L_CLR(&peer->aorg);
#endif
/**/
switch (hismode) {
/* We allow 0org for: */
@ -1712,6 +1716,7 @@ receive(
peer->flash |= TEST2; /* bogus */
break;
default:
action = ""; /* for cranky compilers / MSVC */
INSIST(!"receive(): impossible hismode");
break;
}
@ -3719,8 +3724,9 @@ peer_xmit(
}
}
peer->t21_bytes = sendlen;
sendpkt(&peer->srcadr, peer->dstadr, sys_ttl[peer->ttl],
&xpkt, sendlen);
sendpkt(&peer->srcadr, peer->dstadr,
sys_ttl[(peer->ttl >= sys_ttlmax) ? sys_ttlmax : peer->ttl],
&xpkt, sendlen);
peer->sent++;
peer->throttle += (1 << peer->minpoll) - 2;
@ -4030,8 +4036,9 @@ peer_xmit(
exit (-1);
}
peer->t21_bytes = sendlen;
sendpkt(&peer->srcadr, peer->dstadr, sys_ttl[peer->ttl], &xpkt,
sendlen);
sendpkt(&peer->srcadr, peer->dstadr,
sys_ttl[(peer->ttl >= sys_ttlmax) ? sys_ttlmax : peer->ttl],
&xpkt, sendlen);
peer->sent++;
peer->throttle += (1 << peer->minpoll) - 2;
@ -4054,7 +4061,7 @@ peer_xmit(
ntoa(&peer->srcadr), peer->hmode, xkeyid, sendlen,
peer->keynumber));
#else /* !AUTOKEY follows */
DPRINTF(1, ("peer_xmit: at %ld %s->%s mode %d keyid %08x len %d\n",
DPRINTF(1, ("peer_xmit: at %ld %s->%s mode %d keyid %08x len %zu\n",
current_time, peer->dstadr ?
ntoa(&peer->dstadr->sin) : "-",
ntoa(&peer->srcadr), peer->hmode, xkeyid, sendlen));
@ -4352,8 +4359,9 @@ pool_xmit(
get_systime(&xmt_tx);
pool->aorg = xmt_tx;
HTONL_FP(&xmt_tx, &xpkt.xmt);
sendpkt(rmtadr, lcladr, sys_ttl[pool->ttl], &xpkt,
LEN_PKT_NOMAC);
sendpkt(rmtadr, lcladr,
sys_ttl[(pool->ttl >= sys_ttlmax) ? sys_ttlmax : pool->ttl],
&xpkt, LEN_PKT_NOMAC);
pool->sent++;
pool->throttle += (1 << pool->minpoll) - 2;
DPRINTF(1, ("pool_xmit: at %ld %s->%s pool\n",
@ -4722,10 +4730,9 @@ init_proto(void)
sys_stattime = current_time;
orphwait = current_time + sys_orphwait;
proto_clr_stats();
for (i = 0; i < MAX_TTL; i++) {
for (i = 0; i < MAX_TTL; ++i)
sys_ttl[i] = (u_char)((i * 256) / MAX_TTL);
sys_ttlmax = i;
}
sys_ttlmax = (MAX_TTL - 1);
hardpps_enable = 0;
stats_control = 1;
}

View File

@ -166,7 +166,7 @@ alloc_res4(void)
if (res != NULL)
return res;
rl = emalloc_zero(count * cb);
rl = eallocarray(count, cb);
/* link all but the first onto free list */
res = (void *)((char *)rl + (count - 1) * cb);
for (i = count - 1; i > 0; i--) {
@ -192,7 +192,7 @@ alloc_res6(void)
if (res != NULL)
return res;
rl = emalloc_zero(count * cb);
rl = eallocarray(count, cb);
/* link all but the first onto free list */
res = (void *)((char *)rl + (count - 1) * cb);
for (i = count - 1; i > 0; i--) {

View File

@ -892,7 +892,6 @@ yylex(void)
}
}
instring = FALSE;
if (FOLLBY_STRING == followedby)
followedby = FOLLBY_TOKEN;

View File

@ -1,7 +1,7 @@
/*
* EDIT THIS FILE WITH CAUTION (ntpd-opts.c)
*
* It has been AutoGen-ed November 21, 2016 at 07:59:43 AM by AutoGen 5.18.5
* It has been AutoGen-ed March 21, 2017 at 10:42:12 AM by AutoGen 5.18.5
* From the definitions ntpd-opts.def
* and the template file options
*
@ -18,7 +18,7 @@
* The ntpd program is copyrighted and licensed
* under the following terms:
*
* Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.
* Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation, all rights reserved.
* This is free software. It is licensed for use, modification and
* redistribution under the terms of the NTP License, copies of which
* can be seen at:
@ -50,7 +50,7 @@ extern "C" {
#endif
extern FILE * option_usage_fp;
#define zCopyright (ntpd_opt_strs+0)
#define zLicenseDescrip (ntpd_opt_strs+340)
#define zLicenseDescrip (ntpd_opt_strs+341)
/*
* global included definitions
@ -74,15 +74,15 @@ extern FILE * option_usage_fp;
/**
* static const strings for ntpd options
*/
static char const ntpd_opt_strs[3129] =
/* 0 */ "ntpd 4.2.8p9\n"
"Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n"
static char const ntpd_opt_strs[3132] =
/* 0 */ "ntpd 4.2.8p10\n"
"Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation, all rights reserved.\n"
"This is free software. It is licensed for use, modification and\n"
"redistribution under the terms of the NTP License, copies of which\n"
"can be seen at:\n"
" <http://ntp.org/license>\n"
" <http://opensource.org/licenses/ntp-license.php>\n\0"
/* 340 */ "Permission to use, copy, modify, and distribute this software and its\n"
/* 341 */ "Permission to use, copy, modify, and distribute this software and its\n"
"documentation for any purpose with or without fee is hereby granted,\n"
"provided that the above copyright notice appears in all copies and that\n"
"both the copyright notice and this permission notice appear in supporting\n"
@ -92,136 +92,136 @@ static char const ntpd_opt_strs[3129] =
"Time Foundation makes no representations about the suitability this\n"
"software for any purpose. It is provided \"as is\" without express or\n"
"implied warranty.\n\0"
/* 1008 */ "Force IPv4 DNS name resolution\0"
/* 1039 */ "IPV4\0"
/* 1044 */ "ipv4\0"
/* 1049 */ "Force IPv6 DNS name resolution\0"
/* 1080 */ "IPV6\0"
/* 1085 */ "ipv6\0"
/* 1090 */ "Require crypto authentication\0"
/* 1120 */ "AUTHREQ\0"
/* 1128 */ "authreq\0"
/* 1136 */ "Do not require crypto authentication\0"
/* 1173 */ "AUTHNOREQ\0"
/* 1183 */ "authnoreq\0"
/* 1193 */ "Allow us to sync to broadcast servers\0"
/* 1231 */ "BCASTSYNC\0"
/* 1241 */ "bcastsync\0"
/* 1251 */ "configuration file name\0"
/* 1275 */ "CONFIGFILE\0"
/* 1286 */ "configfile\0"
/* 1297 */ "Increase debug verbosity level\0"
/* 1328 */ "DEBUG_LEVEL\0"
/* 1340 */ "debug-level\0"
/* 1352 */ "Set the debug verbosity level\0"
/* 1382 */ "SET_DEBUG_LEVEL\0"
/* 1398 */ "set-debug-level\0"
/* 1414 */ "frequency drift file name\0"
/* 1440 */ "DRIFTFILE\0"
/* 1450 */ "driftfile\0"
/* 1460 */ "Allow the first adjustment to be Big\0"
/* 1497 */ "PANICGATE\0"
/* 1507 */ "panicgate\0"
/* 1517 */ "Step any initial offset correction.\0"
/* 1553 */ "FORCE_STEP_ONCE\0"
/* 1569 */ "force-step-once\0"
/* 1585 */ "Jail directory\0"
/* 1600 */ "JAILDIR\0"
/* 1608 */ "jaildir\0"
/* 1616 */ "built without --enable-clockctl or --enable-linuxcaps or --enable-solarisprivs\0"
/* 1695 */ "Listen on an interface name or address\0"
/* 1734 */ "INTERFACE\0"
/* 1744 */ "interface\0"
/* 1754 */ "path to symmetric keys\0"
/* 1777 */ "KEYFILE\0"
/* 1785 */ "keyfile\0"
/* 1793 */ "path to the log file\0"
/* 1814 */ "LOGFILE\0"
/* 1822 */ "logfile\0"
/* 1830 */ "Do not listen to virtual interfaces\0"
/* 1866 */ "NOVIRTUALIPS\0"
/* 1879 */ "novirtualips\0"
/* 1892 */ "Modify Multimedia Timer (Windows only)\0"
/* 1931 */ "MODIFYMMTIMER\0"
/* 1945 */ "modifymmtimer\0"
/* 1959 */ "Do not fork\0"
/* 1971 */ "NOFORK\0"
/* 1978 */ "nofork\0"
/* 1985 */ "Run at high priority\0"
/* 2006 */ "NICE\0"
/* 2011 */ "nice\0"
/* 2016 */ "path to the PID file\0"
/* 2037 */ "PIDFILE\0"
/* 2045 */ "pidfile\0"
/* 2053 */ "Process priority\0"
/* 2070 */ "PRIORITY\0"
/* 2079 */ "priority\0"
/* 2088 */ "Set the time and quit\0"
/* 2110 */ "QUIT\0"
/* 2115 */ "quit\0"
/* 2120 */ "Broadcast/propagation delay\0"
/* 2148 */ "PROPAGATIONDELAY\0"
/* 2165 */ "propagationdelay\0"
/* 2182 */ "Save parsed configuration and quit\0"
/* 2217 */ "SAVECONFIGQUIT\0"
/* 2232 */ "saveconfigquit\0"
/* 2247 */ "Statistics file location\0"
/* 2272 */ "STATSDIR\0"
/* 2281 */ "statsdir\0"
/* 2290 */ "Trusted key number\0"
/* 2309 */ "TRUSTEDKEY\0"
/* 2320 */ "trustedkey\0"
/* 2331 */ "Run as userid (or userid:groupid)\0"
/* 2365 */ "USER\0"
/* 2370 */ "user\0"
/* 2375 */ "interval in seconds between scans for new or dropped interfaces\0"
/* 2439 */ "UPDATEINTERVAL\0"
/* 2454 */ "updateinterval\0"
/* 2469 */ "make ARG an ntp variable (RW)\0"
/* 2499 */ "VAR\0"
/* 2503 */ "var\0"
/* 2507 */ "make ARG an ntp variable (RW|DEF)\0"
/* 2541 */ "DVAR\0"
/* 2546 */ "dvar\0"
/* 2551 */ "Seconds to wait for first clock sync\0"
/* 2588 */ "WAIT_SYNC\0"
/* 2598 */ "wait-sync\0"
/* 2608 */ "Slew up to 600 seconds\0"
/* 2631 */ "SLEW\0"
/* 2636 */ "slew\0"
/* 2641 */ "Use CPU cycle counter (Windows only)\0"
/* 2678 */ "USEPCC\0"
/* 2685 */ "usepcc\0"
/* 2692 */ "Force CPU cycle counter use (Windows only)\0"
/* 2735 */ "PCCFREQ\0"
/* 2743 */ "pccfreq\0"
/* 2751 */ "Register with mDNS as a NTP server\0"
/* 2786 */ "MDNS\0"
/* 2791 */ "mdns\0"
/* 2796 */ "display extended usage information and exit\0"
/* 2840 */ "help\0"
/* 2845 */ "extended usage information passed thru pager\0"
/* 2890 */ "more-help\0"
/* 2900 */ "output version information and exit\0"
/* 2936 */ "version\0"
/* 2944 */ "NTPD\0"
/* 2949 */ "ntpd - NTP daemon program - Ver. 4.2.8p9\n"
/* 1009 */ "Force IPv4 DNS name resolution\0"
/* 1040 */ "IPV4\0"
/* 1045 */ "ipv4\0"
/* 1050 */ "Force IPv6 DNS name resolution\0"
/* 1081 */ "IPV6\0"
/* 1086 */ "ipv6\0"
/* 1091 */ "Require crypto authentication\0"
/* 1121 */ "AUTHREQ\0"
/* 1129 */ "authreq\0"
/* 1137 */ "Do not require crypto authentication\0"
/* 1174 */ "AUTHNOREQ\0"
/* 1184 */ "authnoreq\0"
/* 1194 */ "Allow us to sync to broadcast servers\0"
/* 1232 */ "BCASTSYNC\0"
/* 1242 */ "bcastsync\0"
/* 1252 */ "configuration file name\0"
/* 1276 */ "CONFIGFILE\0"
/* 1287 */ "configfile\0"
/* 1298 */ "Increase debug verbosity level\0"
/* 1329 */ "DEBUG_LEVEL\0"
/* 1341 */ "debug-level\0"
/* 1353 */ "Set the debug verbosity level\0"
/* 1383 */ "SET_DEBUG_LEVEL\0"
/* 1399 */ "set-debug-level\0"
/* 1415 */ "frequency drift file name\0"
/* 1441 */ "DRIFTFILE\0"
/* 1451 */ "driftfile\0"
/* 1461 */ "Allow the first adjustment to be Big\0"
/* 1498 */ "PANICGATE\0"
/* 1508 */ "panicgate\0"
/* 1518 */ "Step any initial offset correction.\0"
/* 1554 */ "FORCE_STEP_ONCE\0"
/* 1570 */ "force-step-once\0"
/* 1586 */ "Jail directory\0"
/* 1601 */ "JAILDIR\0"
/* 1609 */ "jaildir\0"
/* 1617 */ "built without --enable-clockctl or --enable-linuxcaps or --enable-solarisprivs\0"
/* 1696 */ "Listen on an interface name or address\0"
/* 1735 */ "INTERFACE\0"
/* 1745 */ "interface\0"
/* 1755 */ "path to symmetric keys\0"
/* 1778 */ "KEYFILE\0"
/* 1786 */ "keyfile\0"
/* 1794 */ "path to the log file\0"
/* 1815 */ "LOGFILE\0"
/* 1823 */ "logfile\0"
/* 1831 */ "Do not listen to virtual interfaces\0"
/* 1867 */ "NOVIRTUALIPS\0"
/* 1880 */ "novirtualips\0"
/* 1893 */ "Modify Multimedia Timer (Windows only)\0"
/* 1932 */ "MODIFYMMTIMER\0"
/* 1946 */ "modifymmtimer\0"
/* 1960 */ "Do not fork\0"
/* 1972 */ "NOFORK\0"
/* 1979 */ "nofork\0"
/* 1986 */ "Run at high priority\0"
/* 2007 */ "NICE\0"
/* 2012 */ "nice\0"
/* 2017 */ "path to the PID file\0"
/* 2038 */ "PIDFILE\0"
/* 2046 */ "pidfile\0"
/* 2054 */ "Process priority\0"
/* 2071 */ "PRIORITY\0"
/* 2080 */ "priority\0"
/* 2089 */ "Set the time and quit\0"
/* 2111 */ "QUIT\0"
/* 2116 */ "quit\0"
/* 2121 */ "Broadcast/propagation delay\0"
/* 2149 */ "PROPAGATIONDELAY\0"
/* 2166 */ "propagationdelay\0"
/* 2183 */ "Save parsed configuration and quit\0"
/* 2218 */ "SAVECONFIGQUIT\0"
/* 2233 */ "saveconfigquit\0"
/* 2248 */ "Statistics file location\0"
/* 2273 */ "STATSDIR\0"
/* 2282 */ "statsdir\0"
/* 2291 */ "Trusted key number\0"
/* 2310 */ "TRUSTEDKEY\0"
/* 2321 */ "trustedkey\0"
/* 2332 */ "Run as userid (or userid:groupid)\0"
/* 2366 */ "USER\0"
/* 2371 */ "user\0"
/* 2376 */ "interval in seconds between scans for new or dropped interfaces\0"
/* 2440 */ "UPDATEINTERVAL\0"
/* 2455 */ "updateinterval\0"
/* 2470 */ "make ARG an ntp variable (RW)\0"
/* 2500 */ "VAR\0"
/* 2504 */ "var\0"
/* 2508 */ "make ARG an ntp variable (RW|DEF)\0"
/* 2542 */ "DVAR\0"
/* 2547 */ "dvar\0"
/* 2552 */ "Seconds to wait for first clock sync\0"
/* 2589 */ "WAIT_SYNC\0"
/* 2599 */ "wait-sync\0"
/* 2609 */ "Slew up to 600 seconds\0"
/* 2632 */ "SLEW\0"
/* 2637 */ "slew\0"
/* 2642 */ "Use CPU cycle counter (Windows only)\0"
/* 2679 */ "USEPCC\0"
/* 2686 */ "usepcc\0"
/* 2693 */ "Force CPU cycle counter use (Windows only)\0"
/* 2736 */ "PCCFREQ\0"
/* 2744 */ "pccfreq\0"
/* 2752 */ "Register with mDNS as a NTP server\0"
/* 2787 */ "MDNS\0"
/* 2792 */ "mdns\0"
/* 2797 */ "display extended usage information and exit\0"
/* 2841 */ "help\0"
/* 2846 */ "extended usage information passed thru pager\0"
/* 2891 */ "more-help\0"
/* 2901 */ "output version information and exit\0"
/* 2937 */ "version\0"
/* 2945 */ "NTPD\0"
/* 2950 */ "ntpd - NTP daemon program - Ver. 4.2.8p10\n"
"Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \\\n"
"\t\t[ <server1> ... <serverN> ]\n\0"
/* 3080 */ "http://bugs.ntp.org, bugs@ntp.org\0"
/* 3114 */ "\n\0"
/* 3116 */ "ntpd 4.2.8p9";
/* 3082 */ "http://bugs.ntp.org, bugs@ntp.org\0"
/* 3116 */ "\n\0"
/* 3118 */ "ntpd 4.2.8p10";
/**
* ipv4 option description with
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the ipv4 option */
#define IPV4_DESC (ntpd_opt_strs+1008)
#define IPV4_DESC (ntpd_opt_strs+1009)
/** Upper-cased name for the ipv4 option */
#define IPV4_NAME (ntpd_opt_strs+1039)
#define IPV4_NAME (ntpd_opt_strs+1040)
/** Name string for the ipv4 option */
#define IPV4_name (ntpd_opt_strs+1044)
#define IPV4_name (ntpd_opt_strs+1045)
/** Other options that appear in conjunction with the ipv4 option */
static int const aIpv4CantList[] = {
INDEX_OPT_IPV6, NO_EQUIVALENT };
@ -233,11 +233,11 @@ static int const aIpv4CantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the ipv6 option */
#define IPV6_DESC (ntpd_opt_strs+1049)
#define IPV6_DESC (ntpd_opt_strs+1050)
/** Upper-cased name for the ipv6 option */
#define IPV6_NAME (ntpd_opt_strs+1080)
#define IPV6_NAME (ntpd_opt_strs+1081)
/** Name string for the ipv6 option */
#define IPV6_name (ntpd_opt_strs+1085)
#define IPV6_name (ntpd_opt_strs+1086)
/** Other options that appear in conjunction with the ipv6 option */
static int const aIpv6CantList[] = {
INDEX_OPT_IPV4, NO_EQUIVALENT };
@ -249,11 +249,11 @@ static int const aIpv6CantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the authreq option */
#define AUTHREQ_DESC (ntpd_opt_strs+1090)
#define AUTHREQ_DESC (ntpd_opt_strs+1091)
/** Upper-cased name for the authreq option */
#define AUTHREQ_NAME (ntpd_opt_strs+1120)
#define AUTHREQ_NAME (ntpd_opt_strs+1121)
/** Name string for the authreq option */
#define AUTHREQ_name (ntpd_opt_strs+1128)
#define AUTHREQ_name (ntpd_opt_strs+1129)
/** Other options that appear in conjunction with the authreq option */
static int const aAuthreqCantList[] = {
INDEX_OPT_AUTHNOREQ, NO_EQUIVALENT };
@ -265,11 +265,11 @@ static int const aAuthreqCantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the authnoreq option */
#define AUTHNOREQ_DESC (ntpd_opt_strs+1136)
#define AUTHNOREQ_DESC (ntpd_opt_strs+1137)
/** Upper-cased name for the authnoreq option */
#define AUTHNOREQ_NAME (ntpd_opt_strs+1173)
#define AUTHNOREQ_NAME (ntpd_opt_strs+1174)
/** Name string for the authnoreq option */
#define AUTHNOREQ_name (ntpd_opt_strs+1183)
#define AUTHNOREQ_name (ntpd_opt_strs+1184)
/** Other options that appear in conjunction with the authnoreq option */
static int const aAuthnoreqCantList[] = {
INDEX_OPT_AUTHREQ, NO_EQUIVALENT };
@ -280,11 +280,11 @@ static int const aAuthnoreqCantList[] = {
* bcastsync option description:
*/
/** Descriptive text for the bcastsync option */
#define BCASTSYNC_DESC (ntpd_opt_strs+1193)
#define BCASTSYNC_DESC (ntpd_opt_strs+1194)
/** Upper-cased name for the bcastsync option */
#define BCASTSYNC_NAME (ntpd_opt_strs+1231)
#define BCASTSYNC_NAME (ntpd_opt_strs+1232)
/** Name string for the bcastsync option */
#define BCASTSYNC_name (ntpd_opt_strs+1241)
#define BCASTSYNC_name (ntpd_opt_strs+1242)
/** Compiled in flag settings for the bcastsync option */
#define BCASTSYNC_FLAGS (OPTST_DISABLED)
@ -292,11 +292,11 @@ static int const aAuthnoreqCantList[] = {
* configfile option description:
*/
/** Descriptive text for the configfile option */
#define CONFIGFILE_DESC (ntpd_opt_strs+1251)
#define CONFIGFILE_DESC (ntpd_opt_strs+1252)
/** Upper-cased name for the configfile option */
#define CONFIGFILE_NAME (ntpd_opt_strs+1275)
#define CONFIGFILE_NAME (ntpd_opt_strs+1276)
/** Name string for the configfile option */
#define CONFIGFILE_name (ntpd_opt_strs+1286)
#define CONFIGFILE_name (ntpd_opt_strs+1287)
/** Compiled in flag settings for the configfile option */
#define CONFIGFILE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -305,11 +305,11 @@ static int const aAuthnoreqCantList[] = {
* debug-level option description:
*/
/** Descriptive text for the debug-level option */
#define DEBUG_LEVEL_DESC (ntpd_opt_strs+1297)
#define DEBUG_LEVEL_DESC (ntpd_opt_strs+1298)
/** Upper-cased name for the debug-level option */
#define DEBUG_LEVEL_NAME (ntpd_opt_strs+1328)
#define DEBUG_LEVEL_NAME (ntpd_opt_strs+1329)
/** Name string for the debug-level option */
#define DEBUG_LEVEL_name (ntpd_opt_strs+1340)
#define DEBUG_LEVEL_name (ntpd_opt_strs+1341)
/** Compiled in flag settings for the debug-level option */
#define DEBUG_LEVEL_FLAGS (OPTST_DISABLED)
@ -317,11 +317,11 @@ static int const aAuthnoreqCantList[] = {
* set-debug-level option description:
*/
/** Descriptive text for the set-debug-level option */
#define SET_DEBUG_LEVEL_DESC (ntpd_opt_strs+1352)
#define SET_DEBUG_LEVEL_DESC (ntpd_opt_strs+1353)
/** Upper-cased name for the set-debug-level option */
#define SET_DEBUG_LEVEL_NAME (ntpd_opt_strs+1382)
#define SET_DEBUG_LEVEL_NAME (ntpd_opt_strs+1383)
/** Name string for the set-debug-level option */
#define SET_DEBUG_LEVEL_name (ntpd_opt_strs+1398)
#define SET_DEBUG_LEVEL_name (ntpd_opt_strs+1399)
/** Compiled in flag settings for the set-debug-level option */
#define SET_DEBUG_LEVEL_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
@ -330,11 +330,11 @@ static int const aAuthnoreqCantList[] = {
* driftfile option description:
*/
/** Descriptive text for the driftfile option */
#define DRIFTFILE_DESC (ntpd_opt_strs+1414)
#define DRIFTFILE_DESC (ntpd_opt_strs+1415)
/** Upper-cased name for the driftfile option */
#define DRIFTFILE_NAME (ntpd_opt_strs+1440)
#define DRIFTFILE_NAME (ntpd_opt_strs+1441)
/** Name string for the driftfile option */
#define DRIFTFILE_name (ntpd_opt_strs+1450)
#define DRIFTFILE_name (ntpd_opt_strs+1451)
/** Compiled in flag settings for the driftfile option */
#define DRIFTFILE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -343,11 +343,11 @@ static int const aAuthnoreqCantList[] = {
* panicgate option description:
*/
/** Descriptive text for the panicgate option */
#define PANICGATE_DESC (ntpd_opt_strs+1460)
#define PANICGATE_DESC (ntpd_opt_strs+1461)
/** Upper-cased name for the panicgate option */
#define PANICGATE_NAME (ntpd_opt_strs+1497)
#define PANICGATE_NAME (ntpd_opt_strs+1498)
/** Name string for the panicgate option */
#define PANICGATE_name (ntpd_opt_strs+1507)
#define PANICGATE_name (ntpd_opt_strs+1508)
/** Compiled in flag settings for the panicgate option */
#define PANICGATE_FLAGS (OPTST_DISABLED)
@ -355,11 +355,11 @@ static int const aAuthnoreqCantList[] = {
* force_step_once option description:
*/
/** Descriptive text for the force_step_once option */
#define FORCE_STEP_ONCE_DESC (ntpd_opt_strs+1517)
#define FORCE_STEP_ONCE_DESC (ntpd_opt_strs+1518)
/** Upper-cased name for the force_step_once option */
#define FORCE_STEP_ONCE_NAME (ntpd_opt_strs+1553)
#define FORCE_STEP_ONCE_NAME (ntpd_opt_strs+1554)
/** Name string for the force_step_once option */
#define FORCE_STEP_ONCE_name (ntpd_opt_strs+1569)
#define FORCE_STEP_ONCE_name (ntpd_opt_strs+1570)
/** Compiled in flag settings for the force_step_once option */
#define FORCE_STEP_ONCE_FLAGS (OPTST_DISABLED)
@ -368,11 +368,11 @@ static int const aAuthnoreqCantList[] = {
*/
#ifdef HAVE_DROPROOT
/** Descriptive text for the jaildir option */
#define JAILDIR_DESC (ntpd_opt_strs+1585)
#define JAILDIR_DESC (ntpd_opt_strs+1586)
/** Upper-cased name for the jaildir option */
#define JAILDIR_NAME (ntpd_opt_strs+1600)
#define JAILDIR_NAME (ntpd_opt_strs+1601)
/** Name string for the jaildir option */
#define JAILDIR_name (ntpd_opt_strs+1608)
#define JAILDIR_name (ntpd_opt_strs+1609)
/** Compiled in flag settings for the jaildir option */
#define JAILDIR_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -381,19 +381,19 @@ static int const aAuthnoreqCantList[] = {
#define JAILDIR_FLAGS (OPTST_OMITTED | OPTST_NO_INIT)
#define JAILDIR_NAME NULL
/** Descriptive text for the jaildir option */
#define JAILDIR_DESC (ntpd_opt_strs+1616)
#define JAILDIR_name (ntpd_opt_strs+1608)
#define JAILDIR_DESC (ntpd_opt_strs+1617)
#define JAILDIR_name (ntpd_opt_strs+1609)
#endif /* HAVE_DROPROOT */
/**
* interface option description:
*/
/** Descriptive text for the interface option */
#define INTERFACE_DESC (ntpd_opt_strs+1695)
#define INTERFACE_DESC (ntpd_opt_strs+1696)
/** Upper-cased name for the interface option */
#define INTERFACE_NAME (ntpd_opt_strs+1734)
#define INTERFACE_NAME (ntpd_opt_strs+1735)
/** Name string for the interface option */
#define INTERFACE_name (ntpd_opt_strs+1744)
#define INTERFACE_name (ntpd_opt_strs+1745)
/** Compiled in flag settings for the interface option */
#define INTERFACE_FLAGS (OPTST_DISABLED | OPTST_STACKED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -402,11 +402,11 @@ static int const aAuthnoreqCantList[] = {
* keyfile option description:
*/
/** Descriptive text for the keyfile option */
#define KEYFILE_DESC (ntpd_opt_strs+1754)
#define KEYFILE_DESC (ntpd_opt_strs+1755)
/** Upper-cased name for the keyfile option */
#define KEYFILE_NAME (ntpd_opt_strs+1777)
#define KEYFILE_NAME (ntpd_opt_strs+1778)
/** Name string for the keyfile option */
#define KEYFILE_name (ntpd_opt_strs+1785)
#define KEYFILE_name (ntpd_opt_strs+1786)
/** Compiled in flag settings for the keyfile option */
#define KEYFILE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -415,11 +415,11 @@ static int const aAuthnoreqCantList[] = {
* logfile option description:
*/
/** Descriptive text for the logfile option */
#define LOGFILE_DESC (ntpd_opt_strs+1793)
#define LOGFILE_DESC (ntpd_opt_strs+1794)
/** Upper-cased name for the logfile option */
#define LOGFILE_NAME (ntpd_opt_strs+1814)
#define LOGFILE_NAME (ntpd_opt_strs+1815)
/** Name string for the logfile option */
#define LOGFILE_name (ntpd_opt_strs+1822)
#define LOGFILE_name (ntpd_opt_strs+1823)
/** Compiled in flag settings for the logfile option */
#define LOGFILE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -428,11 +428,11 @@ static int const aAuthnoreqCantList[] = {
* novirtualips option description:
*/
/** Descriptive text for the novirtualips option */
#define NOVIRTUALIPS_DESC (ntpd_opt_strs+1830)
#define NOVIRTUALIPS_DESC (ntpd_opt_strs+1831)
/** Upper-cased name for the novirtualips option */
#define NOVIRTUALIPS_NAME (ntpd_opt_strs+1866)
#define NOVIRTUALIPS_NAME (ntpd_opt_strs+1867)
/** Name string for the novirtualips option */
#define NOVIRTUALIPS_name (ntpd_opt_strs+1879)
#define NOVIRTUALIPS_name (ntpd_opt_strs+1880)
/** Compiled in flag settings for the novirtualips option */
#define NOVIRTUALIPS_FLAGS (OPTST_DISABLED)
@ -441,11 +441,11 @@ static int const aAuthnoreqCantList[] = {
*/
#ifdef SYS_WINNT
/** Descriptive text for the modifymmtimer option */
#define MODIFYMMTIMER_DESC (ntpd_opt_strs+1892)
#define MODIFYMMTIMER_DESC (ntpd_opt_strs+1893)
/** Upper-cased name for the modifymmtimer option */
#define MODIFYMMTIMER_NAME (ntpd_opt_strs+1931)
#define MODIFYMMTIMER_NAME (ntpd_opt_strs+1932)
/** Name string for the modifymmtimer option */
#define MODIFYMMTIMER_name (ntpd_opt_strs+1945)
#define MODIFYMMTIMER_name (ntpd_opt_strs+1946)
/** Compiled in flag settings for the modifymmtimer option */
#define MODIFYMMTIMER_FLAGS (OPTST_DISABLED)
@ -461,11 +461,11 @@ static int const aAuthnoreqCantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the nofork option */
#define NOFORK_DESC (ntpd_opt_strs+1959)
#define NOFORK_DESC (ntpd_opt_strs+1960)
/** Upper-cased name for the nofork option */
#define NOFORK_NAME (ntpd_opt_strs+1971)
#define NOFORK_NAME (ntpd_opt_strs+1972)
/** Name string for the nofork option */
#define NOFORK_name (ntpd_opt_strs+1978)
#define NOFORK_name (ntpd_opt_strs+1979)
/** Other options that appear in conjunction with the nofork option */
static int const aNoforkCantList[] = {
INDEX_OPT_WAIT_SYNC, NO_EQUIVALENT };
@ -476,11 +476,11 @@ static int const aNoforkCantList[] = {
* nice option description:
*/
/** Descriptive text for the nice option */
#define NICE_DESC (ntpd_opt_strs+1985)
#define NICE_DESC (ntpd_opt_strs+1986)
/** Upper-cased name for the nice option */
#define NICE_NAME (ntpd_opt_strs+2006)
#define NICE_NAME (ntpd_opt_strs+2007)
/** Name string for the nice option */
#define NICE_name (ntpd_opt_strs+2011)
#define NICE_name (ntpd_opt_strs+2012)
/** Compiled in flag settings for the nice option */
#define NICE_FLAGS (OPTST_DISABLED)
@ -488,11 +488,11 @@ static int const aNoforkCantList[] = {
* pidfile option description:
*/
/** Descriptive text for the pidfile option */
#define PIDFILE_DESC (ntpd_opt_strs+2016)
#define PIDFILE_DESC (ntpd_opt_strs+2017)
/** Upper-cased name for the pidfile option */
#define PIDFILE_NAME (ntpd_opt_strs+2037)
#define PIDFILE_NAME (ntpd_opt_strs+2038)
/** Name string for the pidfile option */
#define PIDFILE_name (ntpd_opt_strs+2045)
#define PIDFILE_name (ntpd_opt_strs+2046)
/** Compiled in flag settings for the pidfile option */
#define PIDFILE_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -501,11 +501,11 @@ static int const aNoforkCantList[] = {
* priority option description:
*/
/** Descriptive text for the priority option */
#define PRIORITY_DESC (ntpd_opt_strs+2053)
#define PRIORITY_DESC (ntpd_opt_strs+2054)
/** Upper-cased name for the priority option */
#define PRIORITY_NAME (ntpd_opt_strs+2070)
#define PRIORITY_NAME (ntpd_opt_strs+2071)
/** Name string for the priority option */
#define PRIORITY_name (ntpd_opt_strs+2079)
#define PRIORITY_name (ntpd_opt_strs+2080)
/** Compiled in flag settings for the priority option */
#define PRIORITY_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
@ -515,11 +515,11 @@ static int const aNoforkCantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the quit option */
#define QUIT_DESC (ntpd_opt_strs+2088)
#define QUIT_DESC (ntpd_opt_strs+2089)
/** Upper-cased name for the quit option */
#define QUIT_NAME (ntpd_opt_strs+2110)
#define QUIT_NAME (ntpd_opt_strs+2111)
/** Name string for the quit option */
#define QUIT_name (ntpd_opt_strs+2115)
#define QUIT_name (ntpd_opt_strs+2116)
/** Other options that appear in conjunction with the quit option */
static int const aQuitCantList[] = {
INDEX_OPT_SAVECONFIGQUIT,
@ -531,11 +531,11 @@ static int const aQuitCantList[] = {
* propagationdelay option description:
*/
/** Descriptive text for the propagationdelay option */
#define PROPAGATIONDELAY_DESC (ntpd_opt_strs+2120)
#define PROPAGATIONDELAY_DESC (ntpd_opt_strs+2121)
/** Upper-cased name for the propagationdelay option */
#define PROPAGATIONDELAY_NAME (ntpd_opt_strs+2148)
#define PROPAGATIONDELAY_NAME (ntpd_opt_strs+2149)
/** Name string for the propagationdelay option */
#define PROPAGATIONDELAY_name (ntpd_opt_strs+2165)
#define PROPAGATIONDELAY_name (ntpd_opt_strs+2166)
/** Compiled in flag settings for the propagationdelay option */
#define PROPAGATIONDELAY_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -546,11 +546,11 @@ static int const aQuitCantList[] = {
*/
#ifdef SAVECONFIG
/** Descriptive text for the saveconfigquit option */
#define SAVECONFIGQUIT_DESC (ntpd_opt_strs+2182)
#define SAVECONFIGQUIT_DESC (ntpd_opt_strs+2183)
/** Upper-cased name for the saveconfigquit option */
#define SAVECONFIGQUIT_NAME (ntpd_opt_strs+2217)
#define SAVECONFIGQUIT_NAME (ntpd_opt_strs+2218)
/** Name string for the saveconfigquit option */
#define SAVECONFIGQUIT_name (ntpd_opt_strs+2232)
#define SAVECONFIGQUIT_name (ntpd_opt_strs+2233)
/** Other options that appear in conjunction with the saveconfigquit option */
static int const aSaveconfigquitCantList[] = {
INDEX_OPT_QUIT,
@ -571,11 +571,11 @@ static int const aSaveconfigquitCantList[] = {
* statsdir option description:
*/
/** Descriptive text for the statsdir option */
#define STATSDIR_DESC (ntpd_opt_strs+2247)
#define STATSDIR_DESC (ntpd_opt_strs+2248)
/** Upper-cased name for the statsdir option */
#define STATSDIR_NAME (ntpd_opt_strs+2272)
#define STATSDIR_NAME (ntpd_opt_strs+2273)
/** Name string for the statsdir option */
#define STATSDIR_name (ntpd_opt_strs+2281)
#define STATSDIR_name (ntpd_opt_strs+2282)
/** Compiled in flag settings for the statsdir option */
#define STATSDIR_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -584,11 +584,11 @@ static int const aSaveconfigquitCantList[] = {
* trustedkey option description:
*/
/** Descriptive text for the trustedkey option */
#define TRUSTEDKEY_DESC (ntpd_opt_strs+2290)
#define TRUSTEDKEY_DESC (ntpd_opt_strs+2291)
/** Upper-cased name for the trustedkey option */
#define TRUSTEDKEY_NAME (ntpd_opt_strs+2309)
#define TRUSTEDKEY_NAME (ntpd_opt_strs+2310)
/** Name string for the trustedkey option */
#define TRUSTEDKEY_name (ntpd_opt_strs+2320)
#define TRUSTEDKEY_name (ntpd_opt_strs+2321)
/** Compiled in flag settings for the trustedkey option */
#define TRUSTEDKEY_FLAGS (OPTST_DISABLED | OPTST_STACKED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -598,11 +598,11 @@ static int const aSaveconfigquitCantList[] = {
*/
#ifdef HAVE_DROPROOT
/** Descriptive text for the user option */
#define USER_DESC (ntpd_opt_strs+2331)
#define USER_DESC (ntpd_opt_strs+2332)
/** Upper-cased name for the user option */
#define USER_NAME (ntpd_opt_strs+2365)
#define USER_NAME (ntpd_opt_strs+2366)
/** Name string for the user option */
#define USER_name (ntpd_opt_strs+2370)
#define USER_name (ntpd_opt_strs+2371)
/** Compiled in flag settings for the user option */
#define USER_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -611,19 +611,19 @@ static int const aSaveconfigquitCantList[] = {
#define USER_FLAGS (OPTST_OMITTED | OPTST_NO_INIT)
#define USER_NAME NULL
/** Descriptive text for the user option */
#define USER_DESC (ntpd_opt_strs+1616)
#define USER_name (ntpd_opt_strs+2370)
#define USER_DESC (ntpd_opt_strs+1617)
#define USER_name (ntpd_opt_strs+2371)
#endif /* HAVE_DROPROOT */
/**
* updateinterval option description:
*/
/** Descriptive text for the updateinterval option */
#define UPDATEINTERVAL_DESC (ntpd_opt_strs+2375)
#define UPDATEINTERVAL_DESC (ntpd_opt_strs+2376)
/** Upper-cased name for the updateinterval option */
#define UPDATEINTERVAL_NAME (ntpd_opt_strs+2439)
#define UPDATEINTERVAL_NAME (ntpd_opt_strs+2440)
/** Name string for the updateinterval option */
#define UPDATEINTERVAL_name (ntpd_opt_strs+2454)
#define UPDATEINTERVAL_name (ntpd_opt_strs+2455)
/** Compiled in flag settings for the updateinterval option */
#define UPDATEINTERVAL_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
@ -632,11 +632,11 @@ static int const aSaveconfigquitCantList[] = {
* var option description:
*/
/** Descriptive text for the var option */
#define VAR_DESC (ntpd_opt_strs+2469)
#define VAR_DESC (ntpd_opt_strs+2470)
/** Upper-cased name for the var option */
#define VAR_NAME (ntpd_opt_strs+2499)
#define VAR_NAME (ntpd_opt_strs+2500)
/** Name string for the var option */
#define VAR_name (ntpd_opt_strs+2503)
#define VAR_name (ntpd_opt_strs+2504)
/** Compiled in flag settings for the var option */
#define VAR_FLAGS (OPTST_DISABLED | OPTST_STACKED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -645,11 +645,11 @@ static int const aSaveconfigquitCantList[] = {
* dvar option description:
*/
/** Descriptive text for the dvar option */
#define DVAR_DESC (ntpd_opt_strs+2507)
#define DVAR_DESC (ntpd_opt_strs+2508)
/** Upper-cased name for the dvar option */
#define DVAR_NAME (ntpd_opt_strs+2541)
#define DVAR_NAME (ntpd_opt_strs+2542)
/** Name string for the dvar option */
#define DVAR_name (ntpd_opt_strs+2546)
#define DVAR_name (ntpd_opt_strs+2547)
/** Compiled in flag settings for the dvar option */
#define DVAR_FLAGS (OPTST_DISABLED | OPTST_STACKED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -660,11 +660,11 @@ static int const aSaveconfigquitCantList[] = {
*/
#ifdef HAVE_WORKING_FORK
/** Descriptive text for the wait-sync option */
#define WAIT_SYNC_DESC (ntpd_opt_strs+2551)
#define WAIT_SYNC_DESC (ntpd_opt_strs+2552)
/** Upper-cased name for the wait-sync option */
#define WAIT_SYNC_NAME (ntpd_opt_strs+2588)
#define WAIT_SYNC_NAME (ntpd_opt_strs+2589)
/** Name string for the wait-sync option */
#define WAIT_SYNC_name (ntpd_opt_strs+2598)
#define WAIT_SYNC_name (ntpd_opt_strs+2599)
/** Other options that appear in conjunction with the wait-sync option */
static int const aWait_SyncCantList[] = {
INDEX_OPT_NOFORK,
@ -686,11 +686,11 @@ static int const aWait_SyncCantList[] = {
* slew option description:
*/
/** Descriptive text for the slew option */
#define SLEW_DESC (ntpd_opt_strs+2608)
#define SLEW_DESC (ntpd_opt_strs+2609)
/** Upper-cased name for the slew option */
#define SLEW_NAME (ntpd_opt_strs+2631)
#define SLEW_NAME (ntpd_opt_strs+2632)
/** Name string for the slew option */
#define SLEW_name (ntpd_opt_strs+2636)
#define SLEW_name (ntpd_opt_strs+2637)
/** Compiled in flag settings for the slew option */
#define SLEW_FLAGS (OPTST_DISABLED)
@ -699,11 +699,11 @@ static int const aWait_SyncCantList[] = {
*/
#ifdef SYS_WINNT
/** Descriptive text for the usepcc option */
#define USEPCC_DESC (ntpd_opt_strs+2641)
#define USEPCC_DESC (ntpd_opt_strs+2642)
/** Upper-cased name for the usepcc option */
#define USEPCC_NAME (ntpd_opt_strs+2678)
#define USEPCC_NAME (ntpd_opt_strs+2679)
/** Name string for the usepcc option */
#define USEPCC_name (ntpd_opt_strs+2685)
#define USEPCC_name (ntpd_opt_strs+2686)
/** Compiled in flag settings for the usepcc option */
#define USEPCC_FLAGS (OPTST_DISABLED)
@ -719,11 +719,11 @@ static int const aWait_SyncCantList[] = {
*/
#ifdef SYS_WINNT
/** Descriptive text for the pccfreq option */
#define PCCFREQ_DESC (ntpd_opt_strs+2692)
#define PCCFREQ_DESC (ntpd_opt_strs+2693)
/** Upper-cased name for the pccfreq option */
#define PCCFREQ_NAME (ntpd_opt_strs+2735)
#define PCCFREQ_NAME (ntpd_opt_strs+2736)
/** Name string for the pccfreq option */
#define PCCFREQ_name (ntpd_opt_strs+2743)
#define PCCFREQ_name (ntpd_opt_strs+2744)
/** Compiled in flag settings for the pccfreq option */
#define PCCFREQ_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -740,11 +740,11 @@ static int const aWait_SyncCantList[] = {
*/
#ifdef HAVE_DNSREGISTRATION
/** Descriptive text for the mdns option */
#define MDNS_DESC (ntpd_opt_strs+2751)
#define MDNS_DESC (ntpd_opt_strs+2752)
/** Upper-cased name for the mdns option */
#define MDNS_NAME (ntpd_opt_strs+2786)
#define MDNS_NAME (ntpd_opt_strs+2787)
/** Name string for the mdns option */
#define MDNS_name (ntpd_opt_strs+2791)
#define MDNS_name (ntpd_opt_strs+2792)
/** Compiled in flag settings for the mdns option */
#define MDNS_FLAGS (OPTST_DISABLED)
@ -758,11 +758,11 @@ static int const aWait_SyncCantList[] = {
/*
* Help/More_Help/Version option descriptions:
*/
#define HELP_DESC (ntpd_opt_strs+2796)
#define HELP_name (ntpd_opt_strs+2840)
#define HELP_DESC (ntpd_opt_strs+2797)
#define HELP_name (ntpd_opt_strs+2841)
#ifdef HAVE_WORKING_FORK
#define MORE_HELP_DESC (ntpd_opt_strs+2845)
#define MORE_HELP_name (ntpd_opt_strs+2890)
#define MORE_HELP_DESC (ntpd_opt_strs+2846)
#define MORE_HELP_name (ntpd_opt_strs+2891)
#define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT)
#else
#define MORE_HELP_DESC HELP_DESC
@ -775,8 +775,8 @@ static int const aWait_SyncCantList[] = {
# define VER_FLAGS (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \
OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT)
#endif
#define VER_DESC (ntpd_opt_strs+2900)
#define VER_name (ntpd_opt_strs+2936)
#define VER_DESC (ntpd_opt_strs+2901)
#define VER_name (ntpd_opt_strs+2937)
/**
* Declare option callback procedures
*/
@ -1258,21 +1258,21 @@ static tOptDesc optDesc[OPTION_CT] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/** Reference to the upper cased version of ntpd. */
#define zPROGNAME (ntpd_opt_strs+2944)
#define zPROGNAME (ntpd_opt_strs+2945)
/** Reference to the title line for ntpd usage. */
#define zUsageTitle (ntpd_opt_strs+2949)
#define zUsageTitle (ntpd_opt_strs+2950)
/** There is no ntpd configuration file. */
#define zRcName NULL
/** There are no directories to search for ntpd config files. */
#define apzHomeList NULL
/** The ntpd program bug email address. */
#define zBugsAddr (ntpd_opt_strs+3080)
#define zBugsAddr (ntpd_opt_strs+3082)
/** Clarification/explanation of what ntpd does. */
#define zExplain (ntpd_opt_strs+3114)
#define zExplain (ntpd_opt_strs+3116)
/** Extra detail explaining what ntpd does. */
#define zDetail (NULL)
/** The full version string for ntpd. */
#define zFullVersion (ntpd_opt_strs+3116)
#define zFullVersion (ntpd_opt_strs+3118)
/* extracted from optcode.tlib near line 364 */
#if defined(ENABLE_NLS)
@ -1529,8 +1529,8 @@ static void bogus_function(void) {
translate option names.
*/
/* referenced via ntpdOptions.pzCopyright */
puts(_("ntpd 4.2.8p9\n\
Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n\
puts(_("ntpd 4.2.8p10\n\
Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation, all rights reserved.\n\
This is free software. It is licensed for use, modification and\n\
redistribution under the terms of the NTP License, copies of which\n\
can be seen at:\n"));
@ -1670,7 +1670,7 @@ implied warranty.\n"));
puts(_("output version information and exit"));
/* referenced via ntpdOptions.pzUsageTitle */
puts(_("ntpd - NTP daemon program - Ver. 4.2.8p9\n\
puts(_("ntpd - NTP daemon program - Ver. 4.2.8p10\n\
Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \\\n\
\t\t[ <server1> ... <serverN> ]\n"));
@ -1678,7 +1678,7 @@ Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \\\n\
puts(_("\n"));
/* referenced via ntpdOptions.pzFullVersion */
puts(_("ntpd 4.2.8p9"));
puts(_("ntpd 4.2.8p10"));
/* referenced via ntpdOptions.pzFullUsage */
puts(_("<<<NOT-FOUND>>>"));

View File

@ -1,7 +1,7 @@
/*
* EDIT THIS FILE WITH CAUTION (ntpd-opts.h)
*
* It has been AutoGen-ed November 21, 2016 at 07:59:42 AM by AutoGen 5.18.5
* It has been AutoGen-ed March 21, 2017 at 10:42:11 AM by AutoGen 5.18.5
* From the definitions ntpd-opts.def
* and the template file options
*
@ -18,7 +18,7 @@
* The ntpd program is copyrighted and licensed
* under the following terms:
*
* Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.
* Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation, all rights reserved.
* This is free software. It is licensed for use, modification and
* redistribution under the terms of the NTP License, copies of which
* can be seen at:
@ -106,9 +106,9 @@ typedef enum {
/** count of all options for ntpd */
#define OPTION_CT 38
/** ntpd version */
#define NTPD_VERSION "4.2.8p9"
#define NTPD_VERSION "4.2.8p10"
/** Full ntpd version text */
#define NTPD_FULL_VERSION "ntpd 4.2.8p9"
#define NTPD_FULL_VERSION "ntpd 4.2.8p10"
/**
* Interface defines for all options. Replace "n" with the UPPER_CASED

View File

@ -10,11 +10,11 @@
.ds B-Font B
.ds I-Font I
.ds R-Font R
.TH ntpd 1ntpdman "21 Nov 2016" "4.2.8p9" "User Commands"
.TH ntpd 1ntpdman "21 Mar 2017" "4.2.8p10" "User Commands"
.\"
.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-giaGkh/ag-tiayjh)
.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-wcairs/ag-fdaWls)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:01:50 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:44:13 AM by AutoGen 5.18.5
.\" From the definitions ntpd-opts.def
.\" and the template file agman-cmd.tpl
.SH NAME
@ -979,7 +979,7 @@ RFC5908
.SH "AUTHORS"
The University of Delaware and Network Time Foundation
.SH "COPYRIGHT"
Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.SH BUGS
The

View File

@ -1,9 +1,9 @@
.Dd November 21 2016
.Dd March 21 2017
.Dt NTPD 1ntpdmdoc User Commands
.Os
.\" EDIT THIS FILE WITH CAUTION (ntpd-opts.mdoc)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:02:08 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:44:23 AM by AutoGen 5.18.5
.\" From the definitions ntpd-opts.def
.\" and the template file agmdoc-cmd.tpl
.Sh NAME
@ -886,7 +886,7 @@ A snapshot of this documentation is available in HTML format in
.Sh "AUTHORS"
The University of Delaware and Network Time Foundation
.Sh "COPYRIGHT"
Copyright (C) 1992\-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992\-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.Sh BUGS
The

View File

@ -230,8 +230,10 @@ static RETSIGTYPE no_debug (int);
# endif /* !DEBUG */
#endif /* !SIM && !SYS_WINNT */
#ifndef WORK_FORK
int saved_argc;
char ** saved_argv;
#endif
#ifndef SIM
int ntpdmain (int, char **);

View File

@ -39,7 +39,7 @@ The program can operate in any of several modes, including client/server,
symmetric and broadcast modes, and with both symmetric-key and public-key
cryptography.
<p>This document applies to version 4.2.8p9 of <code>ntpd</code>.
<p>This document applies to version 4.2.8p10 of <code>ntpd</code>.
<ul class="menu">
<li><a accesskey="1" href="#ntpd-Description">ntpd Description</a>: Description
@ -220,7 +220,7 @@ the usage text by passing it through a pager program.
used to select the program, defaulting to <span class="file">more</span>. Both will exit
with a status code of 0.
<pre class="example">ntpd - NTP daemon program - Ver. 4.2.8p9-RC
<pre class="example">ntpd - NTP daemon program - Ver. 4.2.8p10-beta
Usage: ntpd [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]... \
[ &lt;server1&gt; ... &lt;serverN&gt; ]
Flg Arg Option-Name Description

View File

@ -10,11 +10,11 @@
.ds B-Font B
.ds I-Font I
.ds R-Font R
.TH ntpd @NTPD_MS@ "21 Nov 2016" "4.2.8p9" "User Commands"
.TH ntpd @NTPD_MS@ "21 Mar 2017" "4.2.8p10" "User Commands"
.\"
.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-giaGkh/ag-tiayjh)
.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-wcairs/ag-fdaWls)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:01:50 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:44:13 AM by AutoGen 5.18.5
.\" From the definitions ntpd-opts.def
.\" and the template file agman-cmd.tpl
.SH NAME
@ -979,7 +979,7 @@ RFC5908
.SH "AUTHORS"
The University of Delaware and Network Time Foundation
.SH "COPYRIGHT"
Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.SH BUGS
The

View File

@ -1,9 +1,9 @@
.Dd November 21 2016
.Dd March 21 2017
.Dt NTPD @NTPD_MS@ User Commands
.Os
.\" EDIT THIS FILE WITH CAUTION (ntpd-opts.mdoc)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:02:08 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:44:23 AM by AutoGen 5.18.5
.\" From the definitions ntpd-opts.def
.\" and the template file agmdoc-cmd.tpl
.Sh NAME
@ -886,7 +886,7 @@ A snapshot of this documentation is available in HTML format in
.Sh "AUTHORS"
The University of Delaware and Network Time Foundation
.Sh "COPYRIGHT"
Copyright (C) 1992\-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992\-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.Sh BUGS
The

View File

@ -485,7 +485,7 @@ datum_pts_receive(
struct recvbuf *rbufp
)
{
int i;
int i, nb;
l_fp tstmp;
struct peer *p;
struct datum_pts_unit *datum_pts;
@ -526,22 +526,23 @@ datum_pts_receive(
** received to reduce the jitter.
*/
if (datum_pts->nbytes == 0) {
nb = datum_pts->nbytes;
if (nb == 0) {
datum_pts->lastrec = rbufp->recv_time;
}
/*
** Increment our count to the number of bytes received so far. Return if we
** haven't gotten all seven bytes yet.
** [Sec 3388] make sure we do not overrun the buffer.
** TODO: what to do with excessive bytes, if we ever get them?
*/
for (i=0; i<dpend; i++) {
datum_pts->retbuf[datum_pts->nbytes+i] = dpt[i];
for (i=0; (i < dpend) && (nb < sizeof(datum_pts->retbuf)); i++, nb++) {
datum_pts->retbuf[nb] = dpt[i];
}
datum_pts->nbytes += dpend;
if (datum_pts->nbytes != 7) {
datum_pts->nbytes = nb;
if (nb < 7) {
return;
}

View File

@ -2112,13 +2112,15 @@ save_ltc(
clockprocT * const pp,
const char * const tc)
{
size_t len;
len = (tc) ? strlen(tc) : 0;
if (len >= sizeof(pp->a_lastcode))
len = sizeof(pp->a_lastcode) - 1;
size_t len = 0;
if (tc) {
len = strlen(tc);
if (len >= sizeof(pp->a_lastcode))
len = sizeof(pp->a_lastcode) - 1;
memcpy(pp->a_lastcode, tc, len);
}
pp->lencode = (u_short)len;
memcpy(pp->a_lastcode, tc, len);
pp->a_lastcode[len] = '\0';
}

View File

@ -592,7 +592,7 @@ jjy_receive ( struct recvbuf *rbufp )
l_fp tRecvTimestamp; /* arrival timestamp */
int rc ;
char *pBuf, sLogText [ MAX_LOGTEXT ] ;
int iLen, iCopyLen ;
size_t iLen, iCopyLen ;
int i, j, iReadRawBuf, iBreakPosition ;
/*
@ -744,8 +744,8 @@ jjy_receive ( struct recvbuf *rbufp )
}
iCopyLen = ( iLen <= sizeof(sLogText)-1 ? iLen : sizeof(sLogText)-1 ) ;
strncpy( sLogText, pBuf, iCopyLen ) ;
sLogText[iCopyLen] = 0 ;
memcpy( sLogText, pBuf, iCopyLen ) ;
sLogText[iCopyLen] = '\0' ;
jjy_write_clockstats( peer, JJY_CLOCKSTATS_MARK_RECEIVE, sLogText ) ;
switch ( up->unittype ) {
@ -2688,8 +2688,9 @@ jjy_start_telephone ( int unit, struct peer *peer, struct jjyunit *up )
{
char sLog [ 80 ], sFirstThreeDigits [ 4 ] ;
int i, iNumberOfDigitsOfPhoneNumber, iCommaCount, iCommaPosition ;
int iFirstThreeDigitsCount ;
int iNumberOfDigitsOfPhoneNumber, iCommaCount, iCommaPosition ;
size_t i ;
size_t iFirstThreeDigitsCount ;
jjy_write_clockstats( peer, JJY_CLOCKSTATS_MARK_JJY, "Refclock: Telephone JJY" ) ;
@ -3823,7 +3824,7 @@ modem_receive ( struct recvbuf *rbufp )
struct jjyunit *up;
struct refclockproc *pp;
char *pBuf ;
int iLen ;
size_t iLen ;
#ifdef DEBUG
static const char *sFunctionName = "modem_receive" ;
@ -3857,11 +3858,11 @@ modem_receive ( struct recvbuf *rbufp )
#ifdef DEBUG
if ( debug ) {
char sResp [ 40 ] ;
int iCopyLen ;
size_t iCopyLen ;
iCopyLen = ( iLen <= sizeof(sResp)-1 ? iLen : sizeof(sResp)-1 ) ;
strncpy( sResp, pBuf, iLen <= sizeof(sResp)-1 ? iLen : sizeof(sResp)-1 ) ;
sResp[iCopyLen] = 0 ;
printf ( "refclock_jjy.c : modem_receive : iLen=%d pBuf=[%s] iModemEvent=%d\n", iCopyLen, sResp, up->iModemEvent ) ;
printf ( "refclock_jjy.c : modem_receive : iLen=%zu pBuf=[%s] iModemEvent=%d\n", iCopyLen, sResp, up->iModemEvent ) ;
}
#endif
modem_control ( peer, pp, up ) ;

View File

@ -1596,34 +1596,42 @@ mx4200_send(peer, fmt, va_alist)
struct refclockproc *pp;
struct mx4200unit *up;
register char *cp;
register char *cp, *ep;
register int n, m;
va_list ap;
char buf[1024];
u_char ck;
pp = peer->procptr;
up = pp->unitptr;
cp = buf;
ep = cp + sizeof(buf);
*cp++ = '$';
#if defined(__STDC__)
va_start(ap, fmt);
#else
va_start(ap);
#endif /* __STDC__ */
n = VSNPRINTF((cp, (size_t)(ep - cp), fmt, ap));
va_end(ap);
if (n < 0 || (size_t)n >= (size_t)(ep - cp))
goto overflow;
pp = peer->procptr;
up = pp->unitptr;
cp = buf;
*cp++ = '$';
n = VSNPRINTF((cp, sizeof(buf) - 1, fmt, ap));
ck = mx4200_cksum(cp, n);
cp += n;
n = SNPRINTF((cp, (size_t)(ep - cp), "*%02X\r\n", ck));
if (n < 0 || (size_t)n >= (size_t)(ep - cp))
goto overflow;
cp += n;
++n;
n += SNPRINTF((cp, sizeof(buf) - n - 5, "*%02X\r\n", ck));
m = write(pp->io.fd, buf, (unsigned)n);
m = write(pp->io.fd, buf, (unsigned)(cp - buf));
if (m < 0)
msyslog(LOG_ERR, "mx4200_send: write: %m (%s)", buf);
mx4200_debug(peer, "mx4200_send: %d %s\n", m, buf);
va_end(ap);
overflow:
msyslog(LOG_ERR, "mx4200_send: %s", "data exceeds buffer size");
}
#else

View File

@ -810,9 +810,6 @@ nmea_receive(
ZERO(tofs);
ZERO(date);
ZERO(gpsw);
sentence = 0; // Should never be needed.
rc_date = 0; // Should never be needed.
rc_time = 0; // Should never be needed.
/*
* Read the timecode and timestamp, then initialise field

View File

@ -1461,7 +1461,7 @@ oncore_receive(
#endif
i = rbufp->recv_length;
if (rcvbuf+rcvptr+i > &rcvbuf[sizeof rcvbuf])
if ((size_t)rcvptr + i >= sizeof(rcvbuf))
i = sizeof(rcvbuf) - rcvptr; /* and some char will be lost */
memcpy(rcvbuf+rcvptr, p, i);
rcvptr += i;
@ -2514,8 +2514,6 @@ oncore_msg_Bl(
WARN_MINUS
} warn;
day_now = day_lsf = 0;
cp = NULL; /* keep gcc happy */
subframe = buf[6] & 017;
valid = (buf[6] >> 4) & 017;
@ -2590,6 +2588,9 @@ oncore_msg_Bl(
instance->peer->leap = LEAP_ADDSECOND;
cp = "Set peer.leap to LEAP_ADDSECOND";
break;
default:
cp = NULL;
break;
}
oncore_log(instance, LOG_NOTICE, cp);
@ -3379,7 +3380,6 @@ oncore_check_antenna(
{
enum antenna_state antenna; /* antenna state */
antenna = instance->ant_state;
if (instance->chan == 12)
antenna = (instance->BEHa[130] & 0x6 ) >> 1;
else

View File

@ -3675,8 +3675,7 @@ parse_control(
}
}
tt = ap(start, LEN_STATES, tt,
"; running time: %s\"", l_mktime(sum));
ap(start, LEN_STATES, tt, "; running time: %s\"", l_mktime(sum));
tt = add_var(&out->kv_list, 32, RO);
snprintf(tt, 32, "refclock_id=\"%s\"", parse->parse_type->cl_id);
@ -4226,13 +4225,13 @@ parse_process(
static void
mk_utcinfo(
char *t, // pointer to the output string buffer
int wnt,
int wnlsf,
char *t, /* pointer to the output string buffer */
uint16_t wnt,
uint16_t wnlsf,
int dn,
int dtls,
int dtlsf,
int size // size of the output string buffer
int size /* size of the output string buffer */
)
{
/*
@ -4248,32 +4247,37 @@ mk_utcinfo(
{
time_t t_ls;
struct tm *tm;
int n = 0;
int nc;
if (wnlsf < GPSWRAP)
wnlsf += GPSWEEKS;
if (wnt < GPSWRAP)
wnt += GPSWEEKS;
/* 'wnt' not used here: would need the same treatment as 'wnlsf */
t_ls = (time_t) wnlsf * SECSPERWEEK
+ (time_t) dn * SECSPERDAY
+ GPS_SEC_BIAS - 1;
tm = gmtime( &t_ls );
if (tm == NULL) // gmtime() failed
if (tm == NULL) /* gmtime() failed */
{
snprintf( t, size, "** (gmtime() failed in mk_utcinfo())" );
return;
}
n += snprintf( t, size, "UTC offset transition from %is to %is due to leap second %s",
nc = snprintf( t, size, "UTC offset transition from %is to %is due to leap second %s",
dtls, dtlsf, ( dtls < dtlsf ) ? "insertion" : "deletion" );
n += snprintf( t + n, size - n, " at UTC midnight at the end of %s, %04i-%02i-%02i",
if (nc < 0)
nc = strlen(t);
else if (nc > size)
nc = size;
snprintf( t + nc, size - nc, " at UTC midnight at the end of %s, %04i-%02i-%02i",
daynames[tm->tm_wday], tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday );
}
else
{
snprintf( t, size, "UTC offset parameter: %is, no leap second announced.\n", dtls );
}
}

View File

@ -10,11 +10,14 @@ sbin_PROGRAMS = $(NTPDATE_DS)
EXTRA_PROGRAMS = ntpdate
AM_CFLAGS = $(CFLAGS_NTP)
AM_CFLAGS += $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS)
AM_CPPFLAGS += $(CPPFLAGS_NTP)
AM_CPPFLAGS += $(NTP_HARD_CPPFLAGS)
AM_LDFLAGS = $(LDFLAGS_NTP)
AM_LDFLAGS += $(NTP_HARD_LDFLAGS)
# LDADD might need RESLIB and ADJLIB
LDADD = version.o ../libntp/libntp.a

View File

@ -114,6 +114,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -247,10 +248,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -303,6 +300,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -366,6 +364,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -439,7 +440,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@ -493,9 +493,9 @@ CLEANFILES = check-libntp .deps-ver
bin_PROGRAMS = $(NTPDATE_DB)
libexec_PROGRAMS = $(NTPDATE_DL)
sbin_PROGRAMS = $(NTPDATE_DS)
AM_CFLAGS = $(CFLAGS_NTP)
AM_CPPFLAGS = $(NTP_INCS) $(CPPFLAGS_NTP)
AM_LDFLAGS = $(LDFLAGS_NTP)
AM_CFLAGS = $(CFLAGS_NTP) $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS) $(CPPFLAGS_NTP) $(NTP_HARD_CPPFLAGS)
AM_LDFLAGS = $(LDFLAGS_NTP) $(NTP_HARD_LDFLAGS)
# LDADD might need RESLIB and ADJLIB
LDADD = version.o ../libntp/libntp.a

View File

@ -955,6 +955,8 @@ clock_filter(
register int i, j;
int ord[NTP_SHIFT];
INSIST((0 < sys_samples) && (sys_samples <= NTP_SHIFT));
/*
* Sort indices into increasing delay order
*/

View File

@ -9,12 +9,15 @@ EXTRA_DATA= check-layout
BUILT_SOURCES= @MAKE_CHECK_LAYOUT@ ntpdc-opts.c ntpdc-opts.h
AM_CFLAGS = $(CFLAGS_NTP)
AM_CFLAGS += $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS)
AM_CPPFLAGS += $(LIBOPTS_CFLAGS)
AM_CPPFLAGS += $(CPPFLAGS_NTP)
AM_CPPFLAGS += $(NTP_HARD_CPPFLAGS)
AM_LDFLAGS = $(LDFLAGS_NTP)
AM_LDFLAGS += $(NTP_HARD_LDFLAGS)
# LDADD might need RESLIB and ADJLIB
ntpdc_LDADD = version.o $(LIBOPTS_LDADD)

View File

@ -115,6 +115,7 @@ am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
$(top_srcdir)/sntp/m4/ntp_dir_sep.m4 \
$(top_srcdir)/sntp/m4/ntp_facilitynames.m4 \
$(top_srcdir)/sntp/m4/ntp_googletest.m4 \
$(top_srcdir)/sntp/m4/ntp_harden.m4 \
$(top_srcdir)/sntp/m4/ntp_ipv6.m4 \
$(top_srcdir)/sntp/m4/ntp_lib_m.m4 \
$(top_srcdir)/sntp/m4/ntp_libevent.m4 \
@ -287,10 +288,6 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_LIBEVENT = @CPPFLAGS_LIBEVENT@
CPPFLAGS_NTP = @CPPFLAGS_NTP@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
@ -343,6 +340,7 @@ LN_S = @LN_S@
LSCF = @LSCF@
LTHREAD_LIBS = @LTHREAD_LIBS@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MAKE_ADJTIMED = @MAKE_ADJTIMED@
MAKE_CHECK_LAYOUT = @MAKE_CHECK_LAYOUT@
@ -406,6 +404,9 @@ NTPTRACE_DL = @NTPTRACE_DL@
NTPTRACE_DS = @NTPTRACE_DS@
NTPTRACE_MS = @NTPTRACE_MS@
NTPTRACE_NI = @NTPTRACE_NI@
NTP_HARD_CFLAGS = @NTP_HARD_CFLAGS@
NTP_HARD_CPPFLAGS = @NTP_HARD_CPPFLAGS@
NTP_HARD_LDFLAGS = @NTP_HARD_LDFLAGS@
NTP_KEYGEN_DB = @NTP_KEYGEN_DB@
NTP_KEYGEN_DL = @NTP_KEYGEN_DL@
NTP_KEYGEN_DS = @NTP_KEYGEN_DS@
@ -479,7 +480,6 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@ -534,9 +534,10 @@ sbin_PROGRAMS = $(NTPDC_DS)
EXTRA_DATA = check-layout
BUILT_SOURCES = @MAKE_CHECK_LAYOUT@ ntpdc-opts.c ntpdc-opts.h \
check-libopts check-libntp .deps-ver
AM_CFLAGS = $(CFLAGS_NTP)
AM_CPPFLAGS = $(NTP_INCS) $(LIBOPTS_CFLAGS) $(CPPFLAGS_NTP)
AM_LDFLAGS = $(LDFLAGS_NTP)
AM_CFLAGS = $(CFLAGS_NTP) $(NTP_HARD_CFLAGS)
AM_CPPFLAGS = $(NTP_INCS) $(LIBOPTS_CFLAGS) $(CPPFLAGS_NTP) \
$(NTP_HARD_CPPFLAGS)
AM_LDFLAGS = $(LDFLAGS_NTP) $(NTP_HARD_LDFLAGS)
# LDADD might need RESLIB and ADJLIB
ntpdc_LDADD = version.o $(LIBOPTS_LDADD) ../libntp/libntp.a \

View File

@ -6,7 +6,7 @@
#
# EDIT THIS FILE WITH CAUTION (invoke-ntpdc.texi)
#
# It has been AutoGen-ed November 21, 2016 at 08:02:33 AM by AutoGen 5.18.5
# It has been AutoGen-ed March 21, 2017 at 10:44:50 AM by AutoGen 5.18.5
# From the definitions ntpdc-opts.def
# and the template file agtexi-cmd.tpl
@end ignore
@ -76,7 +76,7 @@ with a status code of 0.
@exampleindent 0
@example
ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p9
ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p10-beta
Usage: ntpdc [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... [ host ...]
Flg Arg Option-Name Description
-4 no ipv4 Force IPv4 DNS name resolution

View File

@ -1,7 +1,7 @@
/*
* EDIT THIS FILE WITH CAUTION (ntpdc-opts.c)
*
* It has been AutoGen-ed November 21, 2016 at 08:02:18 AM by AutoGen 5.18.5
* It has been AutoGen-ed March 21, 2017 at 10:44:44 AM by AutoGen 5.18.5
* From the definitions ntpdc-opts.def
* and the template file options
*
@ -18,7 +18,7 @@
* The ntpdc program is copyrighted and licensed
* under the following terms:
*
* Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.
* Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation, all rights reserved.
* This is free software. It is licensed for use, modification and
* redistribution under the terms of the NTP License, copies of which
* can be seen at:
@ -50,7 +50,7 @@ extern "C" {
#endif
extern FILE * option_usage_fp;
#define zCopyright (ntpdc_opt_strs+0)
#define zLicenseDescrip (ntpdc_opt_strs+341)
#define zLicenseDescrip (ntpdc_opt_strs+342)
/*
* global included definitions
@ -68,15 +68,15 @@ extern FILE * option_usage_fp;
/**
* static const strings for ntpdc options
*/
static char const ntpdc_opt_strs[1911] =
/* 0 */ "ntpdc 4.2.8p9\n"
"Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n"
static char const ntpdc_opt_strs[1914] =
/* 0 */ "ntpdc 4.2.8p10\n"
"Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation, all rights reserved.\n"
"This is free software. It is licensed for use, modification and\n"
"redistribution under the terms of the NTP License, copies of which\n"
"can be seen at:\n"
" <http://ntp.org/license>\n"
" <http://opensource.org/licenses/ntp-license.php>\n\0"
/* 341 */ "Permission to use, copy, modify, and distribute this software and its\n"
/* 342 */ "Permission to use, copy, modify, and distribute this software and its\n"
"documentation for any purpose with or without fee is hereby granted,\n"
"provided that the above copyright notice appears in all copies and that\n"
"both the copyright notice and this permission notice appear in supporting\n"
@ -86,67 +86,67 @@ static char const ntpdc_opt_strs[1911] =
"Time Foundation makes no representations about the suitability this\n"
"software for any purpose. It is provided \"as is\" without express or\n"
"implied warranty.\n\0"
/* 1009 */ "Force IPv4 DNS name resolution\0"
/* 1040 */ "IPV4\0"
/* 1045 */ "ipv4\0"
/* 1050 */ "Force IPv6 DNS name resolution\0"
/* 1081 */ "IPV6\0"
/* 1086 */ "ipv6\0"
/* 1091 */ "run a command and exit\0"
/* 1114 */ "COMMAND\0"
/* 1122 */ "command\0"
/* 1130 */ "Increase debug verbosity level\0"
/* 1161 */ "DEBUG_LEVEL\0"
/* 1173 */ "debug-level\0"
/* 1185 */ "Set the debug verbosity level\0"
/* 1215 */ "SET_DEBUG_LEVEL\0"
/* 1231 */ "set-debug-level\0"
/* 1247 */ "Force ntpq to operate in interactive mode\0"
/* 1289 */ "INTERACTIVE\0"
/* 1301 */ "interactive\0"
/* 1313 */ "Print a list of the peers\0"
/* 1339 */ "LISTPEERS\0"
/* 1349 */ "listpeers\0"
/* 1359 */ "numeric host addresses\0"
/* 1382 */ "NUMERIC\0"
/* 1390 */ "numeric\0"
/* 1398 */ "PEERS\0"
/* 1404 */ "peers\0"
/* 1410 */ "Show a list of the peers\0"
/* 1435 */ "SHOWPEERS\0"
/* 1445 */ "showpeers\0"
/* 1455 */ "display extended usage information and exit\0"
/* 1499 */ "help\0"
/* 1504 */ "extended usage information passed thru pager\0"
/* 1549 */ "more-help\0"
/* 1559 */ "output version information and exit\0"
/* 1595 */ "version\0"
/* 1603 */ "save the option state to a config file\0"
/* 1642 */ "save-opts\0"
/* 1652 */ "load options from a config file\0"
/* 1684 */ "LOAD_OPTS\0"
/* 1694 */ "no-load-opts\0"
/* 1707 */ "no\0"
/* 1710 */ "NTPDC\0"
/* 1716 */ "ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p9\n"
/* 1010 */ "Force IPv4 DNS name resolution\0"
/* 1041 */ "IPV4\0"
/* 1046 */ "ipv4\0"
/* 1051 */ "Force IPv6 DNS name resolution\0"
/* 1082 */ "IPV6\0"
/* 1087 */ "ipv6\0"
/* 1092 */ "run a command and exit\0"
/* 1115 */ "COMMAND\0"
/* 1123 */ "command\0"
/* 1131 */ "Increase debug verbosity level\0"
/* 1162 */ "DEBUG_LEVEL\0"
/* 1174 */ "debug-level\0"
/* 1186 */ "Set the debug verbosity level\0"
/* 1216 */ "SET_DEBUG_LEVEL\0"
/* 1232 */ "set-debug-level\0"
/* 1248 */ "Force ntpq to operate in interactive mode\0"
/* 1290 */ "INTERACTIVE\0"
/* 1302 */ "interactive\0"
/* 1314 */ "Print a list of the peers\0"
/* 1340 */ "LISTPEERS\0"
/* 1350 */ "listpeers\0"
/* 1360 */ "numeric host addresses\0"
/* 1383 */ "NUMERIC\0"
/* 1391 */ "numeric\0"
/* 1399 */ "PEERS\0"
/* 1405 */ "peers\0"
/* 1411 */ "Show a list of the peers\0"
/* 1436 */ "SHOWPEERS\0"
/* 1446 */ "showpeers\0"
/* 1456 */ "display extended usage information and exit\0"
/* 1500 */ "help\0"
/* 1505 */ "extended usage information passed thru pager\0"
/* 1550 */ "more-help\0"
/* 1560 */ "output version information and exit\0"
/* 1596 */ "version\0"
/* 1604 */ "save the option state to a config file\0"
/* 1643 */ "save-opts\0"
/* 1653 */ "load options from a config file\0"
/* 1685 */ "LOAD_OPTS\0"
/* 1695 */ "no-load-opts\0"
/* 1708 */ "no\0"
/* 1711 */ "NTPDC\0"
/* 1717 */ "ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p10\n"
"Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...]\n\0"
/* 1846 */ "$HOME\0"
/* 1852 */ ".\0"
/* 1854 */ ".ntprc\0"
/* 1861 */ "http://bugs.ntp.org, bugs@ntp.org\0"
/* 1895 */ "\n\0"
/* 1897 */ "ntpdc 4.2.8p9";
/* 1848 */ "$HOME\0"
/* 1854 */ ".\0"
/* 1856 */ ".ntprc\0"
/* 1863 */ "http://bugs.ntp.org, bugs@ntp.org\0"
/* 1897 */ "\n\0"
/* 1899 */ "ntpdc 4.2.8p10";
/**
* ipv4 option description with
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the ipv4 option */
#define IPV4_DESC (ntpdc_opt_strs+1009)
#define IPV4_DESC (ntpdc_opt_strs+1010)
/** Upper-cased name for the ipv4 option */
#define IPV4_NAME (ntpdc_opt_strs+1040)
#define IPV4_NAME (ntpdc_opt_strs+1041)
/** Name string for the ipv4 option */
#define IPV4_name (ntpdc_opt_strs+1045)
#define IPV4_name (ntpdc_opt_strs+1046)
/** Other options that appear in conjunction with the ipv4 option */
static int const aIpv4CantList[] = {
INDEX_OPT_IPV6, NO_EQUIVALENT };
@ -158,11 +158,11 @@ static int const aIpv4CantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the ipv6 option */
#define IPV6_DESC (ntpdc_opt_strs+1050)
#define IPV6_DESC (ntpdc_opt_strs+1051)
/** Upper-cased name for the ipv6 option */
#define IPV6_NAME (ntpdc_opt_strs+1081)
#define IPV6_NAME (ntpdc_opt_strs+1082)
/** Name string for the ipv6 option */
#define IPV6_name (ntpdc_opt_strs+1086)
#define IPV6_name (ntpdc_opt_strs+1087)
/** Other options that appear in conjunction with the ipv6 option */
static int const aIpv6CantList[] = {
INDEX_OPT_IPV4, NO_EQUIVALENT };
@ -173,11 +173,11 @@ static int const aIpv6CantList[] = {
* command option description:
*/
/** Descriptive text for the command option */
#define COMMAND_DESC (ntpdc_opt_strs+1091)
#define COMMAND_DESC (ntpdc_opt_strs+1092)
/** Upper-cased name for the command option */
#define COMMAND_NAME (ntpdc_opt_strs+1114)
#define COMMAND_NAME (ntpdc_opt_strs+1115)
/** Name string for the command option */
#define COMMAND_name (ntpdc_opt_strs+1122)
#define COMMAND_name (ntpdc_opt_strs+1123)
/** Compiled in flag settings for the command option */
#define COMMAND_FLAGS (OPTST_DISABLED | OPTST_STACKED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
@ -186,11 +186,11 @@ static int const aIpv6CantList[] = {
* debug-level option description:
*/
/** Descriptive text for the debug-level option */
#define DEBUG_LEVEL_DESC (ntpdc_opt_strs+1130)
#define DEBUG_LEVEL_DESC (ntpdc_opt_strs+1131)
/** Upper-cased name for the debug-level option */
#define DEBUG_LEVEL_NAME (ntpdc_opt_strs+1161)
#define DEBUG_LEVEL_NAME (ntpdc_opt_strs+1162)
/** Name string for the debug-level option */
#define DEBUG_LEVEL_name (ntpdc_opt_strs+1173)
#define DEBUG_LEVEL_name (ntpdc_opt_strs+1174)
/** Compiled in flag settings for the debug-level option */
#define DEBUG_LEVEL_FLAGS (OPTST_DISABLED)
@ -198,11 +198,11 @@ static int const aIpv6CantList[] = {
* set-debug-level option description:
*/
/** Descriptive text for the set-debug-level option */
#define SET_DEBUG_LEVEL_DESC (ntpdc_opt_strs+1185)
#define SET_DEBUG_LEVEL_DESC (ntpdc_opt_strs+1186)
/** Upper-cased name for the set-debug-level option */
#define SET_DEBUG_LEVEL_NAME (ntpdc_opt_strs+1215)
#define SET_DEBUG_LEVEL_NAME (ntpdc_opt_strs+1216)
/** Name string for the set-debug-level option */
#define SET_DEBUG_LEVEL_name (ntpdc_opt_strs+1231)
#define SET_DEBUG_LEVEL_name (ntpdc_opt_strs+1232)
/** Compiled in flag settings for the set-debug-level option */
#define SET_DEBUG_LEVEL_FLAGS (OPTST_DISABLED \
| OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
@ -212,11 +212,11 @@ static int const aIpv6CantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the interactive option */
#define INTERACTIVE_DESC (ntpdc_opt_strs+1247)
#define INTERACTIVE_DESC (ntpdc_opt_strs+1248)
/** Upper-cased name for the interactive option */
#define INTERACTIVE_NAME (ntpdc_opt_strs+1289)
#define INTERACTIVE_NAME (ntpdc_opt_strs+1290)
/** Name string for the interactive option */
#define INTERACTIVE_name (ntpdc_opt_strs+1301)
#define INTERACTIVE_name (ntpdc_opt_strs+1302)
/** Other options that appear in conjunction with the interactive option */
static int const aInteractiveCantList[] = {
INDEX_OPT_COMMAND,
@ -231,11 +231,11 @@ static int const aInteractiveCantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the listpeers option */
#define LISTPEERS_DESC (ntpdc_opt_strs+1313)
#define LISTPEERS_DESC (ntpdc_opt_strs+1314)
/** Upper-cased name for the listpeers option */
#define LISTPEERS_NAME (ntpdc_opt_strs+1339)
#define LISTPEERS_NAME (ntpdc_opt_strs+1340)
/** Name string for the listpeers option */
#define LISTPEERS_name (ntpdc_opt_strs+1349)
#define LISTPEERS_name (ntpdc_opt_strs+1350)
/** Other options that appear in conjunction with the listpeers option */
static int const aListpeersCantList[] = {
INDEX_OPT_COMMAND, NO_EQUIVALENT };
@ -246,11 +246,11 @@ static int const aListpeersCantList[] = {
* numeric option description:
*/
/** Descriptive text for the numeric option */
#define NUMERIC_DESC (ntpdc_opt_strs+1359)
#define NUMERIC_DESC (ntpdc_opt_strs+1360)
/** Upper-cased name for the numeric option */
#define NUMERIC_NAME (ntpdc_opt_strs+1382)
#define NUMERIC_NAME (ntpdc_opt_strs+1383)
/** Name string for the numeric option */
#define NUMERIC_name (ntpdc_opt_strs+1390)
#define NUMERIC_name (ntpdc_opt_strs+1391)
/** Compiled in flag settings for the numeric option */
#define NUMERIC_FLAGS (OPTST_DISABLED)
@ -259,11 +259,11 @@ static int const aListpeersCantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the peers option */
#define PEERS_DESC (ntpdc_opt_strs+1313)
#define PEERS_DESC (ntpdc_opt_strs+1314)
/** Upper-cased name for the peers option */
#define PEERS_NAME (ntpdc_opt_strs+1398)
#define PEERS_NAME (ntpdc_opt_strs+1399)
/** Name string for the peers option */
#define PEERS_name (ntpdc_opt_strs+1404)
#define PEERS_name (ntpdc_opt_strs+1405)
/** Other options that appear in conjunction with the peers option */
static int const aPeersCantList[] = {
INDEX_OPT_COMMAND, NO_EQUIVALENT };
@ -275,11 +275,11 @@ static int const aPeersCantList[] = {
* "Must also have options" and "Incompatible options":
*/
/** Descriptive text for the showpeers option */
#define SHOWPEERS_DESC (ntpdc_opt_strs+1410)
#define SHOWPEERS_DESC (ntpdc_opt_strs+1411)
/** Upper-cased name for the showpeers option */
#define SHOWPEERS_NAME (ntpdc_opt_strs+1435)
#define SHOWPEERS_NAME (ntpdc_opt_strs+1436)
/** Name string for the showpeers option */
#define SHOWPEERS_name (ntpdc_opt_strs+1445)
#define SHOWPEERS_name (ntpdc_opt_strs+1446)
/** Other options that appear in conjunction with the showpeers option */
static int const aShowpeersCantList[] = {
INDEX_OPT_COMMAND, NO_EQUIVALENT };
@ -289,11 +289,11 @@ static int const aShowpeersCantList[] = {
/*
* Help/More_Help/Version option descriptions:
*/
#define HELP_DESC (ntpdc_opt_strs+1455)
#define HELP_name (ntpdc_opt_strs+1499)
#define HELP_DESC (ntpdc_opt_strs+1456)
#define HELP_name (ntpdc_opt_strs+1500)
#ifdef HAVE_WORKING_FORK
#define MORE_HELP_DESC (ntpdc_opt_strs+1504)
#define MORE_HELP_name (ntpdc_opt_strs+1549)
#define MORE_HELP_DESC (ntpdc_opt_strs+1505)
#define MORE_HELP_name (ntpdc_opt_strs+1550)
#define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT)
#else
#define MORE_HELP_DESC HELP_DESC
@ -306,14 +306,14 @@ static int const aShowpeersCantList[] = {
# define VER_FLAGS (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \
OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT)
#endif
#define VER_DESC (ntpdc_opt_strs+1559)
#define VER_name (ntpdc_opt_strs+1595)
#define SAVE_OPTS_DESC (ntpdc_opt_strs+1603)
#define SAVE_OPTS_name (ntpdc_opt_strs+1642)
#define LOAD_OPTS_DESC (ntpdc_opt_strs+1652)
#define LOAD_OPTS_NAME (ntpdc_opt_strs+1684)
#define NO_LOAD_OPTS_name (ntpdc_opt_strs+1694)
#define LOAD_OPTS_pfx (ntpdc_opt_strs+1707)
#define VER_DESC (ntpdc_opt_strs+1560)
#define VER_name (ntpdc_opt_strs+1596)
#define SAVE_OPTS_DESC (ntpdc_opt_strs+1604)
#define SAVE_OPTS_name (ntpdc_opt_strs+1643)
#define LOAD_OPTS_DESC (ntpdc_opt_strs+1653)
#define LOAD_OPTS_NAME (ntpdc_opt_strs+1685)
#define NO_LOAD_OPTS_name (ntpdc_opt_strs+1695)
#define LOAD_OPTS_pfx (ntpdc_opt_strs+1708)
#define LOAD_OPTS_name (NO_LOAD_OPTS_name + 3)
/**
* Declare option callback procedures
@ -522,24 +522,24 @@ static tOptDesc optDesc[OPTION_CT] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/** Reference to the upper cased version of ntpdc. */
#define zPROGNAME (ntpdc_opt_strs+1710)
#define zPROGNAME (ntpdc_opt_strs+1711)
/** Reference to the title line for ntpdc usage. */
#define zUsageTitle (ntpdc_opt_strs+1716)
#define zUsageTitle (ntpdc_opt_strs+1717)
/** ntpdc configuration file name. */
#define zRcName (ntpdc_opt_strs+1854)
#define zRcName (ntpdc_opt_strs+1856)
/** Directories to search for ntpdc config files. */
static char const * const apzHomeList[3] = {
ntpdc_opt_strs+1846,
ntpdc_opt_strs+1852,
ntpdc_opt_strs+1848,
ntpdc_opt_strs+1854,
NULL };
/** The ntpdc program bug email address. */
#define zBugsAddr (ntpdc_opt_strs+1861)
#define zBugsAddr (ntpdc_opt_strs+1863)
/** Clarification/explanation of what ntpdc does. */
#define zExplain (ntpdc_opt_strs+1895)
#define zExplain (ntpdc_opt_strs+1897)
/** Extra detail explaining what ntpdc does. */
#define zDetail (NULL)
/** The full version string for ntpdc. */
#define zFullVersion (ntpdc_opt_strs+1897)
#define zFullVersion (ntpdc_opt_strs+1899)
/* extracted from optcode.tlib near line 364 */
#if defined(ENABLE_NLS)
@ -796,8 +796,8 @@ static void bogus_function(void) {
translate option names.
*/
/* referenced via ntpdcOptions.pzCopyright */
puts(_("ntpdc 4.2.8p9\n\
Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n\
puts(_("ntpdc 4.2.8p10\n\
Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation, all rights reserved.\n\
This is free software. It is licensed for use, modification and\n\
redistribution under the terms of the NTP License, copies of which\n\
can be seen at:\n"));
@ -862,14 +862,14 @@ implied warranty.\n"));
puts(_("load options from a config file"));
/* referenced via ntpdcOptions.pzUsageTitle */
puts(_("ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p9\n\
puts(_("ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p10\n\
Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...]\n"));
/* referenced via ntpdcOptions.pzExplain */
puts(_("\n"));
/* referenced via ntpdcOptions.pzFullVersion */
puts(_("ntpdc 4.2.8p9"));
puts(_("ntpdc 4.2.8p10"));
/* referenced via ntpdcOptions.pzFullUsage */
puts(_("<<<NOT-FOUND>>>"));

View File

@ -1,7 +1,7 @@
/*
* EDIT THIS FILE WITH CAUTION (ntpdc-opts.h)
*
* It has been AutoGen-ed November 21, 2016 at 08:02:17 AM by AutoGen 5.18.5
* It has been AutoGen-ed March 21, 2017 at 10:44:43 AM by AutoGen 5.18.5
* From the definitions ntpdc-opts.def
* and the template file options
*
@ -18,7 +18,7 @@
* The ntpdc program is copyrighted and licensed
* under the following terms:
*
* Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.
* Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation, all rights reserved.
* This is free software. It is licensed for use, modification and
* redistribution under the terms of the NTP License, copies of which
* can be seen at:
@ -83,9 +83,9 @@ typedef enum {
/** count of all options for ntpdc */
#define OPTION_CT 15
/** ntpdc version */
#define NTPDC_VERSION "4.2.8p9"
#define NTPDC_VERSION "4.2.8p10"
/** Full ntpdc version text */
#define NTPDC_FULL_VERSION "ntpdc 4.2.8p9"
#define NTPDC_FULL_VERSION "ntpdc 4.2.8p10"
/**
* Interface defines for all options. Replace "n" with the UPPER_CASED

View File

@ -10,11 +10,11 @@
.ds B-Font B
.ds I-Font I
.ds R-Font R
.TH ntpdc 1ntpdcman "21 Nov 2016" "4.2.8p9" "User Commands"
.TH ntpdc 1ntpdcman "21 Mar 2017" "4.2.8p10" "User Commands"
.\"
.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-gTaibj/ag-tTaaaj)
.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-T2aicv/ag-q4aGav)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:02:29 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:44:50 AM by AutoGen 5.18.5
.\" From the definitions ntpdc-opts.def
.\" and the template file agman-cmd.tpl
.SH NAME
@ -848,7 +848,7 @@ RFC1305
.SH AUTHORS
The formatting directives in this document came from FreeBSD.
.SH "COPYRIGHT"
Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.SH BUGS
The

View File

@ -1,9 +1,9 @@
.Dd November 21 2016
.Dd March 21 2017
.Dt NTPDC 1ntpdcmdoc User Commands
.Os
.\" EDIT THIS FILE WITH CAUTION (ntpdc-opts.mdoc)
.\"
.\" It has been AutoGen-ed November 21, 2016 at 08:02:35 AM by AutoGen 5.18.5
.\" It has been AutoGen-ed March 21, 2017 at 10:44:57 AM by AutoGen 5.18.5
.\" From the definitions ntpdc-opts.def
.\" and the template file agmdoc-cmd.tpl
.Sh NAME
@ -787,7 +787,7 @@ it to autogen\-users@lists.sourceforge.net. Thank you.
.Sh AUTHORS
The formatting directives in this document came from FreeBSD.
.Sh "COPYRIGHT"
Copyright (C) 1992\-2016 The University of Delaware and Network Time Foundation all rights reserved.
Copyright (C) 1992\-2017 The University of Delaware and Network Time Foundation all rights reserved.
This program is released under the terms of the NTP license, <http://ntp.org/license>.
.Sh BUGS
The

Some files were not shown because too many files have changed in this diff Show More