aboutsummaryrefslogtreecommitdiffstats
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2021-12-11Netlink nl80211: Convert to normal proto tree APIJoão Valverde1-14/+16
2021-12-10epan: Remove new proto tree APIJoão Valverde2-2/+2
Remove experimental new API. Fix Netlink dissector to compile with normal proto tree API. Closes #17774.
2021-12-09Windows: upgrade Npcap to 1.60Pascal Quantin1-4/+4
2021-12-08Tools: Remove convert-proto-tree-new.awkJoão Valverde1-87/+0
2021-12-02BER: Make GeneralizedTime a FT_ABSOLUTE_TIMEJohn Thacker1-0/+6
Since we now support ISO 8601 Basic format, have asn2wrs.py convert GeneralizedTime fields in BER to FT_ABSOLUTE_TIMEs and use the new common code to convert them. This means that the fields can be compared with other time fields in filters, etc.
2021-11-29Fix some spelling errorsMartin Mathieson2-1/+53
2021-11-27epan: Add binary search to introspection APIJoão Valverde1-7/+0
2021-11-26epan: Add introspection API to export some constantsJoão Valverde1-0/+100
C is notoriously difficult to bind from other languages without additional metadata. The C ABI does not include enums and macros that are an essential component of the API. To make Wireshark instrospectable and more binding friendly include an introspection API to export enums and integer macros. To avoid the tedious need to manually keep the code up to date it uses the excellent pyclibrary python package to automatically parse C headers and extract this data. This is not a process that should be done automatically during the build. This could be used for example to replace most of the wslua make-init-lua.pl perl script, which tries to do the same thing using regular expressions. Besides the downside of using Perl using regular expressions is inferior to pyclibrary in 2 ways: 1) pyclibrary understands most of C99 grammar so it is much more powerful; 2) pyclibrary has a specific API to extract "values" (enums and constants) automagically. We just need to take care to use only integer values, for our purposes.
2021-11-25Tools: Add our branch name to fuzz error reports.Gerald Combs1-1/+5
2021-11-18Fix some spelling errors.Martin Mathieson3-2/+33
2021-11-17macos-setup.sh: Update some toolsJoerg Mayer1-5/+5
- Cmake to 3.21.4 - Sparkle to 1.27.0 - Asciidoctor to 2.0.16 - AsciidoctorPdf to 1.6.1
2021-11-16c-ares: move domain from haxx.se to its own .orgJaap Keuter1-1/+1
With c-ares release 1.18.0 the URLs were updated to c-ares.org. Let's do the same.
2021-11-15tools: Add MSYS2 setup script to install dependenciesJoão Valverde1-0/+121
2021-11-15tools: Add Arch Linux setup script to install dependenciesJoão Valverde1-0/+127
This was intentionally kept simple (matches the philosophy of Arch). In particular I wasn't so concerned about what is a required build dependency and what is an optional build dependency to compile the programs. I don't know why one would ever wish to skip installation of non-essential library dependencies. But others are very welcome to extend this intentionally barebones effort. The script also adds an "--install-all" flag to install everything at once. I keep forgetting the name of the other options. I used the build optional flag to install packages required to build documentation and so on. Ancillary stuff.
2021-11-15Tools: Fix a typo in win-setup.ps1.Gerald Combs1-1/+1
2021-11-14dfilter: Add support for PCRE2João Valverde1-2/+4
PCRE2 is the future of PCRE. The only advantage of GRegex is that it comes bundled with GLib, which is not an advantage at all. PCRE2 is widely available, the GRegex abstractions layer are not a good fit and abstract things that don't need abstracting or that we could handle better ourselves, there are open bugs (#12997) and maintenance is spotty at best. GRegex comes with many of the problems of bundled code, aggravated by the fact that it completely falls outside of our control.
2021-11-14tools: building pcre2 requires cmake.Michael Tuexen1-2/+2
So move it after cmake...
2021-11-14tools: actually call install_pcre2 in macos-setup.shMichael Tuexen1-0/+2
2021-11-14Tools: Add PCRE2 to our setup scripts.Gerald Combs5-12/+75
Add PCRE2 to the base package list in our various setup scripts.
2021-11-12Tools: Switch a bunch of macos-setup URLs to HTTPS.Gerald Combs1-11/+11
2021-11-11ftypes: Internal headers need to be internalJoão Valverde1-1/+1
The header ftypes-int.h should not be used outside of epan/ftypes because it is a private header. The functions fvalue_free() and fvalue_cleanup() need not and should not be macros either.
2021-11-11Tools: Let jq escape backslashes in gen-bugnote.Gerald Combs1-1/+6
2021-11-10Refactor generate_authors.pl to remove the text duplicated from AUTHORS.srcРоман Донченко1-44/+20
Now the script just copies the corresponding sections from AUTHORS.src.
2021-11-10Synchronize the acknowledgements between AUTHORS.src and generate_authors.plРоман Донченко1-0/+2
Note that the Henrik Brix Andersen and Christophe Devine acknowledgements were deliberately removed in 272becd8.
2021-11-10tools/generate_authors.pl: simplify repeated I/O codeРоман Донченко1-10/+11
By using the `open` pragma and `say` function, we can get Perl to do the encoding, decoding and line termination for us.
2021-11-09Skinny: Fix arguments in parserStig Bjørlykke1-1/+1
Remove a duplicated argument to fix a warning: Wrong number of arguments for string format. Format ptvcursor_add(cursor, hf_skinny_%s, 6, ENC_NA); takes 1, but 2 are provided.
2021-11-09asn2wrs: Fix Type eth_type_default_body() argumentsStig Bjørlykke1-2/+2
Add tname as argument to Type eth_type_default_body() to fix a warning. Call to method Type.eth_type_default_body with too many arguments; should be no more than 1.
2021-11-03asterix: update script adjustedZoran Bošnjak2-17/+59
Asterix update script is modified, to support automatic operation (weekly updates).
2021-11-02Tools: make-pci-ids fixups.Gerald Combs1-60/+82
Add ID count sanity checks and make sure we don't update pci-ids.c unless the checks pass. Fix a bunch of Pylint warnings. Strip leading whitespace from our output strings.
2021-11-02Tools: Fetch IANA data over HTTPS.Gerald Combs2-9/+7
2021-11-01Tools: Fixup our fuzz test error header.Gerald Combs1-24/+22
Move the error header output to a group command.
2021-10-31Tools: Fix a make-manuf error and some Pylint warnings.Gerald Combs1-14/+13
2021-10-31Skinny: Resynced Skinny xml definition with codeJirka Novak2-56/+158
I found that SkinnyProtocolOptimized.xml and packet-skinny.c.in are not in sync with packet-skinny.c. Obviously packet-skinny.c file was modified multiple times manually. I made changes: - synced all typos fixed in packet-skinny.c to SkinnyProtocolOptimized.xml - improved parse_xml2skinny_dissector.py to be able to generate additional information to flow sequence - updated SkinnyProtocolOptimized.xml to mark where to generate additional information If fact the outcome is just refactoring of original code.
2021-10-30asterix: Change `wmem_packet_scope()` to `pinfo->pool`Zoran Bošnjak1-2/+2
Fixes #17696. Sync with asterix-specs #797e576298
2021-10-30asterix: Dissector automatic update from spec filesZoran Bošnjak4-0/+1605
Asterix data format is a complex family of asterix categories, where each individual category exists in multiple editions. As a result of many variants, the epan/dissectors/packet-asterix.c is one of the largest dissectors. So far, the asterix dissector had been maintained manually, where the generic decoding routines and category/edition specific definitions were entangled in the same file (packet-asterix.c). This commit preserves the overall dissector structure, but makes it easy to update the dissector with new categories or editions as they become available (via the update script from this commit). See tools/asterix/README.md file for dissector update procedure. This commit includes: - tools/asterix/packet-asterix-template.c Extraction of generic asterix decoding routines and common data structures. - tools/asterix/update-specs.py Update script, to render the template with up-to-date asterix specs files. The asterix specs files themselves are maintained in a separate repository. - epan/dissectors/packet-asterix.c Automatically generated dissector for asterix data format. Although generated, this file needs to remain in the repository, to be able to build the project in a reproducible way. The generated asterix dissector was additionally tested with: - ./tools/check_typed_item_calls.py --mask - ./tools/fuzz-test.sh Sync with asterix-specs #cef694825c
2021-10-28Tools: Don't check Markdown file licenses.Gerald Combs2-4/+3
Remove ".md" and ".markdown" from the default extension list in licensecheck.pl, and remove CONTRIBUTING.md from checklicenses.py.
2021-10-28GitLab CI+tools: Fuzz test updates.Gerald Combs1-3/+3
Make sure we install the llvm package, which includes llvm-symbolizer. Add the current branch and CI job information to the error report.
2021-10-26CBOR: Avoid infinite loop when sequence has not-well-formed dataBrian Sipos1-3/+9
This fixes a defect in the original MR !4752 adding cbor sequence dissecting.
2021-10-25Tools: Add a plugin check to make-no-reassembly-profile.py.Gerald Combs1-0/+10
Some of our plugins have reassembly preferences, so make sure we can load them before creating the No Reassembly profile.
2021-10-24CBOR: Show and return actual dissected lengthBrian Sipos1-0/+0
2021-10-22Tools: Fix some fuzzing logic.Gerald Combs1-1/+1
Fix a conditional that was inadvertently inverted in d7bdd77a4c.
2021-10-22Autosar IPDU Multiplexer: make some functions staticMartin Mathieson1-1/+5
Also fix up check_static.py - dissectors.c.o has moved.wq
2021-10-20Fix some spelling errorsMartin Mathieson1-0/+22
2021-10-11Fix some spelling errorsMartin Mathieson2-1/+50
2021-10-10Tools: Quote some elements in html2text.Gerald Combs1-2/+24
Quote <code> spans with backticks and <span class=menuseq> spans with double quotes.
2021-10-04check_typed_item_calls.py: Flag bits set outside maskMartin Mathieson1-5/+17
Current errors are: Error: epan/dissectors/packet-asterix.c filter= asterix.021_161_TN 0x0fff with len is 4 but type FT_UINT8 indicates max of 2 and extra digits are non-zero (0f) Error: epan/dissectors/packet-capwap.c filter= capwap.control.message_element.ieee80211_station_session_key.flags_a 0x2000 with len is 4 but type FT_BOOLEAN indicates max of 1 and extra digits are non-zero (200) Error: epan/dissectors/packet-capwap.c filter= capwap.control.message_element.ieee80211_station_session_key.flags_c 0x1000 with len is 4 but type FT_BOOLEAN indicates max of 1 and extra digits are non-zero (100) Error: epan/dissectors/packet-cfdp.c filter= cfdp.trans_stat_2_b 0x6000 with len is 4 but type FT_UINT8 indicates max of 2 and extra digits are non-zero (60) Error: epan/dissectors/packet-cfdp.c filter= cfdp.suspension_ind_b 0x8000 with len is 4 but type FT_UINT8 indicates max of 2 and extra digits are non-zero (80) Error: epan/dissectors/packet-ixveriwave.c filter= ixveriwave.tx.factorydebug 0x7f80 with len is 4 but type FT_UINT8 indicates max of 2 and extra digits are non-zero (7f) Error: epan/dissectors/packet-opa-snc.c filter= opa.snc.rhf.eccerr 0x200000000 with len is 9 but type FT_BOOLEAN indicates max of 8 and extra digits are non-zero (2) Error: plugins/epan/ethercat/packet-ethercat-datagram.c filter= ecat.reg.ctrlstat.rdacc 0x0100 with len is 4 but type FT_BOOLEAN indicates max of 2 and extra digits are non-zero (01) Error: plugins/epan/ethercat/packet-ethercat-datagram.c filter= ecat.reg.ctrlstat.wracc 0x0200 with len is 4 but type FT_BOOLEAN indicates max of 2 and extra digits are non-zero (02) Error: plugins/epan/ethercat/packet-ethercat-datagram.c filter= ecat.reg.ctrlstat.reloadacc 0x0400 with len is 4 but type FT_BOOLEAN indicates max of 2 and extra digits are non-zero (04) Error: plugins/epan/ethercat/packet-ethercat-datagram.c filter= ecat.reg.ctrlstat.crcerr 0x0800 with len is 4 but type FT_BOOLEAN indicates max of 2 and extra digits are non-zero (08) Error: plugins/epan/ethercat/packet-ethercat-datagram.c filter= ecat.reg.ctrlstat.lderr 0x1000 with len is 4 but type FT_BOOLEAN indicates max of 2 and extra digits are non-zero (10) Error: plugins/epan/ethercat/packet-ethercat-datagram.c filter= ecat.reg.ctrlstat.cmderr 0x2000 with len is 4 but type FT_BOOLEAN indicates max of 2 and extra digits are non-zero (20) Error: plugins/epan/ethercat/packet-ethercat-datagram.c filter= ecat.reg.ctrlstat.wrerr 0x4000 with len is 4 but type FT_BOOLEAN indicates max of 2 and extra digits are non-zero (40) Error: plugins/epan/ethercat/packet-ethercat-datagram.c filter= ecat.reg.ctrlstat.busy 0x8000 with len is 4 but type FT_BOOLEAN indicates max of 2 and extra digits are non-zero (80)
2021-10-01Try to fix RPM packaging.Gerald Combs1-2/+9
Asciidoctor is now required for packaging. Try to make sure it's installed on CentOS 8 and openSUSE 15.2. Note that CentOS 8 doesn't have an Asciidoctor package, which complicates our SPEC.
2021-10-01Docs+Packaging: Convert our man pages to Asciidoctor.Gerald Combs2-5/+3
Convert doc/*.pod to Asciidoctor. This: * Means we use the same markup for our man pages, the guides, and release notes. * Lets us add versions to our man pages. * Gives us more formatting options, e.g. AsciiDoc supports `commands`, nested lists and makes it easy to include version information. The manpage backend doesn't seem to support tables very well, unfortunately. Convert our CMake configuration to produce *roff and html man pages using Asciidoctor. Add a "manarg" block macro which makes our synopses wrap correctly. Similar to the release notes, guides, and FAQ, if Asciidoctor isn't found the man pages won't be generated or installed. Move Asciidoctor to the list of package build dependencies in various places. This commit includes the conversion script (pod2adoc.py), which will be removed later. Line count sanity check: Man page .pod .adoc androiddump 260 280 asn2deb 93 105 capinfos 401 471 captype 54 55 ciscodump 241 269 dftest 42 42 dpauxmon 153 169 dumpcap 464 534 editcap 528 583 etwdump 136 156 extcap 157 181 idl2deb 91 103 idl2wrs 120 100 mergecap 206 207 mmdbresolve 75 75 randpkt 107 111 randpktdump 158 184 rawshark 558 610 reordercap 76 78 sdjournal 145 157 sshdump 272 302 text2pcap 274 312 tshark 2135 2360 udpdump 133 151 wireshark-filter 486 479 wireshark 2967 3420
2021-09-29Windows: Upgrade libpcap, lz4, nghttp2, and snappy.Gerald Combs1-10/+10
Upgrade libpcap to 1.10.1, lz4 to 1.9.3, nghttp2 to 1.44.0, and snappy to 1.1.9.
2021-09-29COSE dissector from dtn-wireshark projectBrian Sipos1-0/+63