summaryrefslogtreecommitdiffstats
path: root/net.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2008-09-11 09:38:02 +0000
committerRoy Marples <roy@marples.name>2008-09-11 09:38:02 +0000
commitba97e49417ba7463405abdb7d62e834349f0d329 (patch)
tree1fb76674117bdf91b2325ab76536bdb52ef3b540 /net.c
parent03c2c87907acec01b024d525414bd76f7d001a15 (diff)
downloaddhcpcd-ba97e49417ba7463405abdb7d62e834349f0d329.tar.xz
Add allowinterfaces and denyinterfaces options to dhcpcd.conf for better multiple interface support.
Diffstat (limited to 'net.c')
-rw-r--r--net.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/net.c b/net.c
index 1f015be7..15b80075 100644
--- a/net.c
+++ b/net.c
@@ -61,6 +61,7 @@
#include <ctype.h>
#include <errno.h>
+#include <fnmatch.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
@@ -398,6 +399,17 @@ do_interface(const char *ifname,
break;
if (n == argc)
continue;
+ } else {
+ for (n = 0; n < ifdc; n++)
+ if (!fnmatch(ifdv[n], ifr->ifr_name, 0))
+ break;
+ if (n < ifdc)
+ continue;
+ for (n = 0; n < ifac; n++)
+ if (!fnmatch(ifav[n], ifr->ifr_name, 0))
+ break;
+ if (ifac && n == ifac)
+ continue;
}
ifn = init_interface(ifr->ifr_name);
if (!ifn)