ntp: use one socket with random port when acquisitionport is 0
This commit is contained in:
parent
61b629fdad
commit
d18c071849
3 changed files with 7 additions and 4 deletions
|
@ -1199,7 +1199,8 @@ By default, @code{chronyd} uses a separate client socket for each configured
|
|||
server and their source port is chosen arbitrarily by the operating system.
|
||||
However, you can use the @code{acquisitionport} directive to explicitly specify
|
||||
a port and use only one socket (per IPv4/IPv6 address family) for all
|
||||
configured servers. This may be useful for getting through firewalls.
|
||||
configured servers. This may be useful for getting through firewalls. If set
|
||||
to 0, the source port of the socket will be chosen arbitrarily.
|
||||
|
||||
It may be set to the same port as used by the NTP server (@pxref{port
|
||||
directive}) to use only one socket for all NTP packets.
|
||||
|
|
2
conf.c
2
conf.c
|
@ -79,7 +79,7 @@ static void parse_tempcomp(char *);
|
|||
static int restarted = 0;
|
||||
static int generate_command_key = 0;
|
||||
static char *rtc_device = "/dev/rtc";
|
||||
static int acquisition_port = 0; /* 0 means let kernel choose port */
|
||||
static int acquisition_port = -1;
|
||||
static int ntp_port = 123;
|
||||
static char *keys_file = NULL;
|
||||
static char *drift_file = NULL;
|
||||
|
|
6
ntp_io.c
6
ntp_io.c
|
@ -328,8 +328,10 @@ NIO_Initialise(int family)
|
|||
server_port = CNF_GetNTPPort();
|
||||
client_port = CNF_GetAcquisitionPort();
|
||||
|
||||
/* Use separate connected sockets if client port is not set */
|
||||
separate_client_sockets = client_port == 0;
|
||||
/* Use separate connected sockets if client port is negative */
|
||||
separate_client_sockets = client_port < 0;
|
||||
if (client_port < 0)
|
||||
client_port = 0;
|
||||
|
||||
server_sock_fd4 = INVALID_SOCK_FD;
|
||||
client_sock_fd4 = INVALID_SOCK_FD;
|
||||
|
|
Loading…
Reference in a new issue