aboutsummaryrefslogtreecommitdiff
path: root/ipsvd/tcpudp.c
diff options
context:
space:
mode:
Diffstat (limited to 'ipsvd/tcpudp.c')
-rw-r--r--ipsvd/tcpudp.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/ipsvd/tcpudp.c b/ipsvd/tcpudp.c
index cb57e598a..8b4ae88f4 100644
--- a/ipsvd/tcpudp.c
+++ b/ipsvd/tcpudp.c
@@ -339,16 +339,17 @@ int tcpudpsvd_main(int argc, char **argv)
* 1) we have to do it before fork()
* 2) order is important - is it right now? */
- /* Make plain write/send work for this socket by supplying default
+ /* Open new non-connected UDP socket for further clients... */
+ sock = xsocket(lsa->u.sa.sa_family, SOCK_DGRAM, 0);
+ setsockopt_reuseaddr(sock);
+ /* Make plain write/send work for old socket by supplying default
* destination address. This also restricts incoming packets
* to ones coming from this remote IP. */
xconnect(0, &remote.u.sa, sa_len);
/* hole? at this point we have no wildcard udp socket...
* can this cause clients to get "port unreachable" icmp?
* Yup, time window is very small, but it exists (is it?) */
- /* Open new non-connected UDP socket for further clients */
- sock = xsocket(lsa->u.sa.sa_family, tcp ? SOCK_STREAM : SOCK_DGRAM, 0);
- setsockopt_reuseaddr(sock);
+ /* ..."open new socket", continued */
xbind(sock, &lsa->u.sa, sa_len);
socket_want_pktinfo(sock);
@@ -377,7 +378,6 @@ int tcpudpsvd_main(int argc, char **argv)
goto again;
}
-
if (pid != 0) {
/* parent */
cnum++;
@@ -467,7 +467,7 @@ int tcpudpsvd_main(int argc, char **argv)
argv += 2;
#ifdef SSLSVD
- strcpy(id, utoa(pid);
+ strcpy(id, utoa(pid));
ssl_io(0, argv);
#else
BB_EXECVP(argv[0], argv);