Browse Source

rebase and update patches

OPENBSD_5_9
Brent Cook 8 years ago
parent
commit
f48b854265
14 changed files with 102 additions and 171 deletions
  1. +6
    -6
      patches/0001-Handle-IPv6-DNS-records-on-IPv4-networks-more-libera.patch
  2. +4
    -4
      patches/0002-EAI_NODATA-does-not-exist-everywhere.patch
  3. +3
    -3
      patches/0003-Use-LOG_NTP-syslog-facility-if-it-is-available.patch
  4. +4
    -4
      patches/0004-conditionally-fill-in-sin_len-sin6_len-if-they-exist.patch
  5. +9
    -40
      patches/0005-check-if-rdomain-support-is-available.patch
  6. +4
    -4
      patches/0006-update-ntpd.conf-to-indicate-OS-dependent-options.patch
  7. +6
    -6
      patches/0007-allow-overriding-default-user-and-file-locations.patch
  8. +15
    -15
      patches/0008-add-p-option-to-create-a-pid-file.patch
  9. +9
    -16
      patches/0009-initialize-setproctitle-where-needed.patch
  10. +23
    -23
      patches/0010-Notify-the-user-when-constraint-support-is-disabled.patch
  11. +0
    -30
      patches/0010-document-SIGUSR1-fallback-if-SIGINFO-is-not-implemen.patch
  12. +6
    -6
      patches/0011-add-a-method-for-updating-the-realtime-clock-on-sync.patch
  13. +12
    -13
      patches/0012-Deal-with-missing-SO_TIMESTAMP.patch
  14. +1
    -1
      src/Makefile.am

+ 6
- 6
patches/0001-Handle-IPv6-DNS-records-on-IPv4-networks-more-libera.patch View File

@ -1,7 +1,7 @@
From 23bd483c6f15ae1237eb7764110590706f13c108 Mon Sep 17 00:00:00 2001
From 7e3c2f022bd8f008d6db389c06b340972d3e0cc8 Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Tue, 30 Dec 2014 09:10:22 -0600 Date: Tue, 30 Dec 2014 09:10:22 -0600
Subject: [PATCH 01/13] Handle IPv6 DNS records on IPv4 networks more liberally
Subject: [PATCH 01/12] Handle IPv6 DNS records on IPv4 networks more liberally
Rather than fail on IPv4 only networks when seeing an IPv6 DNS record, Rather than fail on IPv4 only networks when seeing an IPv6 DNS record,
just give a warning. just give a warning.
@ -13,7 +13,7 @@ Original Author: Stefan Praszalowicz <stefan.praszalowicz@avedya.com>
1 file changed, 10 insertions(+), 3 deletions(-) 1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/usr.sbin/ntpd/client.c b/src/usr.sbin/ntpd/client.c diff --git a/src/usr.sbin/ntpd/client.c b/src/usr.sbin/ntpd/client.c
index 1d982d6..e717d69 100644
index a92382b..7ce3b38 100644
--- a/src/usr.sbin/ntpd/client.c --- a/src/usr.sbin/ntpd/client.c
+++ b/src/usr.sbin/ntpd/client.c +++ b/src/usr.sbin/ntpd/client.c
@@ -138,9 +138,16 @@ client_query(struct ntp_peer *p) @@ -138,9 +138,16 @@ client_query(struct ntp_peer *p)
@ -34,8 +34,8 @@ index 1d982d6..e717d69 100644
+ fatal("client_query socket"); + fatal("client_query socket");
+ } + }
if (p->rtable != -1 &&
setsockopt(p->query->fd, SOL_SOCKET, SO_RTABLE,
if (connect(p->query->fd, sa, SA_LEN(sa)) == -1) {
if (errno == ECONNREFUSED || errno == ENETUNREACH ||
-- --
2.4.5
2.6.3

+ 4
- 4
patches/0002-EAI_NODATA-does-not-exist-everywhere.patch View File

@ -1,7 +1,7 @@
From 68baaf4eb14d9e6a1ce6c289580a561a878285f5 Mon Sep 17 00:00:00 2001
From 8fee6e437f4adf331a76c704c8c5cba4df255f19 Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Tue, 30 Dec 2014 09:04:08 -0600 Date: Tue, 30 Dec 2014 09:04:08 -0600
Subject: [PATCH 02/13] EAI_NODATA does not exist everywhere
Subject: [PATCH 02/12] EAI_NODATA does not exist everywhere
FreeBSD says it is deprecated #ifdef's it out. FreeBSD says it is deprecated #ifdef's it out.
@ -15,7 +15,7 @@ portable software now has to have a special check instead.
1 file changed, 8 insertions(+), 2 deletions(-) 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/usr.sbin/ntpd/config.c b/src/usr.sbin/ntpd/config.c diff --git a/src/usr.sbin/ntpd/config.c b/src/usr.sbin/ntpd/config.c
index 3945405..8c1baa2 100644
index b2f688e..c0a99b1 100644
--- a/src/usr.sbin/ntpd/config.c --- a/src/usr.sbin/ntpd/config.c
+++ b/src/usr.sbin/ntpd/config.c +++ b/src/usr.sbin/ntpd/config.c
@@ -133,8 +133,14 @@ host_dns(const char *s, struct ntp_addr **hn) @@ -133,8 +133,14 @@ host_dns(const char *s, struct ntp_addr **hn)
@ -36,5 +36,5 @@ index 3945405..8c1baa2 100644
log_warnx("could not parse \"%s\": %s", s, log_warnx("could not parse \"%s\": %s", s,
gai_strerror(error)); gai_strerror(error));
-- --
2.4.5
2.6.3

+ 3
- 3
patches/0003-Use-LOG_NTP-syslog-facility-if-it-is-available.patch View File

@ -1,7 +1,7 @@
From 34d5195a0a360967ebf3694467512ada27f81650 Mon Sep 17 00:00:00 2001
From ec9ba68b495b4d866b3f8542ff054541aaae87fd Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Mon, 12 Jan 2015 21:16:54 -0600 Date: Mon, 12 Jan 2015 21:16:54 -0600
Subject: [PATCH 03/13] Use LOG_NTP syslog facility if it is available
Subject: [PATCH 03/12] Use LOG_NTP syslog facility if it is available
FreeBSD PR: 114191 FreeBSD PR: 114191
Submitted by: Robert Archer <freebsd@deathbeforedecaf.net> Submitted by: Robert Archer <freebsd@deathbeforedecaf.net>
@ -51,5 +51,5 @@ index 1d8304b..5d34709 100644
tzset(); tzset();
} }
-- --
2.4.5
2.6.3

+ 4
- 4
patches/0004-conditionally-fill-in-sin_len-sin6_len-if-they-exist.patch View File

@ -1,14 +1,14 @@
From 3537c0e956f9f67085fa9e76f303689df8753d2e Mon Sep 17 00:00:00 2001
From c936d099934f3d85dae03e3ac54af2056788a96e Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Tue, 30 Dec 2014 09:02:50 -0600 Date: Tue, 30 Dec 2014 09:02:50 -0600
Subject: [PATCH 04/13] conditionally fill in sin_len/sin6_len if they exist
Subject: [PATCH 04/12] conditionally fill in sin_len/sin6_len if they exist
--- ---
src/usr.sbin/ntpd/config.c | 8 ++++++++ src/usr.sbin/ntpd/config.c | 8 ++++++++
1 file changed, 8 insertions(+) 1 file changed, 8 insertions(+)
diff --git a/src/usr.sbin/ntpd/config.c b/src/usr.sbin/ntpd/config.c diff --git a/src/usr.sbin/ntpd/config.c b/src/usr.sbin/ntpd/config.c
index 8c1baa2..2e39604 100644
index c0a99b1..87de17a 100644
--- a/src/usr.sbin/ntpd/config.c --- a/src/usr.sbin/ntpd/config.c
+++ b/src/usr.sbin/ntpd/config.c +++ b/src/usr.sbin/ntpd/config.c
@@ -72,7 +72,9 @@ host_v4(const char *s) @@ -72,7 +72,9 @@ host_v4(const char *s)
@ -49,5 +49,5 @@ index 8c1baa2..2e39604 100644
res->ai_addr)->sin6_addr, sizeof(struct in6_addr)); res->ai_addr)->sin6_addr, sizeof(struct in6_addr));
} }
-- --
2.4.5
2.6.3

+ 9
- 40
patches/0005-check-if-rdomain-support-is-available.patch View File

@ -1,56 +1,25 @@
From 2e02b774dc28b1db74bd9c1837fd056c57234080 Mon Sep 17 00:00:00 2001
From 9dcb2008acca9650e4cf05f10a051c1a94bde77e Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Tue, 30 Dec 2014 09:05:46 -0600 Date: Tue, 30 Dec 2014 09:05:46 -0600
Subject: [PATCH 05/13] check if rdomain support is available.
Subject: [PATCH 05/12] check if rdomain support is available.
Handle FreeBSD's calling rdomain 'FIB'. Handle FreeBSD's calling rdomain 'FIB'.
- from naddy@openbsd.org - from naddy@openbsd.org
--- ---
src/usr.sbin/ntpd/client.c | 4 ++++
src/usr.sbin/ntpd/ntpd.h | 6 ++++++ src/usr.sbin/ntpd/ntpd.h | 6 ++++++
src/usr.sbin/ntpd/parse.y | 2 ++ src/usr.sbin/ntpd/parse.y | 2 ++
src/usr.sbin/ntpd/server.c | 15 ++++++++++++++- src/usr.sbin/ntpd/server.c | 15 ++++++++++++++-
4 files changed, 26 insertions(+), 1 deletion(-)
3 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/usr.sbin/ntpd/client.c b/src/usr.sbin/ntpd/client.c
index e717d69..2be1f93 100644
--- a/src/usr.sbin/ntpd/client.c
+++ b/src/usr.sbin/ntpd/client.c
@@ -149,10 +149,12 @@ client_query(struct ntp_peer *p)
fatal("client_query socket");
}
+#ifdef SO_RTABLE
if (p->rtable != -1 &&
setsockopt(p->query->fd, SOL_SOCKET, SO_RTABLE,
&p->rtable, sizeof(p->rtable)) == -1)
fatal("client_query setsockopt SO_RTABLE");
+#endif
if (connect(p->query->fd, sa, SA_LEN(sa)) == -1) {
if (errno == ECONNREFUSED || errno == ENETUNREACH ||
errno == EHOSTUNREACH || errno == EADDRNOTAVAIL) {
@@ -255,10 +257,12 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime)
return (0);
}
+#ifdef SO_RTABLE
if (p->rtable != -1 &&
setsockopt(p->query->fd, SOL_SOCKET, SO_RTABLE, &p->rtable,
sizeof(p->rtable)) == -1)
fatal("client_dispatch setsockopt SO_RTABLE");
+#endif
for (cmsg = CMSG_FIRSTHDR(&somsg); cmsg != NULL;
cmsg = CMSG_NXTHDR(&somsg, cmsg)) {
diff --git a/src/usr.sbin/ntpd/ntpd.h b/src/usr.sbin/ntpd/ntpd.h diff --git a/src/usr.sbin/ntpd/ntpd.h b/src/usr.sbin/ntpd/ntpd.h
index de4cd84..5bdd7a7 100644
index f6507f2..fa2eb7a 100644
--- a/src/usr.sbin/ntpd/ntpd.h --- a/src/usr.sbin/ntpd/ntpd.h
+++ b/src/usr.sbin/ntpd/ntpd.h +++ b/src/usr.sbin/ntpd/ntpd.h
@@ -41,6 +41,12 @@ @@ -41,6 +41,12 @@
#define DRIFTFILE "/var/db/ntpd.drift" #define DRIFTFILE "/var/db/ntpd.drift"
#define CTLSOCKET "/var/run/ntpd.sock" #define CTLSOCKET "/var/run/ntpd.sock"
+#if defined(SO_SETFIB) && defined(FREEBSD_SO_RTABLE_ENABLED)
+#if defined(SO_SETFIB)
+#define SO_RTABLE SO_SETFIB +#define SO_RTABLE SO_SETFIB
+#define SIOCGIFRDOMAIN SIOCGIFFIB +#define SIOCGIFRDOMAIN SIOCGIFFIB
+#define ifr_rdomainid ifr_fib +#define ifr_rdomainid ifr_fib
@ -60,10 +29,10 @@ index de4cd84..5bdd7a7 100644
#define INTERVAL_QUERY_PATHETIC 60 #define INTERVAL_QUERY_PATHETIC 60
#define INTERVAL_QUERY_AGGRESSIVE 5 #define INTERVAL_QUERY_AGGRESSIVE 5
diff --git a/src/usr.sbin/ntpd/parse.y b/src/usr.sbin/ntpd/parse.y diff --git a/src/usr.sbin/ntpd/parse.y b/src/usr.sbin/ntpd/parse.y
index 4b9ef49..375f609 100644
index 6d50795..33fe13d 100644
--- a/src/usr.sbin/ntpd/parse.y --- a/src/usr.sbin/ntpd/parse.y
+++ b/src/usr.sbin/ntpd/parse.y +++ b/src/usr.sbin/ntpd/parse.y
@@ -412,11 +412,13 @@ weight : WEIGHT NUMBER {
@@ -404,11 +404,13 @@ weight : WEIGHT NUMBER {
opts.weight = $2; opts.weight = $2;
} }
rtable : RTABLE NUMBER { rtable : RTABLE NUMBER {
@ -78,7 +47,7 @@ index 4b9ef49..375f609 100644
} }
; ;
diff --git a/src/usr.sbin/ntpd/server.c b/src/usr.sbin/ntpd/server.c diff --git a/src/usr.sbin/ntpd/server.c b/src/usr.sbin/ntpd/server.c
index ef448d3..618cd8f 100644
index fb297d7..2e28b9b 100644
--- a/src/usr.sbin/ntpd/server.c --- a/src/usr.sbin/ntpd/server.c
+++ b/src/usr.sbin/ntpd/server.c +++ b/src/usr.sbin/ntpd/server.c
@@ -35,11 +35,16 @@ setup_listeners(struct servent *se, struct ntpd_conf *lconf, u_int *cnt) @@ -35,11 +35,16 @@ setup_listeners(struct servent *se, struct ntpd_conf *lconf, u_int *cnt)
@ -143,5 +112,5 @@ index ef448d3..618cd8f 100644
if (bind(la->fd, (struct sockaddr *)&la->sa, if (bind(la->fd, (struct sockaddr *)&la->sa,
SA_LEN((struct sockaddr *)&la->sa)) == -1) { SA_LEN((struct sockaddr *)&la->sa)) == -1) {
-- --
2.4.5
2.6.3

+ 4
- 4
patches/0006-update-ntpd.conf-to-indicate-OS-dependent-options.patch View File

@ -1,7 +1,7 @@
From 48d02d4b495a95851b1f709ea38d51c61f1be4e1 Mon Sep 17 00:00:00 2001
From 7ff884df5fdca1cf65650db6cc06235f5cc042ef Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Tue, 30 Dec 2014 09:20:03 -0600 Date: Tue, 30 Dec 2014 09:20:03 -0600
Subject: [PATCH 06/13] update ntpd.conf to indicate OS-dependent options
Subject: [PATCH 06/12] update ntpd.conf to indicate OS-dependent options
Also, clarify listening behavior based on a patch from Also, clarify listening behavior based on a patch from
Dererk <dererk@debian.org> Dererk <dererk@debian.org>
@ -11,7 +11,7 @@ Debian bug ID: 575705
1 file changed, 8 insertions(+), 3 deletions(-) 1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/usr.sbin/ntpd/ntpd.conf.5 b/src/usr.sbin/ntpd/ntpd.conf.5 diff --git a/src/usr.sbin/ntpd/ntpd.conf.5 b/src/usr.sbin/ntpd/ntpd.conf.5
index 65b51b0..5dd584d 100644
index af11a7e..87f94e8 100644
--- a/src/usr.sbin/ntpd/ntpd.conf.5 --- a/src/usr.sbin/ntpd/ntpd.conf.5
+++ b/src/usr.sbin/ntpd/ntpd.conf.5 +++ b/src/usr.sbin/ntpd/ntpd.conf.5
@@ -38,9 +38,14 @@ The basic configuration options are as follows: @@ -38,9 +38,14 @@ The basic configuration options are as follows:
@ -49,5 +49,5 @@ index 65b51b0..5dd584d 100644
.Xr ntpd 8 .Xr ntpd 8
will use each given sensor that actually exists. will use each given sensor that actually exists.
-- --
2.4.5
2.6.3

+ 6
- 6
patches/0007-allow-overriding-default-user-and-file-locations.patch View File

@ -1,7 +1,7 @@
From 8f37bf27e304caa46054962b6c285ad0ce0e050c Mon Sep 17 00:00:00 2001
From eb72af64c3304396f355b54cba266b4ed300b8c9 Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Thu, 1 Jan 2015 07:18:11 -0600 Date: Thu, 1 Jan 2015 07:18:11 -0600
Subject: [PATCH 07/13] allow overriding default user and file locations
Subject: [PATCH 07/12] allow overriding default user and file locations
Allow the build process to override the default ntpd file paths and Allow the build process to override the default ntpd file paths and
default user. default user.
@ -10,7 +10,7 @@ default user.
1 file changed, 15 insertions(+), 3 deletions(-) 1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/usr.sbin/ntpd/ntpd.h b/src/usr.sbin/ntpd/ntpd.h diff --git a/src/usr.sbin/ntpd/ntpd.h b/src/usr.sbin/ntpd/ntpd.h
index 5bdd7a7..5172c45 100644
index fa2eb7a..1383056 100644
--- a/src/usr.sbin/ntpd/ntpd.h --- a/src/usr.sbin/ntpd/ntpd.h
+++ b/src/usr.sbin/ntpd/ntpd.h +++ b/src/usr.sbin/ntpd/ntpd.h
@@ -36,10 +36,20 @@ @@ -36,10 +36,20 @@
@ -35,9 +35,9 @@ index 5bdd7a7..5172c45 100644
+#define DRIFTFILE LOCALSTATEDIR "/db/ntpd.drift" +#define DRIFTFILE LOCALSTATEDIR "/db/ntpd.drift"
+#define CTLSOCKET LOCALSTATEDIR "/run/ntpd.sock" +#define CTLSOCKET LOCALSTATEDIR "/run/ntpd.sock"
#if defined(SO_SETFIB) && defined(FREEBSD_SO_RTABLE_ENABLED)
#if defined(SO_SETFIB)
#define SO_RTABLE SO_SETFIB #define SO_RTABLE SO_SETFIB
@@ -88,7 +98,9 @@
@@ -87,7 +97,9 @@
#define CONSTRAINT_PORT "443" /* HTTPS port */ #define CONSTRAINT_PORT "443" /* HTTPS port */
#define CONSTRAINT_MAXHEADERLENGTH 8192 #define CONSTRAINT_MAXHEADERLENGTH 8192
#define CONSTRAINT_PASSFD (STDERR_FILENO + 1) #define CONSTRAINT_PASSFD (STDERR_FILENO + 1)
@ -48,5 +48,5 @@ index 5bdd7a7..5172c45 100644
enum client_state { enum client_state {
STATE_NONE, STATE_NONE,
-- --
2.4.5
2.6.3

+ 15
- 15
patches/0008-add-p-option-to-create-a-pid-file.patch View File

@ -1,7 +1,7 @@
From 5e7e9b21cbc8ed49aed22e67cf6315477a76db4d Mon Sep 17 00:00:00 2001
From 735b7714af879176149a9861d781b275e7079fb7 Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Wed, 31 Dec 2014 08:26:41 -0600 Date: Wed, 31 Dec 2014 08:26:41 -0600
Subject: [PATCH 08/13] add -p option to create a pid file
Subject: [PATCH 08/12] add -p option to create a pid file
This is used in both the Gentoo and Debian ports. This is used in both the Gentoo and Debian ports.
@ -13,7 +13,7 @@ Origin: https://bugs.gentoo.org/show_bug.cgi?id=493082
3 files changed, 33 insertions(+), 5 deletions(-) 3 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/src/usr.sbin/ntpd/ntpd.8 b/src/usr.sbin/ntpd/ntpd.8 diff --git a/src/usr.sbin/ntpd/ntpd.8 b/src/usr.sbin/ntpd/ntpd.8
index af56fb9..b11b5ca 100644
index dcfb6d2..1b885a1 100644
--- a/src/usr.sbin/ntpd/ntpd.8 --- a/src/usr.sbin/ntpd/ntpd.8
+++ b/src/usr.sbin/ntpd/ntpd.8 +++ b/src/usr.sbin/ntpd/ntpd.8
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
@ -35,10 +35,10 @@ index af56fb9..b11b5ca 100644
Do not set the time immediately at startup. Do not set the time immediately at startup.
This is the default. This is the default.
diff --git a/src/usr.sbin/ntpd/ntpd.c b/src/usr.sbin/ntpd/ntpd.c diff --git a/src/usr.sbin/ntpd/ntpd.c b/src/usr.sbin/ntpd/ntpd.c
index 045bdd4..c7935bf 100644
index 83b42ee..40570ee 100644
--- a/src/usr.sbin/ntpd/ntpd.c --- a/src/usr.sbin/ntpd/ntpd.c
+++ b/src/usr.sbin/ntpd/ntpd.c +++ b/src/usr.sbin/ntpd/ntpd.c
@@ -83,6 +83,18 @@ sighdlr(int sig)
@@ -86,6 +86,18 @@ sighdlr(int sig)
} }
} }
@ -57,7 +57,7 @@ index 045bdd4..c7935bf 100644
__dead void __dead void
usage(void) usage(void)
{ {
@@ -92,7 +104,7 @@ usage(void)
@@ -95,7 +107,7 @@ usage(void)
fprintf(stderr, fprintf(stderr,
"usage: ntpctl -s all | peers | Sensors | status\n"); "usage: ntpctl -s all | peers | Sensors | status\n");
else else
@ -66,7 +66,7 @@ index 045bdd4..c7935bf 100644
__progname); __progname);
exit(1); exit(1);
} }
@@ -123,7 +135,7 @@ main(int argc, char *argv[])
@@ -133,7 +145,7 @@ main(int argc, char *argv[])
log_init(1); /* log to stderr until daemonized */ log_init(1); /* log to stderr until daemonized */
@ -75,7 +75,7 @@ index 045bdd4..c7935bf 100644
switch (ch) { switch (ch) {
case 'd': case 'd':
lconf.debug = 1; lconf.debug = 1;
@@ -135,6 +147,9 @@ main(int argc, char *argv[])
@@ -145,6 +157,9 @@ main(int argc, char *argv[])
case 'n': case 'n':
lconf.noaction = 1; lconf.noaction = 1;
break; break;
@ -85,7 +85,7 @@ index 045bdd4..c7935bf 100644
case 's': case 's':
lconf.settime = 1; lconf.settime = 1;
break; break;
@@ -175,9 +190,11 @@ main(int argc, char *argv[])
@@ -189,9 +204,11 @@ main(int argc, char *argv[])
reset_adjtime(); reset_adjtime();
if (!lconf.settime) { if (!lconf.settime) {
log_init(lconf.debug); log_init(lconf.debug);
@ -98,7 +98,7 @@ index 045bdd4..c7935bf 100644
} else } else
timeout = SETTIME_TIMEOUT * 1000; timeout = SETTIME_TIMEOUT * 1000;
@@ -224,9 +241,11 @@ main(int argc, char *argv[])
@@ -269,9 +286,11 @@ main(int argc, char *argv[])
log_init(lconf.debug); log_init(lconf.debug);
log_warnx("no reply received in time, skipping initial " log_warnx("no reply received in time, skipping initial "
"time setting"); "time setting");
@ -111,7 +111,7 @@ index 045bdd4..c7935bf 100644
} }
if (nfds > 0 && (pfd[PFD_PIPE].revents & POLLOUT)) if (nfds > 0 && (pfd[PFD_PIPE].revents & POLLOUT))
@@ -265,6 +284,8 @@ main(int argc, char *argv[])
@@ -314,6 +333,8 @@ main(int argc, char *argv[])
msgbuf_clear(&ibuf->w); msgbuf_clear(&ibuf->w);
free(ibuf); free(ibuf);
log_info("Terminating"); log_info("Terminating");
@ -120,7 +120,7 @@ index 045bdd4..c7935bf 100644
return (0); return (0);
} }
@@ -337,9 +358,11 @@ dispatch_imsg(struct ntpd_conf *lconf)
@@ -396,9 +417,11 @@ dispatch_imsg(struct ntpd_conf *lconf, const char *pw_dir,
memcpy(&d, imsg.data, sizeof(d)); memcpy(&d, imsg.data, sizeof(d));
ntpd_settime(d); ntpd_settime(d);
/* daemonize now */ /* daemonize now */
@ -134,10 +134,10 @@ index 045bdd4..c7935bf 100644
timeout = INFTIM; timeout = INFTIM;
break; break;
diff --git a/src/usr.sbin/ntpd/ntpd.h b/src/usr.sbin/ntpd/ntpd.h diff --git a/src/usr.sbin/ntpd/ntpd.h b/src/usr.sbin/ntpd/ntpd.h
index 5172c45..f31d9f8 100644
index 1383056..e542849 100644
--- a/src/usr.sbin/ntpd/ntpd.h --- a/src/usr.sbin/ntpd/ntpd.h
+++ b/src/usr.sbin/ntpd/ntpd.h +++ b/src/usr.sbin/ntpd/ntpd.h
@@ -239,6 +239,7 @@ struct ntpd_conf {
@@ -242,6 +242,7 @@ struct ntpd_conf {
u_int constraint_errors; u_int constraint_errors;
u_int8_t *ca; u_int8_t *ca;
size_t ca_len; size_t ca_len;
@ -146,5 +146,5 @@ index 5172c45..f31d9f8 100644
struct ctl_show_status { struct ctl_show_status {
-- --
2.4.5
2.6.3

+ 9
- 16
patches/0009-initialize-setproctitle-where-needed.patch View File

@ -1,7 +1,7 @@
From fd8a742d7e3f2ff92e812cdccfb3477b948340fc Mon Sep 17 00:00:00 2001
From 3f56ed57c9f7dcf2c77d29fadb307d10664c5075 Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Mon, 12 Jan 2015 06:18:31 -0600 Date: Mon, 12 Jan 2015 06:18:31 -0600
Subject: [PATCH 09/13] initialize setproctitle where needed
Subject: [PATCH 09/12] initialize setproctitle where needed
We need to save a copy of argv and __progname to avoid setproctitle We need to save a copy of argv and __progname to avoid setproctitle
clobbering them. clobbering them.
@ -10,12 +10,12 @@ clobbering them.
1 file changed, 20 insertions(+) 1 file changed, 20 insertions(+)
diff --git a/src/usr.sbin/ntpd/ntpd.c b/src/usr.sbin/ntpd/ntpd.c diff --git a/src/usr.sbin/ntpd/ntpd.c b/src/usr.sbin/ntpd/ntpd.c
index c7935bf..310e808 100644
index 40570ee..b86d6ed 100644
--- a/src/usr.sbin/ntpd/ntpd.c --- a/src/usr.sbin/ntpd/ntpd.c
+++ b/src/usr.sbin/ntpd/ntpd.c +++ b/src/usr.sbin/ntpd/ntpd.c
@@ -112,6 +112,13 @@ usage(void)
#define POLL_MAX 8
@@ -116,6 +116,13 @@ usage(void)
#define PFD_PIPE 0 #define PFD_PIPE 0
#define PFD_MAX 1
+/* Saves a copy of argv for setproctitle emulation */ +/* Saves a copy of argv for setproctitle emulation */
+#ifndef HAVE_SETPROCTITLE +#ifndef HAVE_SETPROCTITLE
@ -27,19 +27,12 @@ index c7935bf..310e808 100644
int int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
@@ -124,6 +131,8 @@ main(int argc, char *argv[])
struct passwd *pw;
extern char *__progname;
+ __progname = get_progname(argv[0]);
+
if (strcmp(__progname, "ntpctl") == 0) {
ctl_main(argc, argv);
/* NOTREACHED */
@@ -135,6 +144,17 @@ main(int argc, char *argv[])
@@ -145,6 +152,19 @@ main(int argc, char *argv[])
log_init(1); /* log to stderr until daemonized */ log_init(1); /* log to stderr until daemonized */
+ __progname = get_progname(argv[0]);
+
+#ifndef HAVE_SETPROCTITLE +#ifndef HAVE_SETPROCTITLE
+ int i; + int i;
+ /* Prepare for later setproctitle emulation */ + /* Prepare for later setproctitle emulation */
@ -55,5 +48,5 @@ index c7935bf..310e808 100644
switch (ch) { switch (ch) {
case 'd': case 'd':
-- --
2.4.5
2.6.3

patches/0011-Notify-the-user-when-constraint-support-is-disabled.patch → patches/0010-Notify-the-user-when-constraint-support-is-disabled.patch View File

@ -1,24 +1,24 @@
From 12e4fcd674dd852fe8838c60fee6168344df8b5f Mon Sep 17 00:00:00 2001
From bdbcdad24473d94d2871650e65adba694e078a7b Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Fri, 27 Mar 2015 23:14:15 -0500 Date: Fri, 27 Mar 2015 23:14:15 -0500
Subject: [PATCH 11/13] Notify the user when constraint support is disabled.
Subject: [PATCH 10/12] Notify the user when constraint support is disabled.
Update the manpage and make a constraint line a fatal error if it is Update the manpage and make a constraint line a fatal error if it is
configured but ntpd is built without libtls present. configured but ntpd is built without libtls present.
From Paul B. Henson. From Paul B. Henson.
--- ---
src/usr.sbin/ntpd/config.c | 3 +++
src/usr.sbin/ntpd/ntp.c | 2 ++
src/usr.sbin/ntpd/ntpd.conf.5 | 7 +++++--
src/usr.sbin/ntpd/config.c | 3 +++
src/usr.sbin/ntpd/constraint.c | 2 ++
src/usr.sbin/ntpd/ntpd.conf.5 | 7 +++++--
3 files changed, 10 insertions(+), 2 deletions(-) 3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/usr.sbin/ntpd/config.c b/src/usr.sbin/ntpd/config.c diff --git a/src/usr.sbin/ntpd/config.c b/src/usr.sbin/ntpd/config.c
index 2e39604..779aed6 100644
index 87de17a..5a75030 100644
--- a/src/usr.sbin/ntpd/config.c --- a/src/usr.sbin/ntpd/config.c
+++ b/src/usr.sbin/ntpd/config.c +++ b/src/usr.sbin/ntpd/config.c
@@ -218,6 +218,9 @@ new_constraint(void)
fatal("new_constraint calloc");
@@ -219,6 +219,9 @@ new_constraint(void)
p->id = ++constraint_maxid; p->id = ++constraint_maxid;
p->fd = -1;
+#ifndef HAVE_LIBTLS +#ifndef HAVE_LIBTLS
+ fatal("constraint configured without libtls support"); + fatal("constraint configured without libtls support");
@ -26,30 +26,30 @@ index 2e39604..779aed6 100644
return (p); return (p);
} }
diff --git a/src/usr.sbin/ntpd/ntp.c b/src/usr.sbin/ntpd/ntp.c
index 50fc468..566fd74 100644
--- a/src/usr.sbin/ntpd/ntp.c
+++ b/src/usr.sbin/ntpd/ntp.c
@@ -109,12 +109,14 @@ ntp_main(int pipe_prnt[2], int fd_ctl, struct ntpd_conf *nconf,
return (pid);
}
diff --git a/src/usr.sbin/ntpd/constraint.c b/src/usr.sbin/ntpd/constraint.c
index 3fc837f..72b3980 100644
--- a/src/usr.sbin/ntpd/constraint.c
+++ b/src/usr.sbin/ntpd/constraint.c
@@ -288,12 +288,14 @@ priv_constraint_child(struct constraint *cstr, struct ntp_addr_msg *am,
if (setpriority(PRIO_PROCESS, 0, 0) == -1)
log_warn("could not set priority");
+#ifdef HAVE_LIBTLS +#ifdef HAVE_LIBTLS
tls_init();
/* Verification will be turned off if CA is not found */
/* Init TLS and load cert before chroot() */
if (tls_init() == -1)
fatalx("tls_init");
if ((conf->ca = tls_load_file(CONSTRAINT_CA, if ((conf->ca = tls_load_file(CONSTRAINT_CA,
&conf->ca_len, NULL)) == NULL) &conf->ca_len, NULL)) == NULL)
log_warnx("constraint certificate verification turned off"); log_warnx("constraint certificate verification turned off");
+#endif +#endif
/* in this case the parent didn't init logging and didn't daemonize */
if (nconf->settime && !nconf->debug) {
if (chroot(pw_dir) == -1)
fatal("chroot");
diff --git a/src/usr.sbin/ntpd/ntpd.conf.5 b/src/usr.sbin/ntpd/ntpd.conf.5 diff --git a/src/usr.sbin/ntpd/ntpd.conf.5 b/src/usr.sbin/ntpd/ntpd.conf.5
index 5dd584d..7b09932 100644
index 87f94e8..7f729d2 100644
--- a/src/usr.sbin/ntpd/ntpd.conf.5 --- a/src/usr.sbin/ntpd/ntpd.conf.5
+++ b/src/usr.sbin/ntpd/ntpd.conf.5 +++ b/src/usr.sbin/ntpd/ntpd.conf.5
@@ -191,8 +191,11 @@ authenticated constraint,
@@ -185,8 +185,11 @@ authenticated constraint,
thereby reducing the impact of unauthenticated NTP thereby reducing the impact of unauthenticated NTP
man-in-the-middle attacks. man-in-the-middle attacks.
Received NTP packets with time information falling outside of a range Received NTP packets with time information falling outside of a range
@ -64,5 +64,5 @@ index 5dd584d..7b09932 100644
.It Ic constraint from Ar url .It Ic constraint from Ar url
Specify the URL, IP address or the hostname of an HTTPS server to Specify the URL, IP address or the hostname of an HTTPS server to
-- --
2.4.5
2.6.3

+ 0
- 30
patches/0010-document-SIGUSR1-fallback-if-SIGINFO-is-not-implemen.patch View File

@ -1,30 +0,0 @@
From 60c072f759cadd167a929e035b33877b1f08103a Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com>
Date: Mon, 12 Jan 2015 21:17:35 -0600
Subject: [PATCH 10/13] document SIGUSR1 fallback if SIGINFO is not
implemented.
---
src/usr.sbin/ntpd/ntpd.8 | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/usr.sbin/ntpd/ntpd.8 b/src/usr.sbin/ntpd/ntpd.8
index b11b5ca..24f08e0 100644
--- a/src/usr.sbin/ntpd/ntpd.8
+++ b/src/usr.sbin/ntpd/ntpd.8
@@ -129,7 +129,11 @@ When
.Pq engine
receives a
.Dv SIGINFO
-signal, it writes its peer and sensor status to
+signal (or a
+.Dv SIGUSR1
+signal on systems without
+.Dv SIGINFO),
+it writes its peer and sensor status to
.Xr syslog 3 .
.Sh FILES
.Bl -tag -width "/var/db/ntpd.driftXXX" -compact
--
2.4.5

patches/0012-add-a-method-for-updating-the-realtime-clock-on-sync.patch → patches/0011-add-a-method-for-updating-the-realtime-clock-on-sync.patch View File

@ -1,7 +1,7 @@
From 0ae8358adca5935a76b908938104ef9cb1ee60c1 Mon Sep 17 00:00:00 2001
From c826fa9409c17c67c347707fb146b22915815449 Mon Sep 17 00:00:00 2001
From: Brent Cook <busterb@gmail.com> From: Brent Cook <busterb@gmail.com>
Date: Mon, 4 May 2015 04:27:29 -0500 Date: Mon, 4 May 2015 04:27:29 -0500
Subject: [PATCH 12/13] add a method for updating the realtime clock on sync
Subject: [PATCH 11/12] add a method for updating the realtime clock on sync
from Christian Weisgerber from Christian Weisgerber
--- ---
@ -9,10 +9,10 @@ from Christian Weisgerber
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/src/usr.sbin/ntpd/ntpd.c b/src/usr.sbin/ntpd/ntpd.c diff --git a/src/usr.sbin/ntpd/ntpd.c b/src/usr.sbin/ntpd/ntpd.c
index 310e808..2f89aed 100644
index b86d6ed..7cccb75 100644
--- a/src/usr.sbin/ntpd/ntpd.c --- a/src/usr.sbin/ntpd/ntpd.c
+++ b/src/usr.sbin/ntpd/ntpd.c +++ b/src/usr.sbin/ntpd/ntpd.c
@@ -53,6 +53,7 @@ const char *ctl_lookup_option(char *, const char **);
@@ -54,6 +54,7 @@ const char *ctl_lookup_option(char *, const char **);
void show_status_msg(struct imsg *); void show_status_msg(struct imsg *);
void show_peer_msg(struct imsg *, int); void show_peer_msg(struct imsg *, int);
void show_sensor_msg(struct imsg *, int); void show_sensor_msg(struct imsg *, int);
@ -20,7 +20,7 @@ index 310e808..2f89aed 100644
volatile sig_atomic_t quit = 0; volatile sig_atomic_t quit = 0;
volatile sig_atomic_t reconfig = 0; volatile sig_atomic_t reconfig = 0;
@@ -423,6 +424,7 @@ ntpd_adjtime(double d)
@@ -487,6 +488,7 @@ ntpd_adjtime(double d)
else if (!firstadj && olddelta.tv_sec == 0 && olddelta.tv_usec == 0) else if (!firstadj && olddelta.tv_sec == 0 && olddelta.tv_usec == 0)
synced = 1; synced = 1;
firstadj = 0; firstadj = 0;
@ -29,5 +29,5 @@ index 310e808..2f89aed 100644
} }
-- --
2.4.5
2.6.3

patches/0013-Deal-with-missing-SO_TIMESTAMP.patch → patches/0012-Deal-with-missing-SO_TIMESTAMP.patch View File

@ -1,21 +1,20 @@
From 90c47e06db660d4de455769fc291b1580a9f9414 Mon Sep 17 00:00:00 2001
From 38933e5e9b3aa2d1b6d2b6fcb609494694fdfe44 Mon Sep 17 00:00:00 2001
From: Brent Cook <bcook@openbsd.org> From: Brent Cook <bcook@openbsd.org>
Date: Sat, 18 Jul 2015 01:14:55 -0500
Subject: [PATCH 13/13] Deal with missing SO_TIMESTAMP
Date: Sun, 6 Dec 2015 22:35:38 -0600
Subject: [PATCH 12/12] Deal with missing SO_TIMESTAMP
from Paul B. Henson" <henson@acm.org> from Paul B. Henson" <henson@acm.org>
Fall back to the previous client.c implementation when it is not found. Fall back to the previous client.c implementation when it is not found.
SO_TIMESTAMP was added in CVS rev 1.85 by henning@.
--- ---
src/usr.sbin/ntpd/client.c | 10 +++++++++- src/usr.sbin/ntpd/client.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-) 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/usr.sbin/ntpd/client.c b/src/usr.sbin/ntpd/client.c diff --git a/src/usr.sbin/ntpd/client.c b/src/usr.sbin/ntpd/client.c
index 2be1f93..e2076f8 100644
index 7ce3b38..edca87c 100644
--- a/src/usr.sbin/ntpd/client.c --- a/src/usr.sbin/ntpd/client.c
+++ b/src/usr.sbin/ntpd/client.c +++ b/src/usr.sbin/ntpd/client.c
@@ -169,10 +169,12 @@ client_query(struct ntp_peer *p)
@@ -163,10 +163,12 @@ client_query(struct ntp_peer *p)
if (p->addr->ss.ss_family == AF_INET && setsockopt(p->query->fd, if (p->addr->ss.ss_family == AF_INET && setsockopt(p->query->fd,
IPPROTO_IP, IP_TOS, &val, sizeof(val)) == -1) IPPROTO_IP, IP_TOS, &val, sizeof(val)) == -1)
log_warn("setsockopt IPTOS_LOWDELAY"); log_warn("setsockopt IPTOS_LOWDELAY");
@ -28,7 +27,7 @@ index 2be1f93..e2076f8 100644
} }
/* /*
@@ -219,7 +221,9 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime)
@@ -213,7 +215,9 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime)
struct cmsghdr hdr; struct cmsghdr hdr;
char buf[CMSG_SPACE(sizeof(tv))]; char buf[CMSG_SPACE(sizeof(tv))];
} cmsgbuf; } cmsgbuf;
@ -38,7 +37,7 @@ index 2be1f93..e2076f8 100644
ssize_t size; ssize_t size;
double T1, T2, T3, T4; double T1, T2, T3, T4;
time_t interval; time_t interval;
@@ -232,7 +236,6 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime)
@@ -226,7 +230,6 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime)
somsg.msg_control = cmsgbuf.buf; somsg.msg_control = cmsgbuf.buf;
somsg.msg_controllen = sizeof(cmsgbuf.buf); somsg.msg_controllen = sizeof(cmsgbuf.buf);
@ -46,16 +45,16 @@ index 2be1f93..e2076f8 100644
if ((size = recvmsg(p->query->fd, &somsg, 0)) == -1) { if ((size = recvmsg(p->query->fd, &somsg, 0)) == -1) {
if (errno == EHOSTUNREACH || errno == EHOSTDOWN || if (errno == EHOSTUNREACH || errno == EHOSTDOWN ||
errno == ENETUNREACH || errno == ENETDOWN || errno == ENETUNREACH || errno == ENETDOWN ||
@@ -264,6 +267,8 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime)
fatal("client_dispatch setsockopt SO_RTABLE");
#endif
@@ -251,6 +254,8 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime)
return (0);
}
+#ifdef SO_TIMESTAMP +#ifdef SO_TIMESTAMP
+ T4 = getoffset(); + T4 = getoffset();
for (cmsg = CMSG_FIRSTHDR(&somsg); cmsg != NULL; for (cmsg = CMSG_FIRSTHDR(&somsg); cmsg != NULL;
cmsg = CMSG_NXTHDR(&somsg, cmsg)) { cmsg = CMSG_NXTHDR(&somsg, cmsg)) {
if (cmsg->cmsg_level == SOL_SOCKET && if (cmsg->cmsg_level == SOL_SOCKET &&
@@ -273,6 +278,9 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime)
@@ -260,6 +265,9 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime)
break; break;
} }
} }
@ -66,5 +65,5 @@ index 2be1f93..e2076f8 100644
if (T4 < JAN_1970) { if (T4 < JAN_1970) {
client_log_error(p, "recvmsg control format", EBADF); client_log_error(p, "recvmsg control format", EBADF);
-- --
2.4.5
2.6.3

+ 1
- 1
src/Makefile.am View File

@ -28,7 +28,7 @@ ntpd_CFLAGS = $(CFLAGS)
ntpd_CFLAGS += -DSYSCONFDIR=\"$(sysconfdir)\" ntpd_CFLAGS += -DSYSCONFDIR=\"$(sysconfdir)\"
ntpd_CFLAGS += -DLOCALSTATEDIR=\"$(localstatedir)\" ntpd_CFLAGS += -DLOCALSTATEDIR=\"$(localstatedir)\"
ntpd_LDADD = $(PLATFORM_LDADD) $(PROG_LDADD)
ntpd_LDADD = $(PLATFORM_LDADD) $(PROG_LDADD) -lm
ntpd_LDADD += $(top_builddir)/compat/libcompat.la ntpd_LDADD += $(top_builddir)/compat/libcompat.la
ntpd_LDADD += $(top_builddir)/compat/libcompatnoopt.la ntpd_LDADD += $(top_builddir)/compat/libcompatnoopt.la


Loading…
Cancel
Save