From fd1e80802f69ca5194928bb7f5e840d09a6824cd Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Tue, 3 Apr 2018 11:05:33 +0200 Subject: [PATCH] privops: allow binding to acquisition port Fix the privileged helper process to allow binding of client sockets to a non-zero acquisition port which is not equal to the server port. --- privops.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/privops.c b/privops.c index a7ba8902..359e1637 100644 --- a/privops.c +++ b/privops.c @@ -268,7 +268,7 @@ do_bind_socket(ReqBindSocket *req, PrvResponse *res) sock_fd = req->sock; UTI_SockaddrToIPAndPort(sa, &ip, &port); - if (port && port != CNF_GetNTPPort()) { + if (port && port != CNF_GetNTPPort() && port != CNF_GetAcquisitionPort()) { close(sock_fd); res_fatal(res, "Invalid port %d", port); return; @@ -579,7 +579,8 @@ PRV_BindSocket(int sock, struct sockaddr *address, socklen_t address_len) unsigned short port; UTI_SockaddrToIPAndPort(address, &ip, &port); - assert(!port || port == CNF_GetNTPPort()); + if (port && port != CNF_GetNTPPort() && port != CNF_GetAcquisitionPort()) + assert(0); if (!have_helper()) return bind(sock, address, address_len); -- 2.47.2