mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-14 23:46:10 +00:00
fcd7fb1ad9
PR: 12949 Submitted by: Richard.Kiss@kalamalka.gizzywump.com
30 lines
1.2 KiB
Plaintext
30 lines
1.2 KiB
Plaintext
--- ../shared_udp.c Tue Jul 6 17:42:26 1999
|
|
+++ ../shared_udp.c Tue Jul 20 23:54:38 1999
|
|
@@ -259,7 +259,16 @@
|
|
gNextPort++;
|
|
if (gNextPort > gUDPPortMax)
|
|
gNextPort = gUDPPortMin;
|
|
- } while (bind_socket_to_address(skt1, fromIP, port1 = gNextPort++, false) != 0);
|
|
+ } while (bind_socket_to_address(skt1, INADDR_ANY, port1 = gNextPort++, false) != 0);
|
|
+
|
|
+// i've changed the previous bind and the next one below to bind to any
|
|
+// IP number rather than using 'fromIP'. 'fromIP' is obtained from gProxyIP
|
|
+// which is in turn obtained from 'get_local_ip_address'. this function
|
|
+// gets the current hostname and then resolves that into an address. however,
|
|
+// since a proxy server runs on a bridging system with multiple IP addresses,
|
|
+// this is as likely as not to return the wrong IP address, which results in
|
|
+// the proxy missing all of the traffic from the server. not binding to a
|
|
+// specific address is cheap but gets a result.
|
|
|
|
if (withSib) {
|
|
retry_rtcp:
|
|
@@ -271,7 +280,7 @@
|
|
else
|
|
goto bail_error;
|
|
}
|
|
- if (bind_socket_to_address(skt2, fromIP, port2 = gNextPort++, false) != 0) {
|
|
+ if (bind_socket_to_address(skt2, INADDR_ANY, port2 = gNextPort++, false) != 0) {
|
|
close_socket(skt1);
|
|
close_socket(skt2);
|
|
skt1 = INVALID_SOCKET;
|