diff options
author | Alin Nastac <alin.nastac@gmail.com> | 2020-05-27 09:34:25 +0200 |
---|---|---|
committer | Alin Nastac <alin.nastac@technicolor.com> | 2020-05-27 12:49:21 +0200 |
commit | 901a33667b2841b14964d6bce31b561a937bafb5 (patch) | |
tree | 229ffad94e0960e9de619fd82054b9389472f65a | |
parent | dfd6bf328d6f841a1d52def9d6b0e3f8ab21b6e0 (diff) |
xtables-addons: fix RTSP helper support for client_port=x/y Transport attribute
Signed-off-by: Alin Nastac <alin.nastac@gmail.com>
-rw-r--r-- | net/xtables-addons/Makefile | 2 | ||||
-rw-r--r-- | net/xtables-addons/patches/100-add-rtsp-conntrack.patch | 15 |
2 files changed, 11 insertions, 6 deletions
diff --git a/net/xtables-addons/Makefile b/net/xtables-addons/Makefile index dff450a6b..8b7aea502 100644 --- a/net/xtables-addons/Makefile +++ b/net/xtables-addons/Makefile @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=xtables-addons PKG_VERSION:=3.9 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_HASH:=064dd68937d98e6cfcbdf51ef459310d9810c17ab31b21285bc7a76cdcef7c49 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz diff --git a/net/xtables-addons/patches/100-add-rtsp-conntrack.patch b/net/xtables-addons/patches/100-add-rtsp-conntrack.patch index 9eddf780d..dbdc52e94 100644 --- a/net/xtables-addons/patches/100-add-rtsp-conntrack.patch +++ b/net/xtables-addons/patches/100-add-rtsp-conntrack.patch @@ -671,7 +671,7 @@ + + rtp_exp->flags = 0; + -+ if (expinfo.pbtype == pb_range) { ++ if (expinfo.pbtype == pb_range || expinfo.pbtype == pb_discon) { + pr_debug("setup expectation for rtcp\n"); + + be_hiport = htons(expinfo.hiport); @@ -833,7 +833,7 @@ + goto out; + + /* replace rtcp expect src addr */ -+ if (expinfo.pbtype == pb_range) { ++ if (expinfo.pbtype == pb_range || expinfo.pbtype == pb_discon) { + t.dst.u.all = htons(expinfo.hiport); + + /* get the rtcp expect and replace the srcaddr with RTP server addr */ @@ -1082,7 +1082,7 @@ +#endif /* _IP_CONNTRACK_RTSP_H */ --- /dev/null +++ b/extensions/rtsp/nf_nat_rtsp.c -@@ -0,0 +1,635 @@ +@@ -0,0 +1,640 @@ +/* + * RTSP extension for TCP NAT alteration + * (C) 2003 by Tom Marshall <tmarshall at real.com> @@ -1333,8 +1333,8 @@ + } + } + for (hiport = prtspexp->hiport; hiport != 0; hiport++) { /* XXX: improper wrap? */ -+ rtp_t->dst.u.udp.port = htons(hiport); -+ if (rtsp_nf_ct_expect_related(rtp_exp) == 0) { ++ rtcp_exp->tuple.dst.u.udp.port = htons(hiport); ++ if (rtsp_nf_ct_expect_related(rtcp_exp) == 0) { + pr_debug("using port %hu (2 of 2)\n", hiport); + break; + } @@ -1343,6 +1343,11 @@ + rbuf1len = sprintf(rbuf1, "%hu", loport); + rbufalen = sprintf(rbufa, hiport == loport+1 ? + "%hu-%hu":"%hu/%hu", loport, hiport); ++ } else { ++ if (loport != 0) ++ nf_ct_unexpect_related(rtp_exp); ++ if (hiport != 0) ++ nf_ct_unexpect_related(rtcp_exp); + } + break; + } |