diff options
author | fnm3 <fnm3> | 2002-11-25 09:00:29 +0000 |
---|---|---|
committer | fnm3 <fnm3> | 2002-11-25 09:00:29 +0000 |
commit | 8163d27d560cc1c6faa2fa0732e021cbeaaec8d9 (patch) | |
tree | 63ded4a486ee7b2db01391a9d6d3b40009ef6b61 /extensions/ebt_ip.c | |
parent | 03cf3376b290f1aacd7043e8fc7483ce40cac2aa (diff) |
Rolled back after invalid previous commit. Sorry.
Diffstat (limited to 'extensions/ebt_ip.c')
-rw-r--r-- | extensions/ebt_ip.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/extensions/ebt_ip.c b/extensions/ebt_ip.c index 9ad272b..7a054ce 100644 --- a/extensions/ebt_ip.c +++ b/extensions/ebt_ip.c @@ -57,8 +57,6 @@ static struct option opts[] = { 0 } }; -struct protoent *p_ent; - // put the ip string into 4 bytes static int undot_ip(char *ip, unsigned char *ip2) { @@ -315,14 +313,9 @@ static int parse(int c, char **argv, int argc, const struct ebt_u_entry *entry, ipinfo->invflags |= EBT_IP_PROTO; if (optind > argc) print_error("Missing IP protocol argument"); - (unsigned char) i = strtoul(argv[optind - 1], &end, 10); - if ((i > 0xFF) || (*end != '\0')) { - p_ent = getprotobyname(argv[optind - 1]); - if (p_ent == NULL) - print_error("Unknown Internet protocol %s ", - argv[optind - 1]); - i = p_ent->p_proto; - } + i = strtol(argv[optind - 1], &end, 10); + if (i < 0 || i > 255 || *end != '\0') + print_error("Problem with specified IP protocol"); ipinfo->protocol = i; ipinfo->bitmask |= EBT_IP_PROTO; break; |