freebsd-ports/net/libicq/files/patch-ad
Seiichirou Hiraoka abd4920c47 Add patch for more firewall-friendly by default
Requested by: Nick Sayer <nsayer@sftw.com>
1999-11-18 23:54:19 +00:00

51 lines
1.3 KiB
Plaintext

--- src/send.c.orig Thu Nov 11 17:16:26 1999
+++ src/send.c Thu Nov 11 17:18:50 1999
@@ -139,6 +139,17 @@
fprintf(stderr, "\nSocket creation failed.");
exit(1);
}
+
+#ifdef IP_PORTRANGE
+ {
+ int i=IP_PORTRANGE_HIGH;
+ if (setsockopt(sok, IPPROTO_IP, IP_PORTRANGE, &i, sizeof(i))<0)
+ {
+ fprintf(stderr, "\nSocket range selection failed.");
+ exit(1);
+ }
+ }
+#endif
if(Verbose & ICQ_VERB_INFO)
printf("\nSocket created. Attempting to connect..." );
@@ -170,6 +181,12 @@
bzero(&(sin.sin_zero), 8);
tcp_sok = socket(AF_INET, SOCK_STREAM, 0);
+#if IP_PORTRANGE
+ {
+ int i=IP_PORTRANGE_HIGH;
+ setsockopt(tcp_sok, IPPROTO_IP, IP_PORTRANGE, &i, sizeof(i));
+ }
+#endif
setsockopt(tcp_sok, SOL_SOCKET, SO_REUSEADDR, &retval, 4);
set_nonblock(tcp_sok);
retval = bind(tcp_sok, (struct sockaddr*)&sin, sizeof(sin));
--- src/tcp.c.orig Thu Nov 11 17:20:01 1999
+++ src/tcp.c Thu Nov 11 17:20:02 1999
@@ -608,6 +608,14 @@
sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock == -1) return -1;
+#ifdef IP_PORTRANGE
+ {
+ int i=IP_PORTRANGE_HIGH;
+ if (setsockopt(sock, IPPROTO_IP, IP_PORTRANGE, &i, sizeof(i))<0)
+ return -1;
+ }
+#endif
+
set_nonblock(sock);
if((bind(sock, (struct sockaddr*)&local, sizeof(struct sockaddr))) == -1)