Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

udp_wide_broadcast.patch (1832B)


      1 --- linux/include/linux/sysctl.h.orig	2002-08-17 19:52:27.000000000 -0500
      2 +++ linux/include/linux/sysctl.h	2002-08-17 19:53:00.000000000 -0500
      3 @@ -291,7 +291,8 @@
      4  	NET_IPV4_NONLOCAL_BIND=88,
      5  	NET_IPV4_ICMP_RATELIMIT=89,
      6  	NET_IPV4_ICMP_RATEMASK=90,
      7 -	NET_TCP_TW_REUSE=91
      8 +	NET_TCP_TW_REUSE=91,
      9 +	NET_UDP_WIDE_BROADCAST=92
     10  };
     11  
     12  enum {
     13 --- linux-modified/net/ipv4/sysctl_net_ipv4.c.orig	2002-08-17 19:48:19.000000000 -0500
     14 +++ linux-modified/net/ipv4/sysctl_net_ipv4.c	2002-08-17 19:52:03.000000000 -0500
     15 @@ -45,6 +45,9 @@
     16  extern int inet_peer_gc_mintime;
     17  extern int inet_peer_gc_maxtime;
     18  
     19 +/* From udp.c */
     20 +extern int sysctl_udp_wide_broadcast;
     21 +
     22  #ifdef CONFIG_SYSCTL
     23  static int tcp_retr1_max = 255; 
     24  static int ip_local_port_range_min[] = { 1, 1 };
     25 @@ -221,6 +224,8 @@
     26  	 &sysctl_icmp_ratemask, sizeof(int), 0644, NULL, &proc_dointvec},
     27  	{NET_TCP_TW_REUSE, "tcp_tw_reuse",
     28  	 &sysctl_tcp_tw_reuse, sizeof(int), 0644, NULL, &proc_dointvec},
     29 +	{NET_UDP_WIDE_BROADCAST, "udp_wide_broadcast",
     30 +	 &sysctl_udp_wide_broadcast, sizeof(int), 0644, NULL, &proc_dointvec},
     31  	{0}
     32  };
     33  
     34 --- linux-modified/net/ipv4/udp.c.orig	2002-08-17 19:40:59.000000000 -0500
     35 +++ linux-modified/net/ipv4/udp.c	2002-08-17 23:37:47.000000000 -0500
     36 @@ -94,6 +94,8 @@
     37  #include <net/inet_common.h>
     38  #include <net/checksum.h>
     39  
     40 +int sysctl_udp_wide_broadcast = 0;
     41 +
     42  /*
     43   *	Snmp MIB for the UDP layer
     44   */
     45 @@ -272,9 +274,10 @@
     46  		if ((s->num != hnum)					||
     47  		    (s->daddr && s->daddr!=rmt_addr)			||
     48  		    (s->dport != rmt_port && s->dport != 0)			||
     49 -		    (s->rcv_saddr  && s->rcv_saddr != loc_addr)		||
     50 -		    (s->bound_dev_if && s->bound_dev_if != dif))
     51 +		    !(sysctl_udp_wide_broadcast || !(s->rcv_saddr  && s->rcv_saddr != loc_addr))	||
     52 +		    (s->bound_dev_if && s->bound_dev_if != dif)) {
     53  			continue;
     54 +		}
     55  		break;
     56    	}
     57    	return s;