|
@@ -1,77 +0,0 @@
|
|
|
-From 7c8791edac3e74f6ce0bf21f98bc820db8e55e62 Mon Sep 17 00:00:00 2001
|
|
|
-From: Baruch Siach <baruch@tkos.co.il>
|
|
|
-Date: Fri, 16 Nov 2018 07:23:32 +0200
|
|
|
-Subject: [PATCH] xtables-monitor: fix build with older glibc
|
|
|
-
|
|
|
-glibc older than 2.19 only expose BSD style fields of struct tcphdr when
|
|
|
-_BSD_SOURCE is define. Current glibc however, warn that _BSD_SOURCE is
|
|
|
-deprecated. Migrate to the GNU style of tcphdr fields to make the code
|
|
|
-compatible with any glibc version.
|
|
|
-
|
|
|
-Fix the following build failure:
|
|
|
-
|
|
|
-xtables-monitor.c: In function 'trace_print_packet':
|
|
|
-xtables-monitor.c:406:43: error: 'const struct tcphdr' has no member named 'th_sport'
|
|
|
- printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport));
|
|
|
- ^
|
|
|
-xtables-monitor.c:406:66: error: 'const struct tcphdr' has no member named 'th_dport'
|
|
|
- printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport));
|
|
|
- ^
|
|
|
-...
|
|
|
-
|
|
|
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
|
|
-Signed-off-by: Florian Westphal <fw@strlen.de>
|
|
|
----
|
|
|
-Upstream status: commit 7c8791edac3e74
|
|
|
-
|
|
|
- iptables/xtables-monitor.c | 30 ++++++++++++++----------------
|
|
|
- 1 file changed, 14 insertions(+), 16 deletions(-)
|
|
|
-
|
|
|
-diff --git a/iptables/xtables-monitor.c b/iptables/xtables-monitor.c
|
|
|
-index 3b1ca777a28a..5d1611122df5 100644
|
|
|
---- a/iptables/xtables-monitor.c
|
|
|
-+++ b/iptables/xtables-monitor.c
|
|
|
-@@ -403,26 +403,24 @@ static void trace_print_packet(const struct nftnl_trace *nlt, struct cb_arg *arg
|
|
|
- case IPPROTO_UDP:
|
|
|
- if (len < 4)
|
|
|
- break;
|
|
|
-- printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport));
|
|
|
-+ printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest));
|
|
|
- break;
|
|
|
- case IPPROTO_TCP:
|
|
|
- if (len < sizeof(*tcph))
|
|
|
- break;
|
|
|
-- printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport));
|
|
|
-- if (tcph->th_flags & (TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG)) {
|
|
|
-- if (tcph->th_flags & TH_SYN)
|
|
|
-- printf("SYN ");
|
|
|
-- if (tcph->th_flags & TH_ACK)
|
|
|
-- printf("ACK ");
|
|
|
-- if (tcph->th_flags & TH_FIN)
|
|
|
-- printf("FIN ");
|
|
|
-- if (tcph->th_flags & TH_RST)
|
|
|
-- printf("RST ");
|
|
|
-- if (tcph->th_flags & TH_PUSH)
|
|
|
-- printf("PSH ");
|
|
|
-- if (tcph->th_flags & TH_URG)
|
|
|
-- printf("URG ");
|
|
|
-- }
|
|
|
-+ printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest));
|
|
|
-+ if (tcph->syn)
|
|
|
-+ printf("SYN ");
|
|
|
-+ if (tcph->ack)
|
|
|
-+ printf("ACK ");
|
|
|
-+ if (tcph->fin)
|
|
|
-+ printf("FIN ");
|
|
|
-+ if (tcph->rst)
|
|
|
-+ printf("RST ");
|
|
|
-+ if (tcph->psh)
|
|
|
-+ printf("PSH ");
|
|
|
-+ if (tcph->urg)
|
|
|
-+ printf("URG ");
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
---
|
|
|
-2.19.1
|
|
|
-
|