diff --git a/cmdmon.c b/cmdmon.c index 2fdb867..1e2f7ab 100644 --- a/cmdmon.c +++ b/cmdmon.c @@ -169,10 +169,7 @@ open_socket(int family) return INVALID_SOCK_FD; CNF_GetBindCommandAddress(family, &local_addr.ip_addr); - if (local_addr.ip_addr.family != family) - SCK_GetLoopbackIPAddress(family, &local_addr.ip_addr); local_addr.port = port; - iface = CNF_GetBindCommandInterface(); sock_fd = SCK_OpenUdpSocket(NULL, &local_addr, iface, SCK_FLAG_RX_DEST_ADDR); diff --git a/conf.c b/conf.c index 21df457..9b0c3a6 100644 --- a/conf.c +++ b/conf.c @@ -36,6 +36,7 @@ #include "nts_ke.h" #include "refclock.h" #include "cmdmon.h" +#include "socket.h" #include "srcparams.h" #include "logging.h" #include "nameserv.h" @@ -393,6 +394,13 @@ CNF_Initialise(int r, int client_only) bind_cmd_path = Strdup(DEFAULT_COMMAND_SOCKET); pidfile = Strdup(DEFAULT_PID_FILE); } + + SCK_GetAnyLocalIPAddress(IPADDR_INET4, &bind_address4); + SCK_GetAnyLocalIPAddress(IPADDR_INET6, &bind_address6); + SCK_GetAnyLocalIPAddress(IPADDR_INET4, &bind_acq_address4); + SCK_GetAnyLocalIPAddress(IPADDR_INET6, &bind_acq_address6); + SCK_GetLoopbackIPAddress(IPADDR_INET4, &bind_cmd_address4); + SCK_GetLoopbackIPAddress(IPADDR_INET6, &bind_cmd_address6); } /* ================================================== */ diff --git a/ntp_io.c b/ntp_io.c index 4bf3457..075f0cf 100644 --- a/ntp_io.c +++ b/ntp_io.c @@ -98,9 +98,6 @@ open_socket(int family, int local_port, int client_only, IPSockAddr *remote_addr iface = CNF_GetBindAcquisitionInterface(); } - if (local_addr.ip_addr.family != family) - SCK_GetAnyLocalIPAddress(family, &local_addr.ip_addr); - local_addr.port = local_port; sock_flags = SCK_FLAG_RX_DEST_ADDR | SCK_FLAG_PRIV_BIND; diff --git a/nts_ke_client.c b/nts_ke_client.c index 5b5441e..896c64d 100644 --- a/nts_ke_client.c +++ b/nts_ke_client.c @@ -320,9 +320,6 @@ NKC_Start(NKC_Instance inst) /* Follow the bindacqaddress and bindacqdevice settings */ CNF_GetBindAcquisitionAddress(inst->address.ip_addr.family, &local_addr.ip_addr); - if (local_addr.ip_addr.family != inst->address.ip_addr.family) - SCK_GetAnyLocalIPAddress(inst->address.ip_addr.family, &local_addr.ip_addr); - local_addr.port = 0; iface = CNF_GetBindAcquisitionInterface(); diff --git a/nts_ke_server.c b/nts_ke_server.c index 7dc6d70..44c9c24 100644 --- a/nts_ke_server.c +++ b/nts_ke_server.c @@ -265,9 +265,6 @@ open_socket(int family, int port) CNF_GetBindAddress(family, &local_addr.ip_addr); iface = CNF_GetBindNtpInterface(); - if (local_addr.ip_addr.family != family) - SCK_GetAnyLocalIPAddress(family, &local_addr.ip_addr); - local_addr.port = port; sock_fd = SCK_OpenTcpSocket(NULL, &local_addr, iface, 0);