Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-commits: [Wireshark-commits] master 7e7bf82: Fix Bug 9872: 'SIP status line in 200 OK for

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Wed, 12 Mar 2014 12:51:50 +0000 (UTC)
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=7e7bf824564ab936fd2aafba269b4d73e406aa48
Submitter: Alexis La Goutte (alexis.lagoutte@xxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

7e7bf82 by Hadriel Kaplan (hadrielk@xxxxxxxxx):

    Fix Bug 9872: 'SIP status line in 200 OK for de-registration is misleading'
    
    The status line of the 200 OK during a deregistration is (1 bindings), but it
    should be (0 bindings). Wireshark should check the "expires=0" in the contact
    header not just count the number of the contact lines. But since it's not
    truly valid to have expires=o contacts in responses, this commit adds expert
    info warning of such.
    
    Also, the REGISTER request itself already says "(remove all bindings)"
    in the Info column currently if the Contact was a '*', but it didn't
    say something similar if only de-registering one or more explicit
    contacts. This has been fixed as well.
    
    Lastly, this fixes three other bugs I found while reading the code and testing:
    (1) comma-separated Contact headers will be displayed as a single one if
    the first one(s) don't have header params but a subsequent one does; and
    (2) the last Contact header param is displayed with the trailing '\r\n'
    header separator; and (3) the SIP REGISTER response code displayed contact
    binding info for responses other than 2xx, which isn't logical.
    
    Since all of these are in the same area and not critical, I'm lumping these
    all together.
    
    A test capture file used for testing is attached to the bug.
    
    As an aside, the SIP header parsing code needs to be refactored. Most SIP
    headers follow a common ABNF pattern, and should be parsed using a common
    function(s) so these issues don't crop up for specific headers.
    
    Change-Id: I16c531fcb244dc121fc0e8046908e475b41489f9
    Reviewed-on: https://code.wireshark.org/review/612
    Reviewed-by: Anders Broman <a.broman58@xxxxxxxxx>
    Reviewed-by: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
    Tested-by: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
    

Actions performed:

    from  1ab950c   Enhance VXLAN dissector
    adds  7e7bf82   Fix Bug 9872: 'SIP status line in 200 OK for de-registration is misleading'


Summary of changes:
 epan/dissectors/packet-sip.c |  130 ++++++++++++++++++++++++++++++++++++++----
 1 file changed, 120 insertions(+), 10 deletions(-)