From 8751fb8c8e83470acee25c4999139db707a0145b Mon Sep 17 00:00:00 2001 From: Bart De Schuymer Date: Thu, 1 May 2003 20:28:20 +0000 Subject: arp mac address matching was added by --- kernel/linux/include/linux/netfilter_bridge/ebt_arp.h | 2 +- kernel/linux/net/bridge/netfilter/ebt_arp.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/linux/include/linux/netfilter_bridge/ebt_arp.h b/kernel/linux/include/linux/netfilter_bridge/ebt_arp.h index f733b4c..537ec6b 100644 --- a/kernel/linux/include/linux/netfilter_bridge/ebt_arp.h +++ b/kernel/linux/include/linux/netfilter_bridge/ebt_arp.h @@ -9,7 +9,7 @@ #define EBT_ARP_SRC_MAC 0x20 #define EBT_ARP_DST_MAC 0x40 #define EBT_ARP_MASK (EBT_ARP_OPCODE | EBT_ARP_HTYPE | EBT_ARP_PTYPE | \ - EBT_ARP_SRC_IP | EBT_ARP_DST_IP | EBT_ARP_SRC_MAC | EBT_ARP_DST_MAC ) + EBT_ARP_SRC_IP | EBT_ARP_DST_IP | EBT_ARP_SRC_MAC | EBT_ARP_DST_MAC) #define EBT_ARP_MATCH "arp" struct ebt_arp_info diff --git a/kernel/linux/net/bridge/netfilter/ebt_arp.c b/kernel/linux/net/bridge/netfilter/ebt_arp.c index 0b3ffe1..5a79e15 100644 --- a/kernel/linux/net/bridge/netfilter/ebt_arp.c +++ b/kernel/linux/net/bridge/netfilter/ebt_arp.c @@ -79,6 +79,7 @@ static int ebt_filter_arp(const struct sk_buff *skb, const struct net_device *in return EBT_NOMATCH; if (info->bitmask & EBT_ARP_SRC_MAC) { uint8_t verdict, i; + memcpy(&src, ((*skb).nh.raw) + sizeof(struct arphdr), ETH_ALEN); @@ -92,6 +93,7 @@ static int ebt_filter_arp(const struct sk_buff *skb, const struct net_device *in if (info->bitmask & EBT_ARP_DST_MAC) { uint8_t verdict, i; + memcpy(&dst, ((*skb).nh.raw) + sizeof(struct arphdr) + (((*skb).nh.arph)->ar_hln) + -- cgit v1.2.3