From d891e9e5bc309d5aeb2ab774c76b34a92085b3e7 Mon Sep 17 00:00:00 2001 From: Bart De Schuymer Date: Sat, 1 Jun 2002 19:23:47 +0000 Subject: Initial revision --- .../ebtables-v2.0_vs_2.4.18.pre5.001.diff | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 kernel/patches/incremental-patches/ebtables-v2.0_vs_2.4.18.pre5.001.diff (limited to 'kernel/patches/incremental-patches/ebtables-v2.0_vs_2.4.18.pre5.001.diff') diff --git a/kernel/patches/incremental-patches/ebtables-v2.0_vs_2.4.18.pre5.001.diff b/kernel/patches/incremental-patches/ebtables-v2.0_vs_2.4.18.pre5.001.diff new file mode 100644 index 0000000..ba86d00 --- /dev/null +++ b/kernel/patches/incremental-patches/ebtables-v2.0_vs_2.4.18.pre5.001.diff @@ -0,0 +1,51 @@ +--- linux/net/bridge/netfilter/ebtables.c Fri May 3 20:37:08 2002 ++++ ebt2.0pre5.001/net/bridge/netfilter/ebtables.c Fri May 3 20:28:46 2002 +@@ -124,17 +124,26 @@ + (point->logical_out), &out->br_port->br->dev), EBT_ILOGICALOUT)) + + ) { +- if ( (point->bitmask & EBT_SOURCEMAC) && +- FWINV(!!memcmp(point->sourcemac, +- ((**pskb).mac.ethernet)->h_source, ETH_ALEN), +- EBT_ISOURCE) ) +- goto letscontinue; ++ char hlpmac[6]; ++ int j; + +- if ( (point->bitmask & EBT_DESTMAC) && +- FWINV(!!memcmp(point->destmac, +- ((**pskb).mac.ethernet)->h_dest, ETH_ALEN), +- EBT_IDEST) ) +- goto letscontinue; ++ if (point->bitmask & EBT_SOURCEMAC) { ++ for (j = 0; j < 6; j++) ++ hlpmac[j] = ((**pskb).mac.ethernet)-> ++ h_source[j] & point->sourcemsk[j]; ++ if (FWINV(!!memcmp(point->sourcemac, hlpmac, ++ ETH_ALEN), EBT_ISOURCE) ) ++ goto letscontinue; ++ } ++ ++ if (point->bitmask & EBT_DESTMAC) { ++ for (j = 0; j < 6; j++) ++ hlpmac[j] = ((**pskb).mac.ethernet)-> ++ h_dest[j] & point->destmsk[j]; ++ if (FWINV(!!memcmp(point->destmac, hlpmac, ++ ETH_ALEN), EBT_IDEST) ) ++ goto letscontinue; ++ } + + if (EBT_MATCH_ITERATE(point, ebt_do_match, *pskb, in, + out, counter_base + i) != 0) +--- linux/include/linux/netfilter_bridge/ebtables.h Fri May 3 20:37:08 2002 ++++ ebt2.0pre5.001/include/linux/netfilter_bridge/ebtables.h Thu May 2 19:01:09 2002 +@@ -136,7 +136,9 @@ + // the logical out-dev + __u8 logical_out[IFNAMSIZ]; + __u8 sourcemac[ETH_ALEN]; ++ __u8 sourcemsk[ETH_ALEN]; + __u8 destmac[ETH_ALEN]; ++ __u8 destmsk[ETH_ALEN]; + // sizeof ebt_entry + matches + __u16 watchers_offset; + // sizeof ebt_entry + matches + watchers -- cgit v1.2.3