Rolled back after invalid previous commit. Sorry.
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 @@
 	{ 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 @@
 			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;