Wireshark-commits: [Wireshark-commits] master e190253: Fix STARTTLS handling in various dissectors

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Mon, 9 Feb 2015 14:03:38 +0000 (UTC)
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=e190253478cea8ab10903e83daafeb3574ad0f04
Submitter: Michael Mann (mmann78@xxxxxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

e190253 by Peter Wu (peter@xxxxxxxxxxxxx):

    Fix STARTTLS handling in various dissectors
    
    This patch lets a dissector hand over control to the SSL dissector which
    simplifies dissector code ("TCP | App | SSL | App" becomes
    "TCP | SSL | App").
    
    After this patch, all of the affected dissectors will now be dissected
    as SSL with its Application Data being treated as the protocol before
    STARTTLS. This was previously not the case because the port was not
    registered for dissection via ssl_dissector_add.
    
    The desegmentation issue within the MySQL dissector is now also gone.
    Convert some tvb_length[_remaining] users in pop and smtp as well.
    
    Tested against mysql-ssl.pcapng and mysql-ssl-larger.pcapng(*1),
    Tested against pop-ssl.pcapng (note: only first stream is decrypted,
    either the key after negotiation is wrong or there is a bug),
    Tested against smtp-ssl.pcapng and smtp2525-ssl.pcapng (with Decode As)
    and smtp-ssl.pcapng with filter "tcp.len>0",
    Tested against xmpp-ssl.pcapng,
    http://wiki.wireshark.org/SampleCaptures#SSL_with_decryption_keys
    
     *1) mysql-ssl-larger has MySQL dissector errors for the fragmented
         SSL packet, but reassembly seems to work. Needs further
         investigation.
    
    Bug: 9515
    Change-Id: I408ef8ff30d9edc8954dab9b3615900666dfa932
    Reviewed-on: https://code.wireshark.org/review/6981
    Reviewed-by: Michael Mann <mmann78@xxxxxxxxxxxx>
    

Actions performed:

    from  93ed726   ssl,dtls,ssl-utils: Prepare for STARTTLS handling
    adds  e190253   Fix STARTTLS handling in various dissectors


Summary of changes:
 epan/dissectors/packet-mysql.c      |   24 +++-----------------
 epan/dissectors/packet-pop.c        |   37 +++++++------------------------
 epan/dissectors/packet-smtp.c       |   41 ++++++++---------------------------
 epan/dissectors/packet-xmpp-core.c  |   12 +++++-----
 epan/dissectors/packet-xmpp-utils.h |    1 -
 epan/dissectors/packet-xmpp.c       |   26 +---------------------
 6 files changed, 28 insertions(+), 113 deletions(-)