From: Ted Lemon Date: Mon, 2 Sep 1996 21:15:17 +0000 (+0000) Subject: Don't attach to unconfigured interfaces X-Git-Tag: BETA_5_6~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=edba1c3639e2091524ef3a8b46928f475ccacee5;p=thirdparty%2Fdhcp.git Don't attach to unconfigured interfaces --- diff --git a/common/dispatch.c b/common/dispatch.c index 92546947a..f2803c336 100644 --- a/common/dispatch.c +++ b/common/dispatch.c @@ -42,7 +42,7 @@ #ifndef lint static char copyright[] = -"$Id: dispatch.c,v 1.21 1996/08/30 23:41:07 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; +"$Id: dispatch.c,v 1.22 1996/09/02 21:15:17 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -120,12 +120,12 @@ void discover_interfaces () error ("Can't get interface flags for %s: %m", ifr.ifr_name); - /* Skip loopback and point-to-point interfaces. */ + /* Skip loopback, point-to-point and down interfaces. */ if ((ifr.ifr_flags & IFF_LOOPBACK) || - (ifr.ifr_flags & IFF_POINTOPOINT)) + (ifr.ifr_flags & IFF_POINTOPOINT) || + !(ifr.ifr_flags & IFF_UP)) continue; - /* See if we've seen an interface that matches this one. */ for (tmp = interfaces; tmp; tmp = tmp -> next) if (!strcmp (tmp -> name, ifp -> ifr_name)) diff --git a/dispatch.c b/dispatch.c index 92546947a..f2803c336 100644 --- a/dispatch.c +++ b/dispatch.c @@ -42,7 +42,7 @@ #ifndef lint static char copyright[] = -"$Id: dispatch.c,v 1.21 1996/08/30 23:41:07 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; +"$Id: dispatch.c,v 1.22 1996/09/02 21:15:17 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -120,12 +120,12 @@ void discover_interfaces () error ("Can't get interface flags for %s: %m", ifr.ifr_name); - /* Skip loopback and point-to-point interfaces. */ + /* Skip loopback, point-to-point and down interfaces. */ if ((ifr.ifr_flags & IFF_LOOPBACK) || - (ifr.ifr_flags & IFF_POINTOPOINT)) + (ifr.ifr_flags & IFF_POINTOPOINT) || + !(ifr.ifr_flags & IFF_UP)) continue; - /* See if we've seen an interface that matches this one. */ for (tmp = interfaces; tmp; tmp = tmp -> next) if (!strcmp (tmp -> name, ifp -> ifr_name))