projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add timeouts to 'tinc join'
[tinc]
/
src
/
net_setup.c
diff --git
a/src/net_setup.c
b/src/net_setup.c
index
2cd5818
..
dd6c58f
100644
(file)
--- a/
src/net_setup.c
+++ b/
src/net_setup.c
@@
-674,6
+674,7
@@
static bool add_listen_address(char *address, bool bindto) {
}
if(listen_sockets >= MAXSOCKETS) {
}
if(listen_sockets >= MAXSOCKETS) {
+ listen_sockets = MAXSOCKETS;
logger(DEBUG_ALWAYS, LOG_ERR, "Too many listening sockets");
freeaddrinfo(ai);
return false;
logger(DEBUG_ALWAYS, LOG_ERR, "Too many listening sockets");
freeaddrinfo(ai);
return false;
@@
-1085,16
+1086,19
@@
static bool setup_myself(void) {
/* Open sockets */
/* Open sockets */
- if(!do_detach && getenv("LISTEN_FDS")) {
+ const char *listen_fds = getenv("LISTEN_FDS");
+
+ if(!do_detach && listen_fds) {
sockaddr_t sa;
socklen_t salen;
sockaddr_t sa;
socklen_t salen;
- listen_sockets = atoi(
getenv("LISTEN_FDS")
);
+ listen_sockets = atoi(
listen_fds
);
#ifdef HAVE_UNSETENV
unsetenv("LISTEN_FDS");
#endif
if(listen_sockets > MAXSOCKETS) {
#ifdef HAVE_UNSETENV
unsetenv("LISTEN_FDS");
#endif
if(listen_sockets > MAXSOCKETS) {
+ listen_sockets = MAXSOCKETS;
logger(DEBUG_ALWAYS, LOG_ERR, "Too many listening sockets");
return false;
}
logger(DEBUG_ALWAYS, LOG_ERR, "Too many listening sockets");
return false;
}