Wireshark-commits: [Wireshark-commits] master c62547b: Refactor "Follow Stream" functionality on al

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Tue, 12 Jan 2016 15:08:32 +0000 (UTC)
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=c62547b9510eb1a0efe08972387bfa8559f444d5
Submitter: Michael Mann (mmann78@xxxxxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

c62547b by Michael Mann (mmann78@xxxxxxxxxxxx):

    Refactor "Follow Stream" functionality on all GUI interfaces.
    
    Create a "registration" system for Follow functionality so most of the work can be abstracted into a dissector and GUI can just be responsible for "display".
    This also removes the global variables in follow.c to open up multithreading possibilities.
    
    TCP, UDP and HTTP all have the same "tap interface" for Follow functionality (passing a tvb with byte data to "follow"). SSL still has it's own behavior, so Follow structures have to take that into account.
    
    TShark through the Follow registration now has support for HTTP.
    
    The only thing possibly missing is dynamic menu generation to further reduce explicit knowledge of Follow "type" (and rely on registration)
    
    Bug: 11988
    Change-Id: I559d9ee1312406ad0986d4dce9fa67ea2103b339
    Reviewed-on: https://code.wireshark.org/review/13161
    Reviewed-by: Michael Mann <mmann78@xxxxxxxxxxxx>
    

Actions performed:

    from  b65d30d   MAC LTE: fix dissection of out of band events
    adds  c62547b   Refactor "Follow Stream" functionality on all GUI interfaces.


Summary of changes:
 debian/libwireshark0.symbols       |   23 +-
 epan/dissectors/packet-http.c      |   29 +-
 epan/dissectors/packet-ssl-utils.h |    6 +
 epan/dissectors/packet-ssl.c       |   63 +++
 epan/dissectors/packet-tcp.c       |   52 +-
 epan/dissectors/packet-tcp.h       |    5 +
 epan/dissectors/packet-udp.c       |   50 ++
 epan/follow.c                      |  367 +++++---------
 epan/follow.h                      |  183 +++++--
 epan/to_str.h                      |    2 +-
 ui/Makefile.common                 |    1 -
 ui/cli/tap-follow.c                |  944 ++++++++----------------------------
 ui/follow.h                        |   99 ----
 ui/gtk/CMakeLists.txt              |    4 -
 ui/gtk/Makefile.common             |    8 -
 ui/gtk/conversations_table.c       |    3 +-
 ui/gtk/follow_http.c               |  313 ------------
 ui/gtk/follow_http.h               |   44 --
 ui/gtk/follow_ssl.c                |  352 --------------
 ui/gtk/follow_ssl.h                |   45 --
 ui/gtk/follow_stream.c             |  517 +++++++++++++++-----
 ui/gtk/follow_stream.h             |   60 ++-
 ui/gtk/follow_tcp.c                |  327 -------------
 ui/gtk/follow_tcp.h                |   55 ---
 ui/gtk/follow_udp.c                |  313 ------------
 ui/gtk/follow_udp.h                |   45 --
 ui/gtk/font_utils.c                |    4 +-
 ui/gtk/main.c                      |    1 -
 ui/gtk/main_menubar.c              |    5 +-
 ui/gtk/prefs_font_color.c          |    4 +-
 ui/qt/conversation_dialog.cpp      |    1 +
 ui/qt/follow_stream_dialog.cpp     |  508 +++----------------
 ui/qt/follow_stream_dialog.h       |   21 +-
 ui/qt/main_window.cpp              |    2 +-
 ui/qt/traffic_table_dialog.h       |    2 +-
 35 files changed, 1205 insertions(+), 3253 deletions(-)
 delete mode 100644 ui/follow.h
 delete mode 100644 ui/gtk/follow_http.c
 delete mode 100644 ui/gtk/follow_http.h
 delete mode 100644 ui/gtk/follow_ssl.c
 delete mode 100644 ui/gtk/follow_ssl.h
 delete mode 100644 ui/gtk/follow_tcp.c
 delete mode 100644 ui/gtk/follow_tcp.h
 delete mode 100644 ui/gtk/follow_udp.c
 delete mode 100644 ui/gtk/follow_udp.h