Add/improve comment, shorten some usage texts. No code changes.
This commit is contained in:
@@ -331,12 +331,31 @@ int tcpudpsvd_main(int argc, char **argv)
|
||||
* to ones coming from this remote IP. */
|
||||
xconnect(0, &remote.sa, sa_len);
|
||||
/* hole? at this point we have no wildcard udp socket...
|
||||
* can this cause clients to get "port unreachable" icmp? */
|
||||
* 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->sa.sa_family, tcp ? SOCK_STREAM : SOCK_DGRAM, 0);
|
||||
setsockopt_reuseaddr(sock);
|
||||
xbind(sock, &lsa->sa, sa_len);
|
||||
socket_want_pktinfo(sock);
|
||||
|
||||
/* Doesn't work:
|
||||
* we cannot replace fd #0 - we will lose pending packet
|
||||
* which is already buffered for us! And we cannot use fd #1
|
||||
* instead - it will "intercept" all following packets, but child
|
||||
* do not expect data coming *from fd #1*! */
|
||||
#if 0
|
||||
/* Make it so that local addr is fixed to localp->sa
|
||||
* and we don't accidentally accept packets to other local IPs. */
|
||||
/* NB: we possibly bind to the _very_ same_ address & port as the one
|
||||
* already bound in parent! This seems to work in Linux.
|
||||
* (otherwise we can move socket to fd #0 only if bind succeeds) */
|
||||
close(0);
|
||||
set_nport(localp, htons(local_port));
|
||||
xmove_fd(xsocket(localp->sa.sa_family, SOCK_DGRAM, 0), 0);
|
||||
setsockopt_reuseaddr(0); /* crucial */
|
||||
xbind(0, &localp->sa, localp->len);
|
||||
#endif
|
||||
}
|
||||
|
||||
pid = fork();
|
||||
|
Reference in New Issue
Block a user