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)
339 * 1) we have to do it before fork() 339 * 1) we have to do it before fork()
340 * 2) order is important - is it right now? */ 340 * 2) order is important - is it right now? */
341 341
342 /* Make plain write/send work for this socket by supplying default 342 /* Open new non-connected UDP socket for further clients... */
343 sock = xsocket(lsa->u.sa.sa_family, SOCK_DGRAM, 0);
344 setsockopt_reuseaddr(sock);
345 /* Make plain write/send work for old socket by supplying default
343 * destination address. This also restricts incoming packets 346 * destination address. This also restricts incoming packets
344 * to ones coming from this remote IP. */ 347 * to ones coming from this remote IP. */
345 xconnect(0, &remote.u.sa, sa_len); 348 xconnect(0, &remote.u.sa, sa_len);
346 /* hole? at this point we have no wildcard udp socket... 349 /* hole? at this point we have no wildcard udp socket...
347 * can this cause clients to get "port unreachable" icmp? 350 * can this cause clients to get "port unreachable" icmp?
348 * Yup, time window is very small, but it exists (is it?) */ 351 * Yup, time window is very small, but it exists (is it?) */
349 /* Open new non-connected UDP socket for further clients */ 352 /* ..."open new socket", continued */
350 sock = xsocket(lsa->u.sa.sa_family, tcp ? SOCK_STREAM : SOCK_DGRAM, 0);
351 setsockopt_reuseaddr(sock);
352 xbind(sock, &lsa->u.sa, sa_len); 353 xbind(sock, &lsa->u.sa, sa_len);
353 socket_want_pktinfo(sock); 354 socket_want_pktinfo(sock);
354 355
@@ -377,7 +378,6 @@ int tcpudpsvd_main(int argc, char **argv)
377 goto again; 378 goto again;
378 } 379 }
379 380
380
381 if (pid != 0) { 381 if (pid != 0) {
382 /* parent */ 382 /* parent */
383 cnum++; 383 cnum++;
@@ -467,7 +467,7 @@ int tcpudpsvd_main(int argc, char **argv)
467 467
468 argv += 2; 468 argv += 2;
469#ifdef SSLSVD 469#ifdef SSLSVD
470 strcpy(id, utoa(pid); 470 strcpy(id, utoa(pid));
471 ssl_io(0, argv); 471 ssl_io(0, argv);
472#else 472#else
473 BB_EXECVP(argv[0], argv); 473 BB_EXECVP(argv[0], argv);