aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.cirrus.yml12
-rw-r--r--.editorconfig11
-rw-r--r--.github/lockdown.yml10
-rw-r--r--.github/workflows/macos.yml55
-rw-r--r--.github/workflows/options.yml47
-rw-r--r--.github/workflows/ubuntu.yml46
-rw-r--r--.github/workflows/windows.yml70
-rw-r--r--.gitignore11
-rw-r--r--.gitlab-ci.yml216
-rw-r--r--.gitlab/issue_templates/Bug.md33
-rw-r--r--.gitlab/issue_templates/FeatureRequest.md10
-rw-r--r--.gitreview6
-rw-r--r--.travis.yml138
-rw-r--r--.tx/config1
-rw-r--r--AUTHORS136
-rw-r--r--AUTHORS.src35
-rw-r--r--CMakeLists.txt236
-rw-r--r--CMakeOptions.txt8
-rw-r--r--INSTALL6
-rw-r--r--NEWS177
-rw-r--r--README.bsd2
-rw-r--r--README.md8
-rw-r--r--README.windows17
-rw-r--r--capchild/capture_session.h66
-rw-r--r--capchild/capture_sync.c26
-rw-r--r--capchild/capture_sync.h47
-rw-r--r--capinfos.c233
-rw-r--r--capture_opts.c33
-rw-r--r--capture_opts.h27
-rw-r--r--captype.c9
-rw-r--r--caputils/CMakeLists.txt1
-rw-r--r--caputils/capture-pcap-util-int.h9
-rw-r--r--caputils/capture-pcap-util-unix.c372
-rw-r--r--caputils/capture-pcap-util.c226
-rw-r--r--caputils/capture-pcap-util.h8
-rw-r--r--caputils/capture-wpcap.c596
-rw-r--r--caputils/capture_ifinfo.h2
-rw-r--r--caputils/capture_wpcap_packet.c272
-rw-r--r--caputils/capture_wpcap_packet.h39
-rw-r--r--caputils/ws80211_utils.c8
-rw-r--r--caputils/ws80211_utils.h7
-rw-r--r--cmake/modules/FindAsciidoctor.cmake22
-rw-r--r--cmake/modules/FindBCG729.cmake2
-rw-r--r--cmake/modules/FindGLIB2.cmake4
-rw-r--r--cmake/modules/FindILBC.cmake77
-rw-r--r--cmake/modules/FindKERBEROS.cmake5
-rw-r--r--cmake/modules/FindLIBSSH.cmake2
-rw-r--r--cmake/modules/FindLUA.cmake8
-rw-r--r--cmake/modules/FindLZ4.cmake2
-rw-r--r--cmake/modules/FindMinizip.cmake2
-rw-r--r--cmake/modules/FindNGHTTP2.cmake2
-rw-r--r--cmake/modules/FindPCAP.cmake160
-rw-r--r--cmake/modules/FindPowerShell.cmake2
-rw-r--r--cmake/modules/FindSPANDSP.cmake2
-rw-r--r--cmake/modules/FindSystemd.cmake2
-rw-r--r--cmake/modules/FindWinSparkle.cmake4
-rw-r--r--cmakeconfig.h.in66
-rw-r--r--colorfilters2
-rw-r--r--debian/control5
-rw-r--r--debian/libwireshark0.install1
-rw-r--r--debian/libwireshark0.symbols26
-rw-r--r--debian/libwiretap0.symbols2
-rw-r--r--debian/libwsutil0.symbols5
-rw-r--r--debian/license-text-about-dialog6
-rw-r--r--debian/po/ko.po30
-rwxr-xr-xdebian/rules11
-rw-r--r--dftest.c9
-rw-r--r--diameter/TGPP.xml13
-rw-r--r--diameter/VerizonWireless.xml42
-rw-r--r--diameter/dictionary.xml3
-rw-r--r--doc/CMakeLists.txt4
-rw-r--r--doc/README.capture2
-rw-r--r--doc/README.developer24
-rw-r--r--doc/README.dissector76
-rw-r--r--doc/README.heuristic4
-rw-r--r--doc/README.idl2wrs33
-rw-r--r--doc/README.plugins28
-rw-r--r--doc/README.stats_tree10
-rw-r--r--doc/README.vagrant4
-rw-r--r--doc/README.xml-output10
-rw-r--r--doc/asn2deb.pod2
-rw-r--r--doc/ciscodump.pod2
-rw-r--r--doc/dumpcap.pod100
-rw-r--r--doc/editcap.pod25
-rw-r--r--doc/extcap.pod6
-rw-r--r--doc/idl2deb.pod2
-rwxr-xr-xdoc/make-authors-format.pl3
-rwxr-xr-xdoc/make-authors-short.pl3
-rw-r--r--doc/mergecap.pod28
-rwxr-xr-xdoc/perlnoutf.pl22
-rw-r--r--doc/sshdump.pod39
-rw-r--r--doc/tshark.pod174
-rw-r--r--doc/udpdump.pod4
-rw-r--r--doc/wireshark-filter.pod2
-rw-r--r--doc/wireshark.pod.template19
-rw-r--r--docbook/CMakeLists.txt72
-rw-r--r--docbook/README.adoc53
-rw-r--r--docbook/attributes.adoc12
-rw-r--r--docbook/common_src/typographic_conventions.adoc4
-rw-r--r--docbook/developer-guide.adoc3
-rw-r--r--docbook/faq.adoc71
-rwxr-xr-xdocbook/make-wsluarm.pl1
-rw-r--r--docbook/release-notes.adoc46
-rw-r--r--docbook/user-guide.adoc2
-rw-r--r--docbook/wsdg_graphics/git-triangular-workflow.gv59
-rw-r--r--docbook/wsdg_graphics/git-triangular-workflow.svg62
-rw-r--r--docbook/wsdg_graphics/wslua-new-dialog.pngbin0 -> 21786 bytes
-rw-r--r--docbook/wsdg_graphics/wslua-progdlg.pngbin0 -> 12695 bytes
-rw-r--r--docbook/wsdg_graphics/wslua-textwindow.pngbin0 -> 26843 bytes
-rw-r--r--docbook/wsdg_src/WSDG_chapter_asn2wrs.adoc1260
-rw-r--r--docbook/wsdg_src/WSDG_chapter_build_intro.adoc2
-rw-r--r--docbook/wsdg_src/WSDG_chapter_capture.adoc2
-rw-r--r--docbook/wsdg_src/WSDG_chapter_dissection.adoc294
-rw-r--r--docbook/wsdg_src/WSDG_chapter_env_intro.adoc37
-rw-r--r--docbook/wsdg_src/WSDG_chapter_libraries.adoc81
-rw-r--r--docbook/wsdg_src/WSDG_chapter_quick_setup.adoc49
-rw-r--r--docbook/wsdg_src/WSDG_chapter_sources.adoc1031
-rw-r--r--docbook/wsdg_src/WSDG_chapter_tools.adoc72
-rw-r--r--docbook/wsdg_src/WSDG_chapter_userinterface.adoc32
-rw-r--r--docbook/wsdg_src/WSDG_chapter_works.adoc56
-rw-r--r--docbook/wsluarm.adoc60
-rw-r--r--docbook/wsug_graphics/captureOptions.pngbin105191 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/toolbar/stock_apply_20.pngbin201 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-file-properties.pngbin0 -> 22450 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-interface-details.pngbin5903 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-interfaces-main-macos.pngbin0 -> 73946 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-interfaces-main-win32.pngbin0 -> 10465 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-interfaces-win32.pngbin10134 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-interfaces.pngbin29401 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-compile-selected-bpfs.pngbin35395 -> 9448 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-manage-interfaces-local.pngbin9383 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-manage-interfaces-pipes.pngbin6938 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-manage-interfaces-remote-plus.pngbin12135 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-manage-interfaces-remote.pngbin11140 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-manage-interfaces.pngbin6209 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-options.pngbin0 -> 9918 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-output.pngbin60995 -> 10716 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-remote-capture.pngbin23884 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-remote-interface.pngbin26886 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-remote-settings.pngbin19165 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options-settings.pngbin13322 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-options.pngbin105191 -> 14286 bytes
-rw-r--r--docbook/wsug_graphics/ws-capture-preferences.pngbin18812 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-expert-information.pngbin0 -> 235306 bytes
-rw-r--r--docbook/wsug_graphics/ws-expert-infos.pngbin10084 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-export-packet-dissections.pngbin0 -> 24546 bytes
-rw-r--r--docbook/wsug_graphics/ws-export-pdml.pngbin28709 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-export-plain.pngbin57116 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-export-ps.pngbin28832 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-export-psml.pngbin28742 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-export-specified-packets.pngbin0 -> 38066 bytes
-rw-r--r--docbook/wsug_graphics/ws-filter-toolbar.pngbin3555 -> 6982 bytes
-rw-r--r--docbook/wsug_graphics/ws-filters.pngbin17574 -> 106617 bytes
-rw-r--r--docbook/wsug_graphics/ws-gui-colors-preferences.pngbin26101 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-gui-columns-preferences.pngbin23559 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-gui-font-preferences.pngbin21002 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-gui-interface-options.pngbin25389 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-gui-layout-preferences.pngbin23809 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-gui-preferences-advanced.pngbin0 -> 163760 bytes
-rw-r--r--docbook/wsug_graphics/ws-gui-preferences.pngbin20487 -> 106847 bytes
-rw-r--r--docbook/wsug_graphics/ws-logo.pngbin5707 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-manage-interfaces.pngbin0 -> 16108 bytes
-rw-r--r--docbook/wsug_graphics/ws-merge-gtk24.pngbin33523 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-merge-qt5.pngbin0 -> 87107 bytes
-rw-r--r--docbook/wsug_graphics/ws-merge-win32.pngbin43960 -> 31903 bytes
-rw-r--r--docbook/wsug_graphics/ws-nameresolution-preferences.pngbin16179 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-open-gtk24.pngbin35477 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-open-qt5.pngbin0 -> 94718 bytes
-rw-r--r--docbook/wsug_graphics/ws-open-win32.pngbin43967 -> 36529 bytes
-rw-r--r--docbook/wsug_graphics/ws-packet-format.pngbin1672 -> 2207 bytes
-rw-r--r--docbook/wsug_graphics/ws-packet-range.pngbin4322 -> 3354 bytes
-rw-r--r--docbook/wsug_graphics/ws-print.pngbin18570 -> 14666 bytes
-rw-r--r--docbook/wsug_graphics/ws-printing-preferences.pngbin17401 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-save-as-gtk24.pngbin32383 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-save-as-qt5.pngbin0 -> 43012 bytes
-rw-r--r--docbook/wsug_graphics/ws-save-as-win32.pngbin37598 -> 19241 bytes
-rw-r--r--docbook/wsug_graphics/ws-stats-compare.pngbin20805 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-stats-iographs.pngbin41344 -> 48212 bytes
-rw-r--r--docbook/wsug_graphics/ws-stats-packet-lengths.pngbin0 -> 92831 bytes
-rw-r--r--docbook/wsug_graphics/ws-stats-srt-dcerpc-filter.pngbin11154 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-stats-srt-dcerpc.pngbin10689 -> 0 bytes
-rw-r--r--docbook/wsug_graphics/ws-stats-srt-smb2.pngbin0 -> 14161 bytes
-rw-r--r--docbook/wsug_graphics/ws-stats-summary.pngbin37673 -> 0 bytes
-rw-r--r--docbook/wsug_src/WSUG_app_files.adoc370
-rw-r--r--docbook/wsug_src/WSUG_chapter_advanced.adoc441
-rw-r--r--docbook/wsug_src/WSUG_chapter_build_install.adoc25
-rw-r--r--docbook/wsug_src/WSUG_chapter_capture.adoc756
-rw-r--r--docbook/wsug_src/WSUG_chapter_customize.adoc157
-rw-r--r--docbook/wsug_src/WSUG_chapter_introduction.adoc76
-rw-r--r--docbook/wsug_src/WSUG_chapter_io.adoc734
-rw-r--r--docbook/wsug_src/WSUG_chapter_mate.adoc26
-rw-r--r--docbook/wsug_src/WSUG_chapter_statistics.adoc365
-rw-r--r--docbook/wsug_src/WSUG_chapter_use.adoc111
-rw-r--r--docbook/wsug_src/WSUG_chapter_work.adoc127
-rw-r--r--docbook/wsug_src/capinfos-h.txt2
-rw-r--r--docbook/wsug_src/dumpcap-h.txt43
-rw-r--r--docbook/wsug_src/editcap-T.txt5
-rw-r--r--docbook/wsug_src/editcap-h.txt13
-rw-r--r--docbook/wsug_src/mergecap-h.txt2
-rw-r--r--docbook/wsug_src/rawshark-h.txt2
-rw-r--r--docbook/wsug_src/reordercap-h.txt2
-rw-r--r--docbook/wsug_src/text2pcap-h.txt2
-rw-r--r--docbook/wsug_src/tshark-h.txt63
-rw-r--r--docbook/wsug_src/wireshark-h.txt93
-rw-r--r--doxygen.cfg.in259
-rw-r--r--doxygen_global.cfg1892
-rw-r--r--dumpcap.c206
-rw-r--r--editcap.c207
-rw-r--r--enterprises.tsv1585
-rw-r--r--epan/CMakeLists.txt3
-rw-r--r--epan/addr_and_mask.c8
-rw-r--r--epan/addr_and_mask.h5
-rw-r--r--epan/addr_resolv.c185
-rw-r--r--epan/addr_resolv.h10
-rw-r--r--epan/arptypes.h141
-rw-r--r--epan/cisco_pid.h42
-rw-r--r--epan/color_filters.c28
-rw-r--r--epan/color_filters.h8
-rw-r--r--epan/conversation.c3
-rw-r--r--epan/conversation.h18
-rw-r--r--epan/crypt/CMakeLists.txt20
-rw-r--r--epan/crypt/dot11decrypt.c894
-rw-r--r--epan/crypt/dot11decrypt_ccmp.c266
-rw-r--r--epan/crypt/dot11decrypt_ccmp_compat.c254
-rw-r--r--epan/crypt/dot11decrypt_debug.h10
-rw-r--r--epan/crypt/dot11decrypt_gcmp.c111
-rw-r--r--epan/crypt/dot11decrypt_int.h55
-rw-r--r--epan/crypt/dot11decrypt_rijndael.c98
-rw-r--r--epan/crypt/dot11decrypt_rijndael.h58
-rw-r--r--epan/crypt/dot11decrypt_system.h71
-rw-r--r--epan/crypt/dot11decrypt_user.h28
-rw-r--r--epan/crypt/dot11decrypt_util.c88
-rw-r--r--epan/crypt/dot11decrypt_util.h21
-rw-r--r--epan/crypt/wep-wpadefs.h1
-rw-r--r--epan/decode_as.c12
-rw-r--r--epan/decode_as.h46
-rw-r--r--epan/dfilter/CMakeLists.txt2
-rw-r--r--epan/dissectors/CMakeLists.txt33
-rw-r--r--epan/dissectors/README.X1113
-rw-r--r--epan/dissectors/asn1/CMakeLists.txt1
-rw-r--r--epan/dissectors/asn1/ain/ain.cnf12
-rw-r--r--epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c22
-rw-r--r--epan/dissectors/asn1/c1222/c1222.asn16
-rw-r--r--epan/dissectors/asn1/c1222/packet-c1222-template.c2
-rw-r--r--epan/dissectors/asn1/camel/packet-camel-template.c8
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-CommonDataTypes.asn2
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-Constants.asn70
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-Containers.asn2
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-IEs.asn553
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-PDU-Contents.asn441
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-PDU-Descriptions.asn82
-rw-r--r--epan/dissectors/asn1/e1ap/e1ap.cnf204
-rw-r--r--epan/dissectors/asn1/e1ap/packet-e1ap-template.c94
-rw-r--r--epan/dissectors/asn1/f1ap/CMakeLists.txt1
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-CommonDataTypes.asn2
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-Constants.asn210
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-Containers.asn2
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-IEs.asn2053
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-PDU-Contents.asn1055
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-PDU-Descriptions.asn187
-rw-r--r--epan/dissectors/asn1/f1ap/f1ap.cnf873
-rw-r--r--epan/dissectors/asn1/f1ap/packet-f1ap-template.c215
-rw-r--r--epan/dissectors/asn1/f1ap/packet-f1ap-template.h29
-rw-r--r--epan/dissectors/asn1/goose/goose.asn2
-rw-r--r--epan/dissectors/asn1/gprscdr/GPRSChargingDataTypes.asn25
-rw-r--r--epan/dissectors/asn1/gprscdr/GenericChargingDataTypes.asn2
-rw-r--r--epan/dissectors/asn1/gprscdr/gprscdr.cnf1
-rw-r--r--epan/dissectors/asn1/gprscdr/packet-gprscdr-template.c4
-rw-r--r--epan/dissectors/asn1/gsm_map/gsm_map.cnf59
-rw-r--r--epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c101
-rw-r--r--epan/dissectors/asn1/h245/h245.cnf48
-rw-r--r--epan/dissectors/asn1/h248/h248v3.asn48
-rw-r--r--epan/dissectors/asn1/h248/packet-h248-template.c2
-rw-r--r--epan/dissectors/asn1/idmp/packet-idmp-template.c2
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/IEEE1609dot12.asn3
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/IEEE1609dot2BaseTypes.asn18
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/IEEE1609dot2DataTypes.asn14
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/ieee1609dot2.cnf4
-rw-r--r--epan/dissectors/asn1/ilp/ilp.cnf2
-rw-r--r--epan/dissectors/asn1/its/CMakeLists.txt3
-rw-r--r--epan/dissectors/asn1/its/GDD.asn302
-rw-r--r--epan/dissectors/asn1/its/ISO19321IVIv2.asn720
-rw-r--r--epan/dissectors/asn1/its/its.cnf47
-rw-r--r--epan/dissectors/asn1/its/packet-its-template.c26
-rw-r--r--epan/dissectors/asn1/kerberos/KerberosV5Spec2.asn10
-rw-r--r--epan/dissectors/asn1/kerberos/RFC6113.asn41
-rw-r--r--epan/dissectors/asn1/kerberos/k5.asn189
-rw-r--r--epan/dissectors/asn1/kerberos/kerberos.cnf717
-rw-r--r--epan/dissectors/asn1/kerberos/packet-kerberos-template.c2927
-rw-r--r--epan/dissectors/asn1/kerberos/packet-kerberos-template.h44
-rw-r--r--epan/dissectors/asn1/ldap/ldap.cnf2
-rw-r--r--epan/dissectors/asn1/ldap/packet-ldap-template.c114
-rw-r--r--epan/dissectors/asn1/ldap/packet-ldap-template.h10
-rw-r--r--epan/dissectors/asn1/lnpdqp/packet-lnpdqp-template.c12
-rw-r--r--epan/dissectors/asn1/lpp/LPP.asn4
-rw-r--r--epan/dissectors/asn1/lpp/lpp.cnf64
-rw-r--r--epan/dissectors/asn1/lpp/packet-lpp-template.c2
-rw-r--r--epan/dissectors/asn1/lpp/packet-lpp-template.h2
-rw-r--r--epan/dissectors/asn1/lppa/CMakeLists.txt1
-rw-r--r--epan/dissectors/asn1/lppa/lppa.cnf29
-rw-r--r--epan/dissectors/asn1/lppa/packet-lppa-template.c96
-rw-r--r--epan/dissectors/asn1/lppa/packet-lppa-template.h37
-rw-r--r--epan/dissectors/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn31
-rw-r--r--epan/dissectors/asn1/lte-rrc/EUTRA-RRC-Definitions.asn2040
-rw-r--r--epan/dissectors/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn2
-rw-r--r--epan/dissectors/asn1/lte-rrc/EUTRA-UE-Variables.asn23
-rw-r--r--epan/dissectors/asn1/lte-rrc/NBIOT-InterNodeDefinitions.asn2
-rw-r--r--epan/dissectors/asn1/lte-rrc/NBIOT-RRC-Definitions.asn711
-rw-r--r--epan/dissectors/asn1/lte-rrc/NBIOT-UE-Variables.asn47
-rw-r--r--epan/dissectors/asn1/lte-rrc/PC5-RRC-Definitions.asn2
-rw-r--r--epan/dissectors/asn1/lte-rrc/lte-rrc.cnf284
-rw-r--r--epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c43
-rw-r--r--epan/dissectors/asn1/m3ap/CMakeLists.txt1
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-CommonDataTypes.asn6
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-Constants.asn6
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-Containers.asn18
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-IEs.asn11
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-PDU-Contents.asn10
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-PDU-Descriptions.asn6
-rw-r--r--epan/dissectors/asn1/m3ap/packet-m3ap-template.c8
-rw-r--r--epan/dissectors/asn1/mms/packet-mms-template.c3
-rw-r--r--epan/dissectors/asn1/nbap/nbap.cnf87
-rw-r--r--epan/dissectors/asn1/nbap/packet-nbap-template.c2
-rw-r--r--epan/dissectors/asn1/ngap/CMakeLists.txt1
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-CommonDataTypes.asn2
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-Constants.asn138
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-Containers.asn2
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-IEs.asn1863
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-PDU-Contents.asn727
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-PDU-Descriptions.asn138
-rw-r--r--epan/dissectors/asn1/ngap/ngap.cnf1080
-rw-r--r--epan/dissectors/asn1/ngap/packet-ngap-template.c323
-rw-r--r--epan/dissectors/asn1/ngap/packet-ngap-template.h2
-rw-r--r--epan/dissectors/asn1/nr-rrc/CMakeLists.txt2
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn139
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn6268
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-Sidelink-Preconf.asn69
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn178
-rw-r--r--epan/dissectors/asn1/nr-rrc/PC5-RRC-Definitions.asn273
-rw-r--r--epan/dissectors/asn1/nr-rrc/nr-rrc.cnf561
-rw-r--r--epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c201
-rw-r--r--epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.h3
-rw-r--r--epan/dissectors/asn1/ocsp/ocsp.cnf2
-rw-r--r--epan/dissectors/asn1/pkcs1/PKIXAlgs-2009.asn57
-rw-r--r--epan/dissectors/asn1/pkcs1/pkcs1.cnf8
-rw-r--r--epan/dissectors/asn1/pkinit/PKINIT.asn28
-rw-r--r--epan/dissectors/asn1/pkinit/packet-pkinit-template.c8
-rw-r--r--epan/dissectors/asn1/pkinit/pkinit.cnf10
-rw-r--r--epan/dissectors/asn1/rspro/CMakeLists.txt31
-rw-r--r--epan/dissectors/asn1/rspro/RSPRO.asn347
-rw-r--r--epan/dissectors/asn1/rspro/packet-rspro-template.c95
-rw-r--r--epan/dissectors/asn1/rspro/packet-rspro-template.h16
-rw-r--r--epan/dissectors/asn1/rspro/rspro.cnf28
-rw-r--r--epan/dissectors/asn1/rtse/rtse.cnf2
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn2
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-Constants.asn37
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-Containers.asn2
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-IEs.asn399
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn266
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn47
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn2
-rw-r--r--epan/dissectors/asn1/s1ap/packet-s1ap-template.c44
-rw-r--r--epan/dissectors/asn1/s1ap/s1ap.cnf328
-rw-r--r--epan/dissectors/asn1/sbc-ap/packet-sbc-ap-template.c14
-rw-r--r--epan/dissectors/asn1/sbc-ap/sbc-ap.cnf14
-rw-r--r--epan/dissectors/asn1/spnego/packet-spnego-template.c28
-rw-r--r--epan/dissectors/asn1/sv/packet-sv-template.c2
-rw-r--r--epan/dissectors/asn1/t38/packet-t38-template.c14
-rw-r--r--epan/dissectors/asn1/tcap/packet-tcap-template.c2
-rw-r--r--epan/dissectors/asn1/ulp/SUPL.asn14
-rw-r--r--epan/dissectors/asn1/ulp/ULP-Components.asn31
-rw-r--r--epan/dissectors/asn1/ulp/ULP.asn2
-rw-r--r--epan/dissectors/asn1/ulp/packet-ulp-template.c3
-rw-r--r--epan/dissectors/asn1/ulp/ulp.cnf2
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn2
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-Constants.asn82
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-Containers.asn2
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-IEs.asn644
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn554
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn80
-rw-r--r--epan/dissectors/asn1/x2ap/packet-x2ap-template.c89
-rw-r--r--epan/dissectors/asn1/x2ap/x2ap.cnf383
-rw-r--r--epan/dissectors/asn1/x509af/x509af.cnf13
-rw-r--r--epan/dissectors/asn1/x509sat/x509sat.cnf11
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-CommonDataTypes.asn2
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-Constants.asn143
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-Containers.asn2
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-IEs.asn1890
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-PDU-Contents.asn570
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-PDU-Descriptions.asn119
-rw-r--r--epan/dissectors/asn1/xnap/packet-xnap-template.c194
-rw-r--r--epan/dissectors/asn1/xnap/xnap.cnf505
-rw-r--r--epan/dissectors/asn1/z3950/packet-z3950-template.c12
-rw-r--r--epan/dissectors/file-elf.c14
-rw-r--r--epan/dissectors/file-jpeg.c14
-rw-r--r--epan/dissectors/file-mp4.c530
-rw-r--r--epan/dissectors/file-pcap.c4
-rw-r--r--epan/dissectors/file-pcapng.c1019
-rw-r--r--epan/dissectors/file-rbm.c24
-rw-r--r--epan/dissectors/file-rbm.h2
-rw-r--r--epan/dissectors/packet-3g-a11.c14
-rw-r--r--epan/dissectors/packet-6lowpan.c6
-rw-r--r--epan/dissectors/packet-9p.c14
-rw-r--r--epan/dissectors/packet-HI2Operations.c2
-rw-r--r--epan/dissectors/packet-a21.c2
-rw-r--r--epan/dissectors/packet-aastra-aasp.c2
-rw-r--r--epan/dissectors/packet-acdr.c2060
-rw-r--r--epan/dissectors/packet-acdr.h160
-rw-r--r--epan/dissectors/packet-acn.c3611
-rw-r--r--epan/dissectors/packet-acp133.c4
-rw-r--r--epan/dissectors/packet-acse.c6
-rw-r--r--epan/dissectors/packet-actrace.c24
-rw-r--r--epan/dissectors/packet-adwin-config.c2
-rw-r--r--epan/dissectors/packet-aeron.c20
-rw-r--r--epan/dissectors/packet-afp.c80
-rw-r--r--epan/dissectors/packet-afs.c120
-rw-r--r--epan/dissectors/packet-agentx.c2
-rw-r--r--epan/dissectors/packet-aim.c10
-rw-r--r--epan/dissectors/packet-ain.c38
-rw-r--r--epan/dissectors/packet-ajp13.c6
-rw-r--r--epan/dissectors/packet-alljoyn.c4
-rw-r--r--epan/dissectors/packet-amp.c6
-rw-r--r--epan/dissectors/packet-amqp.c98
-rw-r--r--epan/dissectors/packet-amr.c25
-rw-r--r--epan/dissectors/packet-ancp.c4
-rw-r--r--epan/dissectors/packet-ansi_683.c6
-rw-r--r--epan/dissectors/packet-ansi_801.c4
-rw-r--r--epan/dissectors/packet-ansi_a.c6
-rw-r--r--epan/dissectors/packet-ansi_map.c28
-rw-r--r--epan/dissectors/packet-aodv.c12
-rw-r--r--epan/dissectors/packet-aoe.c11
-rw-r--r--epan/dissectors/packet-applemidi.c4
-rw-r--r--epan/dissectors/packet-aprs.c4
-rw-r--r--epan/dissectors/packet-ar_drone.c6
-rw-r--r--epan/dissectors/packet-arinc615a.c399
-rw-r--r--epan/dissectors/packet-arp.c90
-rw-r--r--epan/dissectors/packet-artnet.c2677
-rw-r--r--epan/dissectors/packet-aruba-iap.c17
-rw-r--r--epan/dissectors/packet-asap.c4
-rw-r--r--epan/dissectors/packet-ascend.c44
-rw-r--r--epan/dissectors/packet-asphodel.c792
-rw-r--r--epan/dissectors/packet-assa_r3.c24
-rw-r--r--epan/dissectors/packet-asterix.c2206
-rw-r--r--epan/dissectors/packet-at.c8
-rw-r--r--epan/dissectors/packet-atalk.c2
-rw-r--r--epan/dissectors/packet-atm.c2
-rw-r--r--epan/dissectors/packet-atn-ulcs.c6
-rw-r--r--epan/dissectors/packet-autosar-nm.c12
-rw-r--r--epan/dissectors/packet-avsp.c76
-rw-r--r--epan/dissectors/packet-awdl.c16
-rw-r--r--epan/dissectors/packet-bacapp.c29
-rw-r--r--epan/dissectors/packet-bacnet.c24
-rw-r--r--epan/dissectors/packet-bat.c2
-rw-r--r--epan/dissectors/packet-batadv.c28
-rw-r--r--epan/dissectors/packet-ber.c124
-rw-r--r--epan/dissectors/packet-ber.h7
-rw-r--r--epan/dissectors/packet-bfd.c77
-rw-r--r--epan/dissectors/packet-bgp.c1240
-rw-r--r--epan/dissectors/packet-bgp.h3
-rw-r--r--epan/dissectors/packet-bluetooth.c541
-rw-r--r--epan/dissectors/packet-bluetooth.h3
-rw-r--r--epan/dissectors/packet-bmp.c517
-rw-r--r--epan/dissectors/packet-bpdu.c20
-rw-r--r--epan/dissectors/packet-brdwlk.c2
-rw-r--r--epan/dissectors/packet-bssap.c34
-rw-r--r--epan/dissectors/packet-bssgp.c8
-rw-r--r--epan/dissectors/packet-btatt.c352
-rw-r--r--epan/dissectors/packet-btavrcp.c10
-rw-r--r--epan/dissectors/packet-btbnep.c8
-rw-r--r--epan/dissectors/packet-btbredr_rf.c2
-rw-r--r--epan/dissectors/packet-bthci_acl.c6
-rw-r--r--epan/dissectors/packet-bthci_cmd.c989
-rw-r--r--epan/dissectors/packet-bthci_cmd.h3
-rw-r--r--epan/dissectors/packet-bthci_evt.c853
-rw-r--r--epan/dissectors/packet-bthci_iso.c202
-rw-r--r--epan/dissectors/packet-bthci_iso.h26
-rw-r--r--epan/dissectors/packet-bthci_sco.c4
-rw-r--r--epan/dissectors/packet-bthci_vendor.c32
-rw-r--r--epan/dissectors/packet-bthfp.c13
-rw-r--r--epan/dissectors/packet-bthsp.c18
-rw-r--r--epan/dissectors/packet-btl2cap.c8
-rw-r--r--epan/dissectors/packet-btle.c959
-rw-r--r--epan/dissectors/packet-btle.h13
-rw-r--r--epan/dissectors/packet-btle_rf.c102
-rw-r--r--epan/dissectors/packet-btmesh-proxy.c8
-rw-r--r--epan/dissectors/packet-btmesh.c92
-rw-r--r--epan/dissectors/packet-btsdp.c84
-rw-r--r--epan/dissectors/packet-btsmp.c4
-rw-r--r--epan/dissectors/packet-c1222.c10
-rw-r--r--epan/dissectors/packet-camel.c22
-rw-r--r--epan/dissectors/packet-caneth.c10
-rw-r--r--epan/dissectors/packet-canopen.c403
-rw-r--r--epan/dissectors/packet-capwap.c22
-rw-r--r--epan/dissectors/packet-cast.c2
-rw-r--r--epan/dissectors/packet-catapult-dct2000.c13
-rw-r--r--epan/dissectors/packet-cattp.c2
-rw-r--r--epan/dissectors/packet-cbor.c4
-rw-r--r--epan/dissectors/packet-ccsds.c2
-rw-r--r--epan/dissectors/packet-cdma2k.c4
-rw-r--r--epan/dissectors/packet-cdp.c9
-rw-r--r--epan/dissectors/packet-cemi.c2
-rw-r--r--epan/dissectors/packet-ceph.c12
-rw-r--r--epan/dissectors/packet-cesoeth.c4
-rw-r--r--epan/dissectors/packet-cfdp.c28
-rw-r--r--epan/dissectors/packet-cfm.c2
-rw-r--r--epan/dissectors/packet-cgmp.c3
-rw-r--r--epan/dissectors/packet-chargen.c2
-rw-r--r--epan/dissectors/packet-charging_ase.c12
-rw-r--r--epan/dissectors/packet-cip.c425
-rw-r--r--epan/dissectors/packet-cip.h46
-rw-r--r--epan/dissectors/packet-cipmotion.c347
-rw-r--r--epan/dissectors/packet-cipmotion.h4
-rw-r--r--epan/dissectors/packet-cipsafety.c107
-rw-r--r--epan/dissectors/packet-cipsafety.h2
-rw-r--r--epan/dissectors/packet-cisco-mcp.c307
-rw-r--r--epan/dissectors/packet-cisco-metadata.c5
-rw-r--r--epan/dissectors/packet-cisco-oui.c35
-rw-r--r--epan/dissectors/packet-cisco-ttag.c4
-rw-r--r--epan/dissectors/packet-cl3.c2
-rw-r--r--epan/dissectors/packet-classicstun.c19
-rw-r--r--epan/dissectors/packet-cmip.c6
-rw-r--r--epan/dissectors/packet-cmp.c2
-rw-r--r--epan/dissectors/packet-cms.c4
-rw-r--r--epan/dissectors/packet-cnip.c2
-rw-r--r--epan/dissectors/packet-coap.c313
-rw-r--r--epan/dissectors/packet-coap.h42
-rw-r--r--epan/dissectors/packet-cops.c6
-rw-r--r--epan/dissectors/packet-coseventcomm.c9
-rw-r--r--epan/dissectors/packet-cosnaming.c9
-rw-r--r--epan/dissectors/packet-couchbase.c202
-rw-r--r--epan/dissectors/packet-cp2179.c4
-rw-r--r--epan/dissectors/packet-cql.c8
-rw-r--r--epan/dissectors/packet-csm-encaps.c2
-rw-r--r--epan/dissectors/packet-csn1.c63
-rw-r--r--epan/dissectors/packet-csn1.h8
-rw-r--r--epan/dissectors/packet-daap.c16
-rw-r--r--epan/dissectors/packet-dap.c12
-rw-r--r--epan/dissectors/packet-dcerpc-atsvc.c6
-rw-r--r--epan/dissectors/packet-dcerpc-clusapi.c2994
-rw-r--r--epan/dissectors/packet-dcerpc-clusapi.h110
-rw-r--r--epan/dissectors/packet-dcerpc-dce122.c2
-rw-r--r--epan/dissectors/packet-dcerpc-dfs.c6
-rw-r--r--epan/dissectors/packet-dcerpc-dnsserver.c8
-rw-r--r--epan/dissectors/packet-dcerpc-dssetup.c2
-rw-r--r--epan/dissectors/packet-dcerpc-eventlog.c4
-rw-r--r--epan/dissectors/packet-dcerpc-frsrpc.c6
-rw-r--r--epan/dissectors/packet-dcerpc-frstrans.c2
-rw-r--r--epan/dissectors/packet-dcerpc-initshutdown.c2
-rw-r--r--epan/dissectors/packet-dcerpc-lsa.c8
-rw-r--r--epan/dissectors/packet-dcerpc-mapi.c6
-rw-r--r--epan/dissectors/packet-dcerpc-mapi.h2
-rw-r--r--epan/dissectors/packet-dcerpc-netlogon.c1158
-rw-r--r--epan/dissectors/packet-dcerpc-netlogon.h6
-rw-r--r--epan/dissectors/packet-dcerpc-nspi.c4
-rw-r--r--epan/dissectors/packet-dcerpc-nspi.h2
-rw-r--r--epan/dissectors/packet-dcerpc-nt.c131
-rw-r--r--epan/dissectors/packet-dcerpc-nt.h5
-rw-r--r--epan/dissectors/packet-dcerpc-rfr.c4
-rw-r--r--epan/dissectors/packet-dcerpc-rfr.h2
-rw-r--r--epan/dissectors/packet-dcerpc-samr.c20
-rw-r--r--epan/dissectors/packet-dcerpc-spoolss.c643
-rw-r--r--epan/dissectors/packet-dcerpc-spoolss.h43
-rw-r--r--epan/dissectors/packet-dcerpc-winreg.c8
-rw-r--r--epan/dissectors/packet-dcerpc-winspool.c10050
-rw-r--r--epan/dissectors/packet-dcerpc-winspool.h38
-rw-r--r--epan/dissectors/packet-dcerpc-witness.c6
-rw-r--r--epan/dissectors/packet-dcerpc.c148
-rw-r--r--epan/dissectors/packet-dcerpc.h7
-rw-r--r--epan/dissectors/packet-dcm.c67
-rw-r--r--epan/dissectors/packet-dcm.h104
-rw-r--r--epan/dissectors/packet-dcom-dispatch.c2
-rw-r--r--epan/dissectors/packet-dcom-sysact.c24
-rw-r--r--epan/dissectors/packet-dcom-typeinfo.c8
-rw-r--r--epan/dissectors/packet-dcom.c24
-rw-r--r--epan/dissectors/packet-dcom.h4
-rw-r--r--epan/dissectors/packet-dec-bpdu.c2
-rw-r--r--epan/dissectors/packet-dec-dnart.c6
-rw-r--r--epan/dissectors/packet-dect.c10
-rw-r--r--epan/dissectors/packet-devicenet.c50
-rw-r--r--epan/dissectors/packet-dhcp-failover.c440
-rw-r--r--epan/dissectors/packet-dhcp.c503
-rw-r--r--epan/dissectors/packet-dhcpv6.c831
-rw-r--r--epan/dissectors/packet-diameter.c34
-rw-r--r--epan/dissectors/packet-diameter_3gpp.c437
-rw-r--r--epan/dissectors/packet-diameter_3gpp.h2
-rw-r--r--epan/dissectors/packet-dis.c83
-rw-r--r--epan/dissectors/packet-dji-uav.c1
-rw-r--r--epan/dissectors/packet-dlep.c1372
-rw-r--r--epan/dissectors/packet-dlm3.c18
-rw-r--r--epan/dissectors/packet-dlsw.c2
-rw-r--r--epan/dissectors/packet-dlt.c13
-rw-r--r--epan/dissectors/packet-dmp.c31
-rw-r--r--epan/dissectors/packet-dnp.c8
-rw-r--r--epan/dissectors/packet-dns.c564
-rw-r--r--epan/dissectors/packet-dns.h2
-rw-r--r--epan/dissectors/packet-docsis-macmgmt.c75
-rw-r--r--epan/dissectors/packet-docsis-tlv.c55
-rw-r--r--epan/dissectors/packet-docsis.c16
-rw-r--r--epan/dissectors/packet-dof.c97
-rw-r--r--epan/dissectors/packet-doip.c2
-rw-r--r--epan/dissectors/packet-dop.c6
-rw-r--r--epan/dissectors/packet-dpaux.c12
-rw-r--r--epan/dissectors/packet-dpauxmon.c2
-rw-r--r--epan/dissectors/packet-dplay.c10
-rw-r--r--epan/dissectors/packet-dpnet.c6
-rw-r--r--epan/dissectors/packet-drb.c2
-rw-r--r--epan/dissectors/packet-drbd.c6
-rw-r--r--epan/dissectors/packet-drda.c2
-rw-r--r--epan/dissectors/packet-dsp.c2
-rw-r--r--epan/dissectors/packet-dsr.c4
-rw-r--r--epan/dissectors/packet-dtcp-ip.c2
-rw-r--r--epan/dissectors/packet-dtls.c231
-rw-r--r--epan/dissectors/packet-dtn.c29
-rw-r--r--epan/dissectors/packet-dtn.h3
-rw-r--r--epan/dissectors/packet-dtp.c3
-rw-r--r--epan/dissectors/packet-dtpt.c2
-rw-r--r--epan/dissectors/packet-dua.c4
-rw-r--r--epan/dissectors/packet-dvb-s2-bb.c663
-rw-r--r--epan/dissectors/packet-dvb-s2-table.c4594
-rw-r--r--epan/dissectors/packet-dvbci.c14
-rw-r--r--epan/dissectors/packet-dvmrp.c2
-rw-r--r--epan/dissectors/packet-e100.c90
-rw-r--r--epan/dissectors/packet-e164.c9
-rw-r--r--epan/dissectors/packet-e1ap.c3396
-rw-r--r--epan/dissectors/packet-e212.c1213
-rw-r--r--epan/dissectors/packet-eap.c309
-rw-r--r--epan/dissectors/packet-ebhscr.c617
-rw-r--r--epan/dissectors/packet-ecmp.c16
-rw-r--r--epan/dissectors/packet-ecp.c6
-rw-r--r--epan/dissectors/packet-edonkey.c2
-rw-r--r--epan/dissectors/packet-ehs.c4
-rw-r--r--epan/dissectors/packet-eigrp.c15
-rw-r--r--epan/dissectors/packet-eiss.c3
-rw-r--r--epan/dissectors/packet-enc.c8
-rw-r--r--epan/dissectors/packet-enip.c520
-rw-r--r--epan/dissectors/packet-enip.h23
-rw-r--r--epan/dissectors/packet-enrp.c2
-rw-r--r--epan/dissectors/packet-epl-profile-parser.c1
-rw-r--r--epan/dissectors/packet-epl.c300
-rw-r--r--epan/dissectors/packet-erf.c13
-rw-r--r--epan/dissectors/packet-erldp.c236
-rw-r--r--epan/dissectors/packet-ess.c2
-rw-r--r--epan/dissectors/packet-etag.c8
-rw-r--r--epan/dissectors/packet-eth.c99
-rw-r--r--epan/dissectors/packet-ethertype.c18
-rw-r--r--epan/dissectors/packet-etsi_card_app_toolkit.c13
-rw-r--r--epan/dissectors/packet-evrc.c44
-rw-r--r--epan/dissectors/packet-evs.c95
-rw-r--r--epan/dissectors/packet-f1ap.c11952
-rw-r--r--epan/dissectors/packet-f1ap.h43
-rw-r--r--epan/dissectors/packet-f5ethtrailer.c6451
-rw-r--r--epan/dissectors/packet-f5ethtrailer.h153
-rw-r--r--epan/dissectors/packet-fc.c2
-rw-r--r--epan/dissectors/packet-fc00.c14
-rw-r--r--epan/dissectors/packet-fcdns.c8
-rw-r--r--epan/dissectors/packet-fcels.c30
-rw-r--r--epan/dissectors/packet-fcfcs.c2
-rw-r--r--epan/dissectors/packet-fcfzs.c4
-rw-r--r--epan/dissectors/packet-fcoe.c65
-rw-r--r--epan/dissectors/packet-fcp.c6
-rw-r--r--epan/dissectors/packet-fcsb3.c18
-rw-r--r--epan/dissectors/packet-fcswils.c2
-rw-r--r--epan/dissectors/packet-fefd.c4
-rw-r--r--epan/dissectors/packet-ff.c34
-rw-r--r--epan/dissectors/packet-finger.c2
-rw-r--r--epan/dissectors/packet-fip.c8
-rw-r--r--epan/dissectors/packet-flexray.c4
-rw-r--r--epan/dissectors/packet-flip.c3
-rw-r--r--epan/dissectors/packet-fmp.c2
-rw-r--r--epan/dissectors/packet-fmp_notify.c2
-rw-r--r--epan/dissectors/packet-forces.c6
-rw-r--r--epan/dissectors/packet-fortinet-sso.c279
-rw-r--r--epan/dissectors/packet-fpp.c1042
-rw-r--r--epan/dissectors/packet-fr.c20
-rw-r--r--epan/dissectors/packet-frame.c177
-rw-r--r--epan/dissectors/packet-ftam.c22
-rw-r--r--epan/dissectors/packet-ftdi-ft.c837
-rw-r--r--epan/dissectors/packet-ftdi-ft.h46
-rw-r--r--epan/dissectors/packet-ftdi-mpsse.c1710
-rw-r--r--epan/dissectors/packet-ftp.c12
-rw-r--r--epan/dissectors/packet-fw1.c5
-rw-r--r--epan/dissectors/packet-gadu-gadu.c4
-rw-r--r--epan/dissectors/packet-gbcs.c42
-rw-r--r--epan/dissectors/packet-gearman.c4
-rw-r--r--epan/dissectors/packet-gelf.c2
-rw-r--r--epan/dissectors/packet-geneve.c4
-rw-r--r--epan/dissectors/packet-geonw.c13
-rw-r--r--epan/dissectors/packet-gfp.c8
-rw-r--r--epan/dissectors/packet-gias.c9
-rw-r--r--epan/dissectors/packet-giop.c2
-rw-r--r--epan/dissectors/packet-glusterd.c1
-rw-r--r--epan/dissectors/packet-glusterfs.c13
-rw-r--r--epan/dissectors/packet-glusterfs_hndsk.c2
-rw-r--r--epan/dissectors/packet-gmhdr.c6
-rw-r--r--epan/dissectors/packet-gmr1_rach.c2
-rw-r--r--epan/dissectors/packet-gmr1_rr.c8
-rw-r--r--epan/dissectors/packet-gnutella.c16
-rw-r--r--epan/dissectors/packet-goose.c8
-rw-r--r--epan/dissectors/packet-gopher.c2
-rw-r--r--epan/dissectors/packet-gprs-llc.c8
-rw-r--r--epan/dissectors/packet-gprscdr.c225
-rw-r--r--epan/dissectors/packet-gquic.c109
-rw-r--r--epan/dissectors/packet-gre.c92
-rw-r--r--epan/dissectors/packet-grpc.c6
-rw-r--r--epan/dissectors/packet-gsm_a_bssmap.c10
-rw-r--r--epan/dissectors/packet-gsm_a_common.c157
-rw-r--r--epan/dissectors/packet-gsm_a_common.h21
-rw-r--r--epan/dissectors/packet-gsm_a_dtap.c31
-rw-r--r--epan/dissectors/packet-gsm_a_gm.c11
-rw-r--r--epan/dissectors/packet-gsm_a_rr.c34
-rw-r--r--epan/dissectors/packet-gsm_abis_om2000.c142
-rw-r--r--epan/dissectors/packet-gsm_abis_oml.c69
-rw-r--r--epan/dissectors/packet-gsm_abis_pgsl.c9
-rw-r--r--epan/dissectors/packet-gsm_abis_tfp.c7
-rw-r--r--epan/dissectors/packet-gsm_bssmap_le.c2
-rw-r--r--epan/dissectors/packet-gsm_cbch.c2
-rw-r--r--epan/dissectors/packet-gsm_gsup.c16
-rw-r--r--epan/dissectors/packet-gsm_ipa.c2
-rw-r--r--epan/dissectors/packet-gsm_map.c382
-rw-r--r--epan/dissectors/packet-gsm_osmux.c4
-rw-r--r--epan/dissectors/packet-gsm_r_uus1.c19
-rw-r--r--epan/dissectors/packet-gsm_rlcmac.c174
-rw-r--r--epan/dissectors/packet-gsm_rlcmac.h42
-rw-r--r--epan/dissectors/packet-gsm_sim.c68
-rw-r--r--epan/dissectors/packet-gsm_sms.c158
-rw-r--r--epan/dissectors/packet-gsmtap.c323
-rw-r--r--epan/dissectors/packet-gsmtap.h11
-rw-r--r--epan/dissectors/packet-gssapi.c20
-rw-r--r--epan/dissectors/packet-gssapi.h14
-rw-r--r--epan/dissectors/packet-gtp.c432
-rw-r--r--epan/dissectors/packet-gtpv2.c593
-rw-r--r--epan/dissectors/packet-gtpv2.h2
-rw-r--r--epan/dissectors/packet-gvcp.c209
-rw-r--r--epan/dissectors/packet-gvsp.c60
-rw-r--r--epan/dissectors/packet-h223.c1
-rw-r--r--epan/dissectors/packet-h245.c48
-rw-r--r--epan/dissectors/packet-h248.c6
-rw-r--r--epan/dissectors/packet-h248_10.c1
-rw-r--r--epan/dissectors/packet-h248_7.c2
-rw-r--r--epan/dissectors/packet-h248_annex_e.c2
-rw-r--r--epan/dissectors/packet-h261.c2
-rw-r--r--epan/dissectors/packet-h263.c22
-rw-r--r--epan/dissectors/packet-h263p.c31
-rw-r--r--epan/dissectors/packet-h264.c146
-rw-r--r--epan/dissectors/packet-h265.c38
-rw-r--r--epan/dissectors/packet-hartip.c56
-rw-r--r--epan/dissectors/packet-hci_h1.c1
-rw-r--r--epan/dissectors/packet-hci_h4.c1
-rw-r--r--epan/dissectors/packet-hci_mon.c370
-rw-r--r--epan/dissectors/packet-hiqnet.c10
-rw-r--r--epan/dissectors/packet-hislip.c69
-rw-r--r--epan/dissectors/packet-homeplug-av.c64
-rw-r--r--epan/dissectors/packet-homeplug.c2
-rw-r--r--epan/dissectors/packet-homepna.c4
-rw-r--r--epan/dissectors/packet-hp-erm.c2
-rw-r--r--epan/dissectors/packet-http.c17
-rw-r--r--epan/dissectors/packet-http.h3
-rw-r--r--epan/dissectors/packet-http2.c419
-rw-r--r--epan/dissectors/packet-http3.c420
-rw-r--r--epan/dissectors/packet-iax2.c2
-rw-r--r--epan/dissectors/packet-icmp.c16
-rw-r--r--epan/dissectors/packet-icmpv6.c157
-rw-r--r--epan/dissectors/packet-icq.c8
-rw-r--r--epan/dissectors/packet-idmp.c6
-rw-r--r--epan/dissectors/packet-iec104.c125
-rw-r--r--epan/dissectors/packet-ieee1609dot2.c46
-rw-r--r--epan/dissectors/packet-ieee1609dot2.h3
-rw-r--r--epan/dissectors/packet-ieee1722.c55
-rw-r--r--epan/dissectors/packet-ieee1905.c3479
-rw-r--r--epan/dissectors/packet-ieee80211-netmon.c33
-rw-r--r--epan/dissectors/packet-ieee80211-radio.c288
-rw-r--r--epan/dissectors/packet-ieee80211-radiotap-defs.h17
-rw-r--r--epan/dissectors/packet-ieee80211-radiotap-iter.c55
-rw-r--r--epan/dissectors/packet-ieee80211-radiotap-iter.h4
-rw-r--r--epan/dissectors/packet-ieee80211-radiotap.c528
-rw-r--r--epan/dissectors/packet-ieee80211.c2749
-rw-r--r--epan/dissectors/packet-ieee80211.h21
-rw-r--r--epan/dissectors/packet-ieee802154.c292
-rw-r--r--epan/dissectors/packet-ieee802154.h2
-rw-r--r--epan/dissectors/packet-ieee8021ah.c17
-rw-r--r--epan/dissectors/packet-ifcp.c4
-rw-r--r--epan/dissectors/packet-igmp.c2
-rw-r--r--epan/dissectors/packet-ilp.c6
-rw-r--r--epan/dissectors/packet-imap.c20
-rw-r--r--epan/dissectors/packet-indigocare-icall.c6
-rw-r--r--epan/dissectors/packet-indigocare-netrix.c6
-rw-r--r--epan/dissectors/packet-infiniband.c8
-rw-r--r--epan/dissectors/packet-interlink.c9
-rw-r--r--epan/dissectors/packet-ip.c172
-rw-r--r--epan/dissectors/packet-ipdc.c15
-rw-r--r--epan/dissectors/packet-ipmi-app.c74
-rw-r--r--epan/dissectors/packet-ipmi-chassis.c42
-rw-r--r--epan/dissectors/packet-ipmi-picmg.c74
-rw-r--r--epan/dissectors/packet-ipmi-se.c38
-rw-r--r--epan/dissectors/packet-ipmi-storage.c22
-rw-r--r--epan/dissectors/packet-ipmi-trace.c10
-rw-r--r--epan/dissectors/packet-ipmi-transport.c198
-rw-r--r--epan/dissectors/packet-ipmi-vita.c32
-rw-r--r--epan/dissectors/packet-ipoib.c2
-rw-r--r--epan/dissectors/packet-ipv6.c10
-rw-r--r--epan/dissectors/packet-ipx.c6
-rw-r--r--epan/dissectors/packet-isakmp.c241
-rw-r--r--epan/dissectors/packet-iscsi.c10
-rw-r--r--epan/dissectors/packet-isdn.c48
-rw-r--r--epan/dissectors/packet-iser.c6
-rw-r--r--epan/dissectors/packet-isi.c3
-rw-r--r--epan/dissectors/packet-isis-clv.c16
-rw-r--r--epan/dissectors/packet-isis-clv.h6
-rw-r--r--epan/dissectors/packet-isis-hello.c152
-rw-r--r--epan/dissectors/packet-isis-lsp.c384
-rw-r--r--epan/dissectors/packet-isis-snp.c157
-rw-r--r--epan/dissectors/packet-isis.c23
-rw-r--r--epan/dissectors/packet-isis.h3
-rw-r--r--epan/dissectors/packet-ismacryp.c37
-rw-r--r--epan/dissectors/packet-ismp.c8
-rw-r--r--epan/dissectors/packet-isns.c8
-rw-r--r--epan/dissectors/packet-iso14443.c232
-rw-r--r--epan/dissectors/packet-iso15765.c84
-rw-r--r--epan/dissectors/packet-iso8583.c6
-rw-r--r--epan/dissectors/packet-isobus-vt.c7
-rw-r--r--epan/dissectors/packet-isobus.c39
-rw-r--r--epan/dissectors/packet-isup.c129
-rw-r--r--epan/dissectors/packet-its.c8845
-rw-r--r--epan/dissectors/packet-its.h20
-rw-r--r--epan/dissectors/packet-iua.c4
-rw-r--r--epan/dissectors/packet-iuup.c24
-rw-r--r--epan/dissectors/packet-iwarp-mpa.c2
-rw-r--r--epan/dissectors/packet-ixveriwave.c38
-rw-r--r--epan/dissectors/packet-j1939.c38
-rw-r--r--epan/dissectors/packet-jdwp.c730
-rw-r--r--epan/dissectors/packet-json.c32
-rw-r--r--epan/dissectors/packet-juniper.c2
-rw-r--r--epan/dissectors/packet-jxta.c6
-rw-r--r--epan/dissectors/packet-jxta.h5
-rw-r--r--epan/dissectors/packet-kafka.c3865
-rw-r--r--epan/dissectors/packet-kerberos.c4394
-rw-r--r--epan/dissectors/packet-kerberos.h46
-rw-r--r--epan/dissectors/packet-knxip.c17
-rw-r--r--epan/dissectors/packet-knxip.h11
-rw-r--r--epan/dissectors/packet-l2tp.c34
-rw-r--r--epan/dissectors/packet-lacp.c23
-rw-r--r--epan/dissectors/packet-lanforge.c84
-rw-r--r--epan/dissectors/packet-lapd.c221
-rw-r--r--epan/dissectors/packet-lapdm.h4
-rw-r--r--epan/dissectors/packet-lat.c18
-rw-r--r--epan/dissectors/packet-lbmc.c184
-rw-r--r--epan/dissectors/packet-lbmr.c68
-rw-r--r--epan/dissectors/packet-lbmsrs.c3072
-rw-r--r--epan/dissectors/packet-lbtrm.c4
-rw-r--r--epan/dissectors/packet-lbtru.c8
-rw-r--r--epan/dissectors/packet-ldap.c128
-rw-r--r--epan/dissectors/packet-ldap.h10
-rw-r--r--epan/dissectors/packet-ldp.c2
-rw-r--r--epan/dissectors/packet-lg8979.c4
-rw-r--r--epan/dissectors/packet-link16.c10
-rw-r--r--epan/dissectors/packet-lisp-tcp.c10
-rw-r--r--epan/dissectors/packet-lisp.c104
-rw-r--r--epan/dissectors/packet-lithionics.c315
-rw-r--r--epan/dissectors/packet-llc.c15
-rw-r--r--epan/dissectors/packet-lldp.c183
-rw-r--r--epan/dissectors/packet-llrp.c6
-rw-r--r--epan/dissectors/packet-lltd.c2
-rw-r--r--epan/dissectors/packet-lmp.c28
-rw-r--r--epan/dissectors/packet-lnet.c4
-rw-r--r--epan/dissectors/packet-lnpdqp.c22
-rw-r--r--epan/dissectors/packet-logcat.c8
-rw-r--r--epan/dissectors/packet-lon.c20
-rw-r--r--epan/dissectors/packet-lorawan.c10
-rw-r--r--epan/dissectors/packet-lpp.c285
-rw-r--r--epan/dissectors/packet-lpp.h9
-rw-r--r--epan/dissectors/packet-lppa.c144
-rw-r--r--epan/dissectors/packet-lppa.h50
-rw-r--r--epan/dissectors/packet-lppe.c90
-rw-r--r--epan/dissectors/packet-lsd.c2
-rw-r--r--epan/dissectors/packet-lte-rrc.c29539
-rw-r--r--epan/dissectors/packet-lte-rrc.h27
-rw-r--r--epan/dissectors/packet-lustre.c8
-rw-r--r--epan/dissectors/packet-lwapp.c2
-rw-r--r--epan/dissectors/packet-lwm2mtlv.c201
-rw-r--r--epan/dissectors/packet-lwres.c15
-rw-r--r--epan/dissectors/packet-m2pa.c6
-rw-r--r--epan/dissectors/packet-m2ua.c2
-rw-r--r--epan/dissectors/packet-m3ap.c14
-rw-r--r--epan/dissectors/packet-m3ua.c12
-rw-r--r--epan/dissectors/packet-mac-lte.c575
-rw-r--r--epan/dissectors/packet-mac-lte.h6
-rw-r--r--epan/dissectors/packet-mac-nr.c64
-rw-r--r--epan/dissectors/packet-maccontrol.c4
-rw-r--r--epan/dissectors/packet-macsec.c46
-rw-r--r--epan/dissectors/packet-mausb.c10
-rw-r--r--epan/dissectors/packet-mbim.c995
-rw-r--r--epan/dissectors/packet-mcpe.c2
-rw-r--r--epan/dissectors/packet-megaco.c8
-rw-r--r--epan/dissectors/packet-messageanalyzer.c2
-rw-r--r--epan/dissectors/packet-meta.c27
-rw-r--r--epan/dissectors/packet-metamako.c3
-rw-r--r--epan/dissectors/packet-mgcp.c4
-rw-r--r--epan/dissectors/packet-mih.c34
-rw-r--r--epan/dissectors/packet-mikey.c6
-rw-r--r--epan/dissectors/packet-mint.c69
-rw-r--r--epan/dissectors/packet-mip.c18
-rw-r--r--epan/dissectors/packet-mip6.c19
-rw-r--r--epan/dissectors/packet-mle.c1
-rw-r--r--epan/dissectors/packet-mms.c45
-rw-r--r--epan/dissectors/packet-mmse.c5
-rw-r--r--epan/dissectors/packet-mongo.c41
-rw-r--r--epan/dissectors/packet-mount.c4
-rw-r--r--epan/dissectors/packet-mp4ves.c29
-rw-r--r--epan/dissectors/packet-mpeg-descriptor.c10
-rw-r--r--epan/dissectors/packet-mpeg-dsmcc.c10
-rw-r--r--epan/dissectors/packet-mpeg1.c6
-rw-r--r--epan/dissectors/packet-mpls-echo.c31
-rw-r--r--epan/dissectors/packet-mpls-mac.c2
-rw-r--r--epan/dissectors/packet-mpls.c2
-rw-r--r--epan/dissectors/packet-mq-base.c75
-rw-r--r--epan/dissectors/packet-mq-pcf.c49
-rw-r--r--epan/dissectors/packet-mq.c2105
-rw-r--r--epan/dissectors/packet-mq.h159
-rw-r--r--epan/dissectors/packet-mqtt.c215
-rw-r--r--epan/dissectors/packet-mrp-mmrp.c2
-rw-r--r--epan/dissectors/packet-mrp-msrp.c4
-rw-r--r--epan/dissectors/packet-mrp-mvrp.c2
-rw-r--r--epan/dissectors/packet-ms-mms.c21
-rw-r--r--epan/dissectors/packet-msgpack.c10
-rw-r--r--epan/dissectors/packet-msrp.c25
-rw-r--r--epan/dissectors/packet-mswsp.c12
-rw-r--r--epan/dissectors/packet-mtp2.c32
-rw-r--r--epan/dissectors/packet-multipart.c16
-rw-r--r--epan/dissectors/packet-mysql.c771
-rw-r--r--epan/dissectors/packet-nano.c4
-rw-r--r--epan/dissectors/packet-nas_5gs.c666
-rw-r--r--epan/dissectors/packet-nas_eps.c204
-rw-r--r--epan/dissectors/packet-nat-pmp.c120
-rw-r--r--epan/dissectors/packet-nbap.c147
-rw-r--r--epan/dissectors/packet-nbifom.c6
-rw-r--r--epan/dissectors/packet-nbt.c14
-rw-r--r--epan/dissectors/packet-ncp2222.inc100
-rw-r--r--epan/dissectors/packet-ncsi.c4
-rw-r--r--epan/dissectors/packet-ndmp.c16
-rw-r--r--epan/dissectors/packet-ndps.c12
-rw-r--r--epan/dissectors/packet-negoex.c2
-rw-r--r--epan/dissectors/packet-netanalyzer.c2
-rw-r--r--epan/dissectors/packet-netflow.c538
-rw-r--r--epan/dissectors/packet-netlink-generic.c57
-rw-r--r--epan/dissectors/packet-netlink-net_dm.c89
-rw-r--r--epan/dissectors/packet-netlink-netfilter.c178
-rw-r--r--epan/dissectors/packet-netlink-nl80211.c1412
-rw-r--r--epan/dissectors/packet-netlink-route.c314
-rw-r--r--epan/dissectors/packet-netlink-sock_diag.c229
-rw-r--r--epan/dissectors/packet-netlink.c82
-rw-r--r--epan/dissectors/packet-netlink.h40
-rw-r--r--epan/dissectors/packet-netmon.c6
-rw-r--r--epan/dissectors/packet-nettl.c2
-rw-r--r--epan/dissectors/packet-nfapi.c116
-rw-r--r--epan/dissectors/packet-nfs.c113
-rw-r--r--epan/dissectors/packet-ngap.c9385
-rw-r--r--epan/dissectors/packet-ngap.h6
-rw-r--r--epan/dissectors/packet-nhrp.c129
-rw-r--r--epan/dissectors/packet-nisplus.c12
-rw-r--r--epan/dissectors/packet-nordic_ble.c397
-rw-r--r--epan/dissectors/packet-nr-rrc.c54799
-rw-r--r--epan/dissectors/packet-nr-rrc.h25
-rw-r--r--epan/dissectors/packet-ns-ha.c2
-rw-r--r--epan/dissectors/packet-ns_cert_exts.c2
-rw-r--r--epan/dissectors/packet-nsh.c38
-rw-r--r--epan/dissectors/packet-nsip.c6
-rw-r--r--epan/dissectors/packet-nsrp.c2
-rw-r--r--epan/dissectors/packet-nstrace.c8
-rw-r--r--epan/dissectors/packet-nt-tpcp.c2
-rw-r--r--epan/dissectors/packet-ntlmssp.c288
-rw-r--r--epan/dissectors/packet-ntlmssp.h26
-rw-r--r--epan/dissectors/packet-ntp.c329
-rw-r--r--epan/dissectors/packet-null.c5
-rw-r--r--epan/dissectors/packet-nvme-tcp.c14
-rw-r--r--epan/dissectors/packet-oampdu.c10
-rw-r--r--epan/dissectors/packet-obd-ii.c10
-rw-r--r--epan/dissectors/packet-obex.c22
-rw-r--r--epan/dissectors/packet-ocfs2.c4
-rw-r--r--epan/dissectors/packet-ocsp.c2
-rw-r--r--epan/dissectors/packet-oer.c2
-rw-r--r--epan/dissectors/packet-oer.h2
-rw-r--r--epan/dissectors/packet-oicq.c1
-rw-r--r--epan/dissectors/packet-olsr.c2
-rw-r--r--epan/dissectors/packet-omron-fins.c30
-rw-r--r--epan/dissectors/packet-opa-fe.c2
-rw-r--r--epan/dissectors/packet-opa-mad.c94
-rw-r--r--epan/dissectors/packet-opa-snc.c10
-rw-r--r--epan/dissectors/packet-opa.c6
-rw-r--r--epan/dissectors/packet-openflow_v4.c4
-rw-r--r--epan/dissectors/packet-openflow_v5.c4
-rw-r--r--epan/dissectors/packet-openflow_v6.c5
-rw-r--r--epan/dissectors/packet-opensafety.c4
-rw-r--r--epan/dissectors/packet-optommp.c11
-rw-r--r--epan/dissectors/packet-osc.c2
-rw-r--r--epan/dissectors/packet-oscore.c107
-rw-r--r--epan/dissectors/packet-oscore.h5
-rw-r--r--epan/dissectors/packet-ositp.c2
-rw-r--r--epan/dissectors/packet-osmo_trx.c12
-rw-r--r--epan/dissectors/packet-ospf.c89
-rw-r--r--epan/dissectors/packet-p1.c30
-rw-r--r--epan/dissectors/packet-p22.c8
-rw-r--r--epan/dissectors/packet-p7.c14
-rw-r--r--epan/dissectors/packet-p772.c4
-rw-r--r--epan/dissectors/packet-p_mul.c7
-rw-r--r--epan/dissectors/packet-pa-hbbackup.c122
-rw-r--r--epan/dissectors/packet-packetbb.c12
-rw-r--r--epan/dissectors/packet-packetlogger.c10
-rw-r--r--epan/dissectors/packet-pagp.c5
-rw-r--r--epan/dissectors/packet-pana.c4
-rw-r--r--epan/dissectors/packet-parlay.c2043
-rw-r--r--epan/dissectors/packet-pcap.c4
-rw-r--r--epan/dissectors/packet-pcep.c38
-rw-r--r--epan/dissectors/packet-pcnfsd.c9
-rw-r--r--epan/dissectors/packet-pcp.c5
-rw-r--r--epan/dissectors/packet-pdcp-lte.c20
-rw-r--r--epan/dissectors/packet-pdcp-nr.c38
-rw-r--r--epan/dissectors/packet-peekremote.c54
-rw-r--r--epan/dissectors/packet-per.c48
-rw-r--r--epan/dissectors/packet-per.h2
-rw-r--r--epan/dissectors/packet-pfcp.c3932
-rw-r--r--epan/dissectors/packet-pgm.c13
-rw-r--r--epan/dissectors/packet-pgsql.c2
-rw-r--r--epan/dissectors/packet-pim.c366
-rw-r--r--epan/dissectors/packet-pkcs1.c195
-rw-r--r--epan/dissectors/packet-pkinit.c160
-rw-r--r--epan/dissectors/packet-pkinit.h2
-rw-r--r--epan/dissectors/packet-pkix1explicit.c2
-rw-r--r--epan/dissectors/packet-pkixac.c2
-rw-r--r--epan/dissectors/packet-pkixtsp.c2
-rw-r--r--epan/dissectors/packet-pnrp.c10
-rw-r--r--epan/dissectors/packet-portmap.c7
-rw-r--r--epan/dissectors/packet-ppi-antenna.c4
-rw-r--r--epan/dissectors/packet-ppi-gps.c4
-rw-r--r--epan/dissectors/packet-ppi-sensor.c2
-rw-r--r--epan/dissectors/packet-ppi-vector.c4
-rw-r--r--epan/dissectors/packet-ppp.c46
-rw-r--r--epan/dissectors/packet-pres.c8
-rw-r--r--epan/dissectors/packet-protobuf.c341
-rw-r--r--epan/dissectors/packet-proxy.c2
-rw-r--r--epan/dissectors/packet-ptpip.c2
-rw-r--r--epan/dissectors/packet-ptpip.h2
-rw-r--r--epan/dissectors/packet-q2931.c5
-rw-r--r--epan/dissectors/packet-q708.c19103
-rw-r--r--epan/dissectors/packet-q931.c3
-rw-r--r--epan/dissectors/packet-q933.c12
-rw-r--r--epan/dissectors/packet-qnet6.c28
-rw-r--r--epan/dissectors/packet-qsig.c10
-rw-r--r--epan/dissectors/packet-quic.c973
-rw-r--r--epan/dissectors/packet-quic.h43
-rw-r--r--epan/dissectors/packet-radius.c5
-rw-r--r--epan/dissectors/packet-radius_packetcable.c6
-rw-r--r--epan/dissectors/packet-raknet.c10
-rw-r--r--epan/dissectors/packet-rdm.c8593
-rw-r--r--epan/dissectors/packet-rdp.c8
-rw-r--r--epan/dissectors/packet-reload-framing.c2
-rw-r--r--epan/dissectors/packet-rfc2190.c4
-rw-r--r--epan/dissectors/packet-rftap.c2
-rw-r--r--epan/dissectors/packet-rlc-lte.c4
-rw-r--r--epan/dissectors/packet-rlc-nr.c31
-rw-r--r--epan/dissectors/packet-rohc.c14
-rw-r--r--epan/dissectors/packet-roofnet.c2
-rw-r--r--epan/dissectors/packet-rpc.c26
-rw-r--r--epan/dissectors/packet-rpc.h1
-rw-r--r--epan/dissectors/packet-rpcap.c46
-rw-r--r--epan/dissectors/packet-rpcrdma.c110
-rw-r--r--epan/dissectors/packet-rrc.c40
-rw-r--r--epan/dissectors/packet-rrlp.c22
-rw-r--r--epan/dissectors/packet-rsl.c48
-rw-r--r--epan/dissectors/packet-rspro.c1232
-rw-r--r--epan/dissectors/packet-rspro.h24
-rw-r--r--epan/dissectors/packet-rsvd.c2
-rw-r--r--epan/dissectors/packet-rsvp.c33
-rw-r--r--epan/dissectors/packet-rtcdc.c6
-rw-r--r--epan/dissectors/packet-rtcp.c332
-rw-r--r--epan/dissectors/packet-rtitcp.c3
-rw-r--r--epan/dissectors/packet-rtls.c6
-rw-r--r--epan/dissectors/packet-rtmpt.c2
-rw-r--r--epan/dissectors/packet-rtp-events.c70
-rw-r--r--epan/dissectors/packet-rtp-midi.c58
-rw-r--r--epan/dissectors/packet-rtp.c121
-rw-r--r--epan/dissectors/packet-rtpproxy.c4
-rw-r--r--epan/dissectors/packet-rtps-utils.c436
-rw-r--r--epan/dissectors/packet-rtps.c1066
-rw-r--r--epan/dissectors/packet-rtps.h188
-rw-r--r--epan/dissectors/packet-rtse.c4
-rw-r--r--epan/dissectors/packet-rtsp.c33
-rw-r--r--epan/dissectors/packet-rudp.c2
-rw-r--r--epan/dissectors/packet-rx.c53
-rw-r--r--epan/dissectors/packet-rx.h1
-rw-r--r--epan/dissectors/packet-s101.c2
-rw-r--r--epan/dissectors/packet-s1ap.c2837
-rw-r--r--epan/dissectors/packet-s1ap.h3
-rw-r--r--epan/dissectors/packet-s5066dts.c2
-rw-r--r--epan/dissectors/packet-s7comm.c70
-rw-r--r--epan/dissectors/packet-s7comm_szl_ids.c3156
-rw-r--r--epan/dissectors/packet-sap.c2
-rw-r--r--epan/dissectors/packet-sasp.c4
-rw-r--r--epan/dissectors/packet-sbc-ap.c54
-rw-r--r--epan/dissectors/packet-scsi-mmc.c12
-rw-r--r--epan/dissectors/packet-scsi-osd.c2
-rw-r--r--epan/dissectors/packet-scsi-sbc.c70
-rw-r--r--epan/dissectors/packet-scsi-smc.c8
-rw-r--r--epan/dissectors/packet-scsi-ssc.c48
-rw-r--r--epan/dissectors/packet-scsi.c62
-rw-r--r--epan/dissectors/packet-scsi.h2
-rw-r--r--epan/dissectors/packet-scte35.c8
-rw-r--r--epan/dissectors/packet-sctp.c6
-rw-r--r--epan/dissectors/packet-scylla.c552
-rw-r--r--epan/dissectors/packet-sdp.c46
-rw-r--r--epan/dissectors/packet-selfm.c2
-rw-r--r--epan/dissectors/packet-sercosiii.c16
-rw-r--r--epan/dissectors/packet-ses.c12
-rw-r--r--epan/dissectors/packet-sflow.c7
-rw-r--r--epan/dissectors/packet-sgsap.c5
-rw-r--r--epan/dissectors/packet-shim6.c17
-rw-r--r--epan/dissectors/packet-sigcomp.c12
-rw-r--r--epan/dissectors/packet-simple.c2
-rw-r--r--epan/dissectors/packet-sip.c579
-rw-r--r--epan/dissectors/packet-sip.h2
-rw-r--r--epan/dissectors/packet-sita.c19
-rw-r--r--epan/dissectors/packet-skinny.c21
-rw-r--r--epan/dissectors/packet-sll.c334
-rw-r--r--epan/dissectors/packet-slowprotocols.c1
-rw-r--r--epan/dissectors/packet-slsk.c90
-rw-r--r--epan/dissectors/packet-smb-browse.c8
-rw-r--r--epan/dissectors/packet-smb-common.c2
-rw-r--r--epan/dissectors/packet-smb-direct.c4
-rw-r--r--epan/dissectors/packet-smb-logon.c2
-rw-r--r--epan/dissectors/packet-smb.c226
-rw-r--r--epan/dissectors/packet-smb.h2
-rw-r--r--epan/dissectors/packet-smb2.c1265
-rw-r--r--epan/dissectors/packet-smb2.h36
-rw-r--r--epan/dissectors/packet-smp.c2
-rw-r--r--epan/dissectors/packet-smpp.c56
-rw-r--r--epan/dissectors/packet-sna.c56
-rw-r--r--epan/dissectors/packet-sndcp.c2
-rw-r--r--epan/dissectors/packet-snort-config.c14
-rw-r--r--epan/dissectors/packet-snort-config.h5
-rw-r--r--epan/dissectors/packet-snort.c21
-rw-r--r--epan/dissectors/packet-socketcan.c114
-rw-r--r--epan/dissectors/packet-socketcan.h6
-rw-r--r--epan/dissectors/packet-socks.c4
-rw-r--r--epan/dissectors/packet-someip-sd.c45
-rw-r--r--epan/dissectors/packet-someip.c67
-rw-r--r--epan/dissectors/packet-spdy.c4
-rw-r--r--epan/dissectors/packet-spice.c12
-rw-r--r--epan/dissectors/packet-spnego.c34
-rw-r--r--epan/dissectors/packet-spp.c2
-rw-r--r--epan/dissectors/packet-srt.c6
-rw-r--r--epan/dissectors/packet-srvloc.c4
-rw-r--r--epan/dissectors/packet-ssh.c583
-rw-r--r--epan/dissectors/packet-sstp.c2
-rw-r--r--epan/dissectors/packet-stanag4607.c12
-rw-r--r--epan/dissectors/packet-stt.c6
-rw-r--r--epan/dissectors/packet-stun.c589
-rw-r--r--epan/dissectors/packet-sua.c20
-rw-r--r--epan/dissectors/packet-sv.c2
-rw-r--r--epan/dissectors/packet-synergy.c2
-rw-r--r--epan/dissectors/packet-synphasor.c846
-rw-r--r--epan/dissectors/packet-sysdig-event.c258
-rw-r--r--epan/dissectors/packet-sysex.c14
-rw-r--r--epan/dissectors/packet-syslog.c3
-rw-r--r--epan/dissectors/packet-systemd-journal.c52
-rw-r--r--epan/dissectors/packet-t124.c2
-rw-r--r--epan/dissectors/packet-t38.c24
-rw-r--r--epan/dissectors/packet-tacacs.c30
-rw-r--r--epan/dissectors/packet-tali.c2
-rw-r--r--epan/dissectors/packet-tango.c9
-rw-r--r--epan/dissectors/packet-tcap.c8
-rw-r--r--epan/dissectors/packet-tcp.c126
-rw-r--r--epan/dissectors/packet-tcp.h5
-rw-r--r--epan/dissectors/packet-tcpros.c2
-rw-r--r--epan/dissectors/packet-tdmoe.c2
-rw-r--r--epan/dissectors/packet-tds.c357
-rw-r--r--epan/dissectors/packet-teap.c733
-rw-r--r--epan/dissectors/packet-tecmp.c1620
-rw-r--r--epan/dissectors/packet-telnet.c6
-rw-r--r--epan/dissectors/packet-tftp.c401
-rw-r--r--epan/dissectors/packet-tftp.h18
-rw-r--r--epan/dissectors/packet-thread.c3
-rw-r--r--epan/dissectors/packet-tibia.c2
-rw-r--r--epan/dissectors/packet-time.c4
-rw-r--r--epan/dissectors/packet-tipc.c20
-rw-r--r--epan/dissectors/packet-tls-utils.c1413
-rw-r--r--epan/dissectors/packet-tls-utils.h283
-rw-r--r--epan/dissectors/packet-tls.c16
-rw-r--r--epan/dissectors/packet-tn3270.c38
-rw-r--r--epan/dissectors/packet-tn5250.c179
-rw-r--r--epan/dissectors/packet-tnef.c15
-rw-r--r--epan/dissectors/packet-tns.c8
-rw-r--r--epan/dissectors/packet-tpm20.c28
-rw-r--r--epan/dissectors/packet-tpncp.c1071
-rw-r--r--epan/dissectors/packet-tr.c4
-rw-r--r--epan/dissectors/packet-tsdns.c3
-rw-r--r--epan/dissectors/packet-tte-pcf.c2
-rw-r--r--epan/dissectors/packet-tte.c5
-rw-r--r--epan/dissectors/packet-twamp.c4
-rw-r--r--epan/dissectors/packet-u3v.c2
-rw-r--r--epan/dissectors/packet-ua3g.c14
-rw-r--r--epan/dissectors/packet-uasip.c2
-rw-r--r--epan/dissectors/packet-ubertooth.c4
-rw-r--r--epan/dissectors/packet-udld.c7
-rw-r--r--epan/dissectors/packet-udp.c46
-rwxr-xr-xepan/dissectors/packet-udpcp.c543
-rw-r--r--epan/dissectors/packet-uds.c4
-rw-r--r--epan/dissectors/packet-udt.c2
-rw-r--r--epan/dissectors/packet-uftp.c12
-rw-r--r--epan/dissectors/packet-uftp4.c78
-rw-r--r--epan/dissectors/packet-uftp5.c3222
-rw-r--r--epan/dissectors/packet-ulp.c213
-rw-r--r--epan/dissectors/packet-uma.c6
-rw-r--r--epan/dissectors/packet-umts_fp.c167
-rw-r--r--epan/dissectors/packet-umts_rlc.c6
-rw-r--r--epan/dissectors/packet-usb-audio.c361
-rw-r--r--epan/dissectors/packet-usb-ccid.c73
-rw-r--r--epan/dissectors/packet-usb-com.c136
-rw-r--r--epan/dissectors/packet-usb-dfu.c10
-rw-r--r--epan/dissectors/packet-usb-hid.c6155
-rw-r--r--epan/dissectors/packet-usb-hub.c4
-rw-r--r--epan/dissectors/packet-usb-masstorage.c44
-rw-r--r--epan/dissectors/packet-usb-printer.c190
-rw-r--r--epan/dissectors/packet-usb-video.c24
-rw-r--r--epan/dissectors/packet-usb.c160
-rw-r--r--epan/dissectors/packet-usbip.c2
-rw-r--r--epan/dissectors/packet-usbll.c247
-rw-r--r--epan/dissectors/packet-uts.c4
-rw-r--r--epan/dissectors/packet-v150fw.c2
-rw-r--r--epan/dissectors/packet-v52.c4
-rw-r--r--epan/dissectors/packet-v5ef.c11
-rw-r--r--epan/dissectors/packet-vines.c7
-rw-r--r--epan/dissectors/packet-vlan.c13
-rw-r--r--epan/dissectors/packet-vmlab.c4
-rw-r--r--epan/dissectors/packet-vnc.c30
-rw-r--r--epan/dissectors/packet-vntag.c8
-rw-r--r--epan/dissectors/packet-vp8.c19
-rw-r--r--epan/dissectors/packet-vpp.c1
-rw-r--r--epan/dissectors/packet-vrt.c4
-rw-r--r--epan/dissectors/packet-vsip.c2
-rw-r--r--epan/dissectors/packet-vsmartcard.c171
-rw-r--r--epan/dissectors/packet-vtp.c3
-rw-r--r--epan/dissectors/packet-vxlan.c4
-rw-r--r--epan/dissectors/packet-wai.c2
-rw-r--r--epan/dissectors/packet-wassp.c90
-rw-r--r--epan/dissectors/packet-wbxml.c149
-rw-r--r--epan/dissectors/packet-wccp.c6
-rw-r--r--epan/dissectors/packet-wcp.c193
-rw-r--r--epan/dissectors/packet-whois.c47
-rw-r--r--epan/dissectors/packet-wifi-dpp.c463
-rw-r--r--epan/dissectors/packet-wifi-dpp.h10
-rw-r--r--epan/dissectors/packet-wifi-nan.c102
-rw-r--r--epan/dissectors/packet-wifi-p2p.c2
-rw-r--r--epan/dissectors/packet-windows-common.c14
-rw-r--r--epan/dissectors/packet-winsrepl.c2
-rw-r--r--epan/dissectors/packet-wireguard.c108
-rw-r--r--epan/dissectors/packet-wisun.c12
-rw-r--r--epan/dissectors/packet-wps.c2
-rw-r--r--epan/dissectors/packet-wsmp.c2
-rw-r--r--epan/dissectors/packet-wsp.c13
-rw-r--r--epan/dissectors/packet-x11.c14
-rw-r--r--epan/dissectors/packet-x2ap.c4555
-rw-r--r--epan/dissectors/packet-x509af.c27
-rw-r--r--epan/dissectors/packet-x509ce.c14
-rw-r--r--epan/dissectors/packet-x509if.c2
-rw-r--r--epan/dissectors/packet-x509sat.c23
-rw-r--r--epan/dissectors/packet-xcsl.c4
-rw-r--r--epan/dissectors/packet-xip-serval.c2
-rw-r--r--epan/dissectors/packet-xmcp.c2
-rw-r--r--epan/dissectors/packet-xml.c57
-rw-r--r--epan/dissectors/packet-xnap.c9071
-rw-r--r--epan/dissectors/packet-xra.c2
-rw-r--r--epan/dissectors/packet-xtp.c2
-rw-r--r--epan/dissectors/packet-z3950.c28
-rw-r--r--epan/dissectors/packet-zbee-aps.c97
-rw-r--r--epan/dissectors/packet-zbee-aps.h19
-rw-r--r--epan/dissectors/packet-zbee-nwk-gp.c24
-rw-r--r--epan/dissectors/packet-zbee-nwk.c26
-rw-r--r--epan/dissectors/packet-zbee-security.c2
-rw-r--r--epan/dissectors/packet-zbee-zcl-closures.c2
-rw-r--r--epan/dissectors/packet-zbee-zcl-general.c138
-rw-r--r--epan/dissectors/packet-zbee-zcl-hvac.c12
-rw-r--r--epan/dissectors/packet-zbee-zcl-lighting.c14
-rw-r--r--epan/dissectors/packet-zbee-zcl-meas-sensing.c4
-rw-r--r--epan/dissectors/packet-zbee-zcl-misc.c6
-rw-r--r--epan/dissectors/packet-zbee-zcl-se.c153
-rw-r--r--epan/dissectors/packet-zbee-zdp-management.c2
-rw-r--r--epan/dissectors/packet-zbee-zdp.c16
-rw-r--r--epan/dissectors/packet-zbee-zdp.h4
-rw-r--r--epan/dissectors/packet-zbee.h2
-rw-r--r--epan/dissectors/packet-zebra.c52
-rw-r--r--epan/dissectors/packet-zep.c2
-rw-r--r--epan/dissectors/packet-ziop.c2
-rw-r--r--epan/dissectors/packet-zvt.c2
-rw-r--r--epan/dissectors/pidl/CMakeLists.txt5
-rw-r--r--epan/dissectors/pidl/Makefile.pidl6
-rw-r--r--epan/dissectors/pidl/clusapi/clusapi.idl427
-rw-r--r--epan/dissectors/pidl/lsa/lsa.cnf8
-rw-r--r--epan/dissectors/pidl/mapicodes_enum.h2
-rw-r--r--epan/dissectors/pidl/samr/samr.cnf10
-rw-r--r--epan/dissectors/pidl/winreg/winreg.cnf2
-rw-r--r--epan/dissectors/pidl/winspool/winspool.cnf58
-rw-r--r--epan/dissectors/pidl/winspool/winspool.idl878
-rw-r--r--epan/dissectors/usb.c3506
-rw-r--r--epan/dissectors/x11-enum.h2
-rw-r--r--epan/dissectors/x11-extension-errors.h2
-rw-r--r--epan/dissectors/x11-extension-implementation.h490
-rw-r--r--epan/dissectors/x11-glx-render-enum.h4
-rw-r--r--epan/dtd_preparse.l5
-rw-r--r--epan/eap.h1
-rw-r--r--epan/epan.c7
-rw-r--r--epan/etypes.h12
-rw-r--r--epan/exceptions.h2
-rw-r--r--epan/expert.h2
-rw-r--r--epan/export_object.c8
-rw-r--r--epan/exported_pdu.c2
-rw-r--r--epan/follow.h7
-rw-r--r--epan/ftypes/CMakeLists.txt2
-rw-r--r--epan/ftypes/ftype-time.c8
-rw-r--r--epan/funnel.h3
-rw-r--r--epan/oids_test.c14
-rw-r--r--epan/oui.h2
-rw-r--r--epan/packet.c47
-rw-r--r--epan/packet.h9
-rw-r--r--epan/plugin_if.c34
-rw-r--r--epan/plugin_if.h14
-rw-r--r--epan/prefs-int.h1
-rw-r--r--epan/prefs.c49
-rw-r--r--epan/prefs.h12
-rw-r--r--epan/print.c2
-rw-r--r--epan/proto.c400
-rw-r--r--epan/proto.h598
-rw-r--r--epan/proto_data.c10
-rw-r--r--epan/proto_data.h28
-rw-r--r--epan/protobuf-helper.c29
-rw-r--r--epan/protobuf-helper.h16
-rw-r--r--epan/protobuf_lang.y9
-rw-r--r--epan/protobuf_lang_tree.c115
-rw-r--r--epan/protobuf_lang_tree.h19
-rw-r--r--epan/reassemble.c3
-rw-r--r--epan/reassemble_test.c8
-rw-r--r--epan/secrets.c3
-rw-r--r--epan/sminmpec.h2
-rw-r--r--epan/stats_tree.c8
-rw-r--r--epan/strutil.c42
-rw-r--r--epan/strutil.h70
-rw-r--r--epan/tfs.c22
-rw-r--r--epan/tfs.h32
-rw-r--r--epan/to_str.c82
-rw-r--r--epan/tvbparse.c20
-rw-r--r--epan/tvbtest.c2
-rw-r--r--epan/tvbuff.c158
-rw-r--r--epan/tvbuff.h33
-rw-r--r--epan/tvbuff_composite.c32
-rw-r--r--epan/unit_strings.c12
-rw-r--r--epan/unit_strings.h30
-rw-r--r--epan/wmem/CMakeLists.txt1
-rw-r--r--epan/wmem/wmem_array.c9
-rw-r--r--epan/wmem/wmem_array.h8
-rw-r--r--epan/wmem/wmem_interval_tree.c2
-rw-r--r--epan/wmem/wmem_map.c40
-rw-r--r--epan/wmem/wmem_map.h14
-rw-r--r--epan/wmem/wmem_strbuf.c7
-rw-r--r--epan/wmem/wmem_test.c4
-rw-r--r--epan/wmem/wmem_tree-int.h8
-rw-r--r--epan/wmem/wmem_tree.c50
-rw-r--r--epan/wmem/wmem_tree.h14
-rw-r--r--epan/wslua/CMakeLists.txt2
-rw-r--r--epan/wslua/init_wslua.c2
-rw-r--r--epan/wslua/lua_bitop.c7
-rw-r--r--epan/wslua/wslua.h3
-rw-r--r--epan/wslua/wslua_byte_array.c85
-rw-r--r--epan/wslua/wslua_column.c75
-rw-r--r--epan/wslua/wslua_dir.c47
-rw-r--r--epan/wslua/wslua_dissector.c68
-rw-r--r--epan/wslua/wslua_dumper.c72
-rw-r--r--epan/wslua/wslua_field.c4
-rw-r--r--epan/wslua/wslua_file.c2
-rw-r--r--epan/wslua/wslua_gui.c368
-rw-r--r--epan/wslua/wslua_int64.c322
-rw-r--r--epan/wslua/wslua_listener.c43
-rw-r--r--epan/wslua/wslua_pinfo.c6
-rw-r--r--epan/wslua/wslua_pref.c75
-rw-r--r--epan/wslua/wslua_proto.c50
-rw-r--r--epan/wslua/wslua_proto_field.c128
-rw-r--r--epan/wslua/wslua_tree.c171
-rw-r--r--epan/wslua/wslua_tvb.c214
-rw-r--r--epan/wslua/wslua_util.c108
-rw-r--r--extcap.c92
-rw-r--r--extcap.h115
-rw-r--r--extcap/CMakeLists.txt6
-rw-r--r--extcap/androiddump.c31
-rw-r--r--extcap/ciscodump.c18
-rw-r--r--extcap/dpauxmon.c2
-rw-r--r--extcap/extcap-base.c38
-rw-r--r--extcap/extcap-base.h5
-rw-r--r--extcap/randpktdump.c2
-rw-r--r--extcap/sdjournal.c2
-rw-r--r--extcap/ssh-base.c16
-rw-r--r--extcap/ssh-base.h5
-rw-r--r--extcap/sshdump.c28
-rw-r--r--extcap/udpdump.c8
-rw-r--r--extcap_parser.c1
-rw-r--r--file.c94
-rw-r--r--file.h14
-rw-r--r--image/languages/es.svg406
-rw-r--r--image/languages/languages.qrc1
-rw-r--r--manuf21647
-rw-r--r--manuf.tmpl2
-rw-r--r--mergecap.c8
-rwxr-xr-xpackaging/macosx/ChmodBPF/install-scripts/postinstall8
-rwxr-xr-xpackaging/macosx/ChmodBPF/root/Library/Application Support/Wireshark/ChmodBPF/ChmodBPF10
-rw-r--r--packaging/macosx/Info.plist.in4
-rw-r--r--packaging/macosx/dmgbuild-settings.py.in2
-rwxr-xr-xpackaging/macosx/osx-app.sh.in28
-rwxr-xr-xpackaging/macosx/osx-dmg.sh.in7
-rwxr-xr-xpackaging/macosx/osx-extras.sh85
-rw-r--r--packaging/macosx/wsiconvol.icnsbin0 -> 21096 bytes
-rw-r--r--packaging/macosx/wsiconvol.svg106
-rw-r--r--packaging/nsis/CMakeLists.txt9
-rw-r--r--packaging/nsis/common.nsh2
-rw-r--r--packaging/nsis/makeUninstall.ps147
-rw-r--r--packaging/nsis/uninstall.nsi3
-rw-r--r--packaging/nsis/windeployqt-to-nsis.ps169
-rw-r--r--packaging/nsis/wireshark.nsi131
-rw-r--r--packaging/rpm/wireshark.spec.in24
-rw-r--r--packaging/wix/CMakeLists.txt5
-rw-r--r--packaging/wix/Plugins.wxi4
-rw-r--r--packaging/wix/windeployqt-to-wix.ps1142
-rw-r--r--plugins/codecs/G711/CMakeLists.txt2
-rw-r--r--plugins/codecs/G711/G711decode.c36
-rw-r--r--plugins/codecs/G722/CMakeLists.txt2
-rw-r--r--plugins/codecs/G722/G722decode.c13
-rw-r--r--plugins/codecs/G726/CMakeLists.txt2
-rw-r--r--plugins/codecs/G726/G726decode.c12
-rw-r--r--plugins/codecs/G729/CMakeLists.txt2
-rw-r--r--plugins/codecs/G729/G729decode.c18
-rw-r--r--plugins/codecs/iLBC/CMakeLists.txt70
-rw-r--r--plugins/codecs/iLBC/iLBCdecode.c129
-rw-r--r--plugins/codecs/l16_mono/CMakeLists.txt2
-rw-r--r--plugins/codecs/l16_mono/l16decode.c18
-rw-r--r--plugins/codecs/sbc/CMakeLists.txt2
-rw-r--r--plugins/epan/ethercat/CMakeLists.txt2
-rw-r--r--plugins/epan/ethercat/packet-ethercat-datagram.c82
-rw-r--r--plugins/epan/gryphon/CMakeLists.txt2
-rw-r--r--plugins/epan/gryphon/packet-gryphon.c22
-rw-r--r--plugins/epan/irda/CMakeLists.txt2
-rw-r--r--plugins/epan/mate/CMakeLists.txt1
-rw-r--r--plugins/epan/mate/mate_runtime.c2
-rw-r--r--plugins/epan/opcua/CMakeLists.txt2
-rw-r--r--plugins/epan/opcua/opcua_complextypeparser.c2
-rw-r--r--plugins/epan/opcua/opcua_simpletypes.c16
-rw-r--r--plugins/epan/opcua/opcua_statuscode.c2
-rw-r--r--plugins/epan/pluginifdemo/CMakeLists.txt2
-rw-r--r--plugins/epan/pluginifdemo/pluginifdemo.c31
-rw-r--r--plugins/epan/pluginifdemo/ui/pluginifdemo_about.cpp2
-rw-r--r--plugins/epan/pluginifdemo/ui/pluginifdemo_main.cpp2
-rw-r--r--plugins/epan/pluginifdemo/ui/pluginifdemo_main.h2
-rw-r--r--plugins/epan/pluginifdemo/ui/uihandler.cpp7
-rw-r--r--plugins/epan/pluginifdemo/ui/uihandler.h2
-rw-r--r--plugins/epan/profinet/CMakeLists.txt2
-rw-r--r--plugins/epan/profinet/packet-dcerpc-pn-io.c357
-rw-r--r--plugins/epan/profinet/packet-dcom-cba-acco.c12
-rw-r--r--plugins/epan/profinet/packet-pn-dcp.c22
-rw-r--r--plugins/epan/profinet/packet-pn-rtc-one.c14
-rw-r--r--plugins/epan/profinet/packet-pn.c2
-rw-r--r--plugins/epan/stats_tree/CMakeLists.txt2
-rw-r--r--plugins/epan/transum/CMakeLists.txt2
-rw-r--r--plugins/epan/transum/packet-transum.c2
-rw-r--r--plugins/epan/unistim/CMakeLists.txt2
-rw-r--r--plugins/epan/unistim/packet-unistim.c320
-rw-r--r--plugins/epan/wimax/.editorconfig10
-rw-r--r--plugins/epan/wimax/CMakeLists.txt2
-rw-r--r--plugins/epan/wimax/msg_dlmap.c10
-rw-r--r--plugins/epan/wimaxasncp/CMakeLists.txt2
-rw-r--r--plugins/epan/wimaxmacphy/CMakeLists.txt2
-rw-r--r--plugins/wiretap/usbdump/CMakeLists.txt2
-rw-r--r--profiles/No Reassembly/preferences2
-rw-r--r--radius/dictionary2
-rw-r--r--radius/dictionary.enterasys47
-rw-r--r--radius/dictionary.extreme96
-rw-r--r--radius/dictionary.identity_engines16
-rw-r--r--radius/dictionary.meinberg4
-rw-r--r--randpkt_core/randpkt_core.c6
-rw-r--r--rawshark.c20
-rw-r--r--ringbuffer.c50
-rw-r--r--ringbuffer.h1
-rw-r--r--services25
-rw-r--r--sharkd_session.c10
-rw-r--r--sync_pipe_write.c3
-rw-r--r--test/README.test1
-rw-r--r--test/baseline/dhcp-raw.ek8
-rw-r--r--test/baseline/dhcp.ek8
-rw-r--r--test/baseline/dhcp.json12
-rw-r--r--test/baseline/dhcp.jsonraw140
-rw-r--r--test/baseline/elastic-mapping-ip-subset.json4
-rw-r--r--test/captures/wpa-ccmp-256.pcapng.gzbin0 -> 5261 bytes
-rw-r--r--test/captures/wpa-gcmp-256.pcapng.gzbin0 -> 5079 bytes
-rw-r--r--test/captures/wpa-gcmp.pcapng.gzbin0 -> 5584 bytes
-rw-r--r--test/captures/wpa2-psk-mfp.pcapng.gzbin0 -> 3128 bytes
-rw-r--r--test/config/80211_keys.user_tk_tmpl12
-rw-r--r--test/fixtures_ws.py57
-rw-r--r--test/lua/field.lua2
-rw-r--r--test/subprocesstest.py12
-rw-r--r--test/suite_decryption.py342
-rw-r--r--test/suite_extcaps.py88
-rw-r--r--test/suite_outputformats.py2
-rw-r--r--test/suite_release.py47
-rw-r--r--test/suite_sharkd.py2
-rw-r--r--test/suite_text2pcap.py2
-rwxr-xr-xtest/test.py13
-rw-r--r--text2pcap.c1
-rw-r--r--tfshark.c9
-rwxr-xr-xtools/alpine-setup.sh7
-rwxr-xr-xtools/asn2wrs.py7
-rwxr-xr-xtools/bsd-setup.sh21
-rwxr-xr-xtools/checkAPIs.pl40
-rwxr-xr-xtools/check_dissector_urls.py277
-rwxr-xr-xtools/check_spelling.py391
-rwxr-xr-xtools/check_tfs.py217
-rwxr-xr-xtools/check_typed_item_calls.py369
-rwxr-xr-xtools/checkfiltername.pl20
-rwxr-xr-xtools/checklicenses.py34
-rwxr-xr-xtools/commit-msg282
-rwxr-xr-xtools/compress-pngs.sh31
-rwxr-xr-xtools/cppcheck/cppcheck.sh44
-rw-r--r--tools/cppcheck/includes2
-rw-r--r--tools/cppcheck/suppressions2
-rwxr-xr-xtools/debian-setup.sh34
-rwxr-xr-xtools/extract_asn1_from_spec.pl4
-rwxr-xr-xtools/filter-msbuild.py65
-rwxr-xr-xtools/gen-bugnote36
-rwxr-xr-xtools/generate-nl80211-fields.py121
-rwxr-xr-xtools/generate-sysdig-event.py11
-rwxr-xr-xtools/generate_authors.pl28
-rwxr-xr-xtools/html2text.py4
-rw-r--r--tools/json2pcap/json2pcap.py367
-rw-r--r--tools/lemon/lemon.c4
-rwxr-xr-xtools/macos-setup-brew.sh13
-rwxr-xr-xtools/macos-setup.sh122
-rwxr-xr-xtools/make-manuf.py63
-rwxr-xr-xtools/make-tls-ct-logids.py37
-rwxr-xr-xtools/make-version.pl18
-rw-r--r--tools/msvc2015AdminDeployment.xml86
-rwxr-xr-xtools/ncp2222.py7
-rw-r--r--tools/pidl/lib/Parse/Pidl/Wireshark/NDR.pm2
-rwxr-xr-xtools/pre-commit2
-rwxr-xr-xtools/process-x11-xcb.pl2
-rw-r--r--tools/qt-installer-windows.qs92
-rwxr-xr-xtools/report-progress.sh46
-rwxr-xr-xtools/rpm-setup.sh34
-rwxr-xr-xtools/textify.ps186
-rwxr-xr-xtools/travis-cache-windows.sh86
-rwxr-xr-xtools/travis-install-qt-windows.sh28
-rwxr-xr-xtools/validate-clang-check.sh (renamed from tools/validate-clang-check.py)0
-rwxr-xr-xtools/validate-commit.py73
-rw-r--r--tools/win-setup.ps123
-rwxr-xr-xtools/wireshark_be.py7
-rwxr-xr-xtools/wireshark_gen.py45
-rw-r--r--tools/wireshark_words.txt913
-rw-r--r--tools/ws-coding-style.cfg13
-rw-r--r--tpncp/tpncp.dat5096
-rw-r--r--tshark.c227
-rw-r--r--ui/capture.c29
-rw-r--r--ui/capture.h12
-rw-r--r--ui/capture_ui_utils.c126
-rw-r--r--ui/cli/tap-exportobject.h2
-rw-r--r--ui/cli/tap-funnel.c1
-rw-r--r--ui/cli/tap-httpstat.c82
-rw-r--r--ui/cli/tap-iousers.c38
-rw-r--r--ui/cli/tap-macltestat.c4
-rw-r--r--ui/cli/tap-sipstat.c107
-rw-r--r--ui/cli/tap-stats_tree.c2
-rw-r--r--ui/clopts_common.h16
-rw-r--r--ui/commandline.c14
-rw-r--r--ui/dissect_opts.h21
-rw-r--r--ui/export_pdu_ui_utils.c11
-rw-r--r--ui/help_url.c10
-rw-r--r--ui/help_url.h4
-rw-r--r--ui/iface_lists.c2
-rw-r--r--ui/io_graph_item.c50
-rw-r--r--ui/io_graph_item.h50
-rw-r--r--ui/macosx/sparkle_bridge.h2
-rw-r--r--ui/macosx/sparkle_bridge.m20
-rw-r--r--ui/preference_utils.c28
-rw-r--r--ui/preference_utils.h8
-rw-r--r--ui/qt/CMakeLists.txt77
-rw-r--r--ui/qt/about_dialog.cpp8
-rw-r--r--ui/qt/address_editor_frame.cpp26
-rw-r--r--ui/qt/address_editor_frame.h1
-rw-r--r--ui/qt/bluetooth_att_server_attributes_dialog.cpp2
-rw-r--r--ui/qt/bluetooth_device_dialog.cpp45
-rw-r--r--ui/qt/bluetooth_device_dialog.ui10
-rw-r--r--ui/qt/bluetooth_devices_dialog.cpp12
-rw-r--r--ui/qt/bluetooth_hci_summary_dialog.cpp70
-rw-r--r--ui/qt/byte_view_tab.cpp10
-rw-r--r--ui/qt/byte_view_tab.h1
-rw-r--r--ui/qt/capture_file.cpp10
-rw-r--r--ui/qt/capture_file_dialog.cpp92
-rw-r--r--ui/qt/capture_file_dialog.h5
-rw-r--r--ui/qt/capture_file_properties_dialog.cpp226
-rw-r--r--ui/qt/capture_filter_syntax_worker.cpp4
-rw-r--r--ui/qt/capture_info_dialog.cpp2
-rw-r--r--ui/qt/capture_info_dialog.h4
-rw-r--r--ui/qt/capture_options_dialog.cpp (renamed from ui/qt/capture_interfaces_dialog.cpp)88
-rw-r--r--ui/qt/capture_options_dialog.h (renamed from ui/qt/capture_interfaces_dialog.h)18
-rw-r--r--ui/qt/capture_options_dialog.ui (renamed from ui/qt/capture_interfaces_dialog.ui)6
-rw-r--r--ui/qt/column_preferences_frame.cpp6
-rw-r--r--ui/qt/column_preferences_frame.h1
-rw-r--r--ui/qt/compiled_filter_output.cpp4
-rw-r--r--ui/qt/conversation_dialog.cpp26
-rw-r--r--ui/qt/conversation_dialog.h3
-rw-r--r--ui/qt/credentials_dialog.cpp2
-rw-r--r--ui/qt/decode_as_dialog.cpp20
-rw-r--r--ui/qt/decode_as_dialog.h1
-rw-r--r--ui/qt/enabled_protocols_dialog.cpp18
-rw-r--r--ui/qt/endpoint_dialog.cpp39
-rw-r--r--ui/qt/export_dissection_dialog.cpp10
-rw-r--r--ui/qt/export_dissection_dialog.h6
-rw-r--r--ui/qt/export_object_dialog.cpp2
-rw-r--r--ui/qt/extcap_argument.cpp29
-rw-r--r--ui/qt/extcap_argument_file.cpp39
-rw-r--r--ui/qt/extcap_argument_file.h3
-rw-r--r--ui/qt/extcap_argument_multiselect.cpp4
-rw-r--r--ui/qt/filter_action.cpp7
-rw-r--r--ui/qt/follow_stream_dialog.cpp58
-rw-r--r--ui/qt/follow_stream_dialog.h1
-rw-r--r--ui/qt/follow_stream_dialog.ui2
-rw-r--r--ui/qt/funnel_statistics.cpp73
-rw-r--r--ui/qt/funnel_statistics.h3
-rw-r--r--ui/qt/geometry_state_dialog.h5
-rw-r--r--ui/qt/iax2_analysis_dialog.cpp16
-rw-r--r--ui/qt/import_text_dialog.cpp25
-rw-r--r--ui/qt/interface_frame.cpp94
-rw-r--r--ui/qt/interface_frame.h3
-rw-r--r--ui/qt/interface_frame.ui4
-rw-r--r--ui/qt/interface_toolbar.cpp24
-rw-r--r--ui/qt/interface_toolbar_reader.h11
-rw-r--r--ui/qt/io_graph_dialog.cpp122
-rw-r--r--ui/qt/io_graph_dialog.h5
-rw-r--r--ui/qt/io_graph_dialog.ui63
-rw-r--r--ui/qt/layout_preferences_frame.cpp49
-rw-r--r--ui/qt/layout_preferences_frame.h5
-rw-r--r--ui/qt/layout_preferences_frame.ui41
-rw-r--r--ui/qt/lte_mac_statistics_dialog.cpp30
-rw-r--r--ui/qt/lte_mac_statistics_dialog.h2
-rw-r--r--ui/qt/lte_rlc_graph_dialog.cpp7
-rw-r--r--ui/qt/lte_rlc_graph_dialog.h2
-rw-r--r--ui/qt/lte_rlc_statistics_dialog.cpp4
-rw-r--r--ui/qt/main.cpp68
-rw-r--r--ui/qt/main_status_bar.cpp9
-rw-r--r--ui/qt/main_window.cpp176
-rw-r--r--ui/qt/main_window.h14
-rw-r--r--ui/qt/main_window.ui27
-rw-r--r--ui/qt/main_window_layout.cpp16
-rw-r--r--ui/qt/main_window_preferences_frame.cpp17
-rw-r--r--ui/qt/main_window_preferences_frame.h4
-rw-r--r--ui/qt/main_window_preferences_frame.ui38
-rw-r--r--ui/qt/main_window_slots.cpp114
-rw-r--r--ui/qt/manage_interfaces_dialog.cpp7
-rw-r--r--ui/qt/models/astringlist_list_model.cpp17
-rw-r--r--ui/qt/models/coloring_rules_model.cpp4
-rw-r--r--ui/qt/models/column_list_model.cpp60
-rw-r--r--ui/qt/models/credentials_model.cpp8
-rw-r--r--ui/qt/models/decode_as_delegate.cpp72
-rw-r--r--ui/qt/models/decode_as_model.cpp80
-rw-r--r--ui/qt/models/decode_as_model.h4
-rw-r--r--ui/qt/models/enabled_protocols_model.cpp9
-rw-r--r--ui/qt/models/filter_list_model.cpp15
-rw-r--r--ui/qt/models/info_proxy_model.cpp2
-rw-r--r--ui/qt/models/interface_tree_cache_model.cpp2
-rw-r--r--ui/qt/models/interface_tree_model.cpp33
-rw-r--r--ui/qt/models/packet_list_model.cpp14
-rw-r--r--ui/qt/models/packet_list_record.cpp11
-rw-r--r--ui/qt/models/packet_list_record.h2
-rw-r--r--ui/qt/models/pref_delegate.cpp9
-rw-r--r--ui/qt/models/pref_models.cpp8
-rw-r--r--ui/qt/models/profile_model.cpp45
-rw-r--r--ui/qt/models/related_packet_delegate.cpp12
-rw-r--r--ui/qt/models/related_packet_delegate.h2
-rw-r--r--ui/qt/models/resolved_addresses_models.cpp105
-rw-r--r--ui/qt/models/uat_delegate.cpp70
-rw-r--r--ui/qt/models/uat_model.cpp2
-rw-r--r--ui/qt/packet_diagram.cpp746
-rw-r--r--ui/qt/packet_diagram.h72
-rw-r--r--ui/qt/packet_list.cpp88
-rw-r--r--ui/qt/packet_list.h2
-rw-r--r--ui/qt/preference_editor_frame.cpp47
-rw-r--r--ui/qt/preference_editor_frame.h1
-rw-r--r--ui/qt/preference_editor_frame.ui7
-rw-r--r--ui/qt/preferences_dialog.cpp8
-rw-r--r--ui/qt/preferences_dialog.h7
-rw-r--r--ui/qt/profile_dialog.cpp9
-rw-r--r--ui/qt/progress_frame.cpp46
-rw-r--r--ui/qt/progress_frame.h2
-rw-r--r--ui/qt/progress_frame.ui7
-rw-r--r--ui/qt/proto_tree.cpp64
-rw-r--r--ui/qt/proto_tree.h3
-rw-r--r--ui/qt/protocol_hierarchy_dialog.cpp8
-rw-r--r--ui/qt/protocol_preferences_menu.cpp22
-rw-r--r--ui/qt/protocol_preferences_menu.h1
-rw-r--r--ui/qt/resolved_addresses_dialog.cpp5
-rw-r--r--ui/qt/rtp_analysis_dialog.cpp67
-rw-r--r--ui/qt/rtp_analysis_dialog.h6
-rw-r--r--ui/qt/rtp_audio_stream.cpp114
-rw-r--r--ui/qt/rtp_audio_stream.h9
-rw-r--r--ui/qt/rtp_player_dialog.cpp324
-rw-r--r--ui/qt/rtp_player_dialog.h31
-rw-r--r--ui/qt/rtp_player_dialog.ui5
-rw-r--r--ui/qt/rtp_stream_dialog.cpp19
-rw-r--r--ui/qt/search_frame.cpp91
-rw-r--r--ui/qt/search_frame.ui6
-rw-r--r--ui/qt/sequence_diagram.cpp2
-rw-r--r--ui/qt/sequence_diagram.h2
-rw-r--r--ui/qt/sequence_dialog.cpp22
-rw-r--r--ui/qt/show_packet_bytes_dialog.cpp110
-rw-r--r--ui/qt/show_packet_bytes_dialog.h8
-rw-r--r--ui/qt/simple_dialog.cpp11
-rw-r--r--ui/qt/simple_dialog.h1
-rw-r--r--ui/qt/tap_parameter_dialog.cpp4
-rw-r--r--ui/qt/tcp_stream_dialog.cpp148
-rw-r--r--ui/qt/tcp_stream_dialog.h17
-rw-r--r--ui/qt/traffic_table_dialog.cpp8
-rw-r--r--ui/qt/utils/field_information.cpp19
-rw-r--r--ui/qt/utils/field_information.h1
-rw-r--r--ui/qt/utils/frame_information.cpp26
-rw-r--r--ui/qt/utils/frame_information.h2
-rw-r--r--ui/qt/utils/qt_ui_utils.cpp19
-rw-r--r--ui/qt/utils/qt_ui_utils.h8
-rw-r--r--ui/qt/utils/wireshark_zip_helper.cpp51
-rw-r--r--ui/qt/utils/wireshark_zip_helper.h2
-rw-r--r--ui/qt/voip_calls_dialog.cpp27
-rw-r--r--ui/qt/voip_calls_dialog.h1
-rw-r--r--ui/qt/welcome_page.cpp2
-rw-r--r--ui/qt/widgets/byte_view_text.cpp108
-rw-r--r--ui/qt/widgets/byte_view_text.h13
-rw-r--r--ui/qt/widgets/capture_filter_combo.cpp9
-rw-r--r--ui/qt/widgets/capture_filter_edit.cpp7
-rw-r--r--ui/qt/widgets/display_filter_combo.cpp14
-rw-r--r--ui/qt/widgets/display_filter_edit.cpp13
-rw-r--r--ui/qt/widgets/editor_file_dialog.cpp2
-rw-r--r--ui/qt/widgets/field_filter_edit.cpp3
-rw-r--r--ui/qt/widgets/field_filter_edit.h2
-rw-r--r--ui/qt/widgets/filter_expression_toolbar.cpp192
-rw-r--r--ui/qt/widgets/filter_expression_toolbar.h29
-rw-r--r--ui/qt/widgets/find_line_edit.cpp6
-rw-r--r--ui/qt/widgets/label_stack.h4
-rw-r--r--ui/qt/widgets/overlay_scroll_bar.cpp2
-rw-r--r--ui/qt/widgets/packet_list_header.cpp21
-rw-r--r--ui/qt/widgets/pref_module_view.cpp24
-rw-r--r--ui/qt/widgets/pref_module_view.h4
-rw-r--r--ui/qt/widgets/profile_tree_view.cpp5
-rw-r--r--ui/qt/widgets/profile_tree_view.h1
-rw-r--r--ui/qt/widgets/qcustomplot.cpp48
-rw-r--r--ui/qt/widgets/splash_overlay.cpp2
-rw-r--r--ui/qt/widgets/syntax_line_edit.cpp37
-rw-r--r--ui/qt/widgets/syntax_line_edit.h4
-rw-r--r--ui/qt/widgets/wireless_timeline.cpp16
-rw-r--r--ui/qt/widgets/wireshark_file_dialog.cpp26
-rw-r--r--ui/qt/widgets/wireshark_file_dialog.h1
-rw-r--r--ui/qt/wireless_frame.cpp6
-rw-r--r--ui/qt/wireshark_application.cpp162
-rw-r--r--ui/qt/wireshark_application.h7
-rw-r--r--ui/qt/wireshark_de.ts627
-rw-r--r--ui/qt/wireshark_en.ts541
-rw-r--r--ui/qt/wireshark_es.ts13508
-rw-r--r--ui/qt/wireshark_fr.ts685
-rw-r--r--ui/qt/wireshark_it.ts661
-rw-r--r--ui/qt/wireshark_ja_JP.ts1900
-rw-r--r--ui/qt/wireshark_pl.ts697
-rw-r--r--ui/qt/wireshark_ru.ts1101
-rw-r--r--ui/qt/wireshark_sv.ts839
-rw-r--r--ui/qt/wireshark_uk.ts767
-rw-r--r--ui/qt/wireshark_zh_CN.ts693
-rw-r--r--ui/qt/wlan_statistics_dialog.cpp8
-rw-r--r--ui/qt/wlan_statistics_dialog.h2
-rw-r--r--ui/recent.c37
-rw-r--r--ui/recent.h5
-rw-r--r--ui/rtp_media.c2
-rw-r--r--ui/rtp_stream.h1
-rw-r--r--ui/software_update.c18
-rw-r--r--ui/software_update.h6
-rw-r--r--ui/tap-rlc-graph.c5
-rw-r--r--ui/tap-rtp-analysis.c6
-rw-r--r--ui/tap-rtp-common.c1
-rw-r--r--ui/tap-tcp-stream.c77
-rw-r--r--ui/tap-tcp-stream.h7
-rw-r--r--ui/text_import.c20
-rw-r--r--ui/voip_calls.c12
-rw-r--r--ui/win32/file_dlg_win32.c356
-rw-r--r--ui/win32/file_dlg_win32.h32
-rw-r--r--ui/ws_ui_util.h1
-rw-r--r--version_info.c330
-rw-r--r--wiretap/5views.c8
-rw-r--r--wiretap/CMakeLists.txt2
-rw-r--r--wiretap/aethra.c9
-rw-r--r--wiretap/ascend.y4
-rw-r--r--wiretap/ascendtext.c60
-rw-r--r--wiretap/btsnoop.c9
-rw-r--r--wiretap/busmaster.c12
-rw-r--r--wiretap/camins.c33
-rw-r--r--wiretap/candump.c9
-rw-r--r--wiretap/capsa.c9
-rw-r--r--wiretap/catapult_dct2000.c15
-rw-r--r--wiretap/commview.c4
-rw-r--r--wiretap/cosine.c8
-rw-r--r--wiretap/csids.c8
-rw-r--r--wiretap/daintree-sna.c8
-rw-r--r--wiretap/dbs-etherwatch.c8
-rw-r--r--wiretap/dct3trace.c8
-rw-r--r--wiretap/dpa400.c8
-rw-r--r--wiretap/erf-common.h41
-rw-r--r--wiretap/erf.c97
-rw-r--r--wiretap/erf.h347
-rw-r--r--wiretap/erf_record.h368
-rw-r--r--wiretap/file_access.c86
-rw-r--r--wiretap/file_wrappers.c201
-rw-r--r--wiretap/hcidump.c8
-rw-r--r--wiretap/i4btrace.c8
-rw-r--r--wiretap/ipfix.c8
-rw-r--r--wiretap/iptrace.c426
-rw-r--r--wiretap/iseries.c18
-rw-r--r--wiretap/k12.c8
-rw-r--r--wiretap/lanalyzer.c89
-rw-r--r--wiretap/libpcap.c29
-rw-r--r--wiretap/log3gpp.c12
-rw-r--r--wiretap/logcat.c8
-rw-r--r--wiretap/merge.c10
-rw-r--r--wiretap/mime_file.c4
-rw-r--r--wiretap/mp4.c62
-rw-r--r--wiretap/mp4.h16
-rw-r--r--wiretap/mpeg.c3
-rw-r--r--wiretap/mplog.c11
-rw-r--r--wiretap/netmon.c6
-rw-r--r--wiretap/netscaler.c11
-rw-r--r--wiretap/nettl.c7
-rw-r--r--wiretap/nettrace_3gpp_32_423.c97
-rw-r--r--wiretap/network_instruments.c8
-rw-r--r--wiretap/netxray.c8
-rw-r--r--wiretap/packetlogger.c45
-rw-r--r--wiretap/pcap-common.c16
-rw-r--r--wiretap/pcapng.c582
-rw-r--r--wiretap/peekclassic.c18
-rw-r--r--wiretap/peektagged.c11
-rw-r--r--wiretap/pppdump.c8
-rw-r--r--wiretap/radcom.c8
-rw-r--r--wiretap/snoop.c9
-rw-r--r--wiretap/stanag4607.c8
-rw-r--r--wiretap/systemd_journal.c14
-rw-r--r--wiretap/visual.c17
-rw-r--r--wiretap/vms.c8
-rw-r--r--wiretap/vwr.c8
-rw-r--r--wiretap/wtap-int.h6
-rw-r--r--wiretap/wtap.c151
-rw-r--r--wiretap/wtap.h78
-rw-r--r--wka2
-rw-r--r--writecap/pcapio.c30
-rw-r--r--writecap/pcapio.h1
-rw-r--r--wspcap.h10
-rw-r--r--wsutil/CMakeLists.txt3
-rw-r--r--wsutil/codecs.h68
-rw-r--r--wsutil/copyright_info.c2
-rw-r--r--wsutil/cpu_info.c2
-rw-r--r--wsutil/epochs.h57
-rw-r--r--wsutil/filesystem.c10
-rw-r--r--wsutil/nstime.c32
-rw-r--r--wsutil/nstime.h2
-rw-r--r--wsutil/please_report_bug.c4
-rw-r--r--wsutil/privileges.c2
-rw-r--r--wsutil/str_util.c35
-rw-r--r--wsutil/str_util.h5
-rw-r--r--wsutil/strtoi.c84
-rw-r--r--wsutil/strtoi.h4
-rw-r--r--wsutil/tempfile.c179
-rw-r--r--wsutil/tempfile.h17
-rw-r--r--wsutil/time_util.c4
-rw-r--r--wsutil/wsgcrypt.h19
1875 files changed, 349543 insertions, 91235 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index 9d92aa26a9..9078af6896 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,10 +1,16 @@
task:
+ timeout_in: 120m
freebsd_instance:
matrix:
- image_family: freebsd-13-0-snap
- - image_family: freebsd-12-0
- - image_family: freebsd-11-3-snap
- setup_script: env ASSUME_ALWAYS_YES=YES tools/bsd-setup.sh --install-optional
+ - image_family: freebsd-12-1
+ - image_family: freebsd-11-4
+ env:
+ ASSUME_ALWAYS_YES: YES
+ setup_script:
+ - pkg update -f
+ - pkg install bash
+ - tools/bsd-setup.sh --install-optional
build_script:
- mkdir build
- cd build
diff --git a/.editorconfig b/.editorconfig
index 1bd0e713cd..78d03d0157 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -39,6 +39,17 @@ indent_size = 2
indent_style = space
indent_size = 2
+# YAML
+[*.yml]
+indent_style = space
+indent_size = 2
+
+# GraphViz. The examples at https://gitlab.com/graphviz/graphviz/-/blob/master/graphs
+# seem to be all over the place, so just go with 4 spaces for now.
+[*.gv]
+indent_style = space
+indent_size = 4
+
# C/C++
[*.{c,cpp,h}]
indent_style = space
diff --git a/.github/lockdown.yml b/.github/lockdown.yml
new file mode 100644
index 0000000000..8135fc7ade
--- /dev/null
+++ b/.github/lockdown.yml
@@ -0,0 +1,10 @@
+# Configure the Repo Lockdown GitHub App to automatically close pull requests.
+# See https://github.com/apps/repo-lockdown
+
+pulls:
+ comment: |
+ Hi, thank you for your contribution!
+
+ GitHub is however not the right place for these, please have a look at
+ <https://www.wireshark.org/docs/wsdg_html_chunked/ChSrcContribute.html>
+ for further instructions.
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
new file mode 100644
index 0000000000..5f7ac530c5
--- /dev/null
+++ b/.github/workflows/macos.yml
@@ -0,0 +1,55 @@
+name: Build MacOS
+
+on: [push]
+
+jobs:
+ macos:
+ name: Build & Test
+ runs-on: macos-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Set up Python 3.8
+ uses: actions/setup-python@v1
+ with:
+ python-version: 3.8
+ - name: Install dmgbuild
+ run: pip3 install dmgbuild
+ - name: Install pytest
+ run: pip install pytest pytest-xdist
+ - name: Set up Ruby 2.6
+ uses: actions/setup-ruby@v1.1.1
+ with:
+ ruby-version: '2.6'
+ - name: Install deps
+ run: ./tools/macos-setup-brew.sh
+ - name: Install asciidoctor
+ run: gem install asciidoctor
+ - name: Mkdir
+ run: mkdir build
+ - name: Cmake
+ working-directory: build
+ run: cmake -GNinja ..
+ - name: Build
+ run: ninja
+ working-directory: build
+ - name: Build test-programs
+ run: ninja test-programs
+ working-directory: build
+ - name: Run tests
+ env:
+ PYTEST_ADDOPTS: --skip-missing-programs=rawshark
+ run: pytest
+ working-directory: build
+ - name: Build dmg
+ run: ninja dmg_package
+ working-directory: build
+ - name: Move dmg package
+ run: |
+ mkdir dmg
+ mv build/run/*dmg dmg/
+ - name: Upload dmg packages
+ uses: actions/upload-artifact@v1
+ with:
+ name: packages
+ path: dmg
diff --git a/.github/workflows/options.yml b/.github/workflows/options.yml
new file mode 100644
index 0000000000..1a5e65e82a
--- /dev/null
+++ b/.github/workflows/options.yml
@@ -0,0 +1,47 @@
+name: CMake Options Test
+
+on:
+ push:
+ schedule:
+ - cron: '1 0 * * *'
+
+jobs:
+ options:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Install deps
+ run: sudo tools/debian-setup.sh ninja-build -y
+ - run: mkdir build
+ - name: CMake
+ run: >-
+ cmake
+ -GNinja
+ -DENABLE_BROTLI=OFF
+ -DENABLE_CAP=OFF
+ -DENABLE_CARES=OFF
+ -DENABLE_CHECKHF_CONFLICT=ON
+ -DENABLE_GNUTLS=OFF
+ -DENABLE_KERBEROS=OFF
+ -DENABLE_LIBXML2=OFF
+ -DENABLE_ILBC=OFF
+ -DENABLE_LUA=OFF
+ -DENABLE_LZ4=OFF
+ -DENABLE_MINIZIP=OFF
+ -DENABLE_NETLINK=OFF
+ -DENABLE_NGHTTP2=OFF
+ -DENABLE_PCAP=OFF
+ -DENABLE_PLUGIN_IFDEMO=ON
+ -DENABLE_PLUGINS=OFF
+ -DENABLE_SBC=OFF
+ -DENABLE_SMI=OFF
+ -DENABLE_SNAPPY=OFF
+ -DENABLE_SPANDSP=OFF
+ -DENABLE_ZLIB=OFF
+ -DENABLE_ZSTD=OFF
+ ..
+ working-directory: build
+ - run: ninja
+ working-directory: build
diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml
new file mode 100644
index 0000000000..695badd6a3
--- /dev/null
+++ b/.github/workflows/ubuntu.yml
@@ -0,0 +1,46 @@
+name: Build Ubuntu
+
+on: [push]
+
+jobs:
+ ubuntu:
+ name: Build & Test
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Install deps
+ run: sudo tools/debian-setup.sh --install-optional --install-test-deps --install-deb-deps python3-pip -y
+ - name: Mkdir
+ run: mkdir build
+ - name: Cmake
+ working-directory: build
+ run: cmake -GNinja ..
+ - name: Build
+ run: ninja
+ working-directory: build
+ - name: Build test-programs
+ run: ninja test-programs
+ working-directory: build
+ - name: Set up Python 3.8
+ uses: actions/setup-python@v1
+ with:
+ python-version: 3.8
+ - name: Install pytest
+ run: pip install pytest pytest-xdist
+ - name: Run tests
+ env:
+ PYTEST_ADDOPTS: --skip-missing-programs=rawshark
+ run: pytest
+ working-directory: build
+ - name: Build debian pkg
+ run: dpkg-buildpackage -b -us -uc -jauto
+ - name: Move deb packages
+ run: |
+ mkdir deb
+ mv ../*.deb deb
+ - name: Upload deb packages
+ uses: actions/upload-artifact@v1
+ with:
+ name: packages
+ path: deb
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
new file mode 100644
index 0000000000..54062c8c4a
--- /dev/null
+++ b/.github/workflows/windows.yml
@@ -0,0 +1,70 @@
+name: Build Windows
+
+on: [push]
+
+jobs:
+ windows:
+ name: Build & Test
+ runs-on: windows-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Choco install
+ run: cinst -y --force --no-progress asciidoctorj xsltproc docbook-bundle cmake nsis
+ - name: Install winflexbison3
+ run: cinst -y --force winflexbison3 --version 2.5.18.20190508
+ - name: Install strawberryperl
+ run: |
+ choco install strawberryperl
+ echo "##[add-path]C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin"
+ - name: Install Qt
+ uses: jurplel/install-qt-action@v2
+ - name: Add msbuild to PATH
+ uses: microsoft/setup-msbuild@v1.0.0
+ with:
+ vs-version: 16.4
+ - name: Set MSVC command prompt
+ uses: ilammy/msvc-dev-cmd@v1
+ - name: Mkdir
+ run: mkdir build
+ - name: Cmake
+ run: cmake -A x64 ..
+ env:
+ PLATFORM: x64
+ WIRESHARK_BASE_DIR: C:/wireshark-libs
+ QT5_BASE_DIR: C:/Qt/5.12.3/msvc2017_64
+ working-directory: build
+ - name: Build
+ run: cmake --build . --config RelWithDebInfo
+ working-directory: build
+ - name: Build guides
+ run: cmake --build . --config RelWithDebInfo --target user_guide_chm
+ working-directory: build
+ - name: Build test-programs
+ run: cmake --build . --config RelWithDebInfo --target test-programs
+ working-directory: build
+ - name: Set up Python 3.8
+ uses: actions/setup-python@v1
+ with:
+ python-version: 3.8
+ - name: Install pytest
+ run: pip install pytest pytest-xdist
+ - name: Run tests
+ env:
+ PYTEST_ADDOPTS: --skip-missing-programs=rawshark
+ run: pytest
+ working-directory: build
+ - name: Build Windows pkg
+ run: |
+ msbuild /m /p:Configuration=RelWithDebInfo nsis_package_prep.vcxproj
+ msbuild /m /p:Configuration=RelWithDebInfo nsis_package.vcxproj
+ working-directory: build
+ - name: Move Windows packages
+ run: |
+ mkdir exe
+ mv build/packaging/nsis/*exe exe/
+ - name: Upload Windows packages
+ uses: actions/upload-artifact@v1
+ with:
+ name: packages
+ path: exe
diff --git a/.gitignore b/.gitignore
index 21d44cb01f..04a3e9ecde 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,9 @@
# https://help.github.com/articles/ignoring-files
#
+# Note that this affects tools other than git. For example, ripgrep (rg)
+# and The Silver Searcher (ag) will obey this file by default.
+
# Compiled or generated source #
################################
*.dll
@@ -126,7 +129,7 @@ wsar_html.zip
*.pdb
*.nativecodeanalysis.xml
*.rc
-!image/file_dlg_win32.rc
+!file_dlg_win32.rc
*.res
*.vcxproj*
/Copying.txt
@@ -143,7 +146,6 @@ _libs_check_
doc/ws.css
packaging/nsis/all-manifest.nsh
/packaging/portableapps/WiresharkPortable/
-/zlib/
wireshark-win??-libs*/
# Misc #
@@ -155,21 +157,16 @@ wireshark-win??-libs*/
*~
.DS_Store
cscope.*
-dummy.cpp
tags
TAGS
macosx-support-libs
-packaging/macosx/COPYING.txt
packaging/macosx/Info.plist
packaging/macosx/osx-dmg.sh
packaging/macosx/PkgInfo
-packaging/macosx/Wireshark_package.pmdoc/index.xml
packaging/nsis/config.nsh
packaging/nsis/qt-dll-manifest.nsh
packaging/portableapps/Files/
packaging/portableapps/appinfo.ini
-packaging/rpm/SPECS/wireshark.spec
vgcore.*
-Wireshark.*
.pytest_cache/
test/*.log
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bbe284804e..776e0bf711 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,8 +1,8 @@
.build: &build
stage: build
after_script:
- - for builddir in build/packaging/rpm/BUILD/wireshark-*/build build/packaging/rpm/BUILD/wireshark-* build; do [ ! -d "$builddir" ] || break; done
- - if [ "$CI_JOB_NAME" = "build:rpm-opensuse-42.3" ]; then export LD_LIBRARY_PATH=$builddir/run; fi
+ - for builddir in build/packaging/rpm/BUILD/wireshark-*/build build/packaging/rpm/BUILD/wireshark-* build obj-*; do [ ! -d "$builddir/run" ] || break; done
+ - if [[ "$CI_JOB_NAME" == "build:rpm-opensuse-"* ]]; then export LD_LIBRARY_PATH=$builddir/run; fi
- if [ -f $builddir/run/tshark ]; then $builddir/run/tshark --version; fi
# The custom Ubuntu image pre-installs dependencies and compilers to speed up the build:
@@ -12,6 +12,12 @@
<<: *build
image: wireshark/wireshark-ubuntu-dev
retry: 1
+ # https://gould.cx/ted/blog/2017/06/10/ccache-for-Gitlab-CI/
+ cache:
+ # XXX Use ${CI_JOB_NAME}-${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} instead?
+ key: ${CI_JOB_NAME}-master
+ paths:
+ - ccache/
before_script:
- apt-get update -qq
- ./tools/debian-setup.sh --install-optional --install-test-deps -y
@@ -19,6 +25,14 @@
- locale-gen en_US.UTF-8
- export LANG=en_US.UTF-8
- export PYTEST_ADDOPTS=--skip-missing-programs=dumpcap,rawshark
+ - mkdir -p ccache
+ - apt-get install -y ccache
+ - export CCACHE_BASEDIR=${PWD}
+ - export CCACHE_DIR=${PWD}/ccache
+ - ccache --show-stats
+ - export DEB_BUILD_OPTIONS=nocheck
+ - export DH_QUIET=1
+ - export MAKEFLAGS=--silent
- mkdir build
- cd build
script:
@@ -36,56 +50,13 @@
- build/packaging/rpm/RPMS
expire_in: 3 days
-gcc-5:
- <<: *build-ubuntu
- variables:
- CC: gcc-5
- CXX: g++-5
-gcc-6:
- <<: *build-ubuntu
- variables:
- CC: gcc-6
- CXX: g++-6
-gcc-7:
- <<: *build-ubuntu
- variables:
- CC: gcc-7
- CXX: g++-7
-gcc-8:
- <<: *build-ubuntu
- variables:
- CC: gcc-8
- CXX: g++-8
-gcc-8-nopcap:
- <<: *build-ubuntu
- variables:
- CMAKE_ARGS: -DENABLE_PCAP=NO
- CC: gcc-8
- CXX: g++-8
-clang-5:
- <<: *build-ubuntu
- variables:
- CMAKE_ARGS: -DCMAKE_C_FLAGS=-Wframe-larger-than=20000
- CC: clang-5.0
- CXX: clang++-5.0
-clang-6:
- <<: *build-ubuntu
- variables:
- CMAKE_ARGS: -DCMAKE_C_FLAGS=-Wframe-larger-than=20000
- CC: clang-6.0
- CXX: clang++-6.0
-clang-7:
- <<: *build-ubuntu
- variables:
- CMAKE_ARGS: -DCMAKE_C_FLAGS=-Wframe-larger-than=20000
- CC: clang-7
- CXX: clang++-7
-clang-7-nopcap:
+# Rely on fedora:latest and debian-stable jobs for testing a recent GCC version.
+clang-10: &clang-10
<<: *build-ubuntu
variables:
- CMAKE_ARGS: -DENABLE_PCAP=NO -DCMAKE_C_FLAGS=-Wframe-larger-than=20000
- CC: clang-7
- CXX: clang++-7
+ CC: clang-10
+ CXX: clang++-10
+
build:rpm-centos-7:
<<: *build-rpm
image: centos:7
@@ -107,7 +78,8 @@ test:rpm-centos-7:
- build:rpm-centos-7
variables:
GIT_STRATEGY: none
-.build-rpm-opensuse: &build-rpm-opensuse
+build:rpm-opensuse-15.1:
+ image: opensuse/leap:15.1
<<: *build-rpm
script:
- zypper --non-interactive install update-desktop-files
@@ -117,31 +89,19 @@ test:rpm-centos-7:
- cd build
- cmake -GNinja ..
- ninja rpm-package
-.test-rpm-opensuse: &test-rpm-opensuse
+test:rpm-opensuse-15.1:
+ image: opensuse/leap:15.1
stage: test
script:
- zypper --no-gpg-checks install -y build/packaging/rpm/RPMS/x86_64/*.rpm
- tshark --version
variables:
GIT_STRATEGY: none
-build:rpm-opensuse-42.3:
- <<: *build-rpm-opensuse
- image: opensuse/leap:42.3
-test:rpm-opensuse-42.3:
- <<: *test-rpm-opensuse
- image: opensuse/leap:42.3
- dependencies:
- - build:rpm-opensuse-42.3
-build:rpm-opensuse-15.1:
- <<: *build-rpm-opensuse
- image: opensuse/leap:15.1
-test:rpm-opensuse-15.1:
- <<: *test-rpm-opensuse
- image: opensuse/leap:15.1
dependencies:
- build:rpm-opensuse-15.1
-.build-rpm-fedora: &build-rpm-fedora
+build:rpm-fedora:
<<: *build-rpm
+ image: fedora
script:
- dnf upgrade -y
- tools/rpm-setup.sh --install-optional -y
@@ -149,43 +109,129 @@ test:rpm-opensuse-15.1:
- cd build
- cmake3 -GNinja ..
- ninja-build rpm-package
-.test-rpm-fedora: &test-rpm-fedora
+test:rpm-fedora:
+ image: fedora
stage: test
script:
- dnf install -y build/packaging/rpm/RPMS/x86_64/*.rpm
- tshark --version
variables:
GIT_STRATEGY: none
-build:rpm-fedora-28:
- <<: *build-rpm-fedora
- image: fedora:28
-test:rpm-fedora-28:
- <<: *test-rpm-fedora
- image: fedora:28
- dependencies:
- - build:rpm-fedora-28
-build:rpm-fedora-29:
- <<: *build-rpm-fedora
- image: fedora:29
-test:rpm-fedora-29:
- <<: *test-rpm-fedora
- image: fedora:29
dependencies:
- - build:rpm-fedora-29
+ - build:rpm-fedora
# Job to generate packages for Debian stable
build:debian-stable:
+ <<: *build
image: debian:stable
- stage: build
before_script:
- ./tools/debian-setup.sh --install-optional --install-test-deps -y --install-deb-deps
script:
# Shared GitLab runners limit the log size to 4M, so reduce verbosity. See
# https://gitlab.com/gitlab-com/support-forum/issues/2790
- - DH_QUIET=1 dpkg-buildpackage -b --no-sign -jauto
+ - dpkg-buildpackage -b --no-sign -jauto
- mkdir debian-packages
- mv ../*.deb debian-packages/
artifacts:
paths:
- debian-packages/*.deb
expire_in: 3 days
+test:debian-stable:
+ image: debian:stable
+ stage: test
+ script:
+ - apt-get update
+ - DEBIAN_FRONTEND=noninteractive apt-get install ./debian-packages/*.deb -y
+ - tshark --version
+ variables:
+ GIT_STRATEGY: none
+ dependencies:
+ - build:debian-stable
+
+# https://docs.gitlab.com/ee/user/gitlab_com/index.html#linux-shared-runners
+merge-request:ubuntu-dpkg:
+ <<: *build-ubuntu
+ tags:
+ - docker
+ rules:
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+ script:
+ - apt-get install -y lintian
+ # build-ubuntu puts us in `build`.
+ - cd ..
+ - bash ./tools/pre-commit 'HEAD^1'
+ - sh -c '[ ! -e tools/validate-commit.py ] || tools/validate-commit.py'
+ - CC=/usr/lib/ccache/gcc CXX=/usr/lib/ccache/g++ dpkg-buildpackage -us -uc -rfakeroot -jauto -Zgzip -zfast
+ - lintian --suppress-tags library-not-linked-against-libc --display-experimental --display-info --pedantic --profile debian
+
+merge-request:ubuntu-gcc-ctest:
+ <<: *build-ubuntu
+ tags:
+ - docker
+ rules:
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+ script:
+ # build-ubuntu puts us in `build`.
+ - perl ../tools/make-version.pl --set-release || ../perl make-version.pl --set-release
+ - CC=gcc CXX=g++ cmake -DENABLE_EXTRA_COMPILER_WARNINGS=on -DCMAKE_EXPORT_COMPILE_COMMANDS=on -DENABLE_CCACHE=ON -G Ninja ..
+ - ninja
+ - ninja test-programs
+ - chown -R user .
+ - su user -c "ctest --parallel 3 --force-new-ctest-process --verbose"
+
+merge-request:ubuntu-clang-other-tests:
+ extends: clang-10
+ tags:
+ - docker
+ rules:
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+ script:
+ - apt-get install -y cppcheck clang-tools
+ # build-ubuntu puts us in `build`.
+ - cd ..
+ - python3 tools/checklicenses.py
+ - ./tools/cppcheck/cppcheck.sh -l 1
+ - cd build
+ - cmake -DENABLE_EXTRA_COMPILER_WARNINGS=on -DENABLE_CHECKHF_CONFLICT=on -DCMAKE_EXPORT_COMPILE_COMMANDS=on -DENABLE_CCACHE=ON -G Ninja ..
+ - ninja
+ - ./run/tshark -v
+ - sh -c '[ ! -e ../tools/validate-clang-check.sh ] || ../tools/validate-clang-check.sh'
+ - ninja checkAPI
+
+# XXX This is still beta:
+# https://docs.gitlab.com/ee/user/gitlab_com/index.html#windows-shared-runners-beta
+# Dockerfile at https://github.com/wireshark/wireshark-windows-dev-docker.
+# XXX We currently depend on Qt being installed in C:\Qt on the host. We should
+# find a more independent way of installing Qt, e.g. via a download+cache.
+merge-request:windows:
+ tags:
+ - wireshark-windows-dev
+ stage: build
+ rules:
+ # The Windows Docker image is currently only available via a dedicated runner.
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_PROJECT_URL == "https://gitlab.com/wireshark/wireshark"'
+ before_script:
+ # XXX Find a better location.
+ - mkdir c:\Development
+ - $env:WIRESHARK_BASE_DIR = "C:\Development"
+ - $env:Configuration = "RelWithDebInfo"
+ - $env:Path += ";C:\Program Files\CMake\bin"
+ - $env:Path += ";C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin"
+ - $env:Path += ";C:\qt\5.12.8\msvc2017_64\bin"
+ # https://help.appveyor.com/discussions/questions/18777-how-to-use-vcvars64bat-from-powershell
+ - cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
+ - Get-Content "$env:temp\vcvars.txt" | Foreach-Object { if ($_ -match "^(.*?)=(.*)$") { Set-Content "env:\$($matches[1])" $matches[2] } }
+ # Testing / debugging only.
+ #- dir c:\
+ #- dir c:\qt
+ #- $env:path.split(";")
+ #- cmd.exe /c "set"
+ #- Get-Location
+ script:
+ - perl tools/make-version.pl --set-release
+ - mkdir build
+ - cd build
+ - cmake -G "Visual Studio 16 2019" -A x64 ..
+ - msbuild "/consoleloggerparameters:PerformanceSummary;NoSummary" /maxcpucount Wireshark.sln
+ - msbuild "/consoleloggerparameters:PerformanceSummary;NoSummary" test-programs.vcxproj
+ - ctest -C RelWithDebInfo --parallel 3 --force-new-ctest-process --verbose
diff --git a/.gitlab/issue_templates/Bug.md b/.gitlab/issue_templates/Bug.md
new file mode 100644
index 0000000000..c3707bb047
--- /dev/null
+++ b/.gitlab/issue_templates/Bug.md
@@ -0,0 +1,33 @@
+## Summary
+
+(Summarize the bug encountered concisely)
+
+
+## Steps to reproduce
+
+(How one can reproduce the issue - this is very important)
+
+
+## What is the current bug behavior?
+
+(What actually happens)
+
+
+## What is the expected correct behavior?
+
+(What you should see instead)
+
+
+## Sample capture file
+
+(If possible attach a sample capture file showing this issue)
+
+
+## Relevant logs and/or screenshots
+
+(Paste any relevant logs - please use code blocks (```) to format console output, logs, and code as it's very hard to read otherwise.)
+
+
+## Build information
+
+(In Wireshark, select Help->About Wireshark from the main menu. Or from the command line, run `tshark -v` or `wireshark -v`.)
diff --git a/.gitlab/issue_templates/FeatureRequest.md b/.gitlab/issue_templates/FeatureRequest.md
new file mode 100644
index 0000000000..7b91c80ab4
--- /dev/null
+++ b/.gitlab/issue_templates/FeatureRequest.md
@@ -0,0 +1,10 @@
+## Description including problem, use cases, benefits, and/or goals
+
+## Links / references / protocol specifications
+
+## Sample capture
+
+(For dissector enhancements please attach a sample capture)
+
+
+/label ~enhancement
diff --git a/.gitreview b/.gitreview
deleted file mode 100644
index 6e80490ddb..0000000000
--- a/.gitreview
+++ /dev/null
@@ -1,6 +0,0 @@
-[gerrit]
-host=code.wireshark.org
-port=29418
-project=wireshark.git
-defaultremote=origin
-defaultbranch=master
diff --git a/.travis.yml b/.travis.yml
index 810ad1f2fd..0f5afd982b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,177 +2,85 @@ language: minimal
dist: bionic
matrix:
include:
- - name: OSX (xcode10.3 clang-10.0.1) with PCAP
+ - name: OSX (xcode11.3 clang-11.0.0)
os: osx
- osx_image: xcode10.3
- compiler: clang
- env: PCAP=ON
- - name: OSX (xcode10.3 clang-10.0.1) without PCAP
- os: osx
- osx_image: xcode10.3
- compiler: clang
- env: PCAP=OFF
- - name: OSX (xcode11.2 clang-11.0.0) with PCAP
- os: osx
- osx_image: xcode11.2
- env: PCAP=ON
- - name: OSX (xcode11.2 clang-11.0.0) without PCAP
- os: osx
- osx_image: xcode11.2
- env: PCAP=OFF
- - name: Linux amd64 (gcc-8) with PCAP
+ osx_image: xcode11.3
+ - name: Linux amd64 (gcc-9)
os: linux
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
- packages: g++-8
+ - sourceline: ppa:ubuntu-toolchain-r/test
+ packages: g++-9
env:
- - CXX=g++-8
- - CC=gcc-8
- - PCAP=ON
- - name: Linux arm64 (gcc-8) with PCAP
+ - CXX=g++-9
+ - CC=gcc-9
+ - name: Linux arm64 (gcc-8)
os: linux
arch: arm64
addons:
apt:
- update: true
- sources:
- - ubuntu-toolchain-r-test
packages: g++-8
env:
- CXX=g++-8
- CC=gcc-8
- - PCAP=ON
- - name: Linux s390x (gcc-7) with PCAP
+ - name: Linux s390x (gcc-7)
os: linux
arch: s390x
- env:
- - PCAP=ON
- - name: Linux ppc64le (gcc-7) with PCAP
+ - name: Linux ppc64le (gcc-7)
os: linux
arch: ppc64le
- env:
- - PCAP=ON
- - name: Linux amd64 (gcc-8) without PCAP
- os: linux
- addons:
- apt:
- update: true
- sources:
- - ubuntu-toolchain-r-test
- packages: g++-8
- env:
- - CXX=g++-8
- - CC=gcc-8
- - PCAP=OFF
- - name: Linux amd64 (clang) with PCAP
+ - name: Linux amd64 (clang)
os: linux
env:
- CXX=clang++
- CC=clang
- - PCAP=ON
- - name: Linux arm64 (clang) with PCAP
+ - name: Linux arm64 (clang)
os: linux
arch: arm64
env:
- CXX=clang++
- CC=clang
- - PCAP=ON
- - name: Linux s390x (clang) with PCAP
+ - name: Linux s390x (clang)
os: linux
arch: s390x
env:
- CXX=clang++
- CC=clang
- - PCAP=ON
- - name: Linux ppc64le (clang) with PCAP
+ - name: Linux ppc64le (clang)
os: linux
arch: ppc64le
env:
- CXX=clang++
- CC=clang
- - PCAP=ON
- - name: Linux amd64 (clang) without PCAP
- os: linux
- env:
- - CXX=clang++
- - CC=clang
- - PCAP=OFF
- - name: Windows (VS2017 x64)
- # Set a supported language, otherwise the Windows worker will not start.
- language: shell
- os: windows
- env:
- - PLATFORM: x64
- - WIRESHARK_BASE_DIR: C:/wireshark-libs
- - QT5_BASE_DIR: C:/Qt/5.12.3/msvc2017_64
- cache:
- directories:
- - travis-cache
- - name: Windows (VS2017 Win32)
- # Set a supported language, otherwise the Windows worker will not start.
- language: shell
- os: windows
- env:
- - PLATFORM: Win32
- - WIRESHARK_BASE_DIR: C:/wireshark-libs
- - QT5_BASE_DIR: C:/Qt/5.12.3/msvc2017
- cache:
- directories:
- - travis-cache
- # Windows builds are experimental in Travis and are unreliable, do not force it.
allow_failures:
- - os: windows
+ # Those builds frequently fail due to builds longer than maximum allowed.
+ # Let them fail quietly.
+ arch: ppc64le
before_install:
- echo $TRAVIS_OS_NAME
# macos
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./tools/macos-setup-brew.sh; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install softhsm; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then sed s/access_bpf/staff/ packaging/macosx/ChmodBPF/ChmodBPF | sudo bash; fi
+ # Required to fix an issue on macOS 10.14. Remove it as soon as Travis moves to 10.15.
+ - if [ "$TRAVIS_OS_NAME" == "osx" ]; then sudo xcode-select --switch /Library/Developer/CommandLineTools; fi
# linux
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ./tools/debian-setup.sh --install-optional --install-test-deps -q; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y python3-pip; fi
- # windows
- - if [ "$TRAVIS_OS_NAME" == "windows" ]; then tools/travis-cache-windows.sh restore; fi
- - if [ "$TRAVIS_OS_NAME" == "windows" ]; then cinst -y --no-progress python3 winflexbison strawberryperl; fi
- - |
- if [ "$TRAVIS_OS_NAME" == "windows" ]; then
- # Ensure Python and the Scripts folder is available in PATH.
- # refreshenv does not seem to work in bash, so reload it manually.
- # Entries in the Machine PATH might contain trailing slashes, drop those.
- # Apply Process paths before Machine to ensure /bin appears before others (otherwise casher will break and stall).
- export PATH="$(powershell -Command '("Process", "Machine" | % {
- [Environment]::GetEnvironmentVariable("PATH", $_) -Split ";" -Replace "\\$", ""
- } | Select -Unique | % { cygpath $_ }) -Join ":"')"
- echo "PATH=$PATH"
- # Workaround to avoid using perl from git-bash $PATH which lacks modules such as Pod::Usage
- export CMAKE_PROGRAM_PATH=C:/Strawberry/perl/bin
- fi
- - if [ "$TRAVIS_OS_NAME" == "windows" ]; then tools/travis-install-qt-windows.sh; fi
# all platforms
- pip3 install pytest pytest-xdist
before_script:
- mkdir build
- cd build
- - if [ "$TRAVIS_OS_NAME" != "windows" ]; then cmake -GNinja -DENABLE_PCAP=${PCAP} ..; fi
- - if [ "$TRAVIS_OS_NAME" == "windows" ]; then cmake -A $PLATFORM ..; fi
+ - cmake -GNinja ..
script:
- # Enable parallelism for msbuild too (since CMake 3.12; ninja does not need it)
- - export CMAKE_BUILD_PARALLEL_LEVEL=
- - if [ "$TRAVIS_OS_NAME" == "windows" ]; then cmake() { ../tools/filter-msbuild.py cmake "$@"; }; fi
- # Invoke ninja (Linux/macOS, --config is ignored) or msbuild (Windows)
- - cmake --build . --config RelWithDebInfo
- - cmake --build . --config RelWithDebInfo --target test-programs
- - if [ "$PCAP" = "OFF" ]; then export PYTEST_ADDOPTS=--skip-missing-programs=dumpcap,rawshark; fi
- - if [ "$TRAVIS_OS_NAME" == "linux" -a "$PCAP" = "ON" ]; then sudo setcap cap_net_raw,cap_net_admin+eip run/dumpcap; fi
+ - ninja || travis_assert
+ - ninja test-programs
+ - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo setcap cap_net_raw,cap_net_admin+eip run/dumpcap; fi
- pytest
- - cd ..
-before_cache:
- - if [ "$TRAVIS_OS_NAME" == "windows" ]; then tools/travis-cache-windows.sh save; fi
after_script:
- - cd build
- if [ -f run/tshark ]; then run/tshark --version; fi
- - if [ -f run/RelWithDebInfo/tshark.exe ]; then run/RelWithDebInfo/tshark.exe --version; fi
- ../test/travis-upload-artifacts.sh
diff --git a/.tx/config b/.tx/config
index c8f002f0b1..4f013e0bb7 100644
--- a/.tx/config
+++ b/.tx/config
@@ -6,6 +6,7 @@ file_filter = ui/qt/wireshark_<lang>.ts
source_file = ui/qt/wireshark_en.ts
source_lang = en
trans.de = ui/qt/wireshark_de.ts
+trans.es = ui/qt/wireshark_es.ts
trans.fr = ui/qt/wireshark_fr.ts
trans.it = ui/qt/wireshark_it.ts
trans.ja_JP = ui/qt/wireshark_ja_JP.ts
diff --git a/AUTHORS b/AUTHORS
index 8700b7ce69..405cd687ae 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -3726,6 +3726,10 @@ Huang Qiangxiong <qiangxiong.huang[AT]qq.com> {
HTTP2 dissector: add streaming mode reassembly and dissecting DATA according to content-type features.
}
+Jeffrey Nichols <jsnichols[AT]suprocktech.com> {
+ Asphodel dissector
+}
+
and by:
Georgi Guninski <guninski[AT]guninski.com>
@@ -3978,12 +3982,14 @@ Chidambaram Arunachalam <carunach[AT]cisco.com>
João Valverde <joao.valverde[AT]tecnico.ulisboa.pt>
Benoît Canet <benoit[AT]scylladb.com>
Håkon Øye Amundsen <haakon.amundsen[AT]nordicsemi.no>
+Jeffrey Wildman <jeffrey.wildman@ll.mit.edu>
= From git log =
Achuthan Paramanathan <acp[AT]kamstrup.com>
Adam Goldman <adam.goldman[AT]intel.com>
+Adam Mitz <mitza[AT]objectcomputing.com>
Adam Mitz <mitza[AT]ociweb.com>
Adam Morrison <adammo[AT]extrahop.com>
Adam Pridgen <adam.pridgen[AT]thecoverofnight.com>
@@ -3994,6 +4000,8 @@ Adrian Granados <adrian[AT]adriangranados.com>
Adrian Simionov <daniel.simionov[AT]gmail.com>
Adrian-Ken Rueegsegger <ken[AT]codelabs.ch>
Adrien Aubry <adraub[AT]gmail.com>
+Adrien Destugues <adestugues[AT]toulouse.viveris.com>
+Adrien Destugues <adrien.destugues[AT]opensource.viveris.fr>
Ahmad Fatoum <ahmad[AT]a3f.at>
Ajay Panicker <apanicke[AT]google.com>
Alan Birtles <alan.birtles[AT]eu.sony.com>
@@ -4004,8 +4012,10 @@ Alex Sirr <alexsirruw[AT]gmail.com>
Alex Tessmer <dev[AT]tessmer.me>
AlexL <loginov.alex.valer[AT]gmail.com>
Alexander Couzens <lynxis[AT]fe80.eu>
+Alexander Dahl <ada[AT]thorsis.com>
Alexander Gryanko <xpahos[AT]gmail.com>
Alexander Gärtner <sphinxs1988[AT]googlemail.com>
+Alexander Meier <MeierAPunkt[AT]googlemail.com>
Alexander Nogikh <wp32pw[AT]gmail.com>
Alexander Stein <alexanders83[AT]web.de>
Alexander Wetzel <alexander.wetzel[AT]web.de>
@@ -4016,10 +4026,14 @@ Ali Sabil <ali.sabil[AT]koperadev.com>
Alistair Leslie-Hughes <leslie_alistair[AT]hotmail.com>
Allan Møller Madsen <almomadk[AT]gmail.com>
Ambarish Malpani <ambarish[AT]defend7.com>
+Ameya Deshpande <ameya.181co205[AT]nitk.edu.in>
Amine Kherbouche <amine.kherbouche[AT]6wind.com>
Amit Khatri <amit7861234[AT]gmail.com>
Amitoj Setia <asetia[AT]juniper.net>
+Ana Pantar <ana.pantar[AT]gmail.com>
Anaël Fiaux <anael[AT]fiaux.org>
+Anders Esbensen <Anders.Esbensen[AT]silabs.com>
+Andre Luyer <andre[AT]luyer.nl>
Andre Puschmann <andre[AT]softwareradiosystems.com>
Andreas Gruenbacher <andreas.gruenbacher[AT]gmail.com>
Andreas Karlsson <se.nakarlsson[AT]gmail.com>
@@ -4035,6 +4049,8 @@ Andrey Tverd <andr.tverd[AT]gmail.com>
Andrii Vladyka <a.vladyka[AT]ukr.net>
Andy Ling <Andy.Ling[AT]quantel.com>
Andy Ling <andy.ling[AT]s-a-m.com>
+Andy Zhao <jinhzhx[AT]gmail.com>
+Angelos Drossos <wireshark.develangel[AT]mail.drossos.de>
Anil Kumar <anilkumar911[AT]gmail.com>
Anndy Ke <anndymaktub[AT]yahoo.com.tw>
Anthony Coddington <anthony.coddington[AT]endace.com>
@@ -4053,6 +4069,7 @@ Arvind Dalvi <ardalvi[AT]outlook.in>
Asaf Kave <kaveasaf[AT]gmail.com>
Ashish Shukla <shukla.a[AT]gmail.com>
Atli Guðmundsson <atli[AT]tern.is>
+Audric Schiltknecht <audric.schiltknecht[AT]external.thalesaleniaspace.com>
Aurelien Aptel <aaptel[AT]suse.com>
Aymeric Moizard <amoizard[AT]gmail.com>
Babak Farrokhi <babak[AT]farrokhi.net>
@@ -4071,24 +4088,31 @@ Benjamin Hesmans <benjamin.hesmans[AT]uclouvain.be>
Benjamin Parzella <bparzella[AT]gmail.com>
Benjamin Roch <benjamin.roch[AT]tttech.com>
Benoit Grange <benoit.grange[AT]gmail.com>
+Bert van Leeuwen <bert.vanleeuwen[AT]gmail.com>
Bertrand Bonnefoy-Claudet <bertrandbc[AT]gmail.com>
+Bharath Ravindranath <bravindranath[AT]arista.com>
Binh Trinh <beango[AT]gmail.com>
Birol Capa <birol.capa[AT]siemens.com>
+Bjoern Riemer <bjoern.riemer[AT]fokus.fraunhofer.de>
Björn Ruytenberg <bjorn[AT]bjornweb.nl>
Bob Hinden <bob.hinden[AT]gmail.com>
+Bob Kuo <bobjkuo[AT]gmail.com>
Boris Bochkarev <Boris-Bochkaryov[AT]yandex.ru>
Bradford Boyle <bradford.d.boyle[AT]gmail.com>
Brandon Enochs <enochs.brandon[AT]gmail.com>
Branislav Makan <branislav.makan1994[AT]gmail.com>
+Brendan O'Connor <brendan[AT]leviathansecurity.com>
Brenton Rothchild <brentonr[AT]dorm.org>
Brian Whitney <brian.m.whitney[AT]outlook.com>
Britt McKinley <bmckinley[AT]sonusnet.com>
Bruno Verstuyft <bruno.verstuyft[AT]excentis.com>
Camille Guérin <guerincamille56[AT]gmail.com>
+Carlo Carraro <colrack[AT]gmail.com>
Carlos Velasco <carlos.velasco[AT]nimastelecom.com>
Cathy Yang <cathy.y.yang[AT]ericsson.com>
Cedric Izoard <cedric.izoard[AT]ceva-dsp.com>
Cenk Gündoğan <cnkgndgn[AT]gmail.com>
+Cenk Gündoğan <mail+dev[AT]gundogan.net>
Chaitanya T K <chaitanya.mgit[AT]gmail.com>
Chaoyong Zhou <bgnvendor[AT]163.com>
Charles Nepveu <charles.nepveu[AT]verint.com>
@@ -4098,6 +4122,7 @@ Chris Brandson <chris.brandson[AT]gmail.com>
Chris Dunlop <chris.dunlop3[AT]gmail.com>
Chris Wills <xenkrs[AT]outlook.com>
Christian Ambach <ambi[AT]samba.org>
+Christian Krump <christian.krump[AT]br-automation.com>
Christian Lamparter <chunkeey[AT]googlemail.com>
Christian M. Amsüss <chrysn[AT]fsfe.org>
Christian Tellefsen <chris-git[AT]tellefsen.net>
@@ -4111,6 +4136,7 @@ Christophe GUERBER <christophe.guerber[AT]gmail.com>
Christopher Farman <christopher.farman[AT]couchbase.com>
Christopher Kilgour <techie[AT]whiterocker.com>
Chuan He <bupthc[AT]gmail.com>
+Chuck Craft <bubbasnmp[AT]gmail.com>
Chuck Lever <chuck.lever[AT]oracle.com>
Chugzilla <chugzilla77[AT]gmail.com>
Chun-Yeow Yeoh <yeohchunyeow[AT]gmail.com>
@@ -4152,12 +4178,15 @@ David Creswick <dcrewi[AT]gyrae.net>
David Kreitschmann <dkreitschmann[AT]seemoo.tu-darmstadt.de>
David McKay <mckay.david[AT]gmail.com>
David Morsberger <dave[AT]morsberger.com>
+David Perry <boolean263[AT]protonmail.com>
David Snowdon <daves[AT]metamako.com>
David Tapuska <dave[AT]tapuska.com>
David Zoller <zollerd[AT]gmail.com>
Davide Caratti <davide.caratti[AT]gmail.com>
Deep Datta <ddatta[AT]ixiacom.com>
+Deep Datta <deep.datta[AT]keysight.com>
Denis Janssen <janssend[AT]gmail.com>
+Dennis Bush <bush[AT]tcnj.edu>
Dennis Lanov <dennis.lanov[AT]gmail.com>
Derick Rethans <github[AT]derickrethans.nl>
Devan Lai <devanl[AT]davisinstruments.com>
@@ -4166,20 +4195,24 @@ Dhananjay Patki <dhpatki[AT]cisco.com>
Dhiru Kholia <kholia[AT]kth.se>
DiablosOffens <DiablosOffens[AT]gmx.de>
Didier Arenzana <darenzana[AT]yahoo.fr>
+Didier Barvaux <didier.barvaux[AT]toulouse.viveris.com>
Diederik de Groot <ddegroot[AT]talon.nl>
Dirk Eibach <dirk.eibach[AT]gdsys.cc>
Dirk Römmen <dirk.roemmen[AT]cslab.de>
Dirk Weise <code[AT]dirk-weise.de>
Disha Daniel <ddaniel[AT]empirix.com>
+Dmitriy Eliseev <eliseev_d[AT]ntcees.ru>
Dmitry Bravikov <dmitry[AT]bravikov.pro>
Dmitry Lazurkin <dilaz03[AT]gmail.com>
Dmitry Linikov <linikov[AT]arrival.com>
Dmitry Radivonchik <mitya[AT]oktetlabs.ru>
Dom Gifford <Dominic.Gifford[AT]atmel.com>
Dominic Chen <d.c.ddcc[AT]gmail.com>
+Dongle Su <agdsdl[AT]sina.com.cn>
Doug Brown <doug[AT]downtowndougbrown.com>
Dr. Lars Voelker <lars-github[AT]larsvoelker.de>
Dr. Lars Völker <lars.voelker[AT]bmw.de>
+Dr. Lars Völker <lars.voelker[AT]technica-engineering.de>
Dwayne Rich <dwayne_rich[AT]selinc.com>
Dylan Ulis <daulis0[AT]gmail.com>
Dániel Bakai <bakaidl[AT]gmail.com>
@@ -4189,10 +4222,12 @@ Ederson de Souza <ederson.desouza[AT]intel.com>
Edward Dao <edmailbox[AT]gmail.com>
Edward Smith <edward.smith[AT]nowlegent.com>
Edwin Groothuis <edwin[AT]mavetju.org>
+Eelco Chaudron <echaudro[AT]redhat.com>
Eldon Stegall <wireshark-gerrit[AT]eldondev.com>
Eliot Lear <lear[AT]cisco.com>
Emery Hemingway <emery[AT]vfemail.net>
Emmanuel Grumbach <emmanuel.grumbach[AT]intel.com>
+Enrique Giraldo <enrique.giraldo[AT]wslw.es>
Eric Anderson <andersoe[AT]cs.cmu.edu>
Eric Wang <terminal_0[AT]aol.com>
Eric Wetzel <thewetzel[AT]gmail.com>
@@ -4214,6 +4249,7 @@ Fabrice Fontaine <fontaine.fabrice[AT]gmail.com>
Fabrizio Demaria <fabrizio.demaria[AT]intel.com>
Felix Ruess <felix.ruess[AT]roboception.de>
Filip Sohajek <filip.sohajek[AT]gmail.com>
+Filipe Laíns <lains[AT]archlinux.org>
Flavio Santes <flavio.santes[AT]1byt3.com>
Florian Adamsky <fa-git[AT]haktar.org>
Florian Bezold <florian.bezold[AT]esrlabs.com>
@@ -4231,12 +4267,14 @@ Ganesh Nawsupe <ganesh991[AT]gmail.com>
Garming Sam <garming[AT]catalyst.net.nz>
Gene Cumm <gene.cumm[AT]gmail.com>
Georg Brandl <georg[AT]python.org>
+George Hopkins <george-hopkins[AT]null.net>
Gerard Garcia <ggarcia[AT]deic.uab.cat>
Gergely Nagy <ngg[AT]ngg.hu>
Gerhard KHUENY <Gerhard.KHUENY[AT]bachmann.info>
Gianluca Borello <g.borello[AT]gmail.com>
Gilles Dufour <dufour.gilles[AT]gmail.com>
Gizem Yurdagul <gizemnuryurdagul[AT]gmail.com>
+Glenden Lee <thornhillextreme[AT]gmail.com>
Gloria Pozuelo <gloria.pozuelo[AT]bics.com>
Gordon Ross <gordon.w.ross[AT]gmail.com>
Graham Shanks <graham.shanks[AT]blueyonder.co.uk>
@@ -4247,9 +4285,11 @@ Gregor Jasny <gregor.jasny[AT]logmein.com>
Gregor Miernik <gregor.miernik[AT]hytec.de>
Guillaume Autran <gautran[AT]clearpathrobotics.com>
Guy Davies <aguydavies[AT]gmail.com>
+Guy Harris <gharris[AT]sonic.net>
Günther Deschner <gd[AT]samba.org>
Hal Rosenstock <hal.rosenstock[AT]gmail.com>
Hanspeter Portner <dev[AT]open-music-kontrollers.ch>
+Harald Welte <laforge[AT]osmocom.org>
Hassan Sultan <sultah[AT]amazon.com>
Hauke Mehrtens <hauke.mehrtens[AT]intel.com>
Helmut Buchsbaum <helmut.buchsbaum[AT]gmail.com>
@@ -4264,8 +4304,10 @@ Iain R. Learmonth <irl[AT]fsfe.org>
Ian Chard <ian[AT]chard.org>
Ido Schimmel <idosch[AT]mellanox.com>
Ignacio Martínez <ignacio.martinez.rivera[AT]gmail.com>
+Igor Passchier <igor.passchier[AT]tassinternational.com>
Ike Gilbert <ike[AT]imgilbert.com>
Ilya Gavrilov <ilya.dev[AT]gmail.com>
+Indraneel Guha <indraneelg[AT]gmail.com>
Ionut Ceausu <ionut.ceausu[AT]gmail.com>
Isaac Boukris <iboukris[AT]gmail.com>
Ismael Mendez Matamoros <ismael[AT]rti.com>
@@ -4277,7 +4319,9 @@ J. Bruce Fields <bfields[AT]redhat.com>
JC Wren <jcwren[AT]jcwren.com>
Jack Culhane <jackculhane[AT]gmail.com>
Jaime Caamaño Ruiz <jcaamano[AT]suse.com>
+Jakub Adam <jakub.adam[AT]collabora.com>
Jakub Pawlowski <jpawlowski[AT]google.com>
+Jambukumar Kulandaivel <jambukumar[AT]codeaurora.org>
James Coleman <jamesc[AT]dspsrv.com>
James Ko <jck[AT]exegin.com>
Jamil Nimeh <jnimeh[AT]gmail.com>
@@ -4304,6 +4348,7 @@ Jeffrey Forhan <jforhan[AT]cisco.com>
Jeffrey Goff <jgoff[AT]arubanetworks.com>
Jeffrey Smith <whydoubt[AT]gmail.com>
Jens Kilian <jens.kilian[AT]advantest.com>
+Jeremiejig <me[AT]jeremiejig.fr>
Jeremy Browne <jer[AT]ifni.ca>
Jeremy Hitt <jeremy.hitt[AT]isilon.com>
Jeremy Kerr <jk[AT]ozlabs.org>
@@ -4316,7 +4361,9 @@ Jim Borden <jim.borden[AT]couchbase.com>
Jim Schaettle <jimschaettle[AT]gmail.com>
Jim Walker <jim[AT]couchbase.com>
Jim Young <jyoung[AT]gsu.edu>
+Jiri Pirko <jiri[AT]resnulli.us>
Jo Rueschel <wireshark[AT]rueschel.de>
+Joakim Andersson <joakim.andersson[AT]nordicsemi.no>
Joakim Karlsson <oakimk[AT]gmail.com>
Joel Colledge <joel.colledge[AT]linbit.com>
Joeri de Ruiter <joeri[AT]cypherpunk.nl>
@@ -4344,6 +4391,7 @@ Jose Rubio <joserubiovidales[AT]gmail.com>
Josef Baumgartner <josef.baumgartner[AT]br-automation.com>
Joseph Huffman <jhuffman[AT]codeaurora.org>
Josip Medved <jmedved[AT]jmedved.com>
+Josselin VALLET <josselin.vallet[AT]toulouse.viveris.com>
Juan Jose Martin Carrascosa <juanjo[AT]rti.com>
Juan Matias <jmrepetti[AT]gmail.com>
Juan Pablo Mendoza <jpablo[AT]gmail.com>
@@ -4371,6 +4419,7 @@ Kevin A. Noll <kevinanoll[AT]gmail.com>
Kevin Bracey <kevin.bracey[AT]arm.com>
Kevin Cernekee <cernekee[AT]chromium.org>
Kevin Grigorenko <kevin.grigorenko[AT]us.ibm.com>
+Kevin Hausman <kevin.hausman[AT]sentaca.com>
Kevin Herron <kevinherron[AT]gmail.com>
Kevin Hogan <kwabena[AT]google.com>
Khalifa NDIAYE <khalifa.ndiaye[AT]orange.com>
@@ -4387,11 +4436,13 @@ Laurenz Kamp <laurenz.kamp[AT]gmx.de>
Lee Mitchell <lee[AT]indigopepper.com>
Lee Serin <serinee95[AT]gmail.com>
Lev Stipakov <lstipakov[AT]gmail.com>
+Lichen Liu <llc123456a[AT]gmail.com>
Loganaden Velvindron <logan[AT]cyberstorm.mu>
Lorenzo Vannucci <vannucci[AT]ntop.org>
Lotte Steenbrink <lotte[AT]zombietetris.de>
Luca Melette <luca[AT]srlabs.de>
Lucas Simopoulos <lsimopoulos[AT]gmail.com>
+Ludovic Cintrat <l.cintrat[AT]traxens.com>
Luis Rosa <lmrosa[AT]dei.uc.pt>
Lukas Emersberger <lukas.emersberger[AT]gmail.com>
Luke Chou <luke.chou[AT]gmail.com>
@@ -4415,12 +4466,14 @@ Marcin Rokicki <marcin.rokicki[AT]gmail.com>
Marcus Sundberg <marcus.sundberg[AT]aptilo.com>
Marian Ďurkovič <md[AT]bts.sk>
Marie Janssen <jamuraa[AT]google.com>
+Marios Makassikis <mmakassikis[AT]gmail.com>
Marius Paliga <marius.paliga[AT]gmail.com>
Mariusz Zaborski <oshogbo[AT]vexillium.org>
Mark Ciechanowski <markciechanowski[AT]gmail.com>
Mark Cunningham <launchpad[AT]markcunningham.ie>
Mark Phillips <mark.s.phillips[AT]outlook.com>
Mark Weel <markweel[AT]hotmail.com>
+Markku Leiniö <markku[AT]iki.fi>
Marko Hrastovec <marko.hrastovec[AT]gmail.com>
Markus Becker <markus.becker[AT]tridonic.com>
Marouen Ghodhbane <marouen.ghodhbane[AT]nxp.com>
@@ -4428,6 +4481,7 @@ Martin <martin.lutz[AT]gmail.com>
Martin Boye Petersen <martinboyepetersen[AT]gmail.com>
Martin Fesser <martin.fesser[AT]allegro-packets.com>
Martin Heusse <martin.heusse[AT]imag.fr>
+Martin Mathieson <martin.mathieson[AT]keysight.com>
Martin Sehnoutka <msehnout[AT]redhat.com>
Martin Tibenský <martin.tibensky[AT]alcatel-lucent.com>
Martin Vit <martin[AT]voipmonitor.org>
@@ -4435,9 +4489,12 @@ Masashi Honma <masashi.honma[AT]gmail.com>
Matej Košík <5764c029b688c1c0d24a2e97cd764f[AT]gmail.com>
Matej Tkac <matej.tkac.mt[AT]gmail.com>
Mathias Kurth <mathias.kurth[AT]commsolid.com>
+Mathy Vanhoef <Mathy.Vanhoef[AT]nyu.edu>
Matt Carabine <matt.carabine[AT]hotmail.co.uk>
Matt Lawrence <bugzilla.wireshark[AT]erisa.co.uk>
+Matt Parker <matt.parker[AT]poly.com>
Matt Porter <mporter[AT]konsulko.com>
+Matthew Weant <msweant[AT]gmail.com>
Matthias Lang <matthias[AT]corelatus.com>
Matthieu Coudron <matthieu.coudron[AT]lip6.fr>
Max Dmitrichenko <dmitrmax[AT]gmail.com>
@@ -4447,13 +4504,16 @@ Mehmet Oguz Sakaoglu <mehmet.oguz.mnz[AT]gmail.com>
Merlin Chlosta <merlin.chlosta+gnuradio[AT]ruhr-uni-bochum.de>
Micha Reiser <michafamreiser.ch>
Michael Adam <obnox[AT]samba.org>
+Michael Bouchaud (yoz) <michael.bouchaud[AT]toulouse.viveris.com>
Michael Cistera <michael.cistera[AT]netscout.com>
Michael Honsel <lesnoh[AT]gmx.de>
+Michael Mann <Michael.Mann[AT]jbtc.com>
Michael McConville <mmcco[AT]mykolab.com>
Michael McTernan <mike.mcternan[AT]wavemobile.com>
Michael Oed <michael.oed[AT]gmail.com>
Michael Penick <penick[AT]gmail.com>
Michael Pergament <mpergament[AT]googlemail.com>
+Michael Schmitt <mschmitt[AT]fastmail.net>
Michael Sweet <michael.r.sweet[AT]gmail.com>
Michael Vigovsky <upliner[AT]gmail.com>
Michail Koreshkov <drkor[AT]hotbox.ru>
@@ -4463,6 +4523,8 @@ Michal Prívozník <mprivozn[AT]redhat.com>
Michal Ruprich <michalruprich[AT]gmail.com>
Michal Slavka <slavka.michal[AT]gmail.com>
Michalis Kapsalakis <kapsalis1989[AT]gmail.com>
+Michaël Bouchaud <michael.bouchaud[AT]external.thalesaleniaspace.com>
+Michaël Bouchaud <michael.bouchaud[AT]gmail.com>
Michał Skalski <mskalski13[AT]gmail.com>
Michele Baldessari <michele[AT]acksyn.org>
Miguel Company <MiguelCompany[AT]eprosima.com>
@@ -4472,14 +4534,18 @@ Mike Frysinger <vapier[AT]chromium.org>
Mike Gerschefske <msgersch2[AT]gmail.com>
Mike Lugo <mlugo.apx[AT]gmail.com>
Mike Morrin <morrinmike[AT]gmail.com>
+Mike Ryan <mikeryan[AT]lacklustre.net>
+Mikhail Gusarov <dottedmag[AT]dottedmag.net>
Milan Stute <mstute[AT]seemoo.tu-darmstadt.de>
Milos Jovanovic <jeyem815[AT]gmail.com>
Miltos Patsiouras <mipatsio[AT]gmail.com>
+Minh Phan <phanducnhatminh[AT]gmail.com>
Mirko Parthey <mirko.parthey[AT]web.de>
Moraney Jalil <moraney.jalil[AT]outlook.com>
Morten Tryfoss <morten[AT]tryfoss.no>
Moshe Kaplan <me[AT]moshekaplan.com>
Nathan Cole <nath[AT]thecoleresidence.co.uk>
+Nathan Houghton <nathan[AT]brainwerk.org>
Nathaniel Clark <Nathaniel.Clark[AT]misrule.us>
Nathaniel Clark <nathaniel.l.clark[AT]intel.com>
Neels Hofmeyr <neels[AT]hofmeyr.de>
@@ -4503,6 +4569,7 @@ Nils Ohlmeier <github[AT]ohlmeier.org>
Nitzan Carmi <nitzanc[AT]mellanox.com>
Noel Power <noel.power[AT]suse.com>
Nora Sandler <nsandler[AT]securityinnovation.com>
+Odysseus Yang <wiresharkyyh[AT]outlook.com>
Olaf Bergmann <bergmann[AT]tzi.org>
Olaf Flaschel <olaf.flaschel[AT]vestifi.de>
Olga Kornievskaia <kolga[AT]netapp.com>
@@ -4511,12 +4578,12 @@ Oliver Downard <oliver.downard[AT]couchbase.com>
Oliver Smith <osmith[AT]sysmocom.de>
Olivier Verriest <verri[AT]x25.pm>
Oren Koler <clicker78[AT]gmail.com>
+Orgad Shaneh <orgad.shaneh[AT]audiocodes.com>
Orgad Shaneh <orgads[AT]gmail.com>
Oscar Gonzalez de Dios <oscar.gonzalezdedios[AT]telefonica.com>
Osman Sakalla <osman.sakalla[AT]ericsson.com>
Owen Williams <williams.owen[AT]gmail.com>
PHO <pho[AT]cielonegro.org>
-Pantar Ana <ana.pantar[AT]gmail.com>
Paolo Abeni <pabeni[AT]redhat.com>
Paolo Abeni <paolo.abeni[AT]gmail.com>
Parav Pandit <paravpandit[AT]yahoo.com>
@@ -4530,6 +4597,8 @@ Patrick Servello <patrick.servello[AT]gmail.com>
Patrik Moško <patrikmosko95[AT]gmail.com>
Patryk Nowak <patryk.nowak[AT]tieto.com>
Pau Espin Pedrol <pespin[AT]sysmocom.de>
+Paul Aurich <paul[AT]darkrain42.org>
+Paul Chambon <pchambon[AT]toulouse.viveris.com>
Paul Emge <paul.emge[AT]digidescorp.com>
Paul Offord <paul.offord[AT]advance7.com>
Paul Thomas <pthomas8589[AT]gmail.com>
@@ -4547,9 +4616,13 @@ Pedro Malagon <malagon[AT]die.upm.es>
Peng Li <seudut[AT]gmail.com>
Peng Tao <tao.peng[AT]primarydata.com>
Peter Hamilton <qmear55[AT]protonmail.com>
+Peter Krystad <peter.krystad[AT]linux.intel.com>
Peter Membrey <peter[AT]membrey.hk>
+Peter Oettig <peter.oettig[AT]1und1.de>
Peter Ross <peter.ross[AT]dsto.defence.gov.au>
Petr Gotthard <petr.gotthard[AT]honeywell.com>
+Petr Janecek <janecek[AT]ucw.cz>
+Petr Stuchlík <stuchl4n3k[AT]gmail.com>
Petr Sumbera <petr.sumbera[AT]oracle.com>
Petr Štetiar <petr.stetiar[AT]gaben.cz>
Phil Beeson <bugzilla[AT]philbeeson.com>
@@ -4557,18 +4630,22 @@ Philip Rosenberg-Watt <p.rosenberg-watt[AT]cablelabs.com>
Philipp Hancke <fippo[AT]andyet.net>
Pino Toscano <pino[AT]debian.org>
Piotr Pawłowski <ppiotru[AT]gmail.com>
+Piotr Sarna <sarna[AT]scylladb.com>
Piotr Smolinski <piotr.smolinski[AT]confluent.io>
Piotr Tulpan <piotr.tulpan[AT]netscan.pl>
Piotr Winiarczyk <wino45[AT]gmail.com>
Poornima G <pgurusid[AT]redhat.com>
Prashanth Pai <ppai[AT]redhat.com>
Prerit Jain <prerit.jain[AT]samsung.com>
+Prince Paul <prince.paul.k[AT]gmail.com>
Priyanka Mondal <priyanka02010[AT]gmail.com>
Radhashyam Behera <radhashyambehera[AT]gmail.com>
Rado Radoulov <rad0x6f[AT]gmail.com>
+Rafał Kuźnia <rafal.kuznia[AT]protonmail.com>
Rainer Keller <Rainer.Keller[AT]qt.io>
Ralf Nasilowski <Ralf.Nasilowski[AT]ise.de>
Ralph Boehme <slow[AT]samba.org>
+Rasmus Jonsson <wasmus[AT]zom.bi>
Ray Gomez <rayvincent.gomez[AT]gmail.com>
Rediet <getachew.redieteab[AT]orange.com>
Remi Gacogne <remi.gacogne[AT]powerdns.com>
@@ -4576,6 +4653,7 @@ Remous-Aris Koutsiamanis <aris[AT]ariskou.com>
Ricardo Cristian Ramirez <r.cristian.ramirez[AT]gmail.com>
Rich Coe <richcoe2[AT]gmail.com>
Richard Kuemmel <kuemmel.ric[AT]googlemail.com>
+Richard Laager <rlaager[AT]wiktel.com>
Rickard Holmberg <rickard[AT]avkrok.net>
Rishi Dev Singh <rishi.dev[AT]samsung.com>
Robert Beardsworth <rob_beardsworth[AT]hotmail.com>
@@ -4588,6 +4666,7 @@ Rohan Saini <rohan.saini[AT]nokia.com>
Roland Haenel <roland[AT]haenel.me>
Roland Knall <rknall[AT]gmail.com>
Romain Tartière <romain[AT]blogreen.org>
+Roman Koshelev <roman.koshelev[AT]bk.ru>
Roman Leonhartsberger <ro.leonhartsberger[AT]gmail.com>
Roman Volkov <volkoff_roman[AT]ukr.net>
Ronen Boazi <ronen.boazi[AT]intel.com>
@@ -4614,6 +4693,7 @@ Sebastian Schildt <sebastian[AT]frozenlight.de>
Selva Kumar <v.selvamuthukumar[AT]gmail.com>
Selvamegala <sselvamegala[AT]gmail.com>
Sergey Avseyev <sergey.avseyev[AT]gmail.com>
+Sergey Bogdanov <Sergey.Bogdanov[AT]astrosoft.ru>
Sergey Rak <sergrak[AT]iotecha.com>
Sergio Moreno Mozota <sergio.morenomozota[AT]telefonica.com>
Seth Alexander <seth.alexander[AT]cosmicaes.com>
@@ -4624,6 +4704,7 @@ Shoichi Sakane <wireshark-shoichi[AT]tanu.org>
Shu Shen <shu.shen[AT]gmail.com>
Shuai Xiao <iamhihi[AT]gmail.com>
Shudong Zhou <shudongzhou[AT]gmail.com>
+Signat Sibirskiy <ord.blant[AT]gmail.com>
Silvio Gissi <silvio.gissi[AT]gmail.com>
Simon Barber <simon.barber[AT]meraki.net>
Simon Graham <simgrxp[AT]gmail.com>
@@ -4640,21 +4721,26 @@ Stefan Battmer <stefan.battmer[AT]matrix-vision.de>
Stefan Doehla <stefan.doehla[AT]iis.fraunhofer.de>
Stefan Hajnoczi <stefanha[AT]redhat.com>
Stefan Pöschel <github[AT]basicmaster.de>
+Stefan Tatschner <stefan[AT]rumpelsepp.org>
Stefan Völkel <sv[AT]its-v.de>
Stella Randall <stella.randall[AT]emeerson.com>
Stephan Kappertz <octopus.sk[AT]googlemail.com>
Stephane Bryant <stephane.ml.bryant[AT]gmail.com>
Stephen Donnelly <stephen.donnelly[AT]endace.com>
Steve Osselton <steve.osselton[AT]gmail.com>
+Sultan Qasim Khan <sultan.qasimkhan[AT]nccgroup.com>
Sunil Mushran <sunil.mushran[AT]oracle.com>
Sven Eckelmann <sven[AT]open-mesh.com>
Sven Schnelle <svens[AT]stackframe.org>
Swapnil Roy <swapnil.advent[AT]gmail.com>
Sylvain Munaut <tnt[AT]246tNt.com>
Sébastien Deronne <sebastien.deronne[AT]gmail.com>
+Sébastien RAILLARD <sr[AT]coexsi.fr>
T. Scholz <scholzt234[AT]googlemail.com>
Tadeusz Struk <tadeusz.struk[AT]intel.com>
+Tadeusz Struk <tstruk[AT]gmail.com>
Taisuke Sasaki <taisasak[AT]cisco.com>
+Tamir Duberstein <tamird[AT]google.com>
Tatsuhiro Tsujikawa <tatsuhiro.t[AT]gmail.com>
Tengfei Chang <tengfei.chang[AT]inria.fr>
Thibault Gerondal <github[AT]tycale.be>
@@ -4677,9 +4763,13 @@ Tobias Stoeckmann <tobias[AT]stoeckmann.org>
Tom <tom916[AT]qq.com>
Tom Haynes <loghyr[AT]hammerspace.com>
Tom Haynes <loghyr[AT]primarydata.com>
+Tom Nisbet <t.talk[AT]nisbethome.com>
Tomas Konecny <tomas.konecny[AT]eldis.cz>
+Tomas Kukosa <kukosa[AT]herman.cz>
+Tomas Kukosa <tkeksa[AT]gmail.com>
Tomas Kukosa <tomas.kukosa[AT]ixperta.com>
Tomas Liscak <tomas.liscak[AT]nokia.com>
+Tony Ciavarella <tony.ciavarella[AT]squalllinesoftware.com>
Topi Miettinen <toiwoton[AT]gmail.com>
Trond Myklebust <trond.myklebust[AT]primarydata.com>
Trond Norbye <trond[AT]couchbase.com>
@@ -4690,8 +4780,10 @@ Uri Simchoni <urisimchoni[AT]gmail.com>
Uwe Kleine-König <uwe[AT]kleine-koenig.org>
Vadim Fedorenko <vadimjunk[AT]gmail.com>
Vadim Yanitskiy <axilirator[AT]gmail.com>
+Vadim Yanitskiy <vyanitskiy[AT]sysmocom.de>
ValdikSS <iam[AT]valdikss.org.ru>
Valentin Vidic <Valentin.Vidic[AT]CARNet.hr>
+Vanson Lim <vlim[AT]cisco.com>
Vasil Velichkov <vvvelichkov[AT]gmail.com>
Victor Barratault <victor.barratault[AT]gmail.com>
Victor Dodon <dodonvictor[AT]gmail.com>
@@ -4703,8 +4795,10 @@ Vikram Hegde <vikram.h[AT]samsung.com>
Ville Skyttä <ville.skytta[AT]iki.fi>
Vincent Helfre <vincent.helfre[AT]gmx.net>
Vincenzo Reale <smart2128[AT]baslug.org>
+Vivek Pandey <vivek_pandey[AT]comcast.com>
Vladimir Kondratiev <qca_vkondrat[AT]qca.qualcomm.com>
Vladimir Rutsky <rutsky[AT]google.com>
+Vladislav Grishenko <themiron[AT]mail.ru>
Vladlen Popov <vladlen.popov[AT]yahoo.com>
Volker Lendecke <vl[AT]samba.org>
Volodymyr Khomenko <Khomenko.Volodymyr[AT]gmail.com>
@@ -4719,32 +4813,44 @@ Will Robertson <aliask[AT]gmail.com>
William Tu <u9012063[AT]gmail.com>
Xavier Brouckaert <xabrouck[AT]cisco.com>
Xiaochuan Sun <linuxvxworks[AT]gmail.com>
+Xiaoxia Lang <xxlang[AT]grandstream.cn>
XuNiu <993273596[AT]qq.com>
YFdyh000 <yfdyh000[AT]gmail.com>
Yan Burman <yanb[AT]mellanox.com>
Yang Luo <hsluoyz[AT]qq.com>
Yann Diorcet <yann[AT]diorcet.fr>
+Yann Garcia <yann.garcia[AT]fscom.frSkype>
Yann Lejeune <ylejeune[AT]netyl.org>
+Yann Pomarède <yann.pomarede[AT]gmail.com>
Yannik Enss <Yannik.Enss[AT]rohde-schwarz.com>
Yasuyuki Tanaka <yasuyuki.tanaka[AT]inria.fr>
+Yehonatan Zecharia <yonti95[AT]gmail.com>
+Yoshiyuki Kurauchi <ahochauwaaaaa[AT]gmail.com>
Yuri Chislov <yuri.chislov[AT]gmail.com>
Yurii Lysyi <yurii.lysyi[AT]ericsson.com>
Yury Gargay <yury.gargay[AT]gmail.com>
Zachary Holcomb <zholcomb2017[AT]my.fit.edu>
Zdeněk Žamberský <zzdevel[AT]seznam.cz>
Zhao Lin <zlbinghamton[AT]gmail.com>
+Zhenhua Hu <fattiger1102[AT]gmail.com>
akuchekar <akuchekar[AT]empirix.com>
anonsvn <anonsvn[AT]localhost>
cff339 <cff339[AT]gmail.com>
cheloftus <cheloftus[AT]gmail.com>
+dennisschagt <dennisschagt[AT]gmail.com>
+eckart haug <wireshark[AT]syntacs.com>
jfp_martin <john[AT]purplemeanie.co.uk>
kardam <netkardam[AT]gmail.com>
kkoizumi <kkoizumi46[AT]gmail.com>
+liningjie <1350445139[AT]qq.com>
mkg20001 <mkg20001[AT]gmail.com>
pegah hajiani <pegah_haj[AT]yahoo.com>
+rbroker <rstbroker[AT]gmail.com>
shqking <shqking[AT]gmail.com>
subhav8 <subhadevi88[AT]gmail.com>
+vahapemin <vahapemin44[AT]gmail.com>
zhongweisitu <zsitu[AT]extremenetworks.com>
+zhudewen <zhudewen[AT]iauto.com>
Émilio Gonzalez <egg997[AT]gmail.com>
Éric Piel <piel[AT]delmic.com>
Øyvind Rønningstad <ronningstad[AT]gmail.com>
@@ -4753,32 +4859,20 @@ zhongweisitu <zsitu[AT]extremenetworks.com>
= Acknowledgements =
-Dan Lasley <dlasley[AT]promus.com> gave permission for his
-dumpit() hex-dump routine to be used.
+Dan Lasley <dlasley[AT]promus.com> gave permission for his dumpit() hex-dump routine to be used.
-Mattia Cazzola <mattiac[AT]alinet.it> provided a patch to the
-hex dump display routine.
+Mattia Cazzola <mattiac[AT]alinet.it> provided a patch to the hex dump display routine.
-We use the exception module from Kazlib, a C library written by
-Kaz Kylheku <kaz[AT]kylheku.com>. Thanks go to him for
-his well-written library. The Kazlib home page can be found at
-http://www.kylheku.com/~kaz/kazlib.html
+We use the exception module from Kazlib, a C library written by Kaz Kylheku <kaz[AT]kylheku.com>. Thanks go to him for his well-written library. The Kazlib home page can be found at http://www.kylheku.com/~kaz/kazlib.html
-We use Lua BitOp, written by Mike Pall, for bitwise operations
-on numbers in Lua. The Lua BitOp home page can be found at
-https://bitop.luajit.org
+We use Lua BitOp, written by Mike Pall, for bitwise operations on numbers in Lua. The Lua BitOp home page can be found at https://bitop.luajit.org
-snax <snax[AT]shmoo.com> gave permission to use his(?) weak key
-detection code from Airsnort.
+snax <snax[AT]shmoo.com> gave permission to use his(?) weak key detection code from Airsnort.
IANA gave permission for their port-numbers file to be used.
-We use the natural order string comparison algorithm, written by
-Martin Pool <mbp[AT]sourcefrog.net>.
+We use the natural order string comparison algorithm, written by Martin Pool <mbp[AT]sourcefrog.net>.
-Emanuel Eichhammer <support[AT]qcustomplot.com> granted permission
-to use QCustomPlot.
+Emanuel Eichhammer <support[AT]qcustomplot.com> granted permission to use QCustomPlot.
-Insecure.Com LLC ("The Nmap Project") has granted the Wireshark
-Foundation permission to distribute Npcap with our Windows
-installers.
+Insecure.Com LLC ("The Nmap Project") has granted the Wireshark Foundation permission to distribute Npcap with our Windows installers.
diff --git a/AUTHORS.src b/AUTHORS.src
index 908660e4b2..dea9ac3031 100644
--- a/AUTHORS.src
+++ b/AUTHORS.src
@@ -3726,6 +3726,10 @@ Huang Qiangxiong <qiangxiong.huang[AT]qq.com> {
HTTP2 dissector: add streaming mode reassembly and dissecting DATA according to content-type features.
}
+Jeffrey Nichols <jsnichols[AT]suprocktech.com> {
+ Asphodel dissector
+}
+
and by:
Georgi Guninski <guninski[AT]guninski.com>
@@ -3978,39 +3982,28 @@ Chidambaram Arunachalam <carunach[AT]cisco.com>
João Valverde <joao.valverde[AT]tecnico.ulisboa.pt>
Benoît Canet <benoit[AT]scylladb.com>
Håkon Øye Amundsen <haakon.amundsen[AT]nordicsemi.no>
+Jeffrey Wildman <jeffrey.wildman@ll.mit.edu>
= Acknowledgements =
-Dan Lasley <dlasley[AT]promus.com> gave permission for his
-dumpit() hex-dump routine to be used.
+Dan Lasley <dlasley[AT]promus.com> gave permission for his dumpit() hex-dump routine to be used.
-Mattia Cazzola <mattiac[AT]alinet.it> provided a patch to the
-hex dump display routine.
+Mattia Cazzola <mattiac[AT]alinet.it> provided a patch to the hex dump display routine.
-We use the exception module from Kazlib, a C library written by
-Kaz Kylheku <kaz[AT]kylheku.com>. Thanks go to him for
-his well-written library. The Kazlib home page can be found at
-http://www.kylheku.com/~kaz/kazlib.html
+We use the exception module from Kazlib, a C library written by Kaz Kylheku <kaz[AT]kylheku.com>. Thanks go to him for his well-written library. The Kazlib home page can be found at http://www.kylheku.com/~kaz/kazlib.html
-We use Lua BitOp, written by Mike Pall, for bitwise operations
-on numbers in Lua. The Lua BitOp home page can be found at
-http://bitop.luajit.org/
+We use Lua BitOp, written by Mike Pall, for bitwise operations on numbers in Lua. The Lua BitOp home page can be found at http://bitop.luajit.org/
-Henrik Brix Andersen <brix[AT]gimp.org> gave permission for his
-webbrowser calling routine to be used.
+Henrik Brix Andersen <brix[AT]gimp.org> gave permission for his webbrowser calling routine to be used.
-Christophe Devine <c.devine[AT]cr0.net> gave permission for his
-SHA1 routines to be used.
+Christophe Devine <c.devine[AT]cr0.net> gave permission for his SHA1 routines to be used.
-snax <snax[AT]shmoo.com> gave permission to use his(?) weak key
-detection code from Airsnort.
+snax <snax[AT]shmoo.com> gave permission to use his(?) weak key detection code from Airsnort.
IANA gave permission for their port-numbers file to be used.
-We use the natural order string comparison algorithm, written by
-Martin Pool <mbp[AT]sourcefrog.net>.
+We use the natural order string comparison algorithm, written by Martin Pool <mbp[AT]sourcefrog.net>.
-Emanuel Eichhammer <support[AT]qcustomplot.com> granted permission
-to use QCustomPlot.
+Emanuel Eichhammer <support[AT]qcustomplot.com> granted permission to use QCustomPlot.
Some icons made by Freepik, http://www.freepik.com from https://www.flaticon.com
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6dea7dede0..3f5d342f46 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,6 +13,9 @@ if(WIN32)
else()
cmake_minimum_required(VERSION 3.5)
endif()
+if(POLICY CMP0069)
+ cmake_policy(SET CMP0069 NEW)
+endif()
if(POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
@@ -56,6 +59,21 @@ message(STATUS "Generating build using CMake ${CMAKE_VERSION}")
#Where to find local cmake scripts
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
+# CMake >= 3.9.0 enables LTO/IPO
+# Policy CMP0069 enables this behavior when we set the minimum CMake version < 3.9.0
+if (ENABLE_LTO)
+ include(CheckIPOSupported)
+ check_ipo_supported(RESULT lto_supported)
+ if(lto_supported)
+ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
+ endif()
+endif()
+if (CMAKE_INTERPROCEDURAL_OPTIMIZATION)
+ message(STATUS "LTO/IPO is enabled")
+else()
+ message(STATUS "LTO/LPO is not enabled")
+endif()
+
# If our target platform is enforced by our generator, set
# WIRESHARK_TARGET_PLATFORM accordingly. Otherwise use
# %WIRESHARK_TARGET_PLATFORM%.
@@ -1028,6 +1046,9 @@ reset_find_package(GTHREAD2)
find_package(GTHREAD2 REQUIRED)
reset_find_package(GCRYPT GCRYPT_ERROR_LIBRARY)
find_package(GCRYPT "1.4.2" REQUIRED)
+# C Asynchronous resolver
+reset_find_package(CARES)
+find_package(CARES "1.5.0" REQUIRED)
find_package(LEX REQUIRED)
find_package(YACC REQUIRED)
find_package(Perl REQUIRED)
@@ -1084,7 +1105,6 @@ if(BUILD_wireshark)
Qt5LinguistTools
Qt5Multimedia
Qt5PrintSupport
- Qt5Svg
Qt5Widgets
)
if(APPLE)
@@ -1119,9 +1139,6 @@ ws_find_package(GNUTLS ENABLE_GNUTLS HAVE_LIBGNUTLS "3.2.0")
# Kerberos
ws_find_package(KERBEROS ENABLE_KERBEROS HAVE_KERBEROS)
-# C Asynchronous resolver
-ws_find_package(CARES ENABLE_CARES HAVE_C_ARES "1.5.0")
-
# Zlib compression
ws_find_package(ZLIB ENABLE_ZLIB HAVE_ZLIB)
@@ -1154,6 +1171,8 @@ ws_find_package(SPANDSP ENABLE_SPANDSP HAVE_SPANDSP)
ws_find_package(BCG729 ENABLE_BCG729 HAVE_BCG729)
+ws_find_package(ILBC ENABLE_ILBC HAVE_ILBC)
+
# CMake 3.9 and below used 'LIBXML2_LIBRARIES' as the name of the cache entry
# storing the find_library result. Transfer it to the new cache variable such
# that reset_find_package can detect and clear outdated cache variables.
@@ -1172,9 +1191,9 @@ if(NOT LIBXML2_FOUND)
set(LIBXML2_INCLUDE_DIRS "")
endif()
-# Capabilities
-ws_find_package(CAP ENABLE_CAP HAVE_LIBCAP)
-if(NOT WIN32)
+# Capabilities to run dumpcap as non-root user.
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ ws_find_package(CAP ENABLE_CAP HAVE_LIBCAP)
find_package(SETCAP)
endif()
@@ -1188,7 +1207,7 @@ else()
endif()
# Windows version updates
-ws_find_package(WINSPARKLE ENABLE_WINSPARKLE HAVE_SOFTWARE_UPDATE)
+ws_find_package(WinSparkle ENABLE_WINSPARKLE HAVE_SOFTWARE_UPDATE)
find_package( Asciidoctor 1.5 )
@@ -1233,8 +1252,8 @@ if(GNUTLS_FOUND AND NOT GNUTLS_VERSION VERSION_LESS "3.4.0")
endif()
if (QT_FOUND)
- if (Qt5Widgets_VERSION VERSION_LESS 5.2)
- message(FATAL_ERROR "Qt 5.2 or later is required.")
+ if (Qt5Widgets_VERSION VERSION_LESS 5.3)
+ message(FATAL_ERROR "Qt 5.3 or later is required.")
endif()
if (Qt5Widgets_VERSION VERSION_GREATER 5.6
AND (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang"))
@@ -1275,9 +1294,12 @@ if (QT_FOUND)
find_program(DMGBUILD_EXECUTABLE dmgbuild
DOC "Path to the dmgbuild utility"
)
+ # https://doc.qt.io/qt-5/supported-platforms.html
# https://doc.qt.io/qt-5.11/supported-platforms-and-configurations.html
# CMake < 3.7 doesn't support VERSION_GREATER_EQUAL.
- if(Qt5Widgets_VERSION VERSION_GREATER "5.11.999")
+ if(Qt5Widgets_VERSION VERSION_GREATER "5.14.999")
+ set(MIN_MACOS_VERSION 10.13)
+ elseif(Qt5Widgets_VERSION VERSION_GREATER "5.11.999")
set(MIN_MACOS_VERSION 10.12)
elseif(Qt5Widgets_VERSION VERSION_GREATER "5.9.999")
set(MIN_MACOS_VERSION 10.11)
@@ -1467,6 +1489,11 @@ if(ENABLE_PLUGINS)
plugins/codecs/G729
)
endif()
+ if(ILBC_FOUND)
+ list(APPEND PLUGIN_SRC_DIRS
+ plugins/codecs/iLBC
+ )
+ endif()
if(SBC_FOUND)
list(APPEND PLUGIN_SRC_DIRS
plugins/codecs/sbc
@@ -1503,10 +1530,6 @@ foreach(_plugin_src_dir ${PLUGIN_SRC_DIRS})
add_subdirectory( ${_plugin_src_dir} )
endforeach()
-if(ENABLE_PCAP_NG_DEFAULT)
- set(PCAP_NG_DEFAULT 1)
-endif()
-
# Large file support (e.g. make off_t 64 bit if supported)
include(gmxTestLargeFiles)
gmx_test_large_files(GMX_LARGEFILES)
@@ -1565,6 +1588,11 @@ foreach( _cfg_file ${CFG_OUT_FILES} )
endforeach()
include(FeatureSummary)
+set_package_properties(CAP PROPERTIES
+ DESCRIPTION "The Libcap package implements the user-space interfaces to the POSIX 1003.1e capabilities available in Linux kernels"
+ URL "https://sites.google.com/site/fullycapable/"
+ PURPOSE "Allow packet captures without running as root"
+)
set_package_properties(SBC PROPERTIES
DESCRIPTION "Bluetooth low-complexity, subband codec (SBC) decoder"
URL "https://git.kernel.org/pub/scm/bluetooth/sbc.git"
@@ -1580,6 +1608,11 @@ set_package_properties(BCG729 PROPERTIES
URL "https://www.linphone.org/technical-corner/bcg729/overview"
PURPOSE "Support for G.729 codec in RTP player"
)
+set_package_properties(ILBC PROPERTIES
+ DESCRIPTION "iLBC decoder"
+ URL "https://github.com/TimothyGu/libilbc"
+ PURPOSE "Support for iLBC codec in RTP player"
+)
set_package_properties(LIBXML2 PROPERTIES
DESCRIPTION "XML parsing library"
URL "http://xmlsoft.org/"
@@ -1652,6 +1685,31 @@ endif()
feature_summary(WHAT ALL)
+# Newer Libgcrypt versions may be required for certain functionality:
+# 1.6
+# - IEEE 802.11 TDLS, AES-GCMP-128 and AES-GCMP-256 decryption
+# - IEEE 802.11 WPA3-Personal / SAE decryption
+# - BT Mesh decryption
+# - Distributed Object Framework (DOF) decryption
+# - IKEv2 integrity check
+# - LoRaWAN integrity check
+# - LTE PDCP EIA2 integrity check
+# - QUIC decryption support
+# - SMB3 AES-128-CCM/GCM decryption
+# - TLS 1.3 0-RTT decryption
+# - TLS GCM/CCM ciphers integrity check
+# 1.7
+# - QUIC ChaCha20-Poly1305 decryption
+# - TLS 1.3 ChaCha20-Poly1305 decryption
+# 1.8
+# - dcerpc-netlogon NETLOGON_FLAG_AES decryption
+# - WireGuard decryption
+if(GCRYPT_VERSION VERSION_LESS 1.6.0)
+ message(WARNING "Libgcrypt version 1.6.0 or newer is strongly recommended for improved decryption support, found ${GCRYPT_VERSION}")
+elseif(GCRYPT_VERSION VERSION_LESS 1.8.0)
+ message(WARNING "Libgcrypt version 1.8.0 or newer is recommended for full decryption functionality, found ${GCRYPT_VERSION}")
+endif()
+
# Should this be part of libui?
if(WIN32)
set(PLATFORM_UI_SRC
@@ -1765,15 +1823,9 @@ if (BUILD_xxx2deb)
)
endif()
-if(WIN32)
- set(TEXTIFY_FILES COPYING NEWS README.windows)
- set(TEXTIFY_MD_FILES README.md)
- foreach(_text_file ${TEXTIFY_FILES} ${TEXTIFY_MD_FILES})
- string(REGEX REPLACE ".md$" "" _out_file ${_text_file})
- set(INSTALL_FILES ${CMAKE_BINARY_DIR}/${_out_file}.txt ${INSTALL_FILES})
- endforeach()
-else()
- set(INSTALL_FILES COPYING ${INSTALL_FILES})
+if(NOT WIN32)
+ # We do this for Windows further down in the copy_data_files target.
+ list(APPEND INSTALL_FILES COPYING)
endif()
set(VERSION_INFO_LIBS
@@ -1852,6 +1904,9 @@ if(WIN32)
if (BCG729_FOUND)
list (APPEND OPTIONAL_DLLS "${BCG729_DLL_DIR}/${BCG729_DLL}")
endif(BCG729_FOUND)
+ if (ILBC_FOUND)
+ list (APPEND OPTIONAL_DLLS "${ILBC_DLL_DIR}/${ILBC_DLL}")
+ endif(ILBC_FOUND)
if (LIBXML2_FOUND)
foreach( _dll ${LIBXML2_DLLS} )
list (APPEND OPTIONAL_DLLS "${LIBXML2_DLL_DIR}/${_dll}")
@@ -1960,10 +2015,8 @@ if(WIN32)
add_custom_command(TARGET pdb_zip_package POST_BUILD
COMMAND ${CMAKE_COMMAND} -E remove -f "${_pdb_zip}"
COMMAND ${ZIP_EXECUTABLE} a -tzip -mmt=on "${_pdb_zip_win}"
- *.pdb *.lib
- extcap/*.pdb
- ${PLUGIN_VERSION_DIR}/epan/*.pdb
- ${PLUGIN_VERSION_DIR}/wiretap/*.pdb
+ -bb2
+ -r *.pdb *.lib
WORKING_DIRECTORY "${_dll_output_dir}"
)
endif()
@@ -1973,27 +2026,19 @@ endif(WIN32)
set(copy_data_files_depends)
if(WIN32)
- foreach(_text_file ${TEXTIFY_FILES})
- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${_text_file}.txt
- COMMAND ${POWERSHELL_COMMAND} "${CMAKE_SOURCE_DIR}/tools/textify.ps1"
- -Destination ${CMAKE_BINARY_DIR}
- ${CMAKE_SOURCE_DIR}/${_text_file}
- DEPENDS
- ${CMAKE_SOURCE_DIR}/${_text_file}
- )
- endforeach()
- foreach(_md_file ${TEXTIFY_MD_FILES})
- string(REGEX REPLACE ".md$" ".txt" _text_file ${_md_file})
- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${_text_file}
- COMMAND ${POWERSHELL_COMMAND} "${CMAKE_SOURCE_DIR}/tools/textify.ps1"
- -Destination ${CMAKE_BINARY_DIR}
- ${CMAKE_SOURCE_DIR}/${_md_file}
- COMMAND ${CMAKE_COMMAND} -E rename
- ${CMAKE_BINARY_DIR}/${_md_file}.txt
- ${CMAKE_BINARY_DIR}/${_text_file}
+ foreach(_install_as_txt_file COPYING NEWS README.md README.windows)
+ # On Windows, install some files with a .txt extension so that they're
+ # double-clickable.
+ string(REGEX REPLACE ".md$" "" _no_md_file ${_install_as_txt_file})
+ set(_output_file "${DATAFILE_DIR}/${_no_md_file}.txt")
+ add_custom_command(OUTPUT ${_output_file}
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${CMAKE_SOURCE_DIR}/${_install_as_txt_file}
+ ${_output_file}
DEPENDS
- ${CMAKE_SOURCE_DIR}/${_text_file}
+ ${CMAKE_SOURCE_DIR}/${_install_as_txt_file}
)
+ list(APPEND copy_data_files_depends "${_output_file}")
endforeach()
endif()
@@ -2421,6 +2466,7 @@ endif()
if(BUILD_tfshark)
set(tfshark_LIBS
+ m
ui
wiretap
epan
@@ -2780,11 +2826,23 @@ if (MAXMINDDB_FOUND)
endif()
if(ENABLE_APPLICATION_BUNDLE)
+ # --preserve-xattr is undocumented but ensures that we install
+ # a signed ChmodBPF script.
set (install_chmodbpf_component_pkg "${CMAKE_BINARY_DIR}/install.ChmodBPF.pkg")
add_custom_command(OUTPUT "${install_chmodbpf_component_pkg}"
+ COMMAND find
+ "${CMAKE_SOURCE_DIR}/packaging/macosx/ChmodBPF/root"
+ -type d
+ -exec chmod 755 "{}" +
+ COMMAND chmod 644
+ "${CMAKE_SOURCE_DIR}/packaging/macosx/ChmodBPF/root/Library/LaunchDaemons/org.wireshark.ChmodBPF.plist"
+ COMMAND chmod 755
+ "${CMAKE_SOURCE_DIR}/packaging/macosx/ChmodBPF/root/Library/Application Support/Wireshark/ChmodBPF/ChmodBPF"
+ COMMAND "${CMAKE_SOURCE_DIR}/packaging/macosx/osx-extras.sh"
COMMAND pkgbuild
--identifier org.wireshark.ChmodBPF.pkg
--version 1.1
+ --preserve-xattr
--root "${CMAKE_SOURCE_DIR}/packaging/macosx/ChmodBPF/root"
--scripts "${CMAKE_SOURCE_DIR}/packaging/macosx/ChmodBPF/install-scripts"
${install_chmodbpf_component_pkg}
@@ -2834,6 +2892,14 @@ if(ENABLE_APPLICATION_BUNDLE)
set (install_path_helper_component_pkg "${CMAKE_BINARY_DIR}/install.path_helper.pkg")
add_custom_command(OUTPUT "${install_path_helper_component_pkg}"
+ COMMAND find
+ "${CMAKE_SOURCE_DIR}/packaging/macosx/path_helper/root"
+ -type d
+ -exec chmod 755 "{}" +
+ COMMAND find
+ "${CMAKE_SOURCE_DIR}/packaging/macosx/path_helper/root"
+ -type f
+ -exec chmod 644 "{}" +
COMMAND pkgbuild
--identifier org.wireshark.path_helper.pkg
--version 1.0
@@ -2892,34 +2958,32 @@ if(ENABLE_APPLICATION_BUNDLE)
)
add_dependencies(app_bundle ${PROGLIST} chmodbpf path_helper)
- if( DMGBUILD_EXECUTABLE AND ASCIIDOCTOR_FOUND)
- add_custom_target(dmg_package_prep DEPENDS app_bundle)
-
- set(_read_me_first "packaging/macosx/Read me first.html")
- ADD_CUSTOM_COMMAND(
- OUTPUT
- ${_read_me_first}
- COMMAND ${ASCIIDOCTOR_EXECUTABLE}
- --backend html
- --out-file ${_read_me_first}
- --attribute include-dir=${CMAKE_SOURCE_DIR}/docbook
- --attribute min-macos-version=${MIN_MACOS_VERSION}
- ${CMAKE_CURRENT_SOURCE_DIR}/packaging/macosx/Read_me_first.adoc
- DEPENDS
- ${CMAKE_CURRENT_SOURCE_DIR}/packaging/macosx/Read_me_first.adoc
- )
- add_custom_target(read_me_first_html DEPENDS ${_read_me_first} )
- add_dependencies(dmg_package_prep read_me_first_html)
-
- ADD_CUSTOM_TARGET( dmg_package
- COMMAND bash -x ${CMAKE_BINARY_DIR}/packaging/macosx/osx-dmg.sh
- # Unlike nsis_package_prep + nsis_package, we can add a direct
- # dependency here.
- DEPENDS dmg_package_prep
- # We create Wireshark.app in "run". Do our work there.
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/run
- )
- endif()
+ add_custom_target(dmg_package_prep DEPENDS app_bundle)
+
+ set(_read_me_first "packaging/macosx/Read me first.html")
+ ADD_CUSTOM_COMMAND(
+ OUTPUT
+ ${_read_me_first}
+ COMMAND ${ASCIIDOCTOR_EXECUTABLE}
+ --backend html
+ --out-file ${_read_me_first}
+ --attribute include-dir=${CMAKE_SOURCE_DIR}/docbook
+ --attribute min-macos-version=${MIN_MACOS_VERSION}
+ ${CMAKE_CURRENT_SOURCE_DIR}/packaging/macosx/Read_me_first.adoc
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/packaging/macosx/Read_me_first.adoc
+ )
+ add_custom_target(read_me_first_html DEPENDS ${_read_me_first} )
+ add_dependencies(dmg_package_prep read_me_first_html)
+
+ ADD_CUSTOM_TARGET( dmg_package
+ COMMAND bash -x ${CMAKE_BINARY_DIR}/packaging/macosx/osx-dmg.sh
+ # Unlike nsis_package_prep + nsis_package, we can add a direct
+ # dependency here.
+ DEPENDS dmg_package_prep
+ # We create Wireshark.app in "run". Do our work there.
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/run
+ )
endif()
@@ -2970,6 +3034,9 @@ if(RPMBUILD_EXECUTABLE)
if (BCG729_FOUND)
list(APPEND _rpmbuild_with_args --with bcg729)
endif()
+ if (ILBC_FOUND)
+ list(APPEND _rpmbuild_with_args --with ilbc)
+ endif()
if (LIBXML2_FOUND)
list(APPEND _rpmbuild_with_args --with libxml2)
endif()
@@ -3193,6 +3260,7 @@ endif()
install(
FILES
${CMAKE_MODULE_PATH}/FindGLIB2.cmake
+ ${CMAKE_MODULE_PATH}/FindWSLibrary.cmake
${CMAKE_MODULE_PATH}/FindWSWinLibs.cmake
${CMAKE_MODULE_PATH}/UseAsn2Wrs.cmake
${CMAKE_MODULE_PATH}/LocatePythonModule.cmake
@@ -3239,9 +3307,22 @@ if (DOXYGEN_EXECUTABLE)
COMMAND ${DOXYGEN_EXECUTABLE} doxygen.cfg
)
+ if (WIN32)
+ add_custom_target(wsar_html_perms DEPENDS wsar_html)
+ else()
+ add_custom_target(wsar_html_perms
+ COMMAND find wsar_html
+ -type d
+ -exec chmod 755 "{}" +
+ COMMAND find wsar_html
+ -type f
+ -exec chmod 644 "{}" +
+ DEPENDS wsar_html)
+ endif()
+
add_custom_target(wsar_html_zip
COMMAND ${CMAKE_COMMAND} -E tar "cfv" "wsar_html.zip" --format=zip wsar_html
- DEPENDS wsar_html
+ DEPENDS wsar_html_perms
)
set_target_properties(wsar_html wsar_html_zip PROPERTIES
FOLDER "Docs"
@@ -3291,12 +3372,14 @@ set(_test_group_list
suite_dfilter.group_uint64
suite_dissection
suite_dissectors.group_asterix
+ suite_extcaps
suite_fileformats
suite_follow
suite_io
suite_mergecap
suite_nameres
suite_outputformats
+ suite_release
suite_text2pcap
suite_sharkd
suite_unittests
@@ -3375,7 +3458,6 @@ CHECKAPI(
NAME
main
SWITCHES
- -build
SOURCES
${WIRESHARK_SRC}
${TSHARK_TAP_SRC}
diff --git a/CMakeOptions.txt b/CMakeOptions.txt
index fb9133ec7d..81a330548f 100644
--- a/CMakeOptions.txt
+++ b/CMakeOptions.txt
@@ -49,6 +49,12 @@ option(ENABLE_FUZZER "Enable libFuzzer instrumentation for use with fuzzshark" O
option(ENABLE_CHECKHF_CONFLICT "Enable hf conflict check for debugging (start-up may be slower)" OFF)
option(ENABLE_CCACHE "Speed up compiling and linking using ccache if possible" OFF)
+if (WIN32)
+ option(ENABLE_LTO "Improves performance using Link time Optimization" ON)
+else()
+ option(ENABLE_LTO "Improves performance using Link time Optimization" OFF)
+endif()
+
option(ENABLE_PCAP "Enable libpcap support (required for capturing)" ON)
#
# AirPcap support is available only on Windows. It might be nice to have it
@@ -62,7 +68,6 @@ option(ENABLE_STATIC "Build Wireshark libraries statically" OFF)
option(USE_STATIC "Always link statically with external libraries" OFF)
option(ENABLE_PLUGINS "Build with plugins" ON)
option(ENABLE_PLUGIN_IFDEMO "Build with plugin interface demo" OFF)
-option(ENABLE_PCAP_NG_DEFAULT "Enable pcapng as default file format" ON)
option(ENABLE_ZLIB "Build with zlib compression support" ON)
option(ENABLE_MINIZIP "Build with zip file compression support" ON)
@@ -92,6 +97,7 @@ option(ENABLE_KERBEROS "Build with Kerberos support" ON)
option(ENABLE_SBC "Build with SBC Codec support in RTP Player" ON)
option(ENABLE_SPANDSP "Build with G.722/G.726 codecs support in RTP Player" ON)
option(ENABLE_BCG729 "Build with G.729 codec support in RTP Player" ON)
+option(ENABLE_ILBC "Build with iLBC codec support in RTP Player" ON)
option(ENABLE_LIBXML2 "Build with libxml2 support" ON)
# How to install
diff --git a/INSTALL b/INSTALL
index 66de3e2528..1ac660efb7 100644
--- a/INSTALL
+++ b/INSTALL
@@ -14,9 +14,9 @@ README.windows for those instructions.
development packages installed. Try running
'pkg-config glib-2.0 --modversion' to see if you have GLib 2.x
installed. Then try running 'pkg-config Qt5Widgets --modversion'
- to see if you have Qt installed. Wireshark needs version 4.8 or above
- of Qt, although 5.2 and above are strongly recommended. It needs
- version 2.22.0 or above of glib-2.0. If you need to install or
+ to see if you have Qt installed. Wireshark requires Qt 5.3 or later,
+ but the most recent LTS release is strongly recommended. It needs
+ version 2.32.0 or above of GLib. If you need to install or
re-install GLIB, you can find the packages at:
https://www.gtk.org
diff --git a/NEWS b/NEWS
index ecf209b3c5..33ead94140 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,7 @@
-Wireshark 3.1.1 Release Notes
+Wireshark 3.3.0 Release Notes
This is an experimental release intended to test new features for
- Wireshark 3.2.
+ Wireshark 3.4.
What is Wireshark?
@@ -16,120 +16,51 @@ Wireshark 3.1.1 Release Notes
New and Updated Features
The following features are new (or have been significantly updated)
- since version 3.1.0:
+ since version 3.2.0:
- • Automatic updates are supported on macOS.
+ • Windows executables and installers are now signed using SHA-2
+ only[1].
- • You can now select multiple packets in the packet list at the
- same time
+ • Save RTP stream to .au supports any codec with 8000 Hz rate
+ supported by Wireshark (shown in RTP player). If save of audio is
+ not possible (unsupported codec or rate), silence of same length
+ is saved and warning is shown.
- • They can be exported as Text by “Ctrl+C” or “Cmd+C” and the
- corresponding menu in “Edit › Copy › As …​”
+ • C-ares is now a required dependency.
- • They can be marked/unmarked or ignored/unignored at the same time
+ • Protobuf fields can be dissected as wireshark (header) fields
+ that allows user input the full names of Protobuf fields or
+ messages in Filter toolbar for searching.
- • They can be exported and printed using the corresponding menu
- entries “File › Export Specified Packets”, “File › Export Packet
- Dissections” and “File › Print”
+ • Dissector based on Protobuf can register itself to a new
+ 'protobuf_field' dissector table, which is keyed with the full
+ names of fields, for further parsing fields of BYETS or STRING
+ type.
- You can now follow HTTP/2 and QUIC streams.
+ • Wireshark is able to decode, play and save iLBC payload on
+ platforms where iLBC library
+ (https://github.com/TimothyGu/libilbc) is available.
- You can once again mark and unmark packets using the middle mouse
- button. This feature went missing around 2009 or so.
+ • Decode As entries can now be copied from other profiles using a
+ button in the dialog.
- The Windows packages are now built using Microsoft Visual Studio
- 2019.
+ • sshdump can now be copied in multiple instances. Each instance
+ will show up a different interface and will have its own profile.
- IOGraph automatically adds a graph for the selected display filter if
- no previous graph exists
-
- Action buttons for the display filter bar may be aligned left via the
- context menu
-
- Allow extcaps to be loaded from the personal configuration directory
-
- The Windows installers now ship with Qt 5.12.6. They previously
- shipped with Qt 5.12.4.
-
- The following features are new (or have been significantly updated)
- since version 3.0.0:
-
- • You can drag and drop a field to a column header to create a
- column for that field, or to the display filter input to create a
- display filter. If a display filter is applied, the new filter
- can be added using the same rules as “Apply Filter”
-
- • You can drag and drop a column entry to the display filter to
- create a filter for it.
-
- • You can import profiles from a .zip archive or an existing
- directory.
-
- • Dark mode support on macOS and dark theme support on other
- platforms has been improved.
-
- • Brotli decompression support in HTTP/HTTP2 (requires the brotli
- library).
-
- • The build system now checks for a SpeexDSP system library
- installation. The bundled Speex resampler code is still provided
- as a fallback.
-
- • WireGuard decryption can now be enabled through keys embedded in
- a pcapng in addition to the existing key log preference (Bug
- 15571[1]).
-
- • A new tap for extracting credentials from the capture file has
- been added. It can be accessed through the -z credentials option
- in tshark or from the “Tools › Credentials” menu in Wireshark.
-
- • Editcap can now split files on floating point intervals.
-
- • Windows .msi packages are now signed using SHA-2[2]. .exe
- installers are still dual-signed using SHA-1 and SHA-2.
-
- • The “Enabled Protocols” Dialog now only enables, disables and
- inverts protocols based on the set filter selection. The protocol
- type (standard or heuristic) may also be choosen as a filter
- value.
-
- • The “Analyze › Apply as Filter” and “Analyze › Prepare a Filter”
- packet list and detail popup menus now show a preview of their
- respective filters.
-
- • Protobuf files (*.proto) can now be configured to enable more
- precise parsing of serialized Protobuf data (such as gRPC).
-
- • HTTP2 support streaming mode reassembly. To use this feature,
- subdissectors can register itself to "streaming_content_type"
- dissector table and return pinfo→desegment_len and
- pinfo→desegment_offset to tell HTTP2 when to start and how many
- additional bytes requires when next called.
-
- • The message of stream gRPC method can now be parsed with
- supporting of HTTP2 streaming mode reassembly feature.
-
- • The Windows installers now ship with Qt 5.12.4. They previously
- shipped with Qt 5.12.1.
+ • The main window now supports a packet diagram view, which shows
+ each packet as a textbook-style diagram.
New Protocol Support
- 3GPP BICC MST (BICC-MST), 3GPP log packet (LOG3GPP), 3GPP/GSM Cell
- Broadcast Service Protocol (cbsp), Bluetooth Mesh Beacon, Bluetooth
- Mesh PB-ADV, Bluetooth Mesh Provisioning PDU, Bluetooth Mesh Proxy,
- CableLabs Layer-3 Protocol IEEE EtherType 0xb4e3 (CL3), DCOM
- IProvideClassInfo, DCOM ITypeInfo, Diagnostic Log and Trace (DLT),
- Distributed Replicated Block Device (DRBD), Dual Channel Wi-Fi
- (CL3DCW), EBHSCR Protocol (EBHSCR), EERO Protocol (EERO), evolved
- Common Public Radio Interface (eCPRI), File Server Remote VSS
- Protocol (FSRVP), FTDI FT USB Bridging Devices (FTDI FT), Graylog
- Extended Log Format over UDP (GELF), GSM/3GPP CBSP (Cell Broadcast
- Service Protocol), Linux net_dm (network drop monitor) protocol, MIDI
- System Exclusive DigiTech (SYSEX DigiTech), Network Controller
- Sideband Interface (NCSI), NR Positioning Protocol A (NRPPa) TS
- 38.455, NVM Express over Fabrics for TCP (nvme-tcp), OsmoTRX Protocol
- (GSM Transceiver control and data), and Scalable service-Oriented
- MiddlewarE over IP (SOME/IP)
+ =======, Arinc 615A (A615A), Asphodel Protocol, AudioCodes Debug
+ Recording (ACDR), Cisco MisCabling Protocol (MCP), Dynamic Link
+ Exchange Protocol (DLEP), Fortinet Single Sign-on (FSSO), FTDI
+ Multi-Protocol Synchronous Serial Engine (FTDI MPSSE), Java Debug
+ Wire Protocol (JDWP), LBM Stateful Resolution Service (LBMSRS),
+ Lithionics Battery Management, OBSAI UDP-based Communication Protocol
+ (UDPCP), ScyllaDB RPC, Technically Enhanced Capture Module Protocol
+ (TECMP), Tunnel Extensible Authentication Protocol (TEAP), and USB
+ Printer (USBPRINTER)
Updated Protocol Support
@@ -137,20 +68,17 @@ Wireshark 3.1.1 Release Notes
New and Updated Capture File Support
- 3gpp phone, Android Logcat Text, Ascend, Candump, Endace ERF,
- NetScaler, pcapng, and Savvius *Peek
-
Getting Wireshark
Wireshark source code and installation packages are available from
- https://www.wireshark.org/download.html[3].
+ https://www.wireshark.org/download.html.
Vendor-supplied Packages
Most Linux and Unix vendors supply their own Wireshark packages. You
can usually install or upgrade Wireshark using the package management
system specific to that platform. A list of third-party packages can
- be found on the download page[4] on the Wireshark web site.
+ be found on the download page[2] on the Wireshark web site.
File Locations
@@ -162,33 +90,26 @@ Wireshark 3.1.1 Release Notes
Getting Help
The User’s Guide, manual pages and various other documentation can be
- found at https://www.wireshark.org/docs/[5]
+ found at https://www.wireshark.org/docs/
- Community support is available on Wireshark’s Q&A site[6] and on the
+ Community support is available on Wireshark’s Q&A site[3] and on the
wireshark-users mailing list. Subscription information and archives
- for all of Wireshark’s mailing lists can be found on the web site[7].
-
- Bugs and feature requests can be reported on the bug tracker[8].
+ for all of Wireshark’s mailing lists can be found on the web site[4].
- Official Wireshark training and certification are available from
- Wireshark University[9].
+ Bugs and feature requests can be reported on the bug tracker[5].
Frequently Asked Questions
- A complete FAQ is available on the Wireshark web site[10].
+ A complete FAQ is available on the Wireshark web site[6].
- Last updated 2019-11-18 18:42:46 UTC
+ Last updated 2020-09-06 16:34:31 UTC
References
- 1. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=15571
- 2. https://support.microsoft.com/en-us/help/4472027/2019-sha-2-code-s
+ 1. https://support.microsoft.com/en-us/help/4472027/2019-sha-2-code-s
igning-support-requirement-for-windows-and-wsus
- 3. https://www.wireshark.org/download.html
- 4. https://www.wireshark.org/download.html#thirdparty
- 5. https://www.wireshark.org/docs/
- 6. https://ask.wireshark.org/
- 7. https://www.wireshark.org/lists/
- 8. https://bugs.wireshark.org/
- 9. https://www.wiresharktraining.com/
- 10. https://www.wireshark.org/faq.html
+ 2. https://www.wireshark.org/download.html#thirdparty
+ 3. https://ask.wireshark.org/
+ 4. https://www.wireshark.org/lists/
+ 5. https://bugs.wireshark.org/
+ 6. https://www.wireshark.org/faq.html
diff --git a/README.bsd b/README.bsd
index f5145d48da..94654c01fe 100644
--- a/README.bsd
+++ b/README.bsd
@@ -28,7 +28,7 @@ can be found at the following sites:
If you want to use the Wireshark GUI, install one or both of these toolkits:
- Qt 5.2 or later:
+ Qt 5.3 or later:
http://download.qt-project.org/official_releases/qt/
diff --git a/README.md b/README.md
index 5c56b5cba9..6e6f132f97 100644
--- a/README.md
+++ b/README.md
@@ -32,11 +32,11 @@ Official installation packages are available for Microsoft Windows and
macOS.
It is available as either a standard or add-on package for many popular
-operating sytems and Linux distributions including Debian, Ubuntu, Fedora,
+operating systems and Linux distributions including Debian, Ubuntu, Fedora,
CentOS, RHEL, Arch, Gentoo, openSUSE, FreeBSD, DragonFly BSD, NetBSD, and
OpenBSD.
-Additionaly it is available through many third-party packaging systems
+Additionally it is available through many third-party packaging systems
such as pkgsrc, OpenCSW, Homebrew, and MacPorts.
It should run on other Unix-ish systems without too much trouble.
@@ -170,7 +170,7 @@ How to Report a Bug
-------------------
Wireshark is under constant development, so it is possible that you will
-encounter a bug while using it. Please report bugs at https://bugs.wireshark.org.
+encounter a bug while using it. Please report bugs at https://gitlab.com/wireshark/wireshark/-/issues.
Be sure you enter into the bug:
1. The complete build information from the "About Wireshark"
@@ -221,4 +221,4 @@ Gerald Combs <gerald@wireshark.org>
Gilbert Ramirez <gram@alumni.rice.edu>
-Guy Harris <guy@alum.mit.edu>
+Guy Harris <gharris@sonic.net>
diff --git a/README.windows b/README.windows
index 3475795d28..5d64f0eae3 100644
--- a/README.windows
+++ b/README.windows
@@ -1,22 +1,23 @@
Installing Wireshark on Windows
-=============================
+===============================
+
To install Wireshark, simply download the appropriate installer program from
https://www.wireshark.org/download.html
-and start it. Just keep the default settings and start Wireshark after the
+and start it. Just keep the default settings and start Wireshark after the
installation finished (e.g. using the start menu entry).
-For detailed descriptions on how to install and use Wireshark and the
-related command line tools, see the Wireshark User's Guide at:
+For detailed descriptions on how to install and use Wireshark and the
+related command line tools, see the Wireshark User's Guide at:
https://www.wireshark.org/docs/
Compiling the Wireshark distribution from source
================================================
-In case you want to develop Wireshark code yourself, you can find a
-comprehensive guide how to do this in the Developer's Guide, which
-you can find (and much more info) at:
-https://wiki.wireshark.org/Development
+If you want to develop Wireshark code yourself, you can find
+comprehensive information in the Developer's Guide at:
+
+https://www.wireshark.org/docs/
diff --git a/capchild/capture_session.h b/capchild/capture_session.h
index eb99a2d556..94cd3373e0 100644
--- a/capchild/capture_session.h
+++ b/capchild/capture_session.h
@@ -34,10 +34,56 @@ typedef enum {
#include "cfile.h"
struct _info_data;
+
/*
* State of a capture session.
*/
-typedef struct _capture_session {
+typedef struct _capture_session capture_session;
+
+/*
+ * Types of callbacks.
+ */
+
+/**
+ * Capture child told us we have a new (or the first) capture file.
+ */
+typedef gboolean (*new_file_fn)(capture_session *cap_session, gchar *new_file);
+
+/**
+ * Capture child told us we have new packets to read.
+ */
+typedef void (*new_packets_fn)(capture_session *cap_session, int to_read);
+
+/**
+ * Capture child told us how many dropped packets it counted.
+ */
+typedef void (*drops_fn)(capture_session *cap_session, guint32 dropped,
+ const char *interface_name);
+
+/**
+ * Capture child told us that an error has occurred while starting
+ * the capture.
+ */
+typedef void (*error_fn)(capture_session *cap_session, char *error_msg,
+ char *secondary_error_msg);
+
+/**
+ * Capture child told us that an error has occurred while parsing a
+ * capture filter when starting/running the capture.
+ */
+typedef void (*cfilter_error_fn)(capture_session *cap_session, guint i,
+ const char *error_message);
+
+/**
+ * Capture child closed its side of the pipe, report any error and
+ * do the required cleanup.
+ */
+typedef void (*closed_fn)(capture_session *cap_session, gchar *msg);
+
+/*
+ * The structure for the session.
+ */
+struct _capture_session {
ws_process_id fork_child; /**< If not WS_INVALID_PID, in parent, process ID of child */
int fork_child_status; /**< Child exit status */
#ifdef _WIN32
@@ -56,10 +102,24 @@ typedef struct _capture_session {
Buffer buf; /**< Buffer we're reading packet data into */
struct wtap *wtap; /**< current wtap file */
struct _info_data *cap_data_info; /**< stats for this capture */
-} capture_session;
+
+ /*
+ * Routines supplied by our caller; we call them back to notify them
+ * of various events.
+ */
+ new_file_fn new_file;
+ new_packets_fn new_packets;
+ drops_fn drops;
+ error_fn error;
+ cfilter_error_fn cfilter_error;
+ closed_fn closed;
+};
extern void
-capture_session_init(capture_session *cap_session, capture_file *cf);
+capture_session_init(capture_session *cap_session, capture_file *cf,
+ new_file_fn new_file, new_packets_fn new_packets,
+ drops_fn drops, error_fn error,
+ cfilter_error_fn cfilter_error, closed_fn closed);
#else
/* dummy is needed because clang throws the error: empty struct has size 0 in C, size 1 in C++ */
diff --git a/capchild/capture_sync.c b/capchild/capture_sync.c
index ca59d9711e..d26566eaec 100644
--- a/capchild/capture_sync.c
+++ b/capchild/capture_sync.c
@@ -115,7 +115,10 @@ static void free_argv(char** argv, int argc)
}
void
-capture_session_init(capture_session *cap_session, capture_file *cf)
+capture_session_init(capture_session *cap_session, capture_file *cf,
+ new_file_fn new_file, new_packets_fn new_packets,
+ drops_fn drops, error_fn error,
+ cfilter_error_fn cfilter_error, closed_fn closed)
{
cap_session->cf = cf;
cap_session->fork_child = WS_INVALID_PID; /* invalid process handle */
@@ -129,6 +132,13 @@ capture_session_init(capture_session *cap_session, capture_file *cf)
#endif
cap_session->count = 0;
cap_session->session_will_restart = FALSE;
+
+ cap_session->new_file = new_file;
+ cap_session->new_packets = new_packets;
+ cap_session->drops = drops;
+ cap_session->error = error;
+ cap_session->cfilter_error = cfilter_error;
+ cap_session->closed = closed;
}
/* Append an arg (realloc) to an argc/argv array */
@@ -1651,7 +1661,7 @@ sync_pipe_input_cb(gint source, gpointer user_data)
#endif
g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_DEBUG, "sync_pipe_input_cb: cleaning extcap pipe");
extcap_if_cleanup(cap_session->capture_opts, &primary_msg);
- capture_input_closed(cap_session, primary_msg);
+ cap_session->closed(cap_session, primary_msg);
g_free(primary_msg);
return FALSE;
}
@@ -1659,7 +1669,7 @@ sync_pipe_input_cb(gint source, gpointer user_data)
/* we got a valid message block from the child, process it */
switch(indicator) {
case SP_FILE:
- if(!capture_input_new_file(cap_session, buffer)) {
+ if(!cap_session->new_file(cap_session, buffer)) {
g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_DEBUG, "sync_pipe_input_cb: file failed, closing capture");
/* We weren't able to open the new capture file; user has been
@@ -1679,7 +1689,7 @@ sync_pipe_input_cb(gint source, gpointer user_data)
This can also happen if the user specified "-", meaning
"standard output", as the capture file. */
sync_pipe_stop(cap_session);
- capture_input_closed(cap_session, NULL);
+ cap_session->closed(cap_session, NULL);
return FALSE;
}
break;
@@ -1689,7 +1699,7 @@ sync_pipe_input_cb(gint source, gpointer user_data)
}
g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_DEBUG, "sync_pipe_input_cb: new packets %u", npackets);
cap_session->count += npackets;
- capture_input_new_packets(cap_session, npackets);
+ cap_session->new_packets(cap_session, npackets);
break;
case SP_ERROR_MSG:
/* convert primary message */
@@ -1699,7 +1709,7 @@ sync_pipe_input_cb(gint source, gpointer user_data)
pipe_convert_header((guchar*)primary_msg + primary_len, 4, &indicator, &secondary_len);
secondary_msg = primary_msg + primary_len + 4;
/* message output */
- capture_input_error_message(cap_session, primary_msg, secondary_msg);
+ cap_session->error(cap_session, primary_msg, secondary_msg);
/* the capture child will close the sync_pipe, nothing to do for now */
/* (an error message doesn't mean we have to stop capturing) */
break;
@@ -1712,7 +1722,7 @@ sync_pipe_input_cb(gint source, gpointer user_data)
message = end + 1;
}
- capture_input_cfilter_error_message(cap_session, indx, message);
+ cap_session->cfilter_error(cap_session, indx, message);
/* the capture child will close the sync_pipe, nothing to do for now */
break;
}
@@ -1725,7 +1735,7 @@ sync_pipe_input_cb(gint source, gpointer user_data)
name = end + 1;
}
- capture_input_drops(cap_session, num, name);
+ cap_session->drops(cap_session, num, name);
break;
}
default:
diff --git a/capchild/capture_sync.h b/capchild/capture_sync.h
index cb73feca7d..b2c6751eff 100644
--- a/capchild/capture_sync.h
+++ b/capchild/capture_sync.h
@@ -102,53 +102,6 @@ sync_interface_stats_close(int *read_fd, ws_process_id *fork_child, gchar **msg)
extern int
sync_pipe_gets_nonblock(int pipe_fd, char *bytes, int max);
-/*
- * Routines supplied by our caller; we call them back to notify them
- * of various events.
- *
- * XXX - this is *really* ugly. We should do this better.
- */
-
-/**
- * Capture child told us we have a new (or the first) capture file.
- */
-extern gboolean
-capture_input_new_file(capture_session *cap_session, gchar *new_file);
-
-/**
- * Capture child told us we have new packets to read.
- */
-extern void
-capture_input_new_packets(capture_session *cap_session, int to_read);
-
-/**
- * Capture child told us how many dropped packets it counted.
- */
-extern void
-capture_input_drops(capture_session *cap_session, guint32 dropped, const char* interface_name);
-
-/**
- * Capture child told us that an error has occurred while starting the capture.
- */
-extern void
-capture_input_error_message(capture_session *cap_session, char *error_msg,
- char *secondary_error_msg);
-
-/**
- * Capture child told us that an error has occurred while parsing a
- * capture filter when starting/running the capture.
- */
-extern void
-capture_input_cfilter_error_message(capture_session *cap_session, guint i,
- const char *error_message);
-
-/**
- * Capture child closed its side of the pipe, report any error and
- * do the required cleanup.
- */
-extern void
-capture_input_closed(capture_session *cap_session, gchar *msg);
-
/* set a callback to be called after fork with the pid of the forked child */
extern void capture_sync_set_fetch_dumpcap_pid_cb(void(*cb)(ws_process_id pid));
diff --git a/capinfos.c b/capinfos.c
index 03a5d4007c..719659a4a6 100644
--- a/capinfos.c
+++ b/capinfos.c
@@ -184,8 +184,8 @@ typedef struct _capture_info {
wtap_compression_type compression_type;
int file_encap;
int file_tsprec;
+ wtap *wth;
gint64 filesize;
- wtap_block_t shb;
guint64 packet_bytes;
gboolean times_known;
nstime_t start_time;
@@ -300,7 +300,37 @@ order_string(order_t order)
static gchar *
absolute_time_string(nstime_t *timer, int tsprecision, capture_info *cf_info)
{
- static gchar time_string_buf[4+1+2+1+2+1+2+1+2+1+2+1+9+1+1];
+ /*
+ * https://web.archive.org/web/20120513133703/http://www.idrbt.ac.in/publications/workingpapers/Working%20Paper%20No.%209.pdf
+ *
+ * says:
+ *
+ * A 64-bit Unix time would be safe for the indefinite future, as
+ * this variable would not overflow until 2**63 or
+ * 9,223,372,036,854,775,808 (over nine quintillion) seconds
+ * after the beginning of the Unix epoch - corresponding to
+ * GMT 15:30:08, Sunday, 4th December, 292,277,026,596.
+ *
+ * So, if we're displaying the time as YYYY-MM-DD HH:MM:SS.SSSSSSSSS,
+ * we'll have the buffer be large enouth for a date of the format
+ * 292277026596-MM-DD HH:MM:SS.SSSSSSSSS, which is the biggest value
+ * you'll get with a 64-bit time_t and a nanosecond-resolution
+ * fraction-of-a-second.
+ *
+ * That's 12+1+2+1+2+1+2+1+2+2+2+1+9+1, including the terminating
+ * \0, or 39.
+ *
+ * If we're displaying the time as epoch time, and the time is
+ * unsigned, 2^64-1 is 18446744073709551615, so the buffer has
+ * to be big enough for 18446744073709551615.999999999. That's
+ * 20+1+9+1, including the terminating '\0', or 31. If it's
+ * signed, 2^63 is 9223372036854775808, so the buffer has to
+ * be big enough for -9223372036854775808.999999999, which is
+ * again 20+1+9+1, or 31.
+ *
+ * So we go with 39.
+ */
+ static gchar time_string_buf[39];
struct tm *ti_tm;
if (cf_info->times_known && cf_info->packet_count > 0) {
@@ -309,46 +339,46 @@ absolute_time_string(nstime_t *timer, int tsprecision, capture_info *cf_info)
case WTAP_TSPREC_SEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu",
- (unsigned long)timer->secs);
+ "%"G_GINT64_MODIFIER"d",
+ (gint64)timer->secs);
break;
case WTAP_TSPREC_DSEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%01d",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%01d",
+ (gint64)timer->secs,
decimal_point,
timer->nsecs / 100000000);
break;
case WTAP_TSPREC_CSEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%02d",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%02d",
+ (gint64)timer->secs,
decimal_point,
timer->nsecs / 10000000);
break;
case WTAP_TSPREC_MSEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%03d",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%03d",
+ (gint64)timer->secs,
decimal_point,
timer->nsecs / 1000000);
break;
case WTAP_TSPREC_USEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%06d",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%06d",
+ (gint64)timer->secs,
decimal_point,
timer->nsecs / 1000);
break;
case WTAP_TSPREC_NSEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%09d",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%09d",
+ (gint64)timer->secs,
decimal_point,
timer->nsecs);
break;
@@ -463,23 +493,32 @@ relative_time_string(nstime_t *timer, int tsprecision, capture_info *cf_info, gb
{
const gchar *second = want_seconds ? " second" : "";
const gchar *plural = want_seconds ? "s" : "";
- static gchar time_string_buf[4+1+2+1+2+1+2+1+2+1+2+1+1];
+ /*
+ * If we're displaying the time as epoch time, and the time is
+ * unsigned, 2^64-1 is 18446744073709551615, so the buffer has
+ * to be big enough for "18446744073709551615.999999999 seconds".
+ * That's 20+1+9+1+7+1, including the terminating '\0', or 39.
+ * If it'ssigned, 2^63 is 9223372036854775808, so the buffer has to
+ * be big enough for "-9223372036854775808.999999999 seconds",
+ * which is again 20+1+9+1+7+1, or 39.
+ */
+ static gchar time_string_buf[39];
if (cf_info->times_known && cf_info->packet_count > 0) {
switch (tsprecision) {
case WTAP_TSPREC_SEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%s",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%s",
+ (gint64)timer->secs,
second,
timer->secs == 1 ? "" : plural);
break;
case WTAP_TSPREC_DSEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%01d%s%s",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%01d%s%s",
+ (gint64)timer->secs,
decimal_point,
timer->nsecs / 100000000,
second,
@@ -488,8 +527,8 @@ relative_time_string(nstime_t *timer, int tsprecision, capture_info *cf_info, gb
case WTAP_TSPREC_CSEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%02d%s%s",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%02d%s%s",
+ (gint64)timer->secs,
decimal_point,
timer->nsecs / 10000000,
second,
@@ -498,8 +537,8 @@ relative_time_string(nstime_t *timer, int tsprecision, capture_info *cf_info, gb
case WTAP_TSPREC_MSEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%03d%s%s",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%03d%s%s",
+ (gint64)timer->secs,
decimal_point,
timer->nsecs / 1000000,
second,
@@ -508,8 +547,8 @@ relative_time_string(nstime_t *timer, int tsprecision, capture_info *cf_info, gb
case WTAP_TSPREC_USEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%06d%s%s",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%06d%s%s",
+ (gint64)timer->secs,
decimal_point,
timer->nsecs / 1000,
second,
@@ -518,8 +557,8 @@ relative_time_string(nstime_t *timer, int tsprecision, capture_info *cf_info, gb
case WTAP_TSPREC_NSEC:
g_snprintf(time_string_buf, sizeof time_string_buf,
- "%lu%s%09d%s%s",
- (unsigned long)timer->secs,
+ "%"G_GINT64_MODIFIER"d%s%09d%s%s",
+ (gint64)timer->secs,
decimal_point,
timer->nsecs,
second,
@@ -705,38 +744,51 @@ print_stats(const gchar *filename, capture_info *cf_info)
}
if (cap_order) printf ("Strict time order: %s\n", order_string(cf_info->order));
- if (cf_info->shb != NULL) {
- if (cap_file_more_info) {
- char *str;
+ gboolean has_multiple_sections = (wtap_file_get_num_shbs(cf_info->wth) > 1);
- if (wtap_block_get_string_option_value(cf_info->shb, OPT_SHB_HARDWARE, &str) == WTAP_OPTTYPE_SUCCESS)
- show_option_string("Capture hardware: ", str);
- if (wtap_block_get_string_option_value(cf_info->shb, OPT_SHB_OS, &str) == WTAP_OPTTYPE_SUCCESS)
- show_option_string("Capture oper-sys: ", str);
- if (wtap_block_get_string_option_value(cf_info->shb, OPT_SHB_USERAPPL, &str) == WTAP_OPTTYPE_SUCCESS)
- show_option_string("Capture application: ", str);
- }
- if (cap_comment) {
- unsigned int i;
- char *str;
+ for (guint section_number = 0;
+ section_number < wtap_file_get_num_shbs(cf_info->wth);
+ section_number++) {
+ wtap_block_t shb;
- for (i = 0; wtap_block_get_nth_string_option_value(cf_info->shb, OPT_COMMENT, i, &str) == WTAP_OPTTYPE_SUCCESS; i++) {
- show_option_string("Capture comment: ", str);
+ // If we have more than one section, add headers for each section.
+ if (has_multiple_sections)
+ printf("Section %u:\n\n", section_number);
+
+ shb = wtap_file_get_shb(cf_info->wth, section_number);
+ if (shb != NULL) {
+ if (cap_file_more_info) {
+ char *str;
+
+ if (wtap_block_get_string_option_value(shb, OPT_SHB_HARDWARE, &str) == WTAP_OPTTYPE_SUCCESS)
+ show_option_string("Capture hardware: ", str);
+ if (wtap_block_get_string_option_value(shb, OPT_SHB_OS, &str) == WTAP_OPTTYPE_SUCCESS)
+ show_option_string("Capture oper-sys: ", str);
+ if (wtap_block_get_string_option_value(shb, OPT_SHB_USERAPPL, &str) == WTAP_OPTTYPE_SUCCESS)
+ show_option_string("Capture application: ", str);
}
- }
+ if (cap_comment) {
+ unsigned int i;
+ char *str;
- if (cap_file_idb && cf_info->num_interfaces != 0) {
- guint i;
- g_assert(cf_info->num_interfaces == cf_info->idb_info_strings->len);
- printf ("Number of interfaces in file: %u\n", cf_info->num_interfaces);
- for (i = 0; i < cf_info->idb_info_strings->len; i++) {
- gchar *s = g_array_index(cf_info->idb_info_strings, gchar*, i);
- guint32 packet_count = 0;
- if (i < cf_info->interface_packet_counts->len)
- packet_count = g_array_index(cf_info->interface_packet_counts, guint32, i);
- printf ("Interface #%u info:\n", i);
- printf ("%s", s);
- printf (" Number of packets = %u\n", packet_count);
+ for (i = 0; wtap_block_get_nth_string_option_value(shb, OPT_COMMENT, i, &str) == WTAP_OPTTYPE_SUCCESS; i++) {
+ show_option_string("Capture comment: ", str);
+ }
+ }
+
+ if (cap_file_idb && cf_info->num_interfaces != 0) {
+ guint i;
+ g_assert(cf_info->num_interfaces == cf_info->idb_info_strings->len);
+ printf ("Number of interfaces in file: %u\n", cf_info->num_interfaces);
+ for (i = 0; i < cf_info->idb_info_strings->len; i++) {
+ gchar *s = g_array_index(cf_info->idb_info_strings, gchar*, i);
+ guint32 packet_count = 0;
+ if (i < cf_info->interface_packet_counts->len)
+ packet_count = g_array_index(cf_info->interface_packet_counts, guint32, i);
+ printf ("Interface #%u info:\n", i);
+ printf ("%s", s);
+ printf (" Number of packets = %u\n", packet_count);
+ }
}
}
@@ -987,27 +1039,36 @@ print_stats_table(const gchar *filename, capture_info *cf_info)
putquote();
}
- if (cf_info->shb != NULL) {
+ for (guint section_number = 0;
+ section_number < wtap_file_get_num_shbs(cf_info->wth);
+ section_number++) {
+ wtap_block_t shb;
+
+ // If we have more than one section, add headers for each section.
+ if (wtap_file_get_num_shbs(cf_info->wth) > 1)
+ printf("Section %u: \n", section_number);
+
+ shb = wtap_file_get_shb(cf_info->wth, section_number);
if (cap_file_more_info) {
char *str;
putsep();
putquote();
- if (wtap_block_get_string_option_value(cf_info->shb, OPT_SHB_HARDWARE, &str) == WTAP_OPTTYPE_SUCCESS) {
+ if (wtap_block_get_string_option_value(shb, OPT_SHB_HARDWARE, &str) == WTAP_OPTTYPE_SUCCESS) {
printf("%s", str);
}
putquote();
putsep();
putquote();
- if (wtap_block_get_string_option_value(cf_info->shb, OPT_SHB_OS, &str) == WTAP_OPTTYPE_SUCCESS) {
+ if (wtap_block_get_string_option_value(shb, OPT_SHB_OS, &str) == WTAP_OPTTYPE_SUCCESS) {
printf("%s", str);
}
putquote();
putsep();
putquote();
- if (wtap_block_get_string_option_value(cf_info->shb, OPT_SHB_USERAPPL, &str) == WTAP_OPTTYPE_SUCCESS) {
+ if (wtap_block_get_string_option_value(shb, OPT_SHB_USERAPPL, &str) == WTAP_OPTTYPE_SUCCESS) {
printf("%s", str);
}
putquote();
@@ -1029,7 +1090,11 @@ print_stats_table(const gchar *filename, capture_info *cf_info)
char *opt_comment;
gboolean have_cap = FALSE;
- for (i = 0; wtap_block_get_nth_string_option_value(cf_info->shb, OPT_COMMENT, i, &opt_comment) == WTAP_OPTTYPE_SUCCESS; i++) {
+ // If we have more than one section, add headers for each section.
+ if (wtap_file_get_num_shbs(cf_info->wth) > 1)
+ printf("Section %u: \n", section_number);
+
+ for (i = 0; wtap_block_get_nth_string_option_value(shb, OPT_COMMENT, i, &opt_comment) == WTAP_OPTTYPE_SUCCESS; i++) {
have_cap = TRUE;
putsep();
putquote();
@@ -1095,7 +1160,6 @@ static int
process_cap_file(const char *filename, gboolean need_separator)
{
int status = 0;
- wtap *wth;
int err;
gchar *err_info;
gint64 size;
@@ -1120,8 +1184,8 @@ process_cap_file(const char *filename, gboolean need_separator)
guint i;
wtapng_iface_descriptions_t *idb_info;
- wth = wtap_open_offline(filename, WTAP_TYPE_AUTO, &err, &err_info, FALSE);
- if (!wth) {
+ cf_info.wth = wtap_open_offline(filename, WTAP_TYPE_AUTO, &err, &err_info, FALSE);
+ if (!cf_info.wth) {
cfile_open_failure_message("capinfos", filename, err, err_info);
return 2;
}
@@ -1137,11 +1201,9 @@ process_cap_file(const char *filename, gboolean need_separator)
nstime_set_zero(&cur_time);
nstime_set_zero(&prev_time);
- cf_info.shb = wtap_file_get_shb(wth);
-
cf_info.encap_counts = g_new0(int,WTAP_NUM_ENCAP_TYPES);
- idb_info = wtap_file_get_idb_info(wth);
+ idb_info = wtap_file_get_idb_info(cf_info.wth);
g_assert(idb_info->interface_data != NULL);
@@ -1155,9 +1217,9 @@ process_cap_file(const char *filename, gboolean need_separator)
/* Register callbacks for new name<->address maps from the file and
decryption secrets from the file. */
- wtap_set_cb_new_ipv4(wth, count_ipv4_address);
- wtap_set_cb_new_ipv6(wth, count_ipv6_address);
- wtap_set_cb_new_secrets(wth, count_decryption_secret);
+ wtap_set_cb_new_ipv4(cf_info.wth, count_ipv4_address);
+ wtap_set_cb_new_ipv6(cf_info.wth, count_ipv6_address);
+ wtap_set_cb_new_secrets(cf_info.wth, count_decryption_secret);
/* Zero out the counters for the callbacks. */
num_ipv4_addresses = 0;
@@ -1167,7 +1229,7 @@ process_cap_file(const char *filename, gboolean need_separator)
/* Tally up data that we need to parse through the file to find */
wtap_rec_init(&rec);
ws_buffer_init(&buf, 1514);
- while (wtap_read(wth, &rec, &buf, &err, &err_info, &data_offset)) {
+ while (wtap_read(cf_info.wth, &rec, &buf, &err, &err_info, &data_offset)) {
if (rec.presence_flags & WTAP_HAS_TS) {
prev_time = cur_time;
cur_time = rec.ts;
@@ -1228,7 +1290,7 @@ process_cap_file(const char *filename, gboolean need_separator)
* grow the array to be big enough for the new number of
* interfaces.
*/
- idb_info = wtap_file_get_idb_info(wth);
+ idb_info = wtap_file_get_idb_info(cf_info.wth);
cf_info.num_interfaces = idb_info->interface_data->len;
g_array_set_size(cf_info.interface_packet_counts, cf_info.num_interfaces);
@@ -1264,7 +1326,7 @@ process_cap_file(const char *filename, gboolean need_separator)
* We do this at the end, so we can get information for all IDBs in
* the file, even those that come after packet records.
*/
- idb_info = wtap_file_get_idb_info(wth);
+ idb_info = wtap_file_get_idb_info(cf_info.wth);
cf_info.idb_info_strings = g_array_sized_new(FALSE, FALSE, sizeof(gchar*), cf_info.num_interfaces);
cf_info.num_interfaces = idb_info->interface_data->len;
@@ -1289,35 +1351,35 @@ process_cap_file(const char *filename, gboolean need_separator)
" (will continue anyway, checksums might be incorrect)\n");
} else {
cleanup_capture_info(&cf_info);
- wtap_close(wth);
+ wtap_close(cf_info.wth);
return 2;
}
}
/* File size */
- size = wtap_file_size(wth, &err);
+ size = wtap_file_size(cf_info.wth, &err);
if (size == -1) {
fprintf(stderr,
"capinfos: Can't get size of \"%s\": %s.\n",
filename, g_strerror(err));
cleanup_capture_info(&cf_info);
- wtap_close(wth);
+ wtap_close(cf_info.wth);
return 2;
}
cf_info.filesize = size;
/* File Type */
- cf_info.file_type = wtap_file_type_subtype(wth);
- cf_info.compression_type = wtap_get_compression_type(wth);
+ cf_info.file_type = wtap_file_type_subtype(cf_info.wth);
+ cf_info.compression_type = wtap_get_compression_type(cf_info.wth);
/* File Encapsulation */
- cf_info.file_encap = wtap_file_encap(wth);
+ cf_info.file_encap = wtap_file_encap(cf_info.wth);
- cf_info.file_tsprec = wtap_file_tsprec(wth);
+ cf_info.file_tsprec = wtap_file_tsprec(cf_info.wth);
/* Packet size limit (snaplen) */
- cf_info.snaplen = wtap_snapshot_length(wth);
+ cf_info.snaplen = wtap_snapshot_length(cf_info.wth);
if (cf_info.snaplen > 0)
cf_info.snap_set = TRUE;
else
@@ -1367,7 +1429,7 @@ process_cap_file(const char *filename, gboolean need_separator)
}
cleanup_capture_info(&cf_info);
- wtap_close(wth);
+ wtap_close(cf_info.wth);
return status;
}
@@ -1489,8 +1551,15 @@ main(int argc, char *argv[])
gcry_md_hd_t hd = NULL;
size_t hash_bytes;
- /* Set the C-language locale to the native environment. */
+ /*
+ * Set the C-language locale to the native environment and set the
+ * code page to UTF-8 on Windows.
+ */
+#ifdef _WIN32
+ setlocale(LC_ALL, ".UTF-8");
+#else
setlocale(LC_ALL, "");
+#endif
cmdarg_err_init(failure_warning_message, failure_message_cont);
diff --git a/capture_opts.c b/capture_opts.c
index 26a0c18b56..05a8e67897 100644
--- a/capture_opts.c
+++ b/capture_opts.c
@@ -45,6 +45,8 @@ capture_opts_init(capture_options *capture_opts)
capture_opts->num_selected = 0;
capture_opts->default_options.name = NULL;
capture_opts->default_options.descr = NULL;
+ capture_opts->default_options.hardware = NULL;
+ capture_opts->default_options.display_name = NULL;
capture_opts->default_options.cfilter = NULL;
capture_opts->default_options.has_snaplen = FALSE;
capture_opts->default_options.snaplen = WTAP_MAX_PACKET_SIZE_STANDARD;
@@ -86,11 +88,7 @@ capture_opts_init(capture_options *capture_opts)
capture_opts->saving_to_file = FALSE;
capture_opts->save_file = NULL;
capture_opts->group_read_access = FALSE;
-#ifdef PCAP_NG_DEFAULT
capture_opts->use_pcapng = TRUE; /* Save as pcapng by default */
-#else
- capture_opts->use_pcapng = FALSE; /* Save as pcap by default */
-#endif
capture_opts->real_time_mode = TRUE;
capture_opts->show_info = TRUE;
capture_opts->restart = FALSE;
@@ -118,6 +116,8 @@ capture_opts_init(capture_options *capture_opts)
capture_opts->output_to_pipe = FALSE;
capture_opts->capture_child = FALSE;
+ capture_opts->print_file_names = FALSE;
+ capture_opts->print_name_to = NULL;
}
void
@@ -158,6 +158,7 @@ capture_opts_log(const char *log_domain, GLogLevelFlags log_level, capture_optio
interface_opts = &g_array_index(capture_opts->ifaces, interface_options, i);
g_log(log_domain, log_level, "Interface name[%02d] : %s", i, interface_opts->name ? interface_opts->name : "(unspecified)");
g_log(log_domain, log_level, "Interface description[%02d] : %s", i, interface_opts->descr ? interface_opts->descr : "(unspecified)");
+ g_log(log_domain, log_level, "Interface vendor description[%02d] : %s", i, interface_opts->hardware ? interface_opts->hardware : "(unspecified)");
g_log(log_domain, log_level, "Display name[%02d]: %s", i, interface_opts->display_name ? interface_opts->display_name : "(unspecified)");
g_log(log_domain, log_level, "Capture filter[%02d] : %s", i, interface_opts->cfilter ? interface_opts->cfilter : "(unspecified)");
g_log(log_domain, log_level, "Snap length[%02d] (%u) : %d", i, interface_opts->has_snaplen, interface_opts->snaplen);
@@ -199,6 +200,8 @@ capture_opts_log(const char *log_domain, GLogLevelFlags log_level, capture_optio
}
g_log(log_domain, log_level, "Interface name[df] : %s", capture_opts->default_options.name ? capture_opts->default_options.name : "(unspecified)");
g_log(log_domain, log_level, "Interface Descr[df] : %s", capture_opts->default_options.descr ? capture_opts->default_options.descr : "(unspecified)");
+ g_log(log_domain, log_level, "Interface Hardware Descr[df] : %s", capture_opts->default_options.hardware ? capture_opts->default_options.hardware : "(unspecified)");
+ g_log(log_domain, log_level, "Interface display name[df] : %s", capture_opts->default_options.display_name ? capture_opts->default_options.display_name : "(unspecified)");
g_log(log_domain, log_level, "Capture filter[df] : %s", capture_opts->default_options.cfilter ? capture_opts->default_options.cfilter : "(unspecified)");
g_log(log_domain, log_level, "Snap length[df] (%u) : %d", capture_opts->default_options.has_snaplen, capture_opts->default_options.snaplen);
g_log(log_domain, log_level, "Link Type[df] : %d", capture_opts->default_options.linktype);
@@ -247,6 +250,7 @@ capture_opts_log(const char *log_domain, GLogLevelFlags log_level, capture_optio
g_log(log_domain, log_level, "FileInterval (%u) : %u", capture_opts->has_file_interval, capture_opts->file_interval);
g_log(log_domain, log_level, "FilePackets (%u) : %u", capture_opts->has_file_packets, capture_opts->file_packets);
g_log(log_domain, log_level, "RingNumFiles (%u) : %u", capture_opts->has_ring_num_files, capture_opts->ring_num_files);
+ g_log(log_domain, log_level, "RingPrintFiles (%u) : %s", capture_opts->print_file_names, (capture_opts->print_file_names ? capture_opts->print_name_to : ""));
g_log(log_domain, log_level, "AutostopFiles (%u) : %u", capture_opts->has_autostop_files, capture_opts->autostop_files);
g_log(log_domain, log_level, "AutostopPackets (%u) : %u", capture_opts->has_autostop_packets, capture_opts->autostop_packets);
@@ -410,6 +414,9 @@ get_ring_arguments(capture_options *capture_opts, const char *arg)
} else if (strcmp(arg,"packets") == 0) {
capture_opts->has_file_packets = TRUE;
capture_opts->file_packets = get_positive_int(p, "ring buffer packet count");
+ } else if (strcmp(arg,"printname") == 0) {
+ capture_opts->print_file_names = TRUE;
+ capture_opts->print_name_to = g_strdup(p);
}
*colonp = ':'; /* put the colon back */
@@ -539,6 +546,7 @@ fill_in_interface_opts_from_ifinfo(interface_options *interface_opts,
{
interface_opts->name = g_strdup(if_info->name);
+ interface_opts->hardware = g_strdup(if_info->vendor_description);
if (if_info->friendly_name != NULL) {
/*
* We have a friendly name; remember it as the
@@ -658,9 +666,20 @@ capture_opts_add_iface_opt(capture_options *capture_opts, const char *optarg_str
* If the argument is a number, treat it as an index into the list
* of adapters, as printed by "tshark -D".
*
- * This should be OK on UNIX systems, as interfaces shouldn't have
+ * This should be OK on UN*X systems, as interfaces shouldn't have
* names that begin with digits. It can be useful on Windows, where
* more than one interface can have the same name.
+ *
+ * XXX - "shouldn't have names that begin with digits" is not true
+ * on Linux; see
+ *
+ * https://github.com/the-tcpdump-group/tcpdump/issues/522
+ *
+ * tcpdump handles that by trying to open the device by name and,
+ * if that fails *and* the name is a syntactically valid number
+ * (optional sign, followed by decimal digits), reports an error
+ * if it's not a valid interface index, and otherwise uses it as
+ * an interface index.
*/
adapter_index = strtol(optarg_str_p, &p, 10);
if (p != NULL && *p == '\0') {
@@ -718,6 +737,7 @@ capture_opts_add_iface_opt(capture_options *capture_opts, const char *optarg_str
*/
interface_opts.name = g_strdup(optarg_str_p);
interface_opts.descr = NULL;
+ interface_opts.hardware = NULL;
interface_opts.display_name = g_strdup(optarg_str_p);
interface_opts.if_type = capture_opts->default_options.if_type;
interface_opts.extcap = g_strdup(capture_opts->default_options.extcap);
@@ -1168,6 +1188,7 @@ capture_opts_del_iface(capture_options *capture_opts, guint if_index)
g_free(interface_opts->name);
g_free(interface_opts->descr);
+ g_free(interface_opts->hardware);
g_free(interface_opts->display_name);
g_free(interface_opts->cfilter);
g_free(interface_opts->timestamp_type);
@@ -1214,6 +1235,7 @@ collect_ifaces(capture_options *capture_opts)
if (!device->hidden && device->selected) {
interface_opts.name = g_strdup(device->name);
interface_opts.descr = g_strdup(device->friendly_name);
+ interface_opts.hardware = g_strdup(device->vendor_description);
interface_opts.display_name = g_strdup(device->display_name);
interface_opts.linktype = device->active_dlt;
interface_opts.cfilter = g_strdup(device->cfilter);
@@ -1280,6 +1302,7 @@ capture_opts_free_interface_t(interface_t *device)
if (device != NULL) {
g_free(device->name);
g_free(device->display_name);
+ g_free(device->vendor_description);
g_free(device->friendly_name);
g_free(device->addresses);
g_free(device->cfilter);
diff --git a/capture_opts.h b/capture_opts.h
index 0a35b01341..82029b8eea 100644
--- a/capture_opts.h
+++ b/capture_opts.h
@@ -35,14 +35,6 @@ extern "C" {
* We do not currently have long options corresponding to all short
* options; we should probably pick appropriate option names for them.
*
- * For long options with no corresponding short options, we define values
- * outside the range of ASCII graphic characters, make that the last
- * component of the entry for the long option, and have a case for that
- * option in the switch statement.
- *
- * We also pick values < 4096, so as to leave values >= 4096 for
- * other long options.
- *
* NOTE:
* for tshark, we're using a leading - in the optstring to prevent getopt()
* from permuting the argv[] entries, in this case, unknown argv[] entries
@@ -50,9 +42,9 @@ extern "C" {
* In short: we must not use 1 here, which is another reason to use
* values outside the range of ASCII graphic characters.
*/
-#define LONGOPT_NUM_CAP_COMMENT 128
-#define LONGOPT_LIST_TSTAMP_TYPES 129
-#define LONGOPT_SET_TSTAMP_TYPE 130
+#define LONGOPT_NUM_CAP_COMMENT LONGOPT_BASE_CAPTURE+1
+#define LONGOPT_LIST_TSTAMP_TYPES LONGOPT_BASE_CAPTURE+2
+#define LONGOPT_SET_TSTAMP_TYPE LONGOPT_BASE_CAPTURE+3
/*
* Options for capturing common to all capturing programs.
@@ -60,7 +52,7 @@ extern "C" {
#ifdef HAVE_PCAP_REMOTE
#define OPTSTRING_A "A:"
#else
-#define OPTSTRING_A ""
+#define OPTSTRING_A
#endif
#ifdef CAN_SET_CAPTURE_BUFFER_SIZE
@@ -69,7 +61,7 @@ extern "C" {
#define OPTSTRING_B "B:"
#else
#define LONGOPT_BUFFER_SIZE
-#define OPTSTRING_B ""
+#define OPTSTRING_B
#endif
#ifdef HAVE_PCAP_CREATE
@@ -77,7 +69,7 @@ extern "C" {
#define OPTSTRING_I "I"
#else
#define LONGOPT_MONITOR_MODE
-#define OPTSTRING_I ""
+#define OPTSTRING_I
#endif
#define LONGOPT_CAPTURE_COMMON \
@@ -161,6 +153,7 @@ typedef struct interface_tag {
gchar *name;
gchar *display_name;
gchar *friendly_name;
+ gchar *vendor_description;
guint type;
gchar *addresses;
gint no_addresses;
@@ -199,6 +192,7 @@ typedef struct link_row_tag {
typedef struct interface_options_tag {
gchar *name; /* the name of the interface supplied to libpcap/WinPcap/Npcap to specify the interface */
gchar *descr; /* a more user-friendly description of the interface; may be NULL if none */
+ gchar *hardware; /* description of the hardware */
gchar *display_name; /* the name displayed in the console and title bar */
gchar *cfilter;
gboolean has_snaplen;
@@ -316,6 +310,9 @@ typedef struct capture_options_tag {
gchar *capture_comment; /** capture comment to write to the
output file */
+ gboolean print_file_names; /**< TRUE if printing names of completed
+ files as we close them */
+ gchar *print_name_to; /**< output file name */
/* internally used (don't touch from outside) */
gboolean output_to_pipe; /**< save_file is a pipe (named or stdout) */
@@ -381,7 +378,7 @@ capture_opts_free_interface_t(interface_t *device);
}
#endif /* __cplusplus */
-#endif /* capture_opts.h */
+#endif /* __CAPTURE_OPTS_H__ */
/*
* Editor modelines - https://www.wireshark.org/tools/modelines.html
diff --git a/captype.c b/captype.c
index b2815b2841..f57a02530f 100644
--- a/captype.c
+++ b/captype.c
@@ -93,8 +93,15 @@ main(int argc, char *argv[])
{0, 0, 0, 0 }
};
- /* Set the C-language locale to the native environment. */
+ /*
+ * Set the C-language locale to the native environment and set the
+ * code page to UTF-8 on Windows.
+ */
+#ifdef _WIN32
+ setlocale(LC_ALL, ".UTF-8");
+#else
setlocale(LC_ALL, "");
+#endif
cmdarg_err_init(failure_warning_message, failure_message_cont);
diff --git a/caputils/CMakeLists.txt b/caputils/CMakeLists.txt
index 74c9496834..e65759f79e 100644
--- a/caputils/CMakeLists.txt
+++ b/caputils/CMakeLists.txt
@@ -18,7 +18,6 @@ if(WIN32)
set(PLATFORM_CAPUTILS_SRC
capture_win_ifnames.c
capture-wpcap.c
- capture_wpcap_packet.c
)
endif()
diff --git a/caputils/capture-pcap-util-int.h b/caputils/capture-pcap-util-int.h
index bde4432a99..efeb467409 100644
--- a/caputils/capture-pcap-util-int.h
+++ b/caputils/capture-pcap-util-int.h
@@ -1,5 +1,5 @@
/* capture-pcap-util-int.h
- * Definitions of routines internal to the libpcap/WinPcap utilities
+ * Definitions of routines internal to the libpcap/WinPcap/Npcap utilities
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
@@ -14,13 +14,12 @@
extern if_info_t *if_info_new(const char *name, const char *description,
gboolean loopback);
extern void if_info_add_address(if_info_t *if_info, struct sockaddr *addr);
-#ifdef HAVE_PCAP_FINDALLDEVS
#ifdef HAVE_PCAP_REMOTE
-extern GList *get_interface_list_findalldevs_ex(const char *source,
- struct pcap_rmtauth *auth, int *err, char **err_str);
+extern GList *get_interface_list_findalldevs_ex(const char *hostname,
+ const char *port, int auth_type, const char *username, const char *passwd,
+ int *err, char **err_str);
#endif /* HAVE_PCAP_REMOTE */
extern GList *get_interface_list_findalldevs(int *err, char **err_str);
-#endif /* HAVE_PCAP_FINDALLDEVS */
#ifdef HAVE_PCAP_SET_TSTAMP_PRECISION
/*
diff --git a/caputils/capture-pcap-util-unix.c b/caputils/capture-pcap-util-unix.c
index d827319819..936de1ce50 100644
--- a/caputils/capture-pcap-util-unix.c
+++ b/caputils/capture-pcap-util-unix.c
@@ -18,42 +18,6 @@
#include "wspcap.h"
-#ifdef __APPLE__
-#include <dlfcn.h>
-#endif
-
-#ifndef HAVE_PCAP_FINDALLDEVS
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
-/*
- * Keep Digital UNIX happy when including <net/if.h>.
- */
-struct mbuf;
-struct rtentry;
-#include <net/if.h>
-
-#ifdef HAVE_SYS_SOCKIO_H
-# include <sys/sockio.h>
-#endif
-
-#endif /* HAVE_PCAP_FINDALLDEVS */
-
#ifdef HAVE_LIBCAP
# include <sys/capability.h>
#endif
@@ -68,256 +32,16 @@ get_remote_interface_list(const char *hostname, const char *port,
int auth_type, const char *username,
const char *passwd, int *err, char **err_str)
{
- struct pcap_rmtauth auth;
- char source[PCAP_BUF_SIZE];
- char errbuf[PCAP_ERRBUF_SIZE];