diff options
Diffstat (limited to 'kernel/linux2.5/net/bridge/netfilter/ebt_ip.c')
-rw-r--r-- | kernel/linux2.5/net/bridge/netfilter/ebt_ip.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/linux2.5/net/bridge/netfilter/ebt_ip.c b/kernel/linux2.5/net/bridge/netfilter/ebt_ip.c index 7ef0662..9dc311a 100644 --- a/kernel/linux2.5/net/bridge/netfilter/ebt_ip.c +++ b/kernel/linux2.5/net/bridge/netfilter/ebt_ip.c @@ -70,13 +70,17 @@ static int ebt_filter_ip(const struct sk_buff *skb, const struct net_device *in, return EBT_MATCH; } +static struct ebt_match filter_ip; static int ebt_ip_check(const char *tablename, unsigned int hookmask, - const struct ebt_entry *e, void *data, unsigned int datalen) + const struct ebt_entry *e, void *data, unsigned int datalen, + unsigned int version) { struct ebt_ip_info *info = (struct ebt_ip_info *)data; if (datalen != sizeof(struct ebt_ip_info)) return -EINVAL; + if (ebt_check_version(version, filter_ip.version, filter_ip.name)) + return -EINVAL; if (e->ethproto != __constant_htons(ETH_P_IP) || e->invflags & EBT_IPROTO) return -EINVAL; @@ -102,6 +106,7 @@ static struct ebt_match filter_ip = .match = ebt_filter_ip, .check = ebt_ip_check, .me = THIS_MODULE, + .version = VERSIONIZE(1,0), }; static int __init init(void) |