Wireshark-commits: [Wireshark-commits] master 9fff62e: Qt, http2: Add Follow HTTP/2 Stream function

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Sun, 22 Sep 2019 05:29:36 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=9fff62e2a8a19b94f665b2937242b65fe0ef49fc
Submitter: "Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>"
Changed: branch: master
Repository: wireshark

Commits:

9fff62e by Alexander Gryanko (xpahos@xxxxxxxxx):

    Qt, http2: Add Follow HTTP/2 Stream functionality
    
    The HTTP/2 protocol multiplexes a single TCP connection into multiple
    independent streams. The Follow TCP output can interleave multiple
    HTTP/2 streams, making it harder to analyze a single HTTP/2 stream.
    
    Add the ability to select HTTP/2 Streams within a TCP stream.
    Internally, the HTTP/2 dissector now stores the known Stream IDs in a
    set for every TCP session which allows an amortized O(n) lookup time for
    the previous/next/max Stream ID.
    
    [Peter: make the dissector responsible for clamping the HTTP/2 Stream ID
    instead of the Qt code, that should permit future optimizations.]
    
    Change-Id: I5d78f29904ae8f227ae36e1a883155c0ed719200
    Reviewed-on: https://code.wireshark.org/review/32221
    Reviewed-by: Peter Wu <peter@xxxxxxxxxxxxx>
    Petri-Dish: Peter Wu <peter@xxxxxxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Alexander Gryanko <xpahos@xxxxxxxxx>
    Reviewed-by: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
    

Actions performed:

    from  893a2d9   MSVC: Warn about unused formal parameters
     add  9fff62e   Qt, http2: Add Follow HTTP/2 Stream functionality


Summary of changes:
 debian/libwireshark0.symbols                     |   2 +
 doc/tshark.pod                                   |  23 +++-
 docbook/CMakeLists.txt                           |   1 +
 docbook/wsug_graphics/ws-follow-http2-stream.png | Bin 0 -> 57209 bytes
 docbook/wsug_src/WSUG_chapter_advanced.adoc      |   9 ++
 epan/dissectors/packet-http2.c                   | 151 +++++++++++++++++++++--
 epan/dissectors/packet-http2.h                   |  26 +++-
 epan/dissectors/packet-tcp.c                     |   4 +-
 epan/dissectors/packet-tcp.h                     |   4 +-
 epan/dissectors/packet-udp.c                     |   4 +-
 epan/follow.h                                    |   7 +-
 sharkd_session.c                                 |   3 +-
 test/suite_dissection.py                         |  27 ++++
 ui/cli/tap-follow.c                              |  23 +++-
 ui/qt/follow_stream_dialog.cpp                   |  91 +++++++++++++-
 ui/qt/follow_stream_dialog.h                     |   5 +-
 ui/qt/follow_stream_dialog.ui                    |  16 ++-
 ui/qt/main_window.h                              |   4 +-
 ui/qt/main_window.ui                             |   9 ++
 ui/qt/main_window_slots.cpp                      |  15 ++-
 ui/qt/packet_list.cpp                            |   1 +
 ui/qt/proto_tree.cpp                             |   1 +
 ui/qt/tcp_stream_dialog.ui                       |  64 +++++-----
 23 files changed, 418 insertions(+), 72 deletions(-)
 create mode 100644 docbook/wsug_graphics/ws-follow-http2-stream.png