From e6cac86f77f5ba19d5bb04052f347f6fb42aaa35 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Tue, 3 Jan 2012 07:25:25 +1100 Subject: [PATCH] Try to rotate the ports we assign when root better so we dont reuse a port htat is in time-wait too frequently --- lib/socket.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/socket.c b/lib/socket.c index 23c3f10..ea16d8c 100644 --- a/lib/socket.c +++ b/lib/socket.c @@ -381,14 +381,17 @@ static int rpc_connect_sockaddr_async(struct rpc_context *rpc, struct sockaddr_s * to make the executable able to bind to a system port. */ if (1) { - int port; + static int port = 200; + int i; int one = 1; setsockopt(rpc->fd, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof(one)); - for (port = 200; port < 500; port++) { + for (i = 0; i < 500; i++) { struct sockaddr_in sin; + if(++port > 700) port = 200; + memset(&sin, 0, sizeof(sin)); sin.sin_port = htons(port); sin.sin_family = AF_INET; -- 2.34.1