Vendor import of ntp-4.2.8p10.
This commit is contained in:
parent
01b922f62c
commit
07ac48c364
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/ntp/dist/; revision=315791 svn path=/vendor/ntp/4.2.8p10/; revision=315792; tag=vendor/ntp/4.2.8p10
@ -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 *
|
||||
* *
|
||||
|
73
ChangeLog
73
ChangeLog
@ -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>
|
||||
|
18
Makefile.in
18
Makefile.in
@ -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@
|
||||
|
457
NEWS
457
NEWS
@ -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.
|
||||
|
1
aclocal.m4
vendored
1
aclocal.m4
vendored
@ -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])
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 =
|
||||
|
@ -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
|
||||
|
142
compile
142
compile
@ -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
config.guess
vendored
1517
config.guess
vendored
File diff suppressed because it is too large
Load Diff
@ -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
config.sub
vendored
1756
config.sub
vendored
File diff suppressed because it is too large
Load Diff
13
configure.ac
13
configure.ac
@ -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
|
||||
|
530
depcomp
530
depcomp
@ -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:
|
@ -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 <takao_abe@xurb.jp></a> Clock driver for JJY receivers</li>
|
||||
<li><a href="mailto:%20mark_andrews@isc.org">Mark Andrews <mark_andrews@isc.org></a> Leitch atomic clock controller</li>
|
||||
@ -96,7 +96,7 @@
|
||||
<li><a href="mailto:%20jbj@chatham.usdesign.com">Jeff Johnson <jbj@chatham.usdesign.com></a> massive prototyping overhaul</li>
|
||||
<li><a href="mailto:%20Hans.Lambermont@nl.origin-it.com">Hans Lambermont <Hans.Lambermont@nl.origin-it.com></a> or <a href="mailto:H.Lambermont@chello.nl"><H.Lambermont@chello.nl></a> ntpsweep</li>
|
||||
<li><a href="mailto:%20phk@FreeBSD.ORG">Poul-Henning Kamp <phk@FreeBSD.ORG></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"><kardel (at) ntp (dot) org></a> PARSE <GENERIC> (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"><kardel (at) ntp (dot) org></a> PARSE <GENERIC> (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 <kuehn@ntp.org></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 <jones@hermes.chpc.utexas.edu></a> RS/6000 AIX modifications, HPUX modifications</li>
|
||||
<li><a href="mailto:%20dkatz@cisco.com">Dave Katz <dkatz@cisco.com></a> RS/6000 AIX port</li>
|
||||
|
@ -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@
|
||||
|
@ -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@
|
||||
|
@ -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 */
|
||||
/* ----------------------------------------------------------------- */
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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 *);
|
||||
|
@ -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)
|
||||
|
@ -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__)
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
323
install-sh
323
install-sh
@ -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:
|
@ -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@
|
||||
|
@ -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@
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
*
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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++) {
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 \
|
||||
|
@ -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)
|
||||
|
@ -39,8 +39,8 @@
|
||||
|
||||
void
|
||||
gpstolfp(
|
||||
int weeks,
|
||||
int days,
|
||||
u_int weeks,
|
||||
u_int days,
|
||||
unsigned long seconds,
|
||||
l_fp * lfp
|
||||
)
|
||||
|
360
missing
360
missing
@ -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:
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -33,7 +33,7 @@ Up: <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>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -33,7 +33,7 @@ Up: <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>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
|
@ -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));
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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");
|
||||
|
@ -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
@ -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;
|
||||
|
@ -647,19 +647,19 @@ tos_option
|
||||
|
||||
tos_option_int_keyword
|
||||
: T_Bcpollbstep
|
||||
| T_Beacon
|
||||
| T_Ceiling
|
||||
| T_Floor
|
||||
| T_Maxclock
|
||||
| T_Minclock
|
||||
| T_Minsane
|
||||
| T_Orphan
|
||||
| T_Orphanwait
|
||||
| T_Minsane
|
||||
| T_Beacon
|
||||
;
|
||||
|
||||
tos_option_dbl_keyword
|
||||
: T_Mindist
|
||||
| T_Maxdist
|
||||
| T_Minclock
|
||||
| T_Maxclock
|
||||
;
|
||||
|
||||
|
||||
@ -803,7 +803,7 @@ access_control_command
|
||||
lex_current()->curpos.nline);
|
||||
APPEND_G_FIFO(cfgt.restrict_opts, rn);
|
||||
}
|
||||
| T_Restrict ip_address T_Mask ip_address ac_flag_list
|
||||
| T_Restrict address T_Mask ip_address ac_flag_list
|
||||
{
|
||||
restrict_node *rn;
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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--) {
|
||||
|
@ -892,7 +892,6 @@ yylex(void)
|
||||
}
|
||||
}
|
||||
|
||||
instring = FALSE;
|
||||
if (FOLLBY_STRING == followedby)
|
||||
followedby = FOLLBY_TOKEN;
|
||||
|
||||
|
496
ntpd/ntpd-opts.c
496
ntpd/ntpd-opts.c
@ -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>>>"));
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 **);
|
||||
|
@ -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 [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \
|
||||
[ <server1> ... <serverN> ]
|
||||
Flg Arg Option-Name Description
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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';
|
||||
}
|
||||
|
||||
|
@ -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 ) ;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
*/
|
||||
|
@ -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)
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
@ -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>>>"));
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user