update to 1.31-pre1

This commit is contained in:
Miroslav Lichvar 2014-08-21 11:23:00 +02:00
parent 13499a3031
commit 2e198c60a8
4 changed files with 7 additions and 93 deletions

4
.gitignore vendored
View File

@ -1,2 +1,2 @@
/chrony-1.30.tar.gz
/clknetsim-2fa4c5.tar.gz
/chrony-1.31-pre1.tar.gz
/clknetsim-e63178.tar.gz

View File

@ -1,85 +0,0 @@
diff --git a/ntp_core.c b/ntp_core.c
--- a/ntp_core.c
+++ b/ntp_core.c
@@ -279,12 +332,17 @@ start_initial_timeout(NCR_Instance inst)
/* Mark source active */
SRC_SetActive(inst->source);
+ }
+}
- /* Open client socket */
- if (inst->mode == MODE_CLIENT) {
- assert(inst->local_addr.sock_fd == INVALID_SOCK_FD);
- inst->local_addr.sock_fd = NIO_GetClientSocket(&inst->remote_addr);
- }
+/* ================================================== */
+
+static void
+close_client_socket(NCR_Instance inst)
+{
+ if (inst->mode == MODE_CLIENT && inst->local_addr.sock_fd != INVALID_SOCK_FD) {
+ NIO_CloseClientSocket(inst->local_addr.sock_fd);
+ inst->local_addr.sock_fd = INVALID_SOCK_FD;
}
}
@@ -305,11 +363,7 @@ take_offline(NCR_Instance inst)
/* And inactive */
SRC_UnsetActive(inst->source);
- /* Close client socket */
- if (inst->mode == MODE_CLIENT && inst->local_addr.sock_fd != INVALID_SOCK_FD) {
- NIO_CloseClientSocket(inst->local_addr.sock_fd);
- inst->local_addr.sock_fd = INVALID_SOCK_FD;
- }
+ close_client_socket(inst);
NCR_ResetInstance(inst);
}
@@ -328,7 +382,7 @@ NCR_GetInstance(NTP_Remote_Address *remote_addr, NTP_Source_Type type, SourcePar
switch (type) {
case NTP_SERVER:
- /* Client socket will be obtained when timer is started */
+ /* Client socket will be obtained when sending request */
result->local_addr.sock_fd = INVALID_SOCK_FD;
result->mode = MODE_CLIENT;
break;
@@ -758,6 +812,13 @@ transmit_timeout(void *arg)
DEBUG_LOG(LOGF_NtpCore, "Transmit timeout for [%s:%d]",
UTI_IPToString(&inst->remote_addr.ip_addr), inst->remote_addr.port);
+ /* Open new client socket */
+ if (inst->mode == MODE_CLIENT) {
+ close_client_socket(inst);
+ assert(inst->local_addr.sock_fd == INVALID_SOCK_FD);
+ inst->local_addr.sock_fd = NIO_GetClientSocket(&inst->remote_addr);
+ }
+
/* Check whether we need to 'warm up' the link to the other end by
sending an echo exchange to ensure both ends' ARP caches are
primed. On loaded systems this might also help ensure that bits
@@ -1257,6 +1318,10 @@ receive_packet(NTP_Packet *message, struct timeval *now, double now_err, NCR_Ins
adjust_poll(inst, 0.1);
}
+ /* If in client mode, no more packets are expected to be coming from the
+ server and the socket can be closed */
+ close_client_socket(inst);
+
requeue_transmit = 1;
}
diff --git a/ntp_io.c b/ntp_io.c
--- a/ntp_io.c
+++ b/ntp_io.c
@@ -273,7 +266,7 @@ connect_socket(int sock_fd, NTP_Remote_Address *remote_addr)
}
if (connect(sock_fd, &addr.u, addr_len) < 0) {
- LOG(LOGS_ERR, LOGF_NtpIO, "Could not connect NTP socket to %s:%d : %s",
+ DEBUG_LOG(LOGF_NtpIO, "Could not connect NTP socket to %s:%d : %s",
UTI_IPToString(&remote_addr->ip_addr), remote_addr->port,
strerror(errno));
return 0;

View File

@ -1,9 +1,10 @@
%global _hardened_build 1
%global clknetsim_ver 2fa4c5
%global prerelease -pre1
%global clknetsim_ver e63178
%bcond_without debug
Name: chrony
Version: 1.30
Version: 1.31
Release: 3%{?dist}
Summary: An NTP client/server
@ -22,7 +23,6 @@ Source9: chrony-wait.service
# simulator for test suite from https://github.com/mlichvar/clknetsim.git
Source10: clknetsim-%{clknetsim_ver}.tar.gz
%{?gitpatch:Patch0: chrony-%{version}%{?prerelease}-%{gitpatch}.patch.gz}
Patch1: chrony-reconnect.patch
BuildRequires: libcap-devel libedit-devel nss-devel pps-tools-devel
BuildRequires: bison texinfo systemd-units
@ -47,7 +47,6 @@ clocks, system real-time clock or manual input as time references.
%prep
%setup -q -n %{name}-%{version}%{?prerelease} -a 10
%{?gitpatch:%patch0 -p1}
%patch1 -p1 -b .reconnect
%{?gitpatch: echo %{version}-%{gitpatch} > version.txt}

View File

@ -1,2 +1,2 @@
4f0767528a51af44abd512699c5cf194 chrony-1.30.tar.gz
22fa1568d6656a4243bb12153cabcccf clknetsim-2fa4c5.tar.gz
49ef0d5c318591e90e99b4c1e35e11f6 chrony-1.31-pre1.tar.gz
810ec170d1accbd526d37ec159d5921b clknetsim-e63178.tar.gz