< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate] expires Contact parameter can be parsed as negative if too large



Also, on closer examination of the code, the Expires and CSeq params are being set to zero unintentionally; both of those parameters are divisible by 2^32, meaning if they were slightly different, we'd be getting negative values.

Best regards,
Byron Campen

In the scalar02 torture-tests case, an over-large Contact expires param will be parsed as negative, and can be re-emitted. 

*snip*
In case scalar02:
Original text:
REGISTER sip:example.com SIP/2.0
Via: SIP/2.0/TCP host129.example.com;branch=z9hG4bK342sdfoi3
From: <sip:user@xxxxxxxxxxx>;tag=239232jh3
CSeq: 36893488147419103232 REGISTER
Call-ID: scalar02.23o0pd9vanlq3wnrlnewofjas9ui32
Max-Forwards: 300
Expires: 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  ;expires=280297596632815
Content-Length: 0


Encoded form:
REGISTER sip:example.com SIP/2.0
Via: SIP/2.0/TCP host129.example.com;branch=z9hG4bK342sdfoi3
Max-Forwards: 300
Contact: <sip:user@xxxxxxxxxxxxxxxxxxx>;expires=-559038737
From: <sip:user@xxxxxxxxxxx>;tag=239232jh3
Call-ID: scalar02.23o0pd9vanlq3wnrlnewofjas9ui32
CSeq: 0 REGISTER
Expires: 0
Content-Length: 0

*snip*

Best regards,
Byron Campen

_______________________________________________
resiprocate-devel mailing list

Attachment: smime.p7s
Description: S/MIME cryptographic signature