LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH] ipvs: correct initial offset of Call-ID header search in SIP

To: Julian Anastasov <ja@xxxxxx>
Subject: Re: [PATCH] ipvs: correct initial offset of Call-ID header search in SIP persistence engine
Cc: Marco Angaroni <marcoangaroni@xxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Mon, 7 Mar 2016 11:57:23 +0900
On Sat, Mar 05, 2016 at 01:47:04PM +0200, Julian Anastasov wrote:
> 
>       Hello,
> 
> On Sat, 5 Mar 2016, Marco Angaroni wrote:
> 
> > The IPVS SIP persistence engine is not able to parse the SIP header
> > "Call-ID" when such header is inserted in the first positions of
> > the SIP message.
> > 
> > When IPVS is configured with "--pe sip" option, like for example:
> > ipvsadm -A -u 1.2.3.4:5060 -s rr --pe sip -p 120 -o
> > some particular messages (see below for details) do not create entries
> > in the connection template table, which can be listed with:
> > ipvsadm -Lcn --persistent-conn
> > 
> > Problematic SIP messages are SIP responses having "Call-ID" header
> > positioned just after message first line:
> > SIP/2.0 200 OK
> > [Call-ID header here]
> > [rest of the headers]
> > 
> > When "Call-ID" header is positioned down (after a few other headers)
> > it is correctly recognized.
> > 
> > This is due to the data offset used in get_callid function call inside
> > ip_vs_pe_sip.c file: since dptr already points to the start of the 
> > SIP message, the value of dataoff should be initially 0. 
> > Otherwise the header is searched starting from some bytes after the 
> > first character of the SIP message.
> > 
> > Fixes: 758ff0338722 ("IPVS: sip persistence engine")
> > Signed-off-by: Marco Angaroni <marcoangaroni@xxxxxxxxx>
> 
>       Looks good to me. Simon, please apply.
> 
> Acked-by: Julian Anastasov <ja@xxxxxx>

Thanks, I have tentatively queued this up as a fix for v4.5.
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>