Remove the 'ether' module dependancy, it is not defined anywhere and will
authorMatthew Dillon <dillon@dragonflybsd.org>
Thu, 14 Oct 2004 18:31:02 +0000 (18:31 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Thu, 14 Oct 2004 18:31:02 +0000 (18:31 +0000)
prevent the loader from pre-loading the modules in question.

Do not partially initialize the related struct sockaddr_in when a
non-existant or "0.0.0.0" pxe related kenv is found.  In particular, if
the gateway is not specified by the DHCP server we avoid attempting to add
a bad default route (which results in a panic) later on.

13 files changed:
sys/dev/netif/aue/if_aue.c
sys/dev/netif/bfe/if_bfe.c
sys/dev/netif/cue/if_cue.c
sys/dev/netif/ed/if_ed_cbus.c
sys/dev/netif/ed/if_ed_isa.c
sys/dev/netif/ed/if_ed_pccard.c
sys/dev/netif/ed/if_ed_pci.c
sys/dev/netif/kue/if_kue.c
sys/dev/netif/ndis/if_ndis_pccard.c
sys/dev/netif/ndis/if_ndis_pci.c
sys/dev/netif/nv/if_nv.c
sys/i386/i386/autoconf.c
sys/platform/pc32/i386/autoconf.c

index 454319a..559d203 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/usb/if_aue.c,v 1.78 2003/12/17 14:23:07 sanpei Exp $
- * $DragonFly: src/sys/dev/netif/aue/if_aue.c,v 1.14 2004/09/14 21:48:53 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/aue/if_aue.c,v 1.15 2004/10/14 18:31:00 dillon Exp $
  *
  * $FreeBSD: src/sys/dev/usb/if_aue.c,v 1.19.2.18 2003/06/14 15:56:48 trhodes Exp $
  */
@@ -99,7 +99,6 @@
 #include "if_auereg.h"
 
 MODULE_DEPEND(aue, usb, 1, 1, 1);
-MODULE_DEPEND(aue, ether, 1, 1, 1);
 MODULE_DEPEND(aue, miibus, 1, 1, 1);
 
 /* "controller miibus0" required.  See GENERIC if you get errors here. */
index 0cf2572..4724609 100644 (file)
@@ -29,7 +29,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/bfe/if_bfe.c 1.4.4.7 2004/03/02 08:41:33 julian Exp  v
- * $DragonFly: src/sys/dev/netif/bfe/if_bfe.c,v 1.8 2004/09/14 22:21:43 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/bfe/if_bfe.c,v 1.9 2004/10/14 18:31:01 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -72,7 +72,6 @@
 #include "if_bfereg.h"
 
 MODULE_DEPEND(bfe, pci, 1, 1, 1);
-MODULE_DEPEND(bfe, ether, 1, 1, 1);
 MODULE_DEPEND(bfe, miibus, 1, 1, 1);
 
 /* "controller miibus0" required.  See GENERIC if you get errors here. */
index 16c93f3..06ca8c6 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/usb/if_cue.c,v 1.45 2003/12/08 07:54:14 obrien Exp $
- * $DragonFly: src/sys/dev/netif/cue/if_cue.c,v 1.14 2004/09/14 22:35:28 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/cue/if_cue.c,v 1.15 2004/10/14 18:31:02 dillon Exp $
  *
  */
 
@@ -147,7 +147,6 @@ Static devclass_t cue_devclass;
 DECLARE_DUMMY_MODULE(if_cue);
 DRIVER_MODULE(cue, uhub, cue_driver, cue_devclass, usbd_driver_load, 0);
 MODULE_DEPEND(cue, usb, 1, 1, 1);
-MODULE_DEPEND(cue, ether, 1, 1, 1);
 
 #define CUE_SETBIT(sc, reg, x)                         \
        cue_csr_write_1(sc, reg, cue_csr_read_1(sc, reg) | (x))
index 9536c66..10fdfc3 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/ed/if_ed_cbus.c,v 1.12 2003/10/31 18:31:58 brooks Exp $
- * $DragonFly: src/sys/dev/netif/ed/Attic/if_ed_cbus.c,v 1.7 2004/02/13 21:15:12 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/ed/Attic/if_ed_cbus.c,v 1.8 2004/10/14 18:31:02 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -1756,4 +1756,3 @@ static driver_t ed_isa_driver = {
 
 DRIVER_MODULE(if_ed, isa, ed_isa_driver, ed_devclass, 0, 0);
 MODULE_DEPEND(if_ed, isa, 1, 1, 1);
-MODULE_DEPEND(if_ed, ether, 1, 1, 1);
index c41b188..b78143b 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/ed/if_ed_isa.c,v 1.15 2003/10/31 18:31:58 brooks Exp $
- * $DragonFly: src/sys/dev/netif/ed/if_ed_isa.c,v 1.7 2004/02/13 21:15:12 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/ed/if_ed_isa.c,v 1.8 2004/10/14 18:31:02 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -160,4 +160,3 @@ static driver_t ed_isa_driver = {
 
 DRIVER_MODULE(if_ed, isa, ed_isa_driver, ed_devclass, 0, 0);
 MODULE_DEPEND(if_ed, isa, 1, 1, 1);
-MODULE_DEPEND(if_ed, ether, 1, 1, 1);
index cb730c5..58a22b4 100644 (file)
@@ -25,7 +25,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/ed/if_ed_pccard.c,v 1.55 2003/12/31 04:25:00 kato Exp $
- * $DragonFly: src/sys/dev/netif/ed/if_ed_pccard.c,v 1.9 2004/03/14 15:36:49 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/ed/if_ed_pccard.c,v 1.10 2004/10/14 18:31:02 dillon Exp $
  */
 
 #include "opt_ed.h"
@@ -65,7 +65,6 @@
 
 MODULE_DEPEND(ed, miibus, 1, 1, 1);
 #endif
-MODULE_DEPEND(ed, ether, 1, 1, 1);
 MODULE_DEPEND(ed, pccard, 1, 1, 1);
 
 /*
index f889303..082f676 100644 (file)
@@ -18,7 +18,7 @@
  *    are met.
  *
  * $FreeBSD: src/sys/dev/ed/if_ed_pci.c,v 1.34 2003/10/31 18:31:58 brooks Exp $
- * $DragonFly: src/sys/dev/netif/ed/if_ed_pci.c,v 1.6 2004/02/13 21:15:12 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/ed/if_ed_pci.c,v 1.7 2004/10/14 18:31:02 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -125,4 +125,3 @@ static devclass_t ed_devclass;
 
 DRIVER_MODULE(ed, pci, ed_pci_driver, ed_devclass, 0, 0);
 MODULE_DEPEND(ed, pci, 1, 1, 1);
-MODULE_DEPEND(ed, ether, 1, 1, 1);
index 6b976f3..88060eb 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  *  $FreeBSD: src/sys/dev/usb/if_kue.c,v 1.17.2.9 2003/04/13 02:39:25 murray Exp $
- * $DragonFly: src/sys/dev/netif/kue/if_kue.c,v 1.12 2004/07/23 07:16:26 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/kue/if_kue.c,v 1.13 2004/10/14 18:31:02 dillon Exp $
  */
 
 /*
@@ -98,7 +98,6 @@
 #include <bus/usb/kue_fw.h>
 
 MODULE_DEPEND(kue, usb, 1, 1, 1);
-MODULE_DEPEND(kue, ether, 1, 1, 1);
 
 /*
  * Various supported device vendors/products.
index b16cf72..617bf5a 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/if_ndis/if_ndis_pccard.c,v 1.6 2004/07/11 00:19:30 wpaul Exp $
- * $DragonFly: src/sys/dev/netif/ndis/if_ndis_pccard.c,v 1.2 2004/09/19 17:42:57 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/ndis/if_ndis_pccard.c,v 1.3 2004/10/14 18:31:02 dillon Exp $
  */
 
 #include <sys/ctype.h>
@@ -70,7 +70,6 @@
 #ifdef NDIS_PCMCIA_DEV_TABLE 
 
 MODULE_DEPEND(ndis, pccard, 1, 1, 1);
-MODULE_DEPEND(ndis, ether, 1, 1, 1);
 MODULE_DEPEND(ndis, wlan, 1, 1, 1);
 MODULE_DEPEND(ndis, ndisapi, 1, 1, 1);
 
index 835cc3f..89cd112 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/if_ndis/if_ndis_pci.c,v 1.7 2004/07/11 00:19:30 wpaul Exp $
- * $DragonFly: src/sys/dev/netif/ndis/if_ndis_pci.c,v 1.1 2004/07/29 20:51:36 dillon Exp $
+ * $DragonFly: src/sys/dev/netif/ndis/if_ndis_pci.c,v 1.2 2004/10/14 18:31:02 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -69,7 +69,6 @@
 #ifdef NDIS_PCI_DEV_TABLE 
 
 MODULE_DEPEND(ndis, pci, 1, 1, 1);
-MODULE_DEPEND(ndis, ether, 1, 1, 1);
 MODULE_DEPEND(ndis, wlan, 1, 1, 1);
 MODULE_DEPEND(ndis, ndisapi, 1, 1, 1);
 
index a7b56d4..3689c68 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  * 
  * $Id: if_nv.c,v 1.9 2003/12/13 15:27:40 q Exp $
- * $DragonFly: src/sys/dev/netif/nv/Attic/if_nv.c,v 1.5 2004/09/15 01:32:07 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/nv/Attic/if_nv.c,v 1.6 2004/10/14 18:31:02 dillon Exp $
  */
 
 /*
 #include <dev/netif/mii_layer/miivar.h>
 
 MODULE_DEPEND(nv, pci, 1, 1, 1);
-MODULE_DEPEND(nv, ether, 1, 1, 1);
 MODULE_DEPEND(nv, miibus, 1, 1, 1);
 
 #include "if_nvreg.h"
index 33bc5ca..0c29580 100644 (file)
@@ -35,7 +35,7 @@
  *
  *     from: @(#)autoconf.c    7.1 (Berkeley) 5/9/91
  * $FreeBSD: src/sys/i386/i386/autoconf.c,v 1.146.2.2 2001/06/07 06:05:58 dd Exp $
- * $DragonFly: src/sys/i386/i386/Attic/autoconf.c,v 1.14 2004/10/14 03:05:52 dillon Exp $
+ * $DragonFly: src/sys/i386/i386/Attic/autoconf.c,v 1.15 2004/10/14 18:31:02 dillon Exp $
  */
 
 /*
@@ -378,6 +378,11 @@ setroot()
 
 extern struct nfs_diskless     nfs_diskless;
 
+/*
+ * Convert a kenv variable to a sockaddr.  If the kenv variable does not
+ * exist the sockaddr will remain zerod out (callers typically just check
+ * sin_len).  A network address of 0.0.0.0 is equivalent to failure.
+ */
 static int
 inaddr_to_sockaddr(char *ev, struct sockaddr_in *sa)
 {
@@ -385,15 +390,17 @@ inaddr_to_sockaddr(char *ev, struct sockaddr_in *sa)
        char            *cp;
 
        bzero(sa, sizeof(*sa));
-       sa->sin_len = sizeof(*sa);
-       sa->sin_family = AF_INET;
 
        if ((cp = getenv(ev)) == NULL)
                return(1);
        if (sscanf(cp, "%d.%d.%d.%d", &a[0], &a[1], &a[2], &a[3]) != 4)
                return(1);
+       if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 0)
+               return(1);
        /* XXX is this ordering correct? */
        sa->sin_addr.s_addr = (a[3] << 24) + (a[2] << 16) + (a[1] << 8) + a[0];
+       sa->sin_len = sizeof(*sa);
+       sa->sin_family = AF_INET;
        return(0);
 }
 
index 9cb8dc6..a5e5efb 100644 (file)
@@ -35,7 +35,7 @@
  *
  *     from: @(#)autoconf.c    7.1 (Berkeley) 5/9/91
  * $FreeBSD: src/sys/i386/i386/autoconf.c,v 1.146.2.2 2001/06/07 06:05:58 dd Exp $
- * $DragonFly: src/sys/platform/pc32/i386/autoconf.c,v 1.14 2004/10/14 03:05:52 dillon Exp $
+ * $DragonFly: src/sys/platform/pc32/i386/autoconf.c,v 1.15 2004/10/14 18:31:02 dillon Exp $
  */
 
 /*
@@ -378,6 +378,11 @@ setroot()
 
 extern struct nfs_diskless     nfs_diskless;
 
+/*
+ * Convert a kenv variable to a sockaddr.  If the kenv variable does not
+ * exist the sockaddr will remain zerod out (callers typically just check
+ * sin_len).  A network address of 0.0.0.0 is equivalent to failure.
+ */
 static int
 inaddr_to_sockaddr(char *ev, struct sockaddr_in *sa)
 {
@@ -385,15 +390,17 @@ inaddr_to_sockaddr(char *ev, struct sockaddr_in *sa)
        char            *cp;
 
        bzero(sa, sizeof(*sa));
-       sa->sin_len = sizeof(*sa);
-       sa->sin_family = AF_INET;
 
        if ((cp = getenv(ev)) == NULL)
                return(1);
        if (sscanf(cp, "%d.%d.%d.%d", &a[0], &a[1], &a[2], &a[3]) != 4)
                return(1);
+       if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 0)
+               return(1);
        /* XXX is this ordering correct? */
        sa->sin_addr.s_addr = (a[3] << 24) + (a[2] << 16) + (a[1] << 8) + a[0];
+       sa->sin_len = sizeof(*sa);
+       sa->sin_family = AF_INET;
        return(0);
 }