<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d6a18ccc0ce39a468d8b5a10977676f572798576">https://github.com/macports/macports-ports/commit/d6a18ccc0ce39a468d8b5a10977676f572798576</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new d6a18cc ntpsec: update to 1.1.9
</span>d6a18cc is described below
<span style='display:block; white-space:pre;color:#808000;'>commit d6a18ccc0ce39a468d8b5a10977676f572798576
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Sat Jun 6 12:43:46 2020 -0700
<span style='display:block; white-space:pre;color:#404040;'> ntpsec: update to 1.1.9
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This includes the patches for compatibility with macOS<10.13,
</span><span style='display:block; white-space:pre;color:#404040;'> which can also be seen (more readably) at:
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> https://gitlab.com/fhgwright/ntpsec/tree/macports_1_1_9
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Switches from asciidoc to asciidoctor for building docs.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Fixes a couple of dependencies.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Fixes a bug in the default ntp.conf (more relevant now).
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Adds a note regarding the new default restrictions.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/57272
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'> Tested (including building the usual set of variant combinations)
</span><span style='display:block; white-space:pre;color:#404040;'> on 10.5 PPC, 10.5 i386, and 10.6-10.15 x86_64.
</span>---
sysutils/ntpsec/Portfile | 17 ++-
sysutils/ntpsec/files/ntp.conf | 4 +-
sysutils/ntpsec/files/patch-PreHighSierra.diff | 188 +++++++++++++++----------
3 files changed, 125 insertions(+), 84 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/ntpsec/Portfile b/sysutils/ntpsec/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 75d501b..7240961 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/ntpsec/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/ntpsec/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup waf 1.0
</span> PortGroup python 1.0
name ntpsec
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 1.1.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 1.1.9
</span> revision 0
categories sysutils net
maintainers {fwright.net:fw @fhgwright} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,9 +19,9 @@ homepage https://www.ntpsec.org/
</span> conflicts ntp openntpd
master_sites ftp://ftp.ntpsec.org/pub/releases/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 50b7c2729118e23bf1b45fad5bc74430690c84c7 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 8445827a4d5029da508a11e9c8e7958db839f73b39de612ab3909244f89a1340 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 2589363
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 ff7d8c93a18d9020b327b843dc121c3f53fbce26 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 0acade979a807a047c2a8fd7f497235d9d6a5d0d54726e5d27505506d6ec00cc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 2606066
</span>
# To avoid breaking any code that uses our Python package, keep the Python
# version at 2.7 until we add variants for Python versions. The upstream
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,8 +33,9 @@ python.versions 27
</span> # currently allow selecting its Python version, but since it's hard-coded
# for 2.7, we can ignore this for now.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build-append port:bison
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append path:lib/libssl.dylib:openssl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append port:bison port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# NOTE: doesn't work with libressl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:openssl \
</span> port:python${python.version}
patchfiles patch-PreHighSierra.diff
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,7 +69,7 @@ variant classic description {Enable classic mode} {
</span> configure.args-append --enable-classic-mode
}
variant doc description {Build manpages and HTML documentation} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:asciidoc port:docbook-xsl-nons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:asciidoctor
</span> configure.args-append --enable-doc --htmldir=${prefix}/share/doc/${name}
configure.args-delete --disable-manpage
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -96,6 +97,8 @@ post-activate {
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "The default access restrictions have changed; this may affect ntpq."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> startupitem.create yes
startupitem.netchange yes
startupitem.executable ${prefix}/sbin/ntpd -n -g -p ${prefix}/var/run/ntpd.pid -f ${prefix}/var/db/ntp.drift -c ${prefix}/etc/ntp.conf
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/ntpsec/files/ntp.conf b/sysutils/ntpsec/files/ntp.conf
</span><span style='display:block; white-space:pre;color:#808080;'>index 82c9057..17282d0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/ntpsec/files/ntp.conf
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/ntpsec/files/ntp.conf
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,9 +1,9 @@
</span> # Limit network machines to time queries only
<span style='display:block; white-space:pre;background:#ffe0e0;'>-restrict default kod limited nomodify nopeer noquery
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+restrict -4 default kod limited nomodify nopeer noquery
</span> restrict -6 default kod limited nomodify nopeer noquery
# localhost is unrestricted
<span style='display:block; white-space:pre;background:#ffe0e0;'>-restrict 127.0.0.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+restrict -4 127.0.0.1
</span> restrict -6 ::1
server time.apple.com
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/ntpsec/files/patch-PreHighSierra.diff b/sysutils/ntpsec/files/patch-PreHighSierra.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index bec895b..8c8fcf6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/ntpsec/files/patch-PreHighSierra.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/ntpsec/files/patch-PreHighSierra.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./attic/backwards.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./attic/backwards.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./attic/backwards.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./attic/backwards.c 2020-05-27 19:21:30.000000000 -0700
</span> @@ -7,6 +7,8 @@
#include <stdlib.h>
#include <time.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,8 +9,8 @@
</span> #define UNUSED_ARG(arg) ((void)(arg))
static void ts_print(struct timespec *ts0, struct timespec *ts1);
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./attic/clocks.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./attic/clocks.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./attic/clocks.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./attic/clocks.c 2020-05-27 19:21:30.000000000 -0700
</span> @@ -5,6 +5,8 @@
#include <stdio.h>
#include <time.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,8 +20,8 @@
</span> struct table {
const int type;
const char* name;
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./attic/digest-timing.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./attic/digest-timing.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./attic/digest-timing.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./attic/digest-timing.c 2020-05-27 19:21:30.000000000 -0700
</span> @@ -34,6 +34,8 @@
#include <openssl/rand.h>
#include <openssl/objects.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,8 +31,19 @@
</span> #define UNUSED_ARG(arg) ((void)(arg))
#ifndef EVP_MD_CTX_reset
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./include/ntp_machine.h.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./include/ntp_machine.h 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./attic/random.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./attic/random.c 2020-05-27 19:21:30.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10,6 +10,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <openssl/opensslv.h> /* for OPENSSL_VERSION_NUMBER */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <openssl/rand.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "ntp_machine.h" /* For clock_gettime fallback */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BATCHSIZE 1000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BILLION 1000000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define HISTSIZE 2500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./include/ntp_machine.h.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./include/ntp_machine.h 2020-05-27 19:21:30.000000000 -0700
</span> @@ -13,14 +13,145 @@
#ifndef CLOCK_REALTIME
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -185,8 +196,8 @@
</span>
int ntp_set_tod (struct timespec *tvs);
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./include/ntp_stdlib.h.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./include/ntp_stdlib.h 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./include/ntp_stdlib.h.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./include/ntp_stdlib.h 2020-05-27 19:21:30.000000000 -0700
</span> @@ -95,7 +95,9 @@ extern const char * eventstr (int);
extern const char * ceventstr (int);
extern const char * res_match_flags(unsigned short);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -197,8 +208,8 @@
</span> extern char * statustoa (int, int);
extern const char * socktoa (const sockaddr_u *);
extern const char * socktoa_r (const sockaddr_u *sock, char *buf, size_t buflen);
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./include/ntp_syscall.h.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./include/ntp_syscall.h 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./include/ntp_syscall.h.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./include/ntp_syscall.h 2020-05-27 19:21:30.000000000 -0700
</span> @@ -9,9 +9,11 @@
#ifndef GUARD_NTP_SYSCALL_H
#define GUARD_NTP_SYSCALL_H
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -211,8 +222,8 @@
</span>
/*
* The units of the maxerror and esterror fields vary by platform. If
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./libntp/clockwork.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./libntp/clockwork.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./libntp/clockwork.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./libntp/clockwork.c 2020-05-27 19:21:30.000000000 -0700
</span> @@ -5,8 +5,10 @@
#include "config.h"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -226,8 +237,8 @@
</span>
#include "ntp.h"
#include "ntp_machine.h"
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./libntp/statestr.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./libntp/statestr.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./libntp/statestr.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./libntp/statestr.c 2020-05-27 19:21:30.000000000 -0700
</span> @@ -12,7 +12,9 @@
#include "lib_strbuf.h"
#include "ntp_refclock.h"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -328,9 +339,23 @@
</span>
/*
* statustoa - return a descriptive string for a peer status
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./ntpd/ntp_control.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./ntpd/ntp_control.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1359,6 +1359,7 @@ ctl_putsys(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpclients/ntpviz.py.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpclients/ntpviz.py 2020-05-27 19:21:30.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1612,7 +1612,10 @@ Python by ESR, concept and gnuplot code
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if 2 < args.debug_level:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sys.stderr.write("ntpviz: INFO: now running at nice: %s\n" % nice)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for fontpath in ("/usr/share/fonts/liberation",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for fontpath in ("@PREFIX@/share/fonts/liberation",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "@PREFIX@/share/fonts/liberation-fonts",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "@PREFIX@/share/fonts/truetype/liberation",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "/usr/share/fonts/liberation",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "/usr/share/fonts/liberation-fonts",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "/usr/share/fonts/truetype/liberation"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpd/ntp_control.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpd/ntp_control.c 2020-05-27 19:21:30.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1366,6 +1366,7 @@ ctl_putsys(
</span> char str[256];
double dtemp;
const char *ss;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -338,7 +363,7 @@
</span> static struct timex ntx;
static unsigned long ntp_adjtime_time;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1374,6 +1375,7 @@ ctl_putsys(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1381,6 +1382,7 @@ ctl_putsys(
</span> else
ntp_adjtime_time = current_time;
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -346,7 +371,7 @@
</span>
switch (varid) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1769,50 +1771,93 @@ ctl_putsys(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1780,50 +1782,93 @@ ctl_putsys(
</span> break;
/*
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -452,8 +477,8 @@
</span> break;
case CS_K_PPS_FREQ:
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./ntpd/ntp_loopfilter.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./ntpd/ntp_loopfilter.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpd/ntp_loopfilter.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpd/ntp_loopfilter.c 2020-05-27 19:21:30.000000000 -0700
</span> @@ -23,8 +23,10 @@
#define NTP_MAXFREQ 500e-6
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -491,7 +516,7 @@
</span>
/*
* Clock state machine variables
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -172,6 +178,7 @@ static int sys_hufflen; /* huff-n'-puff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -172,10 +178,19 @@ static int sys_hufflen; /* huff-n'-puff
</span> static int sys_huffptr; /* huff-n'-puff filter pointer */
static double sys_mindly; /* huff-n'-puff filter min delay */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -499,17 +524,19 @@
</span> /* Emacs cc-mode goes nuts if we split the next line... */
#define MOD_BITS (MOD_OFFSET | MOD_MAXERROR | MOD_ESTERROR | \
MOD_STATUS | MOD_TIMECONST)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -181,7 +188,9 @@ static struct sigaction sigsys; /* curre
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static struct sigaction newsigsys; /* new sigaction status */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static sigjmp_buf env; /* environment var. for pll_trap() */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* SIGSYS */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef SIGSYS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static void pll_trap (int); /* configuration trap */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static struct sigaction sigsys; /* current sigaction status */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static struct sigaction newsigsys; /* new sigaction status */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static sigjmp_buf env; /* environment var. for pll_trap() */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* SIGSYS */
</span> +#endif /* HAVE_KERNEL_PLL */
+#ifdef HAVE_KERNEL_PLL
static void
sync_status(const char *what, int ostatus, int nstatus) {
/* only used in non-lockclock case */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -205,6 +214,7 @@ static char *file_name(void) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -199,6 +214,7 @@ static char *file_name(void) {
</span> }
return this_file;
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -517,7 +544,7 @@
</span>
/*
* init_loopfilter - initialize loop filter data
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -219,6 +229,7 @@ init_loopfilter(void) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -213,6 +229,7 @@ init_loopfilter(void) {
</span> freq_cnt = (int)clock_minstep;
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -525,7 +552,7 @@
</span> /*
* ntp_adjtime_error_handler - process errors from ntp_adjtime
*/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -417,6 +428,7 @@ or, from ntp_adjtime():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -411,6 +428,7 @@ or, from ntp_adjtime():
</span> }
return;
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -533,7 +560,7 @@
</span>
/*
* local_clock - the NTP logical clock loop filter.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -450,7 +462,9 @@ local_clock(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -444,7 +462,9 @@ local_clock(
</span>
int rval; /* return code */
int osys_poll; /* old system poll */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -543,7 +570,7 @@
</span> double mu; /* interval since last update */
double clock_frequency; /* clock frequency */
double dtemp, etemp; /* double temps */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -707,6 +721,7 @@ local_clock(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -701,6 +721,7 @@ local_clock(
</span> }
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -551,7 +578,7 @@
</span> /*
* This code segment works when clock adjustments are made using
* precision time kernel support and the ntp_adjtime() system
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -823,6 +838,7 @@ local_clock(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -817,6 +838,7 @@ local_clock(
</span> }
#endif /* STA_NANO */
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -559,7 +586,7 @@
</span>
/*
* Clamp the frequency within the tolerance range and calculate
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -934,8 +950,10 @@ adj_host_clock(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -928,8 +950,10 @@ adj_host_clock(
</span> } else if (freq_cnt > 0) {
offset_adj = clock_offset / (CLOCK_PLL * ULOGTOD(1));
freq_cnt--;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -570,7 +597,7 @@
</span> } else {
offset_adj = clock_offset / (CLOCK_PLL * ULOGTOD(clkstate.sys_poll));
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -946,9 +964,11 @@ adj_host_clock(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -940,9 +964,11 @@ adj_host_clock(
</span> * set_freq(). Otherwise it is a component of the adj_systime()
* offset.
*/
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -582,7 +609,7 @@
</span> freq_adj = loop_data.drift_comp;
/* Bound absolute value of total adjustment to NTP_MAXFREQ. */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1037,6 +1057,7 @@ set_freq(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1031,6 +1057,7 @@ set_freq(
</span>
loop_data.drift_comp = freq;
loop_desc = "ntpd";
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -590,7 +617,7 @@
</span> if (clock_ctl.pll_control) {
int ntp_adj_ret;
ZERO(ntv);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1049,10 +1070,12 @@ set_freq(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1043,10 +1070,12 @@ set_freq(
</span> ntp_adjtime_error_handler(__func__, &ntv, ntp_adj_ret, errno, false, false, __LINE__ - 1);
}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -603,7 +630,7 @@
</span> static void
start_kern_loop(void)
{
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1113,8 +1136,10 @@ start_kern_loop(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1082,8 +1111,10 @@ start_kern_loop(void)
</span> "kernel time sync enabled");
}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -614,7 +641,7 @@
</span> static void
stop_kern_loop(void)
{
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1122,6 +1147,7 @@ stop_kern_loop(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1091,6 +1122,7 @@ stop_kern_loop(void)
</span> report_event(EVNT_KERN, NULL,
"kernel time sync disabled");
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -622,7 +649,7 @@
</span>
/*
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1134,11 +1160,15 @@ select_loop(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1103,11 +1135,15 @@ select_loop(
</span> {
if (clock_ctl.kern_enable == use_kern_loop)
return;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -638,7 +665,7 @@
</span> /*
* If this loop selection change occurs after initial startup,
* call set_freq() to switch the frequency compensation to or
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1194,10 +1224,12 @@ loop_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1163,10 +1199,12 @@ loop_config(
</span> * variables. Otherwise, continue leaving no harm behind.
*/
case LOOP_DRIFTINIT:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -651,7 +678,7 @@
</span>
/*
* Initialize frequency if given; otherwise, begin frequency
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1216,11 +1248,14 @@ loop_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1185,11 +1223,14 @@ loop_config(
</span> rstclock(EVNT_FSET, 0);
else
rstclock(EVNT_NSET, 0);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -666,7 +693,7 @@
</span> if (!loop_data.lockclock && (clock_ctl.pll_control && clock_ctl.kern_enable)) {
memset((char *)&ntv, 0, sizeof(ntv));
ntv.modes = MOD_STATUS;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1230,6 +1265,7 @@ loop_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1199,6 +1240,7 @@ loop_config(
</span> pll_status,
ntv.status);
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -674,23 +701,34 @@
</span> #endif
break;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1310,7 +1346,7 @@ loop_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1280,3 +1322,25 @@ loop_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if defined(SIGSYS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span> +#if defined(HAVE_KERNEL_PLL) && defined(SIGSYS)
<span style='display:block; white-space:pre;background:#ffe0e0;'>- /*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * _trap - trap processor for undefined syscalls
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1328,4 +1364,4 @@ pll_trap(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- clock_ctl.pll_control = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- siglongjmp(env, 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif /* SIGSYS */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * _trap - trap processor for undefined syscalls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This nugget is called by the kernel when the SYS_ntp_adjtime()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * syscall bombs because the silly thing has not been implemented in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * the kernel. In this case the phase-lock loop is emulated by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * the stock adjtime() syscall and a lot of indelicate abuse.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * FIXME: Doing this check in real time is crazy.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++pll_trap(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int arg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNUSED_ARG(arg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ clock_ctl.pll_control = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ siglongjmp(env, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span> +#endif /* HAVE_KERNEL_PLL && SIGSYS */
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./ntpd/ntp_timer.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./ntpd/ntp_timer.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpd/ntp_timer.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpd/ntp_timer.c 2020-05-27 19:21:30.000000000 -0700
</span> @@ -13,7 +13,9 @@
#include <signal.h>
#include <unistd.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -701,7 +739,7 @@
</span>
#ifdef HAVE_TIMER_CREATE
/* TC_ERR represents the timer_create() error return value. */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -381,7 +383,11 @@ check_leapsec(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -373,7 +375,11 @@ check_leapsec(
</span>
leap_result_t lsdata;
uint32_t lsprox;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -713,8 +751,8 @@
</span> #ifdef ENABLE_LEAP_SMEAR
leap_smear.enabled = (leap_smear_intv != 0);
#endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./ntpd/refclock_local.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./ntpd/refclock_local.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpd/refclock_local.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpd/refclock_local.c 2020-05-27 19:21:30.000000000 -0700
</span> @@ -158,6 +158,7 @@ local_poll(
* If another process is disciplining the system clock, we set
* the leap bits and quality indicators from the kernel.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -737,8 +775,8 @@
</span> pp->lastref = pp->lastrec;
refclock_receive(peer);
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./ntpfrob/precision.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./ntpfrob/precision.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpfrob/precision.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpfrob/precision.c 2020-05-27 19:21:30.000000000 -0700
</span> @@ -11,6 +11,7 @@
#include "ntp_types.h"
#include "ntp_calendar.h"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -747,8 +785,8 @@
</span>
#define DEFAULT_SYS_PRECISION -99
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./tests/libntp/statestr.c.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./tests/libntp/statestr.c 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./tests/libntp/statestr.c.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./tests/libntp/statestr.c 2020-05-27 19:21:30.000000000 -0700
</span> @@ -4,7 +4,9 @@
#include "unity.h"
#include "unity_fixture.h"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -769,8 +807,8 @@
</span> }
// statustoa
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./wafhelpers/bin_test.py.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./wafhelpers/bin_test.py 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./wafhelpers/bin_test.py.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./wafhelpers/bin_test.py 2020-05-27 19:21:30.000000000 -0700
</span> @@ -97,6 +97,12 @@ def cmd_bin_test(ctx, config):
if ctx.env['PYTHON_CURSES']:
cmd_map_python.update(cmd_map_python_curses)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -784,9 +822,9 @@
</span> for cmd in sorted(cmd_map):
if not run(cmd, cmd_map[cmd], False):
fails += 1
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./wafhelpers/options.py.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./wafhelpers/options.py 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19,6 +19,8 @@ def options_cmd(ctx, config):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./wafhelpers/options.py.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./wafhelpers/options.py 2020-05-27 19:21:30.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -21,6 +21,8 @@ def options_cmd(ctx, config):
</span> help="Droproot earlier (breaks SHM and NetBSD).")
grp.add_option('--enable-seccomp', action='store_true',
default=False, help="Enable seccomp (restricts syscalls).")
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -795,9 +833,9 @@
</span> grp.add_option('--disable-mdns-registration', action='store_true',
default=False, help="Disable MDNS registration.")
grp.add_option(
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./wscript.orig 2019-11-17 14:18:12.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./wscript 2019-11-23 17:54:09.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -592,7 +592,7 @@ int main(int argc, char **argv) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./wscript.orig 2020-05-23 20:00:19.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./wscript 2020-05-27 19:21:30.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -544,7 +544,7 @@ int main(int argc, char **argv) {
</span> structures = (
("struct if_laddrconf", ["sys/types.h", "net/if6.h"], False),
("struct if_laddrreq", ["sys/types.h", "net/if6.h"], False),
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -806,9 +844,9 @@
</span> ("struct ntptimeval", ["sys/time.h", "sys/timex.h"], False),
)
for (s, h, r) in structures:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -797,6 +797,21 @@ int main(int argc, char **argv) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ctx.define("HAVE_WORKING_FORK", 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- comment="Whether a working fork() exists")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -755,6 +755,21 @@ int main(int argc, char **argv) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ctx.define("ENABLE_FUZZ", 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ comment="Enable fuzzing low bits of time")
</span>
+ # Does the kernel implement a phase-locked loop for timing?
+ # All modern Unixes (in particular Linux and *BSD) have this.
</pre><pre style='margin:0'>
</pre>