Messages in this thread Patch in this message | | | Date | Sun, 19 May 96 22:14 BST | From | (Alan Cox) |
| |
diff --unified --recursive --new-file --exclude-from exclude linux.vanilla/Documentation/networking/README-REDHAT-USERS linux/Documentation/networking/README-REDHAT-USERS --- linux.vanilla/Documentation/networking/README-REDHAT-USERS Thu Jan 1 01:00:00 1970 +++ linux/Documentation/networking/README-REDHAT-USERS Sat May 18 19:10:36 1996 @@ -0,0 +1,22 @@ + +Redhat 2.1 and 3.0.3 incorrectly attempt to do the following + + route add -net 127.0.0.1 + +This breaks now that the kernel correctly spots that 127.0.0.1 has set bits in +the host part of the address. You need to fix your system set up not bitch +on the kernel list: For RedHat 3.0.3 your file +"/etc/sysconfig/network-scripts/ifup-lo" should read + +#!/bin/sh +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +. $1 + +if [ "foo$2" = "fooboot" -a ${ONBOOT} = "no" ] +then + exit +fi + +ifconfig ${DEVICE} ${IPADDR} +route add -net 127.0.0.0 diff --unified --recursive --new-file --exclude-from exclude linux.vanilla/drivers/char/wd501p.h linux/drivers/char/wd501p.h --- linux.vanilla/drivers/char/wd501p.h Fri May 17 22:28:06 1996 +++ linux/drivers/char/wd501p.h Sun May 19 21:18:59 1996 @@ -58,15 +58,13 @@ #define FEATUREMAP2 0 #endif +#ifndef CONFIG_WDT_501 +#define CONFIG_WDT_500 +#endif -#ifdef CONFIG_WDT500 /* Minimal board */ +#ifdef CONFIG_WDT_500 /* Minimal board */ #define FEATUREMAP1 (WDC_SR_TGOOD|WDC_SR_FANGOOD) #define FEATUREMAP2 (WDC_SR_PSUOVER|WDC_SR_PSUUNDR) -#endif - -#ifdef CONFIG_SOFT_WATCHDOG -#define FEATUREMAP1 0 -#define FEATUREMAP2 0 #endif #ifndef FEATUREMAP1 diff --unified --recursive --new-file --exclude-from exclude linux.vanilla/drivers/net/Config.in linux/drivers/net/Config.in --- linux.vanilla/drivers/net/Config.in Fri May 17 22:27:53 1996 +++ linux/drivers/net/Config.in Sun May 19 23:09:23 1996 @@ -24,10 +24,10 @@ fi bool 'Radio network interfaces' CONFIG_NET_RADIO if [ "$CONFIG_NET_RADIO" != "n" ]; then + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + tristate 'BAYCOM ser12 and par96 kiss emulation driver for AX.25' CONFIG_BAYCOM + fi if [ "$CONFIG_AX25" = "y" ]; then - if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then - tristate 'BAYCOM ser12 and par96 kiss emulation driver for AX.25' CONFIG_BAYCOM - fi bool 'Gracilis PackeTwin support' CONFIG_PT bool 'Ottawa PI and PI/2 support' CONFIG_PI fi diff --unified --recursive --new-file --exclude-from exclude linux.vanilla/drivers/net/dummy.c linux/drivers/net/dummy.c --- linux.vanilla/drivers/net/dummy.c Sun May 19 16:00:37 1996 +++ linux/drivers/net/dummy.c Sun May 19 16:11:10 1996 @@ -88,8 +88,8 @@ dev->get_stats = dummy_get_stats; #endif - dev->open = &dummy_open; - dev->stop = &dummy_close; + dev->open = dummy_open; + dev->stop = dummy_close; /* Fill in the fields of the device structure with ethernet-generic values. */ ether_setup(dev); diff --unified --recursive --new-file --exclude-from exclude linux.vanilla/drivers/net/lance.c linux/drivers/net/lance.c --- linux.vanilla/drivers/net/lance.c Fri May 17 22:27:48 1996 +++ linux/drivers/net/lance.c Sun May 19 16:05:44 1996 @@ -588,11 +588,11 @@ printk(version); /* The LANCE-specific entries in the device structure. */ - dev->open = &lance_open; - dev->hard_start_xmit = &lance_start_xmit; - dev->stop = &lance_close; - dev->get_stats = &lance_get_stats; - dev->set_multicast_list = &set_multicast_list; + dev->open = lance_open; + dev->hard_start_xmit = lance_start_xmit; + dev->stop = lance_close; + dev->get_stats = lance_get_stats; + dev->set_multicast_list = set_multicast_list; return; } --- linux.vanilla/net/core/dev.c Fri May 17 22:27:41 1996 +++ linux/net/core/dev.c Sun May 19 16:03:05 1996 @@ -45,9 +45,6 @@ * Alan Cox : Cleaned up the backlog initialise. * Craig Metz : SIOCGIFCONF fix if space for under * 1 device. - * Thomas Bogendoerfer : Return ENODEV for dev_open, if there - * is no device open function. - * */ #include <asm/segment.h> @@ -238,11 +235,12 @@ int dev_open(struct device *dev) { - int ret = -ENODEV; + int ret = 0; /* * Call device private open method */ + if (dev->open) ret = dev->open(dev); diff --unified --recursive --new-file --exclude-from exclude linux.vanilla/net/core/net_alias.c linux/net/core/net_alias.c --- linux.vanilla/net/core/net_alias.c Sun May 19 16:00:43 1996 +++ linux/net/core/net_alias.c Sun May 19 16:04:29 1996 @@ -235,18 +235,6 @@ } -static int -net_alias_open(struct device * dev) -{ - return 0; -} - -static int -net_alias_close(struct device * dev) -{ - return 0; -} - /* * setups a new (alias) device */ @@ -276,8 +264,6 @@ dev->my_alias = alias; /* point to alias */ dev->name = alias->name; dev->type = main_dev->type; - dev->open = net_alias_open; - dev->stop = net_alias_close; dev->hard_header_len = main_dev->hard_header_len; memcpy(dev->broadcast, main_dev->broadcast, MAX_ADDR_LEN); memcpy(dev->dev_addr, main_dev->dev_addr, MAX_ADDR_LEN); diff --unified --recursive --new-file --exclude-from exclude linux.vanilla/net/ipv4/af_inet.c linux/net/ipv4/af_inet.c --- linux.vanilla/net/ipv4/af_inet.c Fri May 17 22:27:42 1996 +++ linux/net/ipv4/af_inet.c Sat May 18 19:12:24 1996 @@ -160,10 +160,10 @@ struct sock *sk; if (base == 0) - base = PROT_SOCK+1+(start % 1024); + base = PROT_SOCK+1+(start & 1023); if (base <= PROT_SOCK) { - base += PROT_SOCK+(start % 1024); + base += PROT_SOCK+(start & 1023); } /* @@ -181,7 +181,7 @@ } if (j == 0) { - start =(i+1+start )%1024; + start =(i+1+start )&1023; return(i+base+1); } if (j < size) diff --unified --recursive --new-file --exclude-from exclude linux.vanilla/net/ipv4/icmp.c linux/net/ipv4/icmp.c --- linux.vanilla/net/ipv4/icmp.c Fri May 17 22:27:42 1996 +++ linux/net/ipv4/icmp.c Fri May 17 22:44:13 1996 @@ -768,9 +768,9 @@ */ #if defined(CONFIG_IP_FORWARD) && !defined(CONFIG_IP_DUMB_ROUTER) - printk(KERN_INFO "icmp: ICMP redirect ignored. dest = %s, " - "orig gw = %s, \"new\" gw = %s, device = %s.\n", in_ntoa(ip), - in_ntoa(source), in_ntoa(icmph->un.gateway), dev->name); + NETDEBUG(printk(KERN_INFO "icmp: ICMP redirect ignored. dest = %X, " + "orig gw = %X, \"new\" gw = %X, device = %X.\n", in_ntoa(ip), + in_ntoa(source), in_ntoa(icmph->un.gateway), dev->name)); #else switch(icmph->code & 7) { diff --unified --recursive --new-file --exclude-from exclude linux.vanilla/net/ipv4/ip_input.c linux/net/ipv4/ip_input.c --- linux.vanilla/net/ipv4/ip_input.c Fri May 17 22:27:44 1996 +++ linux/net/ipv4/ip_input.c Fri May 17 22:35:42 1996 @@ -208,6 +208,7 @@ int brd=IS_MYADDR; struct options * opt = NULL; int is_frag=0; + int ret; __u32 daddr; #ifdef CONFIG_FIREWALL @@ -422,19 +423,6 @@ } #endif -#ifdef CONFIG_IP_MASQUERADE - /* - * Do we need to de-masquerade this fragment? - */ - if (ip_fw_demasquerade(&skb,dev)) - { - struct iphdr *iph=skb->h.iph; - if (ip_forward(skb, dev, is_frag|IPFWD_MASQUERADED, iph->daddr)) - kfree_skb(skb, FREE_WRITE); - return(0); - } -#endif - /* * Reassemble IP fragments. */ @@ -447,16 +435,27 @@ return 0; skb->dev = dev; iph=skb->h.iph; + } + #ifdef CONFIG_IP_MASQUERADE - if (ip_fw_demasquerade(&skb,dev)) + /* + * Do we need to de-masquerade this packet? + */ + if ((ret = ip_fw_demasquerade(&skb,dev)) != 0) { + if (ret < 0) + { + kfree_skb(skb, FREE_WRITE); + return(0); + } + else { struct iphdr *iph=skb->h.iph; if (ip_forward(skb, dev, IPFWD_MASQUERADED, iph->daddr)) kfree_skb(skb, FREE_WRITE); - return 0; + return(0); } -#endif } +#endif /* * Point into the IP datagram, just past the header. diff --unified --recursive --new-file --exclude-from exclude linux.vanilla/net/ipx/af_ipx.c linux/net/ipx/af_ipx.c --- linux.vanilla/net/ipx/af_ipx.c Fri May 17 22:27:46 1996 +++ linux/net/ipx/af_ipx.c Sat May 18 19:22:24 1996 @@ -43,6 +43,7 @@ * protocol private area for ipx data. * Revision 0.34: Module support. <Jim Freeman> * Revision 0.35: Checksum support. <Neil Turton>, hooked in by <Alan Cox> + * Handles WIN95 discovery packets <Volker Lendecke> * * Protect the module by a MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT * pair. Also, now usage count is managed this way @@ -2068,7 +2069,9 @@ intrfc = ipxitf_find_using_phys(dev, pt->type); if (intrfc == NULL) { - if (ipxcfg_auto_create_interfaces) { + if (ipxcfg_auto_create_interfaces && + ntohl(ipx->ipx_dest.net)!=0L) + { intrfc = ipxitf_auto_create(dev, pt->type); }
| |