summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-08-24 11:56:53 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-08-24 11:56:53 +0000
commit7b01fd486c85eee5c5a3c9438fdc879063061af5 (patch)
treeb5c56bac1cb4f55b585b6e7456951470fcc315d7
parent96fe7d3661d0ea57b367d6daad2ea61f82ebeb94 (diff)
downloadaports-7b01fd486c85eee5c5a3c9438fdc879063061af5.tar.bz2
aports-7b01fd486c85eee5c5a3c9438fdc879063061af5.tar.xz
main/chrony: upgrade to 1.26
-rw-r--r--main/chrony/APKBUILD24
-rw-r--r--main/chrony/chrony-1.20-chrony.conf.example-gentoo.diff46
-rw-r--r--main/chrony/chrony-1.20-conf.c-gentoo.diff11
-rw-r--r--main/chrony/chrony-1.21-makefile.diff15
-rw-r--r--main/chrony/chrony-1.23-reply-ip.diff242
-rw-r--r--main/chrony/chrony-1.23-sources.diff56
6 files changed, 7 insertions, 387 deletions
diff --git a/main/chrony/APKBUILD b/main/chrony/APKBUILD
index bfe76062b..32a74e00f 100644
--- a/main/chrony/APKBUILD
+++ b/main/chrony/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=chrony
-pkgver=1.23
-pkgrel=8
+pkgver=1.26
+pkgrel=0
pkgdesc="NTP client and server programs"
url="http://chrony.tuxfamily.org/"
arch="all"
@@ -10,11 +10,6 @@ depends="logrotate"
makedepends="texinfo"
subpackages="$pkgname-doc"
source="http://download.tuxfamily.org/chrony/$pkgname-$pkgver.tar.gz
- $pkgname-1.20-conf.c-gentoo.diff
- $pkgname-1.20-chrony.conf.example-gentoo.diff
- $pkgname-1.21-makefile.diff
- $pkgname-1.23-sources.diff
- $pkgname-1.23-reply-ip.diff
chronyd.confd
chronyd.initd
chrony.logrotate
@@ -26,9 +21,10 @@ prepare() {
local i
cd "$_builddir"
- for i in ../*.diff; do
- msg "Applying $i"
- patch -p1 < $i || return 1
+ for i in $source; do
+ case $i in
+ *.diff|*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1
+ esac
done
sed -i "s:/etc/chrony:/etc/chrony/chrony:g" \
chrony*.[158] faq.txt chrony.texi || die "sed failed"
@@ -48,7 +44,6 @@ package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install
- mv "$pkgdir"/usr/doc "$pkgdir"/usr/share/
install -D -m644 examples/*.example "$pkgdir"/usr/share/doc/chrony/
install -m755 -D "$srcdir"/chronyd.initd "$pkgdir"/etc/init.d/chronyd
@@ -59,12 +54,7 @@ package() {
touch "$pkgdir"/etc/chrony/chrony.drift
install -m644 "$srcdir"/chrony.conf "$pkgdir"/etc/chrony/chrony.conf
}
-md5sums="ffce77695e55d8efda19ab0b78309c23 chrony-1.23.tar.gz
-bd6bd57363865d3ed0c3187d0c9f7151 chrony-1.20-conf.c-gentoo.diff
-b2a23e02f7af50bebdd5d18bccdedbf0 chrony-1.20-chrony.conf.example-gentoo.diff
-d47015a34b6b2f9eebca77ef939cec72 chrony-1.21-makefile.diff
-39cbce9f66638b67623e1ee6bb0f943f chrony-1.23-sources.diff
-caa6589a1a1cd56f64957e312d1ef84c chrony-1.23-reply-ip.diff
+md5sums="ad6dd619ff1986e4ff780363c64e2246 chrony-1.26.tar.gz
d62521b4c8837e15262c47ac88359307 chronyd.confd
f0c73948224cc1706cf9c94e4d2d7b69 chronyd.initd
468eaf2b5465d60b3ee021ce3f948ab1 chrony.logrotate
diff --git a/main/chrony/chrony-1.20-chrony.conf.example-gentoo.diff b/main/chrony/chrony-1.20-chrony.conf.example-gentoo.diff
deleted file mode 100644
index 498b24175..000000000
--- a/main/chrony/chrony-1.20-chrony.conf.example-gentoo.diff
+++ /dev/null
@@ -1,46 +0,0 @@
---- a/examples/chrony.conf.example.orig 2003-06-16 11:59:01.000000000 -0400
-+++ b/examples/chrony.conf.example 2003-06-16 12:00:13.000000000 -0400
-@@ -3,5 +3,5 @@
- #
- # This is an example chrony configuration file. You should copy it to
--# /etc/chrony.conf after uncommenting and editing the options that you
-+# /etc/chrony/chrony.conf after uncommenting and editing the options that you
- # want to enable. I have not included the more obscure options. Refer
- # to the documentation for these.
-@@ -91,5 +91,5 @@
- # generally want this, so it is uncommented.
-
--driftfile /etc/chrony.drift
-+driftfile /etc/chrony/chrony.drift
-
- # If you want to use the program called chronyc to configure aspects of
-@@ -100,5 +100,5 @@
- # assumed by default.
-
--keyfile /etc/chrony.keys
-+keyfile /etc/chrony/chrony.keys
-
- # Tell chronyd which numbered key in the file is used as the password
-@@ -158,6 +158,6 @@
- ! log measurements statistics tracking
-
--If you have real time clock support enabled (see below), you might want
--this line instead:
-+# If you have real time clock support enabled (see below), you might want
-+# this line instead:
-
- ! log measurements statistics tracking rtc
-@@ -269,5 +269,5 @@
- # kernel. (Note, these options apply only to Linux.)
-
--! rtcfile /etc/chrony.rtc
-+! rtcfile /etc/chrony/chrony.rtc
-
- # Your RTC can be set to keep Universal Coordinated Time (UTC) or local
-@@ -285,5 +285,5 @@
- # using devfs), uncomment and edit the following line.
-
--! rtcdevice /dev/misc/rtc
-+rtcdevice /dev/misc/rtc
-
- #######################################################################
diff --git a/main/chrony/chrony-1.20-conf.c-gentoo.diff b/main/chrony/chrony-1.20-conf.c-gentoo.diff
deleted file mode 100644
index 4917d445b..000000000
--- a/main/chrony/chrony-1.20-conf.c-gentoo.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/conf.c.orig Sun May 12 14:07:31 2002
-+++ b/conf.c Sun May 12 14:07:52 2002
-@@ -45,7 +45,7 @@
-
- /* ================================================== */
-
--#define DEFAULT_CONF_FILE "/etc/chrony.conf"
-+#define DEFAULT_CONF_FILE "/etc/chrony/chrony.conf"
-
- /* ================================================== */
- /* Forward prototypes */
diff --git a/main/chrony/chrony-1.21-makefile.diff b/main/chrony/chrony-1.21-makefile.diff
deleted file mode 100644
index 2eec4e842..000000000
--- a/main/chrony/chrony-1.21-makefile.diff
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/Makefile.in_old 2006-08-12 17:42:57.000000000 +0200
-+++ b/Makefile.in 2006-08-12 17:44:35.000000000 +0200
-@@ -68,10 +68,10 @@
- all : chronyd chronyc
-
- chronyd : $(OBJS) $(EXTRA_OBJS)
-- $(CC) $(OPTFLAGS) -o chronyd $(OBJS) $(EXTRA_OBJS) $(LIBS) $(EXTRA_LIBS)
-+ $(CC) $(OPTFLAGS) $(LDFLAGS) -o chronyd $(OBJS) $(EXTRA_OBJS) $(LIBS) $(EXTRA_LIBS)
-
- chronyc : $(CLI_OBJS)
-- $(CC) $(OPTFLAGS) -o chronyc $(CLI_OBJS) @READLINE_LINK@ $(LIBS) $(EXTRA_CLI_LIBS)
-+ $(CC) $(OPTFLAGS) $(LDFLAGS) -o chronyc $(CLI_OBJS) @READLINE_LINK@ $(LIBS) $(EXTRA_CLI_LIBS)
-
- client.o : client.c
- $(CC) $(CFLAGS) $(DEFS) @READLINE_COMPILE@ -c $<
diff --git a/main/chrony/chrony-1.23-reply-ip.diff b/main/chrony/chrony-1.23-reply-ip.diff
deleted file mode 100644
index f4e5d8eff..000000000
--- a/main/chrony/chrony-1.23-reply-ip.diff
+++ /dev/null
@@ -1,242 +0,0 @@
-
-Currently, on multihomed host, when chrony is not bound to a specific
-IP address, a query is sent to an interface and the default source IP
-hint for the back route differs, the reply will have a source IP
-different than where the query was destinied to. This will cause
-problems because connection tracking firewalls will drop the replies
-and most likely the client program will get confused too.
-
-This patch uses the IP_PKTINFO mechanism to get the IP address where
-received packets where targetted to and use that IP address as source
-hint when sending a reply.
----
- addressing.h | 1 +
- broadcast.c | 1 +
- cmdmon.c | 3 ++
- conf.c | 1 +
- ntp_io.c | 92 +++++++++++++++++++++++++++++++++++++++++----------------
- 5 files changed, 72 insertions(+), 26 deletions(-)
-
-diff --git a/addressing.h b/addressing.h
-index aa20ed9..05152f4 100644
---- a/addressing.h
-+++ b/addressing.h
-@@ -36,6 +36,7 @@
- typedef struct {
- unsigned long ip_addr;
- unsigned short port;
-+ unsigned long local_ip_addr;
- } NTP_Remote_Address;
-
- #if 0
-diff --git a/broadcast.c b/broadcast.c
-index be217e7..c979741 100644
---- a/broadcast.c
-+++ b/broadcast.c
-@@ -146,6 +146,7 @@ BRD_AddDestination(unsigned long addr, unsigned short port, int interval)
-
- destinations[n_destinations].addr.ip_addr = addr;
- destinations[n_destinations].addr.port = port;
-+ destinations[n_destinations].addr.local_ip_addr = 0;
- destinations[n_destinations].interval = interval;
-
- SCH_AddTimeoutInClass((double) interval, 1.0,
-diff --git a/cmdmon.c b/cmdmon.c
-index 819977c..8affb0b 100644
---- a/cmdmon.c
-+++ b/cmdmon.c
-@@ -1097,6 +1097,7 @@ handle_add_server(CMD_Request *rx_message, CMD_Reply *tx_message)
-
- rem_addr.ip_addr = ntohl(rx_message->data.ntp_source.ip_addr);
- rem_addr.port = (unsigned short)(ntohl(rx_message->data.ntp_source.port));
-+ rem_addr.local_ip_addr = 0;
- params.minpoll = ntohl(rx_message->data.ntp_source.minpoll);
- params.maxpoll = ntohl(rx_message->data.ntp_source.maxpoll);
- params.presend_minpoll = ntohl(rx_message->data.ntp_source.presend_minpoll);
-@@ -1133,6 +1134,7 @@ handle_add_peer(CMD_Request *rx_message, CMD_Reply *tx_message)
-
- rem_addr.ip_addr = ntohl(rx_message->data.ntp_source.ip_addr);
- rem_addr.port = (unsigned short)(ntohl(rx_message->data.ntp_source.port));
-+ rem_addr.local_ip_addr = 0;
- params.minpoll = ntohl(rx_message->data.ntp_source.minpoll);
- params.maxpoll = ntohl(rx_message->data.ntp_source.maxpoll);
- params.presend_minpoll = ntohl(rx_message->data.ntp_source.presend_minpoll);
-@@ -1167,6 +1169,7 @@ handle_del_source(CMD_Request *rx_message, CMD_Reply *tx_message)
-
- rem_addr.ip_addr = ntohl(rx_message->data.del_source.ip_addr);
- rem_addr.port = 0;
-+ rem_addr.local_ip_addr = 0;
-
- status = NSR_RemoveSource(&rem_addr);
- switch (status) {
-diff --git a/conf.c b/conf.c
-index e34927e..ddd13f1 100644
---- a/conf.c
-+++ b/conf.c
-@@ -949,6 +949,7 @@ CNF_AddSources(void) {
- for (i=0; i<n_ntp_sources; i++) {
- server.ip_addr = ntp_sources[i].ip_addr;
- server.port = ntp_sources[i].port;
-+ server.local_ip_addr = 0;
-
- switch (ntp_sources[i].type) {
- case SERVER:
-diff --git a/ntp_io.c b/ntp_io.c
-index afb6ad1..db89758 100644
---- a/ntp_io.c
-+++ b/ntp_io.c
-@@ -118,6 +118,12 @@ NIO_Initialise(void)
- LOG(LOGS_ERR, LOGF_NtpIO, "Could not set broadcast socket options");
- /* Don't quit - we might survive anyway */
- }
-+ /* We want the local IP info too */
-+ if (setsockopt(sock_fd, IPPROTO_IP, IP_PKTINFO, (char *)&on_off, sizeof(on_off)) < 0) {
-+ LOG(LOGS_ERR, LOGF_NtpIO, "Could not request packet info using socket option");
-+ /* Don't quit - we might survive anyway */
-+ }
-+
-
- /* Bind the port */
- my_addr.sin_family = AF_INET;
-@@ -182,22 +188,30 @@ read_from_socket(void *anything)
-
- int status;
- ReceiveBuffer message;
-- int message_length;
- struct sockaddr_in where_from;
-- socklen_t from_length;
- unsigned int flags = 0;
- struct timeval now;
- NTP_Remote_Address remote_addr;
- double local_clock_err;
-+ char cmsgbuf[256];
-+ struct cmsghdr *cmsg;
-+ struct msghdr msg;
-+ struct iovec iov;
-
- assert(initialised);
-
-- from_length = sizeof(where_from);
-- message_length = sizeof(message);
-+ iov.iov_base = message.arbitrary;
-+ iov.iov_len = sizeof(message);
-+ msg.msg_name = &where_from;
-+ msg.msg_namelen = sizeof(where_from);
-+ msg.msg_iov = &iov;
-+ msg.msg_iovlen = 1;
-+ msg.msg_control = (void *) cmsgbuf;
-+ msg.msg_controllen = sizeof(cmsgbuf);
-+ msg.msg_flags = 0;
-
- LCL_ReadCookedTime(&now, &local_clock_err);
-- status = recvfrom(sock_fd, (char *)&message, message_length, flags,
-- (struct sockaddr *)&where_from, &from_length);
-+ status = recvmsg(sock_fd, &msg, flags);
-
- /* Don't bother checking if read failed or why if it did. More
- likely than not, it will be connection refused, resulting from a
-@@ -209,6 +223,13 @@ read_from_socket(void *anything)
- if (status > 0) {
- remote_addr.ip_addr = ntohl(where_from.sin_addr.s_addr);
- remote_addr.port = ntohs(where_from.sin_port);
-+ remote_addr.local_ip_addr = 0;
-+
-+ for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) {
-+ if (cmsg->cmsg_level == IPPROTO_IP && cmsg->cmsg_type == IP_PKTINFO)
-+ remote_addr.local_ip_addr =
-+ ntohl(((struct in_pktinfo *) CMSG_DATA(cmsg))->ipi_spec_dst.s_addr);
-+ }
-
- if (status == NTP_NORMAL_PACKET_SIZE) {
-
-@@ -229,21 +250,45 @@ read_from_socket(void *anything)
- }
-
- /* ================================================== */
--/* Send an unauthenticated packet to a given address */
-+/* Send a packet to given address */
-
--void
--NIO_SendNormalPacket(NTP_Packet *packet, NTP_Remote_Address *remote_addr)
-+static void
-+NIO_SendPacket(NTP_Packet *packet, int packetlen, NTP_Remote_Address *remote_addr)
- {
- struct sockaddr_in remote;
-+ struct msghdr msg;
-+ struct iovec iov;
-+ struct {
-+ struct cmsghdr cm;
-+ struct in_pktinfo ipi;
-+ } cmsg;
-
- assert(initialised);
-
- remote.sin_family = AF_INET;
- remote.sin_port = htons(remote_addr->port);
- remote.sin_addr.s_addr = htonl(remote_addr->ip_addr);
-+ iov.iov_base = (void *) packet;
-+ iov.iov_len = packetlen;
-+ msg.msg_name = &remote;
-+ msg.msg_namelen = sizeof(remote);
-+ msg.msg_iov = &iov;
-+ msg.msg_iovlen = 1;
-+ if (remote_addr->local_ip_addr) {
-+ cmsg.cm.cmsg_len = sizeof(cmsg);
-+ cmsg.cm.cmsg_level = IPPROTO_IP;
-+ cmsg.cm.cmsg_type = IP_PKTINFO;
-+ memset(&cmsg.ipi, 0, sizeof(cmsg.ipi));
-+ cmsg.ipi.ipi_spec_dst.s_addr = htonl(remote_addr->local_ip_addr);
-+ msg.msg_control = (void *) &cmsg;
-+ msg.msg_controllen = sizeof(cmsg);
-+ } else {
-+ msg.msg_control = NULL;
-+ msg.msg_controllen = 0;
-+ }
-+ msg.msg_flags = 0;
-
-- if (sendto(sock_fd, (void *) packet, NTP_NORMAL_PACKET_SIZE, 0,
-- (struct sockaddr *) &remote, sizeof(remote)) < 0) {
-+ if (sendmsg(sock_fd, &msg, 0) < 0) {
- LOG(LOGS_WARN, LOGF_NtpIO, "Could not send to %s:%d : %s",
- UTI_IPToDottedQuad(remote_addr->ip_addr), remote_addr->port, strerror(errno));
- }
-@@ -252,26 +297,21 @@ NIO_SendNormalPacket(NTP_Packet *packet, NTP_Remote_Address *remote_addr)
- }
-
- /* ================================================== */
--/* Send an authenticated packet to a given address */
-+/* Send an unauthenticated packet to a given address */
-
- void
--NIO_SendAuthenticatedPacket(NTP_Packet *packet, NTP_Remote_Address *remote_addr)
-+NIO_SendNormalPacket(NTP_Packet *packet, NTP_Remote_Address *remote_addr)
- {
-- struct sockaddr_in remote;
--
-- assert(initialised);
--
-- remote.sin_family = AF_INET;
-- remote.sin_port = htons(remote_addr->port);
-- remote.sin_addr.s_addr = htonl(remote_addr->ip_addr);
-+ NIO_SendPacket(packet, NTP_NORMAL_PACKET_SIZE, remote_addr);
-+}
-
-- if (sendto(sock_fd, (void *) packet, sizeof(NTP_Packet), 0,
-- (struct sockaddr *) &remote, sizeof(remote)) < 0) {
-- LOG(LOGS_WARN, LOGF_NtpIO, "Could not send to %s:%d : %s",
-- UTI_IPToDottedQuad(remote_addr->ip_addr), remote_addr->port, strerror(errno));
-- }
-+/* ================================================== */
-+/* Send an authenticated packet to a given address */
-
-- return;
-+void
-+NIO_SendAuthenticatedPacket(NTP_Packet *packet, NTP_Remote_Address *remote_addr)
-+{
-+ NIO_SendPacket(packet, sizeof(NTP_Packet), remote_addr);
- }
-
- /* ================================================== */
---
-1.5.6.3
-
diff --git a/main/chrony/chrony-1.23-sources.diff b/main/chrony/chrony-1.23-sources.diff
deleted file mode 100644
index 5f39ca332..000000000
--- a/main/chrony/chrony-1.23-sources.diff
+++ /dev/null
@@ -1,56 +0,0 @@
-commit 2f2446c7dc074b2d1728a5e3f7a600c10cea2425
-Author: Goswin Brederlow <brederlo@informatik.uni-tuebingen.de>
-Date: Sat Mar 29 20:49:59 2008 +0000
-
- Fix for chronyc "sources" command on 64 bit machines
-
- (Taken from
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=348412
- )
-
- Attached is a patchlet to make the "sources" command of chrony output properly
- signed numbers. The chronyd code (see e.g. ntp.h) properly uses int32_t and
- friends to get the right number of bits per datatype while client.c just uses
- short, int, long. But long will be 64 bit or 32 bit depending on the cpu.
-
-diff --git a/client.c b/client.c
-index b7e5bcb..85d6e84 100644
---- a/client.c
-+++ b/client.c
-@@ -45,6 +45,12 @@
- #include <readline/history.h>
- #endif
-
-+#ifdef HAS_STDINT_H
-+#include <stdint.h>
-+#elif defined(HAS_INTTYPES_H)
-+#include <inttypes.h>
-+#endif
-+
- /* ================================================== */
-
- static int sock_fd;
-@@ -1383,16 +1389,16 @@ process_cmd_sources(char *line)
- int n_sources, i;
- int verbose = 0;
-
-- long orig_latest_meas, latest_meas, est_offset;
-- unsigned long ip_addr;
-- unsigned long latest_meas_err, est_offset_err;
-- unsigned long latest_meas_ago;
-- unsigned short poll, stratum;
-- unsigned short state, mode;
-+ int32_t orig_latest_meas, latest_meas, est_offset;
-+ uint32_t ip_addr;
-+ uint32_t latest_meas_err, est_offset_err;
-+ uint32_t latest_meas_ago;
-+ uint16_t poll, stratum;
-+ uint16_t state, mode;
- double resid_freq, resid_skew;
- const char *dns_lookup;
- char hostname_buf[32];
-- unsigned short status;
-+ uint16_t status;
-
- /* Check whether to output verbose headers */
- verbose = check_for_verbose_flag(line);