Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e01e1c4 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "netfilter: contrack: Adding check for SIP/2.0"

parents a608c0b2 3cfcd57f
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
/* SIP extension for IP connection tracking.
 *
 * Copyright (c) 2015,2017, The Linux Foundation. All rights reserved.
 * Copyright (c) 2015,2017-2018, The Linux Foundation. All rights reserved.
 * (C) 2005 by Christian Hentschel <chentschel@arnet.com.ar>
 * based on RR's ip_conntrack_ftp.c and other modules.
 * (C) 2007 United Security Providers
@@ -1880,6 +1880,10 @@ static int sip_help_tcp(struct sk_buff *skb, unsigned int protoff,
	if (datalen < strlen("SIP/2.0 200"))
		return NF_ACCEPT;

	/* Check if the header contains SIP version */
	if (!strnstr(dptr, "SIP/2.0", datalen))
		return NF_ACCEPT;

	/* here we save the original datalength and data offset of the skb, this
	 * is needed later to split combined skbs
	 */
@@ -2051,6 +2055,10 @@ static int sip_help_udp(struct sk_buff *skb, unsigned int protoff,
	if (datalen < strlen("SIP/2.0 200"))
		return NF_ACCEPT;

	/* Check if the header contains SIP version */
	if (!strnstr(dptr, "SIP/2.0", datalen))
		return NF_ACCEPT;

	return process_sip_msg(skb, ct, protoff, dataoff, &dptr, &datalen);
}