Wireshark-commits: [Wireshark-commits] master 4002f98: ssl, dtls: use ProtocolVersion from Server H

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Mon, 16 Nov 2015 21:47:54 +0000 (UTC)
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=4002f98413cd07abf53535e83beb63ccde939db7
Submitter: Peter Wu (peter@xxxxxxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

4002f98 by Peter Wu (peter@xxxxxxxxxxxxx):

    ssl,dtls: use ProtocolVersion from Server Hello
    
    A DTLS capture from Jitsi Videobridge for Windows x64 (v519) using a
    (patched?) BouncyCastle 1.51.0 exposed the odd behavior where the
    ProtocolVersion from the record layer was always fixed to DTLSv1.2 while
    the server agrees to use DTLSv1.0.
    
    This resulted in a Malformed packet dissection of the ServerKeyExchange
    message which mistakenly expects a SignatureAndHash field. Fix this
    by using the protocol version from the ServerHello. Keep the fallback
    in case a capture starts in the middle of a SSL conversation.
    
    (Also display "DTLS" instead of "SSL" when the version is not yet
    determined for DTLS packets.)
    
    Bug: 11709
    Change-Id: I0719977e3b2208da1960121b01dc109fa76bfcb6
    Reviewed-on: https://code.wireshark.org/review/11821
    Petri-Dish: Peter Wu <peter@xxxxxxxxxxxxx>
    Tested-by: Petri Dish Buildbot <buildbot-no-reply@xxxxxxxxxxxxx>
    Reviewed-by: Peter Wu <peter@xxxxxxxxxxxxx>
    

Actions performed:

    from  c909900   ssl,dtls: use a single field to track ProtocolVersion
    adds  4002f98   ssl,dtls: use ProtocolVersion from Server Hello


Summary of changes:
 epan/dissectors/packet-dtls.c      |   54 ++++++++-------------------------
 epan/dissectors/packet-ssl-utils.c |   58 ++++++++++++++++++++++++++++++++++--
 epan/dissectors/packet-ssl-utils.h |    8 ++++-
 epan/dissectors/packet-ssl.c       |   38 ++---------------------
 4 files changed, 78 insertions(+), 80 deletions(-)