[reSIProcate] [ReSIProcate_1.1_RC2] submit a patch for DUM/ClientPublication.cxx

zze-Omnipresence ROUILLIER F ext RD-MAPS-REN frouillier.ext at orange-ftgroup.com
Wed Mar 14 06:07:21 CDT 2007


> Dear reSIProcate team,
> 
> I find a bug in the implementation of the "ClientPublication" class
> when handling response to a 412 message received from server.
> 
> You previously remove the "SIP-if-match" tag and republish the
> document. 
> 
> This SHALL NOT be done if the 412 response is received when trying to
> end the publication (Expires header set to 0)
> 
> In that case nothing more have to be done ! 
> 
> In fact publishing again with expires set to 0 and without a
> Sip-if-match will raise a 412 again and again !!!
> 
> 
> void ClientPublication::dispatch(const SipMessage& msg) {
> 
> ...
>          if (code == 412)
>          {
> 			// Receive a 412 while ending a publication,
> nothing more to do in this case.
> 			if(mPublish->header(h_Expires).value() != 0 )
> 			{
> 				InfoLog(<< "SIPIfMatch failed --
> republish");
> 				mPublish->remove(h_SIPIfMatch);
> 				update(mDocument);
> 				return;
> 			}
> 			else {
> 				delete this;
> 				return;
> 			}
>          }         
>          else if (code == 423) // interval too short
> 
> ...
> }
> 
Hope this will be corrected in next candidate release

> Best Regards
> 
> Fabrice ROUILLIER
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20070314/d549acb7/attachment.htm>


More information about the resiprocate-devel mailing list