aboutgitcodebugslistschat
diff options
context:
space:
mode:
-rw-r--r--conf.c14
-rw-r--r--tcp.c7
-rw-r--r--udp.c4
3 files changed, 11 insertions, 14 deletions
diff --git a/conf.c b/conf.c
index 9a0d945..3eaa6c8 100644
--- a/conf.c
+++ b/conf.c
@@ -149,7 +149,7 @@ static void conf_ports_range_except(const struct ctx *c, char optname,
{
bool bound_one = false;
unsigned i;
- int ret;
+ int fd;
if (first == 0) {
die("Can't forward port 0 for option '-%c %s'",
@@ -185,23 +185,23 @@ static void conf_ports_range_except(const struct ctx *c, char optname,
fwd->delta[i] = to - first;
if (optname == 't')
- ret = tcp_listen(c, PIF_HOST, addr, ifname, i);
+ fd = tcp_listen(c, PIF_HOST, addr, ifname, i);
else if (optname == 'u')
- ret = udp_listen(c, PIF_HOST, addr, ifname, i);
+ fd = udp_listen(c, PIF_HOST, addr, ifname, i);
else
/* No way to check in advance for -T and -U */
- ret = 0;
+ fd = 0;
- if (ret == -ENFILE || ret == -EMFILE) {
+ if (fd == -ENFILE || fd == -EMFILE) {
die("Can't open enough sockets for port specifier: %s",
optarg);
}
- if (!ret) {
+ if (fd >= 0) {
bound_one = true;
} else if (!weak) {
die("Failed to bind port %u (%s) for option '-%c %s'",
- i, strerror_(-ret), optname, optarg);
+ i, strerror_(-fd), optname, optarg);
}
}
diff --git a/tcp.c b/tcp.c
index 2defc2d..1db8617 100644
--- a/tcp.c
+++ b/tcp.c
@@ -2679,7 +2679,7 @@ void tcp_sock_handler(const struct ctx *c, union epoll_ref ref,
* @ifname: Name of interface to bind to, NULL for any
* @port: Port, host order
*
- * Return: 0 on success, negative error code on failure
+ * Return: socket fd on success, negative error code on failure
*/
int tcp_listen(const struct ctx *c, uint8_t pif,
const union inany_addr *addr, const char *ifname, in_port_t port)
@@ -2728,10 +2728,7 @@ int tcp_listen(const struct ctx *c, uint8_t pif,
socks[port][V6] = s < 0 ? -1 : s;
}
- if (s < 0)
- return s;
-
- return 0;
+ return s;
}
/**
diff --git a/udp.c b/udp.c
index ea28f5b..993d53f 100644
--- a/udp.c
+++ b/udp.c
@@ -1136,7 +1136,7 @@ int udp_tap_handler(const struct ctx *c, uint8_t pif,
* @ifname: Name of interface to bind to, NULL if not configured
* @port: Port, host order
*
- * Return: 0 on success, negative error code on failure
+ * Return: socket fd on success, negative error code on failure
*/
int udp_listen(const struct ctx *c, uint8_t pif,
const union inany_addr *addr, const char *ifname, in_port_t port)
@@ -1180,7 +1180,7 @@ int udp_listen(const struct ctx *c, uint8_t pif,
if (!addr || !inany_v4(addr))
socks[V6][port] = s < 0 ? -1 : s;
- return s < 0 ? s : 0;
+ return s;
}
/**