Wireshark-commits: [Wireshark-commits] master 59b2ea5: Fix STUN-over-SSL/TLS/DTLS.

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Sat, 26 May 2018 17:54:18 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=59b2ea5129bfa3046ee2ffc21a6f2564ecbf78f0
Submitter: Guy Harris (guy@xxxxxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

59b2ea5 by Guy Harris (guy@xxxxxxxxxxxx):

    Fix STUN-over-SSL/TLS/DTLS.
    
    Different dissectors are required for protocols running atop SSL/TLS and
    protocols running atop DTLS - SSL/TLS provides a byte-stream service, so
    there's no guarantee that there's a correspondence between SSL/TLS
    application data record boundaries and packet boundaries, but DTLS
    provides a datagram service, with packet boundaries corresponding to
    application data record boundaries.
    
    This is similar to the difference between dissectors for protocols
    running atop TCP and protocols running atop protocols such as UDP.
    
    So have two separate tables mapping Application-Layer Protocol
    Negotiation (ALPN) Protocol IDs to dissector names - one for SSL/TLS and
    one for DTLS.
    
    There are both "over a byte-stream protocol" and "over a packet-oriented
    protocol" dissectors for STUN and TURN ChannelData packets.  Register
    the "over a byte-stream protocol" ones by name, and use the appropriate
    ones in the appropriate tables.  (There is not one named "stun", so the
    STUN dissector wouldn't have been called at all.)
    
    Change-Id: I054e169f6ae3291abdc7eb58918ef65a17c90a63
    Reviewed-on: https://code.wireshark.org/review/27822
    Reviewed-by: Guy Harris <guy@xxxxxxxxxxxx>
    

Actions performed:

    from  e299b40   SCTP: plug the remaining memleaks in the tap
    adds  59b2ea5   Fix STUN-over-SSL/TLS/DTLS.


Summary of changes:
 epan/dissectors/packet-ssl-utils.c   | 35 ++++++++++++++++++++++++++++-------
 epan/dissectors/packet-stun.c        |  5 +++--
 epan/dissectors/packet-turnchannel.c |  6 ++----
 3 files changed, 33 insertions(+), 13 deletions(-)