summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2009-04-17 13:31:08 +0000
committerRoy Marples <roy@marples.name>2009-04-17 13:31:08 +0000
commitd3088c74911ad6f3c4905b2ae4abab8c2279bced (patch)
treed951b864fe3c27260415e59cd66001a0e8f82b72
parent5ed586386c33ac859efeac16366768d060d9764b (diff)
downloaddhcpcd-d3088c74911ad6f3c4905b2ae4abab8c2279bced.tar.xz
We need to move allow/deny back to options
-rw-r--r--if-options.c28
-rw-r--r--if-options.h2
2 files changed, 14 insertions, 16 deletions
diff --git a/if-options.c b/if-options.c
index def471c7..8f52d931 100644
--- a/if-options.c
+++ b/if-options.c
@@ -48,9 +48,7 @@
/* These options only make sense in the config file, so don't use any
valid short options for them */
#define O_BASE MAX('z', 'Z') + 1
-#define O_ALOWIF O_BASE + 1
-#define O_DENYIF O_BASE + 2
-#define O_ARPING O_BASE + 3
+#define O_ARPING O_BASE + 1
const struct option cf_options[] = {
{"background", no_argument, NULL, 'b'},
@@ -73,6 +71,7 @@ const struct option cf_options[] = {
{"userclass", required_argument, NULL, 'u'},
{"vendor", required_argument, NULL, 'v'},
{"exit", no_argument, NULL, 'x'},
+ {"allowinterfaces", required_argument, NULL, 'z'},
{"reboot", required_argument, NULL, 'y'},
{"noarp", no_argument, NULL, 'A'},
{"nobackground", no_argument, NULL, 'B'},
@@ -91,8 +90,7 @@ const struct option cf_options[] = {
{"test", no_argument, NULL, 'T'},
{"variables", no_argument, NULL, 'V'},
{"blacklist", required_argument, NULL, 'X'},
- {"allowinterfaces", required_argument, NULL, O_ALOWIF},
- {"denyinterfaces", required_argument, NULL, O_DENYIF},
+ {"denyinterfaces", required_argument, NULL, 'Z'},
{"arping", required_argument, NULL, O_ARPING},
{NULL, 0, NULL, '\0'}
};
@@ -481,6 +479,11 @@ parse_option(struct if_options *ifo, int opt, const char *arg)
return -1;
}
break;
+ case 'z':
+ /* We only set this if we haven't got any interfaces */
+ if (!ifaces)
+ ifav = splitv(&ifac, ifav, arg);
+ break;
case 'A':
ifo->options &= ~DHCPCD_ARP;
/* IPv4LL requires ARP */
@@ -658,6 +661,11 @@ parse_option(struct if_options *ifo, int opt, const char *arg)
ifo->blacklist[ifo->blacklist_len++] = addr.s_addr;
ifo->blacklist[ifo->blacklist_len++] = addr2.s_addr;
break;
+ case 'Z':
+ /* We only set this if we haven't got any interfaces */
+ if (!ifaces)
+ ifdv = splitv(&ifdc, ifdv, arg);
+ break;
case O_ARPING:
if (parse_addr(&addr, NULL, arg) != 0)
return -1;
@@ -665,16 +673,6 @@ parse_option(struct if_options *ifo, int opt, const char *arg)
sizeof(in_addr_t) * (ifo->arping_len + 1));
ifo->arping[ifo->arping_len++] = addr.s_addr;
break;
- case O_ALOWIF:
- /* We only set this if we haven't got any interfaces */
- if (!ifaces)
- ifav = splitv(&ifac, ifav, arg);
- break;
- case O_DENYIF:
- /* We only set this if we haven't got any interfaces */
- if (!ifaces)
- ifdv = splitv(&ifdc, ifdv, arg);
- break;
default:
return 0;
}
diff --git a/if-options.h b/if-options.h
index 4b64e298..c6fcf882 100644
--- a/if-options.h
+++ b/if-options.h
@@ -37,7 +37,7 @@
/* Don't set any optional arguments here so we retain POSIX
* compatibility with getopt */
-#define IF_OPTS "bc:def:h:i:kl:m:no:pqr:s:t:u:v:xy:ABC:DEF:GI:KLN:O:Q:TVX:"
+#define IF_OPTS "bc:def:h:i:kl:m:no:pqr:s:t:u:v:xy:z:ABC:DEF:GI:KLN:O:Q:TVX:Z:"
#define DEFAULT_TIMEOUT 30
#define DEFAULT_REBOOT 10