diff --git a/extensions/xt_DELUDE.c b/extensions/xt_DELUDE.c index 618de5e..b384c8e 100644 --- a/extensions/xt_DELUDE.c +++ b/extensions/xt_DELUDE.c @@ -107,8 +107,13 @@ static void delude_send_reset(struct net *net, struct sk_buff *oldskb, addr_type = RTN_UNSPEC; #ifdef CONFIG_BRIDGE_NETFILTER +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0) + if (hook != NF_INET_FORWARD || ((struct nf_bridge_info *)skb_ext_find(nskb, SKB_EXT_BRIDGE_NF) != NULL && + ((struct nf_bridge_info *)skb_ext_find(nskb, SKB_EXT_BRIDGE_NF))->physoutdev)) +#else if (hook != NF_INET_FORWARD || (nskb->nf_bridge != NULL && nskb->nf_bridge->physoutdev)) +#endif #else if (hook != NF_INET_FORWARD) #endif diff --git a/extensions/xt_TARPIT.c b/extensions/xt_TARPIT.c index cb98e9e..708e1c2 100644 --- a/extensions/xt_TARPIT.c +++ b/extensions/xt_TARPIT.c @@ -249,8 +249,13 @@ static void tarpit_tcp4(struct net *net, struct sk_buff *oldskb, niph->id = ~oldhdr->id + 1; #ifdef CONFIG_BRIDGE_NETFILTER +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0) + if (hook != NF_INET_FORWARD || ((struct nf_bridge_info *)skb_ext_find(nskb, SKB_EXT_BRIDGE_NF) != NULL && + ((struct nf_bridge_info *)skb_ext_find(nskb, SKB_EXT_BRIDGE_NF))->physoutdev)) +#else if (hook != NF_INET_FORWARD || (nskb->nf_bridge != NULL && nskb->nf_bridge->physoutdev != NULL)) +#endif #else if (hook != NF_INET_FORWARD) #endif