]> git.ipfire.org Git - thirdparty/xtables-addons.git/commitdiff
build: adjust for changed signature of ip_route_me_harder
authorJan Engelhardt <jengelh@inai.de>
Thu, 19 Nov 2020 11:28:55 +0000 (12:28 +0100)
committerJan Engelhardt <jengelh@inai.de>
Thu, 19 Nov 2020 11:28:55 +0000 (12:28 +0100)
(Cf. commit 46d6c5ae953cc0be38efd0e469284df7c4328cf8 in Linux.)

extensions/compat_xtables.h
extensions/xt_DELUDE.c
extensions/xt_ECHO.c
extensions/xt_TARPIT.c

index 36f322318fd730f8bd1a941949587ffea62007cd..ee0caa070aa1209463c9a57947a6962a3ce63a28 100644 (file)
                ((const unsigned char *)&addr)[3]
 #      define NIPQUAD_FMT "%hhu.%hhu.%hhu.%hhu"
 #endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0) || \
+    LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 9) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0)
+#else
+#      define ip_route_me_harder(xnet, xsk, xskb, xaddrtype) ip_route_me_harder((xnet), (xskb), (xaddrtype))
+#      define ip6_route_me_harder(xnet, xsk, xskb) ip_route_me_harder((xnet), (xskb))
+#endif
 
 static inline struct net *par_net(const struct xt_action_param *par)
 {
index b384c8e1c85dc5e21335bf9c4785fce989110ab5..89cc41abfcba433a24ff8a470d1588a3f9acaec4 100644 (file)
@@ -121,8 +121,7 @@ static void delude_send_reset(struct net *net, struct sk_buff *oldskb,
 
        /* ip_route_me_harder expects skb->dst to be set */
        skb_dst_set(nskb, dst_clone(skb_dst(oldskb)));
-
-       if (ip_route_me_harder(net, nskb, addr_type))
+       if (ip_route_me_harder(net, nskb->sk, nskb, addr_type))
                goto free_nskb;
        else
                niph = ip_hdr(nskb);
index e99312b1af450a8f89603be37f9d127d8f2ccf94..4376d2f22bdff28900fe2eb09ce895299cb7495c 100644 (file)
@@ -191,8 +191,7 @@ echo_tg4(struct sk_buff *oldskb, const struct xt_action_param *par)
 
        /* ip_route_me_harder expects the skb's dst to be set */
        skb_dst_set(newskb, dst_clone(skb_dst(oldskb)));
-
-       if (ip_route_me_harder(par_net(par), newskb, RTN_UNSPEC) != 0)
+       if (ip_route_me_harder(par_net(par), newskb->sk, newskb, RTN_UNSPEC) != 0)
                goto free_nskb;
 
        newip->ttl = ip4_dst_hoplimit(skb_dst(newskb));
index 4926f2e694e1157a74477423cedead61b8536b20..118c26c25b5112c1cf5b8f38fc37cc80a2a0c63d 100644 (file)
@@ -265,7 +265,7 @@ static void tarpit_tcp4(struct net *net, struct sk_buff *oldskb,
 #endif
                addr_type = RTN_LOCAL;
 
-       if (ip_route_me_harder(net, nskb, addr_type))
+       if (ip_route_me_harder(net, nskb->sk, nskb, addr_type))
                goto free_nskb;
        else
                niph = ip_hdr(nskb);
@@ -398,8 +398,7 @@ static void tarpit_tcp6(struct net *net, struct sk_buff *oldskb,
                      &ipv6_hdr(nskb)->daddr, sizeof(struct tcphdr),
                      IPPROTO_TCP,
                      csum_partial(tcph, sizeof(struct tcphdr), 0));
-
-       if (ip6_route_me_harder(net, nskb))
+       if (ip6_route_me_harder(net, nskb->sk, nskb))
                goto free_nskb;
 
        nskb->ip_summed = CHECKSUM_NONE;