From: Adrian Bondrescu Date: Sun, 8 Jul 2012 18:04:00 +0000 (+0300) Subject: If port 0 is provided for binding, bind the socket to the next free port from the... X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=commitdiff_plain;ds=sidebyside;h=b230f79fa0482f96744a812ee30a2780fa3d69d7;p=swifty.git If port 0 is provided for binding, bind the socket to the next free port from the pool. --- diff --git a/src/kernel/mptp.c b/src/kernel/mptp.c index e7c3396..513a95f 100644 --- a/src/kernel/mptp.c +++ b/src/kernel/mptp.c @@ -97,6 +97,8 @@ static int mptp_bind(struct socket *sock, struct sockaddr *addr, int addr_len) log_debug("Bind received port=%u (network order)\n", mptp_addr->dests[0].port); port = ntohs(mptp_addr->dests[0].port); + if (port == 0) + port = get_next_free_port(); if (unlikely(port == 0 || port >= MAX_MPTP_PORT)) { log_error("Invalid value for sockaddr port (%u)\n", port);