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.
This commit is contained in:
Miroslav Lichvar 2018-04-03 11:05:33 +02:00
parent 4b7cb161a8
commit fd1e80802f

View file

@ -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);