<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/0a2a29fd13e4ca1ef3f59cff26a9ccfbc8c46e6c">https://github.com/macports/macports-ports/commit/0a2a29fd13e4ca1ef3f59cff26a9ccfbc8c46e6c</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 0a2a29fd13e4ca1ef3f59cff26a9ccfbc8c46e6c
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Thu Jul 11 16:08:20 2019 -0700
<span style='display:block; white-space:pre;color:#404040;'> ntpsec: update to 1.1.4
</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_4
</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;'> Built and ran on MacPro 10.9, MacPro 10.14, MacBookPro 10.9,
</span><span style='display:block; white-space:pre;color:#404040;'> PowerBook 10.5, and VMs for 10.5-10.13. Built with default
</span><span style='display:block; white-space:pre;color:#404040;'> variants, all single non-default variants, and all non-default
</span><span style='display:block; white-space:pre;color:#404040;'> variants.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> NOTE:
</span><span style='display:block; white-space:pre;color:#404040;'> Does not address ticket 57272 (s/b low priority).
</span>---
sysutils/ntpsec/Portfile | 13 +-
sysutils/ntpsec/files/patch-PreHighSierra.diff | 256 +++++++++++--------------
2 files changed, 121 insertions(+), 148 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 a277b99..2cb0511 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.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 1.1.4
</span> categories sysutils net
maintainers {fwright.net:fw @fhgwright} openmaintainer
description A secure, hardened, and improved implementation of NTP
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,9 +18,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 cdaae8f682cd4cc97a37d86aca1d3196cfea0437 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 226b4b29d5166ea3d241a24f7bfc2567f289cf6ed826d8aeb9f2f261c1836bde \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 2462330
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 9d4f0363f383ffe9efd3470635d5960eae5399f1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 76f1b993f9853b68b6b1724e1906e5c076470082d8ba11b3b849a94ae56465ef \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 2536268
</span>
depends_build port:bison
depends_lib path:lib/libssl.dylib:openssl port:python${python.version}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,6 +46,11 @@ destroot.cmd ${build.cmd}
</span>
default_variants +doc
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# ntpsec has issues with universal builds:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 1) It expects endianness to be single-valued at configure time.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 2) There are problems with Python compiled extensions and universality.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+universal_variant no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> variant classic description {Enable classic mode} {
configure.args-append --enable-classic-mode
}
<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 8dbfb1e..e975b37 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,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./attic/clocks.c.orig 2019-01-13 21:40:59.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./attic/clocks.c 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./attic/backwards.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./attic/backwards.c 2019-07-02 11:55:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,6 +7,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <time.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 UNUSED_ARG(arg) ((void)(arg))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void ts_print(struct timespec *ts0, struct timespec *ts1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./attic/clocks.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./attic/clocks.c 2019-07-02 11:55:05.000000000 -0700
</span> @@ -5,6 +5,8 @@
#include <stdio.h>
#include <time.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,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 2018-08-28 22:18:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./attic/digest-timing.c 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./attic/digest-timing.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./attic/digest-timing.c 2019-07-02 11:55:05.000000000 -0700
</span> @@ -34,6 +34,8 @@
#include <openssl/rand.h>
#include <openssl/objects.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,8 +31,8 @@
</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 2018-08-28 22:18:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./include/ntp_machine.h 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./include/ntp_machine.h.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./include/ntp_machine.h 2019-07-02 11:55:05.000000000 -0700
</span> @@ -13,14 +13,135 @@
#ifndef CLOCK_REALTIME
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -164,9 +175,9 @@
</span>
int ntp_set_tod (struct timespec *tvs);
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./include/ntp_stdlib.h.orig 2018-09-25 23:08:35.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./include/ntp_stdlib.h 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -102,7 +102,9 @@ extern const char * eventstr (int);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./include/ntp_stdlib.h.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./include/ntp_stdlib.h 2019-07-02 11:55:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -95,7 +95,9 @@ extern const char * eventstr (int);
</span> extern const char * ceventstr (int);
extern const char * res_match_flags(unsigned short);
extern const char * res_access_flags(unsigned short);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -176,8 +187,8 @@
</span> extern char * statustoa (int, int);
extern sockaddr_u * netof6 (sockaddr_u *);
extern const char * socktoa (const sockaddr_u *);
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./include/ntp_syscall.h.orig 2018-08-28 22:18:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./include/ntp_syscall.h 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./include/ntp_syscall.h.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./include/ntp_syscall.h 2019-07-02 11:55:05.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;'>@@ -190,8 +201,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-01-13 21:40:59.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./libntp/clockwork.c 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./libntp/clockwork.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./libntp/clockwork.c 2019-07-02 11:55:05.000000000 -0700
</span> @@ -5,8 +5,10 @@
#include "config.h"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -205,8 +216,8 @@
</span>
#include "ntp.h"
#include "ntp_machine.h"
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./libntp/statestr.c.orig 2018-08-28 22:18:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./libntp/statestr.c 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./libntp/statestr.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./libntp/statestr.c 2019-07-02 11:55:05.000000000 -0700
</span> @@ -12,7 +12,9 @@
#include "lib_strbuf.h"
#include "ntp_refclock.h"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -307,9 +318,9 @@
</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-01-13 21:40:59.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./ntpd/ntp_control.c 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1478,6 +1478,7 @@ ctl_putsys(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpd/ntp_control.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpd/ntp_control.c 2019-07-02 11:55:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1357,6 +1357,7 @@ ctl_putsys(
</span> char str[256];
double dtemp;
const char *ss;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -317,15 +328,15 @@
</span> static struct timex ntx;
static unsigned long ntp_adjtime_time;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1492,6 +1493,7 @@ ctl_putsys(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1372,6 +1373,7 @@ ctl_putsys(
</span> else
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ntp_adjtime_time = current_time;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ntp_adjtime_time = current_time;
</span> }
+#endif /* HAVE_KERNEL_PLL */
switch (varid) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1880,50 +1882,93 @@ ctl_putsys(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1767,50 +1769,93 @@ ctl_putsys(
</span> break;
/*
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -423,7 +434,7 @@
</span> break;
case CS_K_FREQTOL:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-- ctl_putsfp(sys_var[varid].text, ntx.tolerance);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ctl_putsfp(sys_var[varid].text, ntx.tolerance);
</span> + CTL_IF_KERNLOOP(
+ ctl_putsfp,
+ (sys_var[varid].text, ntx.tolerance)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -431,8 +442,8 @@
</span> break;
case CS_K_PPS_FREQ:
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./ntpd/ntp_loopfilter.c.orig 2018-08-28 22:18:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./ntpd/ntp_loopfilter.c 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpd/ntp_loopfilter.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpd/ntp_loopfilter.c 2019-07-02 11:55:05.000000000 -0700
</span> @@ -23,8 +23,10 @@
#define NTP_MAXFREQ 500e-6
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -440,37 +451,27 @@
</span> +#ifdef HAVE_KERNEL_PLL
# define FREQTOD(x) ((x) / 65536e6) /* NTP to double */
# define DTOFREQ(x) ((int32_t)((x) * 65536e6)) /* double to NTP */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* HAVE_KERNEL_PLL */
</span>
/*
* This is an implementation of the clock discipline algorithm described
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -122,13 +124,16 @@ double drift_comp; /* frequency (s/s) *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static double init_drift_comp; /* initial frequency (PPM) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- double clock_stability; /* frequency stability (wander) (s/s) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned int sys_tai; /* TAI offset from UTC */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef ENABLE_LOCKCLOCK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !defined(ENABLE_LOCKCLOCK) && defined(HAVE_KERNEL_PLL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static bool loop_started; /* true after LOOP_DRIFTINIT */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif /* !ENABLE_LOCKCLOCK && HAVE_KERNEL_PLL */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef ENABLE_LOCKCLOCK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void rstclock (int, double); /* transition function */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -127,6 +129,7 @@ static void rstclock (int, double); /* t
</span> static double direct_freq(double); /* direct set frequency */
static void set_freq(double); /* set frequency */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* ENABLE_LOCKCLOCK */
</span>
+#ifdef HAVE_KERNEL_PLL
#ifndef PATH_MAX
# define PATH_MAX MAX_PATH
#endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -144,6 +149,7 @@ static unsigned int loop_tai; /* last T
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* ENABLE_LOCKCLOCK */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -140,6 +143,7 @@ static unsigned int loop_tai; /* last TA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* STA_NANO */
</span> static void start_kern_loop(void);
static void stop_kern_loop(void);
+#endif /* HAVE_KERNEL_PLL */
/*
* Clock state machine control flags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -160,7 +166,9 @@ struct clock_control_flags clock_ctl = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -156,7 +160,9 @@ struct clock_control_flags clock_ctl = {
</span> int freq_cnt; /* initial frequency clamp */
static int freq_set; /* initial set frequency switch */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -480,7 +481,7 @@
</span>
/*
* Clock state machine variables
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -180,6 +188,7 @@ static int sys_hufflen; /* huff-n'-puff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -174,6 +180,7 @@ 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;'>@@ -488,17 +489,17 @@
</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;'>-@@ -189,7 +198,9 @@ static struct sigaction sigsys; /* curre
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -183,7 +190,9 @@ static struct sigaction sigsys; /* curre
</span> static struct sigaction newsigsys; /* new sigaction status */
static sigjmp_buf env; /* environment var. for pll_trap() */
#endif /* SIGSYS */
+#endif /* HAVE_KERNEL_PLL */
+#ifdef HAVE_KERNEL_PLL
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef ENABLE_LOCKCLOCK
</span> static void
sync_status(const char *what, int ostatus, int nstatus)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -215,6 +226,7 @@ static char *file_name(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -208,6 +217,7 @@ static char *file_name(void)
</span> }
return this_file;
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -506,7 +507,7 @@
</span>
/*
* init_loopfilter - initialize loop filter data
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -230,6 +242,7 @@ init_loopfilter(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -223,6 +233,7 @@ init_loopfilter(void)
</span> freq_cnt = (int)clock_minstep;
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -514,16 +515,16 @@
</span> /*
* ntp_adjtime_error_handler - process errors from ntp_adjtime
*/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -428,6 +441,7 @@ or, from ntp_adjtime():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -421,6 +432,7 @@ or, from ntp_adjtime():
</span> }
return;
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* HAVE_KERNEL_PLL */
</span>
/*
* local_clock - the NTP logical clock loop filter.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -453,7 +467,9 @@ local_clock(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -453,7 +465,9 @@ local_clock(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> int rval; /* return code */
int osys_poll; /* old system poll */
+#ifdef HAVE_KERNEL_PLL
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -532,7 +533,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;'>-@@ -722,6 +738,7 @@ local_clock(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -705,6 +719,7 @@ local_clock(
</span> }
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -540,7 +541,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;'>-@@ -837,6 +854,7 @@ local_clock(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -820,6 +835,7 @@ local_clock(
</span> }
#endif /* STA_NANO */
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -548,7 +549,7 @@
</span>
/*
* Clamp the frequency within the tolerance range and calculate
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -950,8 +968,10 @@ adj_host_clock(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -929,8 +945,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;'>@@ -559,7 +560,7 @@
</span> } else {
offset_adj = clock_offset / (CLOCK_PLL * ULOGTOD(sys_poll));
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -962,9 +982,11 @@ adj_host_clock(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -941,9 +959,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;'>@@ -571,7 +572,7 @@
</span> freq_adj = drift_comp;
/* Bound absolute value of total adjustment to NTP_MAXFREQ. */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1056,6 +1078,7 @@ set_freq(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1031,6 +1051,7 @@ set_freq(
</span>
drift_comp = freq;
loop_desc = "ntpd";
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -579,7 +580,7 @@
</span> if (clock_ctl.pll_control) {
int ntp_adj_ret;
ZERO(ntv);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1068,11 +1091,13 @@ set_freq(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1043,10 +1064,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;'>@@ -587,13 +588,12 @@
</span> mprintf_event(EVNT_FSET, NULL, "%s %.6f PPM", loop_desc,
drift_comp * US_PER_S);
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* HAVE_LOCKCLOCK */
</span>
+#ifdef HAVE_KERNEL_PLL
static void
start_kern_loop(void)
{
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1133,8 +1158,10 @@ start_kern_loop(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1107,8 +1130,10 @@ start_kern_loop(void)
</span> "kernel time sync enabled");
}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -604,7 +604,7 @@
</span> static void
stop_kern_loop(void)
{
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1142,6 +1169,7 @@ stop_kern_loop(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1116,6 +1141,7 @@ stop_kern_loop(void)
</span> report_event(EVNT_KERN, NULL,
"kernel time sync disabled");
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -612,35 +612,28 @@
</span>
/*
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1154,17 +1182,21 @@ select_loop(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1128,11 +1154,15 @@ select_loop(
</span> {
if (clock_ctl.kern_enable == use_kern_loop)
return;
+#ifdef HAVE_KERNEL_PLL
if (clock_ctl.pll_control && !use_kern_loop)
stop_kern_loop();
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* HAVE_KERNEL_PLL */
</span> clock_ctl.kern_enable = use_kern_loop;
+#ifdef HAVE_KERNEL_PLL
if (clock_ctl.pll_control && use_kern_loop)
start_kern_loop();
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* HAVE_KERNEL_PLL */
</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;'>- * from the kernel loop.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if !defined(ENABLE_LOCKCLOCK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(HAVE_KERNEL_PLL) && !defined(ENABLE_LOCKCLOCK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (clock_ctl.pll_control && loop_started)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_freq(drift_comp);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1215,10 +1247,12 @@ loop_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1186,10 +1216,12 @@ loop_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * variables. Otherwise, continue leaving no harm behind.
</span> */
case LOOP_DRIFTINIT:
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef ENABLE_LOCKCLOCK
</span> +#ifdef HAVE_KERNEL_PLL
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if (clock_ctl.mode_ntpdate)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (lockclock || clock_ctl.mode_ntpdate)
</span> break;
start_kern_loop();
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -648,32 +641,30 @@
</span>
/*
* Initialize frequency if given; otherwise, begin frequency
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1236,13 +1270,16 @@ loop_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1207,11 +1239,14 @@ loop_config(
</span> rstclock(EVNT_FSET, 0);
else
rstclock(EVNT_NSET, 0);
+#ifdef HAVE_KERNEL_PLL
loop_started = true;
+#endif /* HAVE_KERNEL_PLL */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* !ENABLE_LOCKCLOCK */
</span> break;
case LOOP_KERN_CLEAR:
#if 0 /* XXX: needs more review, and how can we get here? */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef ENABLE_LOCKCLOCK
</span> +# ifdef HAVE_KERNEL_PLL
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if (clock_ctl.pll_control && clock_ctl.kern_enable) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!lockclock && (clock_ctl.pll_control && clock_ctl.kern_enable)) {
</span> memset((char *)&ntv, 0, sizeof(ntv));
ntv.modes = MOD_STATUS;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1252,6 +1289,7 @@ loop_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1221,6 +1256,7 @@ loop_config(
</span> pll_status,
ntv.status);
}
+# endif /* HAVE_KERNEL_PLL */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* ENABLE_LOCKCLOCK */
</span> #endif
break;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1331,7 +1369,7 @@ loop_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1299,7 +1335,7 @@ loop_config(
</span> }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -682,14 +673,14 @@
</span> /*
* _trap - trap processor for undefined syscalls
*
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1349,4 +1387,4 @@ pll_trap(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1317,4 +1353,4 @@ pll_trap(
</span> clock_ctl.pll_control = false;
siglongjmp(env, 1);
}
-#endif /* SIGSYS */
+#endif /* HAVE_KERNEL_PLL && SIGSYS */
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./ntpd/ntp_timer.c.orig 2018-08-28 22:18:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./ntpd/ntp_timer.c 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpd/ntp_timer.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpd/ntp_timer.c 2019-07-02 11:55:05.000000000 -0700
</span> @@ -13,7 +13,9 @@
#include <signal.h>
#include <unistd.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -700,7 +691,7 @@
</span>
#ifdef HAVE_TIMER_CREATE
/* TC_ERR represents the timer_create() error return value. */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -373,7 +375,11 @@ check_leapsec(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -381,7 +383,11 @@ check_leapsec(
</span>
leap_result_t lsdata;
uint32_t lsprox;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -712,44 +703,32 @@
</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 2018-08-28 22:18:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./ntpd/refclock_local.c 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -131,6 +131,9 @@ local_poll(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct peer *peer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(HAVE_KERNEL_PLL) && defined(ENABLE_LOCKCLOCK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ struct timex ntv;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif /* HAVE_KERNEL_PLL ENABLE_LOCKCLOCK */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct refclockproc *pp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNUSED_ARG(unit);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -156,8 +159,7 @@ local_poll(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpd/refclock_local.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpd/refclock_local.c 2019-07-02 11:55:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -158,6 +158,7 @@ local_poll(
</span> * 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:#ffe0e0;'>--#if defined(ENABLE_LOCKCLOCK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- struct timex ntv;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(HAVE_KERNEL_PLL) && defined(ENABLE_LOCKCLOCK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- memset(&ntv, 0, sizeof ntv);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch (ntp_adjtime(&ntv)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case TIME_OK:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -181,11 +183,11 @@ local_poll(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_KERNEL_PLL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (lockclock) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct timex ntv;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ memset(&ntv, 0, sizeof ntv);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -188,6 +189,13 @@ local_poll(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pp->disp = DISPERSION;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pp->jitter = 0;
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- pp->disp = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pp->jitter = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else /* ENABLE_LOCKCLOCK */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else /* HAVE_KERNEL_PLL && ENABLE_LOCKCLOCK */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pp->leap = LEAP_NOWARNING;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pp->disp = DISPERSION;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pp->jitter = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif /* ENABLE_LOCKCLOCK */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif /* HAVE_KERNEL_PLL && ENABLE_LOCKCLOCK */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pp->disp = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pp->jitter = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else /* !HAVE_KERNEL_PLL */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pp->leap = LEAP_NOWARNING;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pp->disp = DISPERSION;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pp->jitter = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* !HAVE_KERNEL_PLL */
</span> pp->lastref = pp->lastrec;
refclock_receive(peer);
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./ntpfrob/precision.c.orig 2019-01-13 21:40:59.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./ntpfrob/precision.c 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./ntpfrob/precision.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./ntpfrob/precision.c 2019-07-02 11:55:05.000000000 -0700
</span> @@ -11,6 +11,7 @@
#include "ntp_types.h"
#include "ntp_calendar.h"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -758,8 +737,8 @@
</span>
#define DEFAULT_SYS_PRECISION -99
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./tests/libntp/statestr.c.orig 2018-08-28 22:18:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./tests/libntp/statestr.c 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./tests/libntp/statestr.c.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./tests/libntp/statestr.c 2019-07-02 11:55:05.000000000 -0700
</span> @@ -4,7 +4,9 @@
#include "unity.h"
#include "unity_fixture.h"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -780,11 +759,11 @@
</span> }
// statustoa
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./wafhelpers/bin_test.py.orig 2019-01-13 21:40:59.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./wafhelpers/bin_test.py 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -88,6 +88,12 @@ def cmd_bin_test(ctx, config):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for cmd in cmd_map3:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cmd_map2[cmd] = cmd_map3[cmd]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./wafhelpers/bin_test.py.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./wafhelpers/bin_test.py 2019-07-02 11:55:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -91,6 +91,12 @@ def cmd_bin_test(ctx, config):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for cmd in cmd_map3:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cmd_map2[cmd] = cmd_map3[cmd]
</span>
+ # Kludge to remove ntptime if it didn't get built
+ if not ctx.env.HEADER_SYS_TIMEX_H:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -795,40 +774,29 @@
</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 2018-08-28 22:18:48.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./wafhelpers/options.py 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -21,6 +21,8 @@ def options_cmd(ctx, config):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./wafhelpers/options.py.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./wafhelpers/options.py 2019-07-02 11:55:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,6 +19,8 @@ def options_cmd(ctx, config):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ help="Droproot earlier (breaks SHM and NetBSD).")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ grp.add_option('--enable-seccomp', action='store_true',
</span> default=False, help="Enable seccomp (restricts syscalls).")
<span style='display:block; white-space:pre;background:#ffe0e0;'>- grp.add_option('--disable-dns-lookup', action='store_true',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default=False, help="Disable DNS lookups.")
</span> + grp.add_option('--disable-kernel-pll', action='store_true',
+ default=False, help="Disable kernel PLL.")
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-01-13 21:40:59.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./wscript 2019-01-15 12:40:57.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -559,13 +559,13 @@ int main(int argc, char **argv) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ctx.define("__EXTENSIONS__", "1", quote=False)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./wscript.orig 2019-06-21 19:41:51.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./wscript 2019-07-02 11:55:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -593,7 +593,7 @@ int main(int argc, char **argv) {
</span> structures = (
<span style='display:block; white-space:pre;background:#ffe0e0;'>-- ("struct if_laddrconf", ["sys/types.h", "net/if6.h"], False),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ("struct if_laddrreq", ["sys/types.h", "net/if6.h"], False),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ("struct if_laddrconf", ["sys/types.h", "net/if6.h"], False),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ("struct if_laddrreq", ["sys/types.h", "net/if6.h"], False),
</span> - ("struct timex", ["sys/time.h", "sys/timex.h"], True),
<span style='display:block; white-space:pre;background:#ffe0e0;'>-- ("struct ntptimeval", ["sys/time.h", "sys/timex.h"], False),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ("struct if_laddrconf", ["sys/types.h", "net/if6.h"]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ("struct if_laddrreq", ["sys/types.h", "net/if6.h"]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ("struct timex", ["sys/time.h", "sys/timex.h"]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ("struct ntptimeval", ["sys/time.h", "sys/timex.h"]),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ("struct timex", ["sys/time.h", "sys/timex.h"], False),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ("struct ntptimeval", ["sys/time.h", "sys/timex.h"], False),
</span> )
<span style='display:block; white-space:pre;background:#ffe0e0;'>-- for (s, h, r) in structures:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ctx.check_cc(type_name=s, header_name=h, mandatory=r)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for (s, h) in structures:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ctx.check_cc(type_name=s, header_name=h, mandatory=False)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # waf's SNIP_FIELD should likely include this header itself
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # This is needed on some systems to get size_t for following checks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -765,6 +765,21 @@ int main(int argc, char **argv) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for (s, h, r) in structures:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -795,6 +795,21 @@ int main(int argc, char **argv) {
</span> ctx.define("HAVE_WORKING_FORK", 1,
comment="Whether a working fork() exists")
</pre><pre style='margin:0'>
</pre>