summaryrefslogtreecommitdiff
path: root/net-im/libicq/files/patch-ad
blob: ba3b41a090d25cd80d6b4f39cd61f040358a5e31 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
--- 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)