mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-25 04:43:33 +00:00
improves reliability on various systems
PR: 12949 Submitted by: Richard.Kiss@kalamalka.gizzywump.com
This commit is contained in:
parent
63b067a9e0
commit
fcd7fb1ad9
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=22630
@ -1,3 +1,25 @@
|
||||
--- ../proxy.c Tue Jul 6 17:42:19 1999
|
||||
+++ ../proxy.c Tue Jul 20 22:26:39 1999
|
||||
@@ -1142,7 +1142,18 @@
|
||||
}
|
||||
//
|
||||
// did we get a complete response yet?
|
||||
- if (! has_two_crlfs(s->sinbuf))
|
||||
+ //
|
||||
+
|
||||
+// this used to look for a blank line, which is a dumb way to check if we
|
||||
+// have a complete response since that only means we have a complete header.
|
||||
+// the correct method would be to check the 'Content-Length:' header, but
|
||||
+// that's too much trouble without a lot of re-writing. so this is a cheap
|
||||
+// hack to look and see if the buffer ends on a 'CRLF' pair - this might get
|
||||
+// broken if we happen to break on an end-of-line, but it's better than
|
||||
+// nothing.
|
||||
+
|
||||
+ pBuf = s->sinbuf + s->amtInServerInBuffer - 2;
|
||||
+ if ((pBuf[0] != '\r') || (pBuf[1] != '\n'))
|
||||
break;
|
||||
|
||||
//
|
||||
--- ../proxy.c.orig Sat Oct 16 10:29:52 1999
|
||||
+++ ../proxy.c Sat Oct 16 10:30:01 1999
|
||||
@@ -127,7 +127,9 @@
|
||||
|
29
net/rtsp_proxy/files/patch-ad
Normal file
29
net/rtsp_proxy/files/patch-ad
Normal file
@ -0,0 +1,29 @@
|
||||
--- ../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;
|
16
net/rtsp_proxy/files/patch-ae
Normal file
16
net/rtsp_proxy/files/patch-ae
Normal file
@ -0,0 +1,16 @@
|
||||
--- ../proxy.h Tue Jul 6 17:42:19 1999
|
||||
+++ ../proxy.h Tue Jul 20 22:26:39 1999
|
||||
@@ -80,7 +80,12 @@
|
||||
trans_pb RTCP_C2S_tpb;
|
||||
} track_info;
|
||||
|
||||
-#define RTSP_SESSION_BUF_SIZE 1024
|
||||
+// 1024 is too small for some server messages, so i've up'd this to 2048
|
||||
+// instead as the proxy will otherwise truncate the message before sending
|
||||
+// it on to the client, this will confuse the client no end.
|
||||
+
|
||||
+#define RTSP_SESSION_BUF_SIZE 2048
|
||||
+
|
||||
typedef struct rtsp_session {
|
||||
struct rtsp_session *next;
|
||||
int die;
|
Loading…
Reference in New Issue
Block a user