From b43b62c5070e90323af148c8ea7b446d3491ea9a Mon Sep 17 00:00:00 2001 From: Bart De Schuymer Date: Mon, 21 Oct 2002 17:38:16 +0000 Subject: call nf_bridge_alloc, don't use BRNF_COPY_HEADER --- br-nf-bds/linux2.5/net/bridge/br_netfilter.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'br-nf-bds') diff --git a/br-nf-bds/linux2.5/net/bridge/br_netfilter.c b/br-nf-bds/linux2.5/net/bridge/br_netfilter.c index ef14531..3e72859 100644 --- a/br-nf-bds/linux2.5/net/bridge/br_netfilter.c +++ b/br-nf-bds/linux2.5/net/bridge/br_netfilter.c @@ -6,7 +6,7 @@ * Lennert Buytenhek * Bart De Schuymer * - * $Id: br_netfilter.c,v 1.3 2002/10/19 14:33:23 bdschuym Exp $ + * $Id: br_netfilter.c,v 1.4 2002/10/21 17:38:16 bdschuym Exp $ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -253,8 +253,9 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff **pskb, #ifdef CONFIG_NETFILTER_DEBUG skb->nf_debug ^= (1 << NF_IP_PRE_ROUTING); #endif + if ((nf_bridge = nf_bridge_alloc(skb)) == NULL) + return NF_DROP; - nf_bridge = skb->nf_bridge; if (skb->pkt_type == PACKET_OTHERHOST) { skb->pkt_type = PACKET_HOST; nf_bridge->mask |= BRNF_PKT_TYPE; @@ -503,7 +504,6 @@ static unsigned int br_nf_post_routing(unsigned int hook, struct sk_buff **pskb, } memcpy(nf_bridge->hh, skb->data - 16, 16); - nf_bridge->mask |= BRNF_COPY_HEADER; NF_HOOK(PF_INET, NF_IP_POST_ROUTING, skb, NULL, bridge_parent(skb->dev), br_dev_queue_push_xmit); @@ -545,8 +545,8 @@ static unsigned int ipv4_sabotage_out(unsigned int hook, struct sk_buff **pskb, struct sk_buff *skb = *pskb; struct nf_bridge_info *nf_bridge; - if (!skb->nf_bridge) - nf_bridge_alloc(skb); + if (!skb->nf_bridge && !nf_bridge_alloc(skb)) + return NF_DROP; nf_bridge = skb->nf_bridge; -- cgit v1.2.3