diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2005-01-03 09:51:58 +0000 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2005-01-03 09:51:58 +0000 |
commit | 225f462b814a47394858b5994acdcc4f3c951a66 (patch) | |
tree | 0c6a5a7c0b204cfa8547456e5806f355cf222537 /extensions/libipt_multiport.c | |
parent | 5df9547e093c4fef0bb926adb268dbd020e543a6 (diff) |
Testsuite found an issue: multiport accepts -p ! tcp.
Diffstat (limited to 'extensions/libipt_multiport.c')
-rw-r--r-- | extensions/libipt_multiport.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/extensions/libipt_multiport.c b/extensions/libipt_multiport.c index 7442f94b..410a3906 100644 --- a/extensions/libipt_multiport.c +++ b/extensions/libipt_multiport.c @@ -144,6 +144,10 @@ init(struct ipt_entry_match *m, unsigned int *nfcache) static const char * check_proto(const struct ipt_entry *entry) { + if (entry->ip.invflags & IPT_INV_PROTO) + exit_error(PARAMETER_PROBLEM, + "multiport only works with TCP or UDP"); + if (entry->ip.proto == IPPROTO_TCP) return "tcp"; else if (entry->ip.proto == IPPROTO_UDP) |