1. 26 Jun, 2022 1 commit
  2. 25 Jun, 2022 1 commit
    • John Thacker's avatar
      HTTP: Add chunks as items instead of calling data dissector · c8bf5817
      John Thacker authored
      HTTP chunked transfer encoding can have lots of chunks, and calling
      the data dissector for each individual chunk adds a large number of
      layers to the frame and doesn't really make sense. (As opposed to
      calling the data dissector on the reassembled data if we can't handle
      the content type, which does make sense.) In particular, this can
      cause a failed assertion by adding more layers than
      PINFO_LAYER_MAX_RECURSION_DEPTH.
      
      Just add each data chunk as a FT_BYTES item. Fix #18130.
      
      
      (cherry picked from commit e49a69f3)
      c8bf5817
  3. 24 Jun, 2022 2 commits
  4. 21 Jun, 2022 1 commit
  5. 20 Jun, 2022 1 commit
  6. 19 Jun, 2022 1 commit
  7. 18 Jun, 2022 1 commit
    • John Thacker's avatar
      MEGACO: Reset bracket counters after a Topology Descriptor · e11cac49
      John Thacker authored
      After parsing a Topology Descriptor at the start of a request
      or reply command, reset the left and right bracket counters
      before going back to the top of the loop to parse the next
      command, just like how done at the end of the while loop with
      a normal command.
      
      Prevents marking as malformed packets which have a Topology Descriptor
      followed by a single command (e.g. Move) without any trailing
      descriptors, and hence no more left brackets.
      
      
      (cherry picked from commit 9319394a)
      e11cac49
  8. 16 Jun, 2022 2 commits
  9. 15 Jun, 2022 3 commits
  10. 14 Jun, 2022 2 commits
    • John Thacker's avatar
      tftp: Handle TFTP servers that don't switch ports · ea59fc43
      John Thacker authored
      If we get into the dissect_tftp call, we must have either matched
      a WRQ/RRQ at some point and created a wildcarded UDP conversation,
      or we matched the TFTP port. While it is contrary to the spirit
      of RFC 1350 for the server not to switch ports, it basically works
      and the port is IANA assigned, so it doesn't do harm to process these.
      In the heuristic dissector, of course, we don't do this.
      
      The conversation code doesn't automatically fill in wildcarded
      ports for UDP (since it's connectionless), and the wildcarded
      find_conversation call in the TFTP dissector was twisted around
      so it didn't actually fill in the second port before anyway.
      Filling in the server port would make sense, but then the necessary
      logic to find the right conversations would be more complicated.
      (The default find_conversation logic prefers any conversation with
      both ports to a wildcarded conversation, but the TFTP dissector would
      then want the most recent conversation, whether wildcarded or with
      both ports.)
      
      These packets were handled prior to the 3.6 changes. Fix #18122
      
      (cherry picked from commit 47c418d4)
      ea59fc43
    • John Thacker's avatar
      tftp: Fix spelling · c4f1711f
      John Thacker authored
      
      (cherry picked from commit 01f9dcbb)
      c4f1711f
  11. 12 Jun, 2022 1 commit
  12. 05 Jun, 2022 3 commits
    • Jakub Jirutka's avatar
      Qt: Fix segfault when some ICU codec is not available · 635286ce
      Jakub Jirutka authored and Gerald Combs's avatar Gerald Combs committed
          $ gdb --args wireshark
          (gdb) run
          Starting program: /usr/bin/wireshark
          [New LWP 10363]
          [New LWP 10364]
           ** (wireshark:10356) 13:13:14.137941 [GUI WARNING] -- codecForName: ucnv_open failed ISO-8859-2 U_FILE_ACCESS_ERROR
          (gdb) bt
          Thread 1 "wireshark" received signal SIGSEGV, Segmentation fault.
          0x00005555557b1959 in MainWindow::findTextCodecs (this=0x7fffecdfd390) at wireshark-3.6.5/ui/qt/main_window.cpp:2029
          2029            QString key = codec->name().toUpper();
          (gdb) bt
          #0  0x00005555557b1959 in MainWindow::findTextCodecs (this=0x7fffecdfd390) at wireshark-3.6.5/ui/qt/main_window.cpp:2029
          #1  0x00005555557b4ce3 in MainWindow::MainWindow (this=this@entry=0x7fffecdfd390, parent=parent@entry=0x0) at wireshark-3.6.5/ui/qt/main_window.cpp:362
          #2  0x000055555564f0af in main (argc=<optimized out>, qt_argv=0x7fffffffe748) at wireshark-3.6.5/ui/qt/main.cpp:725
      
      See https://gitlab.alpinelinux.org/alpine/aports/-/issues/13814 for more
      information.
      635286ce
    • Dr. Lars Völker's avatar
      FlexRay: Fixing tvb_bytes_to_str_punct warnings · afc14ac5
      Dr. Lars Völker authored and Gerald Combs's avatar Gerald Combs committed
      afc14ac5
    • Gerald Combs's avatar
      [Automatic update for 2022-06-05] · 79512aed
      Gerald Combs authored
      Update manuf, services enterprise numbers, translations, and other items.
      79512aed
  13. 01 Jun, 2022 1 commit
  14. 31 May, 2022 1 commit
  15. 29 May, 2022 1 commit
  16. 22 May, 2022 1 commit
  17. 19 May, 2022 1 commit
    • John Thacker's avatar
      QT: Default sort simple stat tables by first column ascending · fa819751
      John Thacker authored
      Without this, the simple stat tables default to sorting by the first
      column in descending order. (An artifact of the QTreeWidget that they
      inherit from.) The first column is generally a message type (integer or
      string) and ascending order makes more sense.
      
      Some of the stat tables intentionally insert rows in a preferred order
      that is different than sorting by the first column (e.g, ANSI A I/F tables
      are sorted by the second column), but we can't tell what that is.
      QTreeWidget only allows the data to be shown in its original unsorted
      order if the widget is marked unsortable, but then the user isn't allowed
      to sort at all, and being able to sort by other columns (such as count)
      is useful.
      
      
      (cherry picked from commit 7987df81)
      fa819751
  18. 18 May, 2022 1 commit
  19. 17 May, 2022 1 commit
    • Roland Knall's avatar
      Qt: Fix File Path editor in table · d8d655a6
      Roland Knall authored and Roland Knall's avatar Roland Knall committed
      The current situation in UatDelegate as well as PathChooserDelegate leads to issues, where Wireshark crashes if the button is clicked. This is due to the UI not correctly positioning the button inside the cell.
      
      This change implements a widget, which will serve as cell content, handling all relations with choosing the file, but also properly handling the size and geometry of said cell content, therefore no longer leading to crashes and cleaning up code at the same time, as duplicate methods are being removed.
      
      Fixes #17789, #17819, #18088
      d8d655a6
  20. 16 May, 2022 6 commits
    • Roland Knall's avatar
      extcap: Close pipe on windows properly · 7cfb215b
      Roland Knall authored and Gerald Combs's avatar Gerald Combs committed
      Windows implements so called CRT handlers, which will catch any
      assertions happening inside so called crt routines and either
      displays a debug dialog (Cancel, Retry, Ignore) or outright crashes
      the application.
      
      See
      https://docs.microsoft.com/en-us/cpp/c-runtime-library/parameter-validation?view=msvc-170
      for an explanation of the behaviour.
      
      Now, in the current situation here, close will detect (correctly)
      that the pipe it is supposed to be closing is already closed. This
      happens (again correctly) because it had been closed by the extcap
      application.
      
      The change added, checks for a closed pipe first, and if so just
      returns -1 (as it should) silently without calling the CRT routine,
      therefore not crashing
      
      
      (cherry picked from commit 28b917a7)
      7cfb215b
    • Gerald Combs's avatar
      Tools: Don't validate file_util.c. · f6a65b78
      Gerald Combs authored and Gerald Combs's avatar Gerald Combs committed
      It's Windows-only.
      
      (cherry picked from commit 6c612bf2)
      f6a65b78
    • Gerald Combs's avatar
      Tools: Only validate a file if we have a build rule for it. · 029f874c
      Gerald Combs authored and Gerald Combs's avatar Gerald Combs committed
      In validate-clang-check.sh, only check files that have rules in
      compile_commands.json or build.ninja.
      
      (cherry picked from commit b53d3495)
      029f874c
    • Jaap Keuter's avatar
      Validate only real C files, not templates · 5b7b836e
      Jaap Keuter authored and Gerald Combs's avatar Gerald Combs committed
      (cherry picked from commit a4cbf047)
      5b7b836e
    • Anders Broman's avatar
      Ignore packet-PROTOABBREV.c · 2de4d3e6
      Anders Broman authored and Gerald Combs's avatar Gerald Combs committed
      (cherry picked from commit b5928542)
      2de4d3e6
    • Zoran Bošnjak's avatar
      asterix: Dissector automatic update from spec files · 80ba02ed
      Zoran Bošnjak authored and Gerald Combs's avatar Gerald Combs committed
      Asterix data format is a complex family of asterix categories,
      where each individual category exists in multiple editions.
      As a result of many variants, the epan/dissectors/packet-asterix.c
      is one of the largest dissectors.
      
      So far, the asterix dissector had been maintained manually, where the
      generic decoding routines and category/edition specific definitions
      were entangled in the same file (packet-asterix.c).
      
      This commit preserves the overall dissector structure, but makes
      it easy to update the dissector with new categories or editions as
      they become available (via the update script from this commit).
      See tools/asterix/README.md file for dissector update procedure.
      
      This commit includes:
      
      - tools/asterix/packet-asterix-template.c
        Extraction of generic asterix decoding routines and
        common data structures.
      
      - tools/asterix/update-specs.py
        Update script, to render the template with up-to-date asterix
        specs files. The asterix specs files themselves are maintained in
        a separate repository.
      
      - epan/dissectors/packet-asterix.c
        Automatically generated dissector for asterix data format.
        Although generated, this file needs to remain in the repository,
        to be able to build the project in a reproducible way.
      
      The generated asterix dissector was additionally tested with:
      
      - ./tools/check_typed_item_calls.py --mask
      - ./tools/fuzz-test.sh
      
      Sync with asterix-specs #cef694825c
      
      (cherry picked from commit 16779dc4)
      80ba02ed
  21. 15 May, 2022 1 commit
  22. 12 May, 2022 2 commits
  23. 11 May, 2022 1 commit
    • Roland Knall's avatar
      Qt: Fix display filter read/write · 25515d21
      Roland Knall authored
      Display filters on Windows where broken in such a way that the file was generated with empty lines and the wrong file delimiters.
      
      Likewise, loading the file lead to issues when the formatting was not 100% match by the plattform being used
      
      Fixes #18082
      
      
      (cherry picked from commit ad28888d)
      25515d21
  24. 08 May, 2022 1 commit
  25. 06 May, 2022 1 commit
  26. 05 May, 2022 2 commits
    • Peter Wu's avatar
      TLS: fix RSA decryption with EMS and renegotiation · 3d310e89
      Peter Wu authored
      The handshake hash is used to derive TLS decryption keys when the
      Extended Master Secret (EMS) extension is in use.
      ssl_calculate_handshake_hash updates this hash only when the master
      secret has not been determined yet.
      
      During TLS renegotiation, there are two master secrets: one before, and
      one after. Before this fix, the second calculated master secret is
      wrong because the second Client Hello is missing in the handshake hash.
      It was missing because the handshake hash was not being updated since
      the master secret for the first handshake was still present, and the
      decryption state was only reset after that hash update.
      
      To fix this, make sure to clear the SSL_MASTER_SECRET flag before
      updating the handshake hash when needed. Additionally, clear the
      handshake hash when processing the Client Hello just to make sure that
      any previous state is gone.
      
      Fixes #18059
      
      (cherry picked from commit 62100da7)
      3d310e89
    • Gerald Combs's avatar
      Version: 3.6.5 → 3.6.6 · e7919534
      Gerald Combs authored
      [skip ci]
      e7919534