aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2024-02-27prefs: Fix null defererences, remove obsolete functionHEADmasterJohn Thacker1-13/+10
Null dereference check to fix Coverity CIDs 1399640 and 1399641. Remove a function that has been unused for a decade.
2024-02-27MEGACO: Remove some long obsolete codeJohn Thacker1-38/+2
Remove some long obsolete code that dates back to before the binary H.248 protocol was separated into an ASN.1 dissector
2024-02-27MEGACO: Dissect statisticsDescriptor inside mediaDescriptorJohn Thacker1-0/+12
Versions 2 and 3 of MEGACO (H.248 text) added statisticsDescriptor to one of the options for a streamParm that can appear inside a mediaDescriptor. Dissect it. Part of #11080
2024-02-27macos-setup-brew: Use LUA 5.4Anders Broman1-1/+1
2024-02-27gsup: Add PCO IEPau Espin Pedrol1-0/+20
This IE is present in the ePDG Tunnel Request/Result messages to forward protocol configs between the UE (IKEv2) and the PGW (GTPv2C), with ePDG in the middle. https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/36023 https://gerrit.osmocom.org/c/libosmocore/+/36024
2024-02-27gsup: Add ePDG Tunnel Request/Error/Result messagesPau Espin Pedrol1-0/+7
These messages are used in the GSUP-based CEAI interface between strongswan IPsec and osmo-epdg, which acts basically as a forwarding protocol between IKEv2 on the UE side and GTPv2C S2b towards PGW + Diameter SWm towards AAA Server. Those fields are already present in libosmocore, GSUP reference implementation [1]. [1] https://gitea.osmocom.org/osmocom/libosmocore/src/branch/master/include/osmocom/gsm/gsup.h#L205
2024-02-27Diameter: add 3GPP Third-Context-Identifier AVP definitionPascal Quantin1-0/+3
2024-02-27ENRP: Check for invalid parameter & error cause lengthsJohn Thacker1-1/+15
The value in the length field in ENRP parameters and error causes include the length and types, and must be at least 4. In particular, not erring on zero can cause an infinite loop. https://datatracker.ietf.org/doc/html/rfc5354 Fix #19674
2024-02-27Wifi(NAN): Minor fix for NAN dissectorJie Han1-24/+64
Fix typos and bugs in NAN dissector. Separate NDP and NDPE control field
2024-02-27ptp: Improve display of rateRatio allowing more decimals.Patrik Thunström1-1/+1
2024-02-27Protobuf: Add a UAT table to map URI -> message_typeMartin Mathieson4-7/+109
2024-02-27Update existing NAN attributes to NAN R4Jie Han1-45/+275
NAN Availability Attribute, Device Capability Attribute, Cipher Suite Info Attribute.
2024-02-27Qt: Show tooltip in sequence diagram for elided commentsJohn Thacker4-3/+36
If the comment (i.e. Info column) text is elided, show the full text as a tooltip. We already show it down in the status hint text, but it's nice not to have to look all the way at the bottom of the window. Somewhat related to #4972 (I think, for that one, we will probably need to make the column width controlled by a different widget rather than a QSplitter, because making it a QSplitter would make the comments no longer an axis, and then they wouldn't be printed.)
2024-02-27Remove PREF_DECODE_AS_UINTJohn Thacker8-118/+10
PREF_DECODE_AS_UINT has been unused since all auto port preferences were made ranges by 8604d03a98607bf8dc62e3ee152f8c8289c4052b Remove it. Ping #14319
2024-02-27Thrift: Align the endianness for doubleTriton Circonflexe1-1/+16
Compact protocol uses little endian doubles instead of big endian like compact. This issue is documented as an accident that became the de-facto standard. For consistency, the sub-tvbuff_t given to delegated sub-dissectors is aligned with binary protocol to allow a sub-dissector to work with both binary and compact.
2024-02-27Thrift: Fix recursion checkTriton Circonflexe1-16/+91
Previous recursion check only worked with generic dissector. The introduced changes cover the sub-dissectors as well. Remove the existing check as it counted basic types as well. Add a check at every place where a sub-tree is created: - containers (list, set, map) - structures
2024-02-27sharkd: Increase JSON buffer size from 2048 to 8192 bytesNiels Widger1-1/+1
This commit increases the maximum size for the JSON commands processed by `sharkd` from 2048 to 8192 bytes. The primary reason for this change is to allow larger filters in `filter0`...`filter9` arguments which, combined with the outer JSON boilerplate, can cause a command to quickly hit the existing 2048-byte limit.
2024-02-26Qt: Add case sensitive find to Follow Stream and Show Packet BytesJohn Thacker4-6/+56
Add a check box for case sensitivity when finding in follow stream and show packet bytes. Note that QPlainTextEdit::find() has a bit unexpected behavior with QRegularExpression (https://bugreports.qt.io/browse/QTBUG-88721). Searches are case-insensitive by default there too, respecting the default options. This is a change from the older QRegExp, where the option to find was ignored, and only the regex option was used, so for the last few releases regexp searches have been case-insensitive as well by default. (?-i) has been available to mode switch. We might want to move the various keyboard handling from FollowStreamDialog and ShowPacketBytesDialog and instead have FindLineEdit install shortcuts on the parents when constructed. That would be a little cleaner separation. We might also want to move the buttons and label to a separate composite widget class, that signals the parent to start a find. Fix #3784
2024-02-26GSSAPI: Avoid dissecting checksum in signed-only KRB_TOKEN_CFX_WRAPJohn Thacker6-74/+103
In KRB_TOKEN_CFX_WRAP (RFC 4121), for signed-only Wrap tokens ("Wrap tokens without confidentiality"), the plaintext is followed by the checksum, unlike in other implementations where the all the GSSAPI bits, including the checksum, precede the plaintext. For those cases, the calling dissector cannot simply dissect the entire original tvb after the returned offset, as it's not all plaintext. Instead, place the plaintext without checksum subset in gssapi_decrypted_tvb and return it to the caller. In these cases, gssapi_data_encrypted will be set to FALSE, to allow dissectors that wish to distinguished signed-and-sealed from signed-only. For dissectors that do not care to distinguish the cases, this requires no change. Update the documentation in the GSSAPI header to describe this. Fix #9398.
2024-02-26Qt: copy correct hidden state to deviceJohn Thacker1-1/+2
The IFTREE_COL_HIDDEN is in fact a "Show" column (should the names be changed?) so when saving the data the hidden state is the opposite of the checked status. We were doing the inverted logic when writing to the preferences, but not when changing the device interface_t struct directly. However, before 6e12e504b9110285cd2de7e60c46483b8fa39ab7 we always re-read the hidden state from the preferences after changing it in the Manage Interfaces Dialog, so this bug wasn't exposed until we stopped doing that and used the current status. Fix #19672
2024-02-26hipercontracer: don't consume LDAP/SASL/KRB_TOKEN_CFX_WRAP messagesStefan Metzmacher1-1/+28
See the capture in #9398 for an example. Signed-off-by: Stefan Metzmacher <metze@samba.org>
2024-02-26asterix: adjust to upstream changeZoran Bošnjak2-50/+65
Structure change in asterix-specs, revision 3ab3bb3. Rule type is generalized and it now also includes a default value.
2024-02-25Fix lots of spellingsMartin Mathieson207-319/+324
2024-02-25[Automatic update for 2024-02-25]Gerald Combs18-315/+472
Update manuf, services enterprise numbers, translations, and other items.
2024-02-25doc: remove redundant sectionEugène Adell1-4/+0
2024-02-25CSV Export: Last column no longer exported when hidden.Patrik Thunström1-8/+22
Prior to fix the last column no matter if hidden or not was always included when exporting packet dissections to CSV. Fixes #19666.
2024-02-24Qt: Only set Packet List style sheet when relevant prefs changeJohn Thacker9-5/+22
Add a colorsChanged signal/slot, more precise than the generic preferencesChanged signal, and only call it when one of the color related preferences have changed. Connect it to the packetList::colorsChanged() function, instead of calling that whenever preferencesChanged() is called. We could eventually move the signals and slots some of the other GUI widgets to this. Send that signal before handling preferences that change dissection and freeze the packet list, so that when we restore the column widths due to Qt bug 122109 it takes effect. The packet_list_hover_style preference affects colors, not the layout, despite its presence in the GUI layout module.
2024-02-24Qt: Work around QTBUG-122109 when applying packet list style sheetJohn Thacker2-1/+19
https://bugreports.qt.io/browse/QTBUG-122109 A bug introduced by the fix for https://bugreports.qt.io/browse/QTBUG-116013 causes all visible sections to reset to the default section size whenever a style sheet is applied (even if defaultSectionSize didn't change.) Make sure that before applying a style sheet we prevent our recent column widths from being updated, and then restore column widths from the recent values afterwards. This affects versions 6.5.4 (commercial only, 6.5.3 is the last free release) and 6.6.1 and 6.6.2.
2024-02-24Qt: If no preferences have changed, don't signalJohn Thacker2-1/+10
Enforce the requirement, already mentioned in the headers, that preference and preference module effect flags must be nonzero so that the application knows that a preference has changed. (Lua, for example, needs this.) Use this and avoid sending the PreferencesChanged signal when preferences have not changed.
2024-02-23thrift: make some functions staticMartin Mathieson1-7/+7
2024-02-23RNSAP: Dissect IMSIJohn Thacker3-1/+22
2024-02-23SCCP: Use register_dissector_preferenceJohn Thacker1-2/+2
Switch SCCP's default payload preference from a string to validated dissector name preference, added in 2f1392169a2230d53b8e
2024-02-23dfilter: Add functions to override field baseJohn Thacker4-0/+106
Add field expression functions to convert unsigned integer and char fields to hex or decimal. (BASE_OCT is handled somewhat different currently now, presumably because it can't be used in filters, so leave that commented until it is handled as a display representation.) Currently string() always converts unsigned integers to their decimal representation so it is the same as dec(), but possibly in the future string() might use the native base. These can be used in columns thanks to the fix for #15990 Fix #5308
2024-02-23Inject TLS Secrets: Check for NULL used secrets mapJohn Thacker1-1/+1
The GUI menu item should probably be disabled without a capture file too. Fix #19667
2024-02-23Look into some items where VALS doesn't fit in maskMartin Mathieson4-19/+22
2024-02-23falcodump: add missing AWS regionsUli Heilmeier1-0/+2
2024-02-23DNSCrypt: Add support to parse DNSCrypt Initial DNS requesthidd3ncod3s Sec2-1/+118
2024-02-23extcap: Use extcap.cfg as extcap config file nameJohn Thacker3-4/+6
"extcap" by itself can be the name of a directory that stores extcap programs, especially if the default profile is being used. Add an extension to the default file name so it doesn't clash. Follow up to 4fb2ef8af871682905b29cc1f3dbbfaba41c9e38
2024-02-23ICMPv6: Add a recursion checkGerald Combs1-0/+9
Fix ``` wireshark/epan/dissectors/packet-icmpv6.c:1709:1: warning: function 'dissect_icmpv6_nd_opt' is within a recursive call chain [misc-no-recursion] 1709 | dissect_icmpv6_nd_opt(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) | ^ wireshark/epan/dissectors/packet-icmpv6.c:1709:1: note: example recursive call chain, starting from function 'dissect_icmpv6_nd_opt' wireshark/epan/dissectors/packet-icmpv6.c:2247:30: note: Frame #1: function 'dissect_icmpv6_nd_opt' calls function 'dissect_icmpv6_nd_opt' here: 2247 | opt_offset = dissect_icmpv6_nd_opt(tvb, opt_offset, pinfo, icmp6opt_tree); | ^ wireshark/epan/dissectors/packet-icmpv6.c:2247:30: note: ... which was the starting point of the recursive call chain; there may be other cycles ```
2024-02-23DHCPv6: Add a recursion checkGerald Combs1-1/+12
Fix ``` wireshark/epan/dissectors/packet-dhcpv6.c:1846:1: warning: function 'dhcpv6_option' is within a recursive call chain [misc-no-recursion] 1846 | dhcpv6_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, | ^ wireshark/epan/dissectors/packet-dhcpv6.c:1846:1: note: example recursive call chain, starting from function 'dhcpv6_option' wireshark/epan/dissectors/packet-dhcpv6.c:2052:28: note: Frame #1: function 'dhcpv6_option' calls function 'dhcpv6_option' here: 2052 | temp_optlen += dhcpv6_option(tvb, pinfo, subtree, | ^ wireshark/epan/dissectors/packet-dhcpv6.c:2052:28: note: ... which was the starting point of the recursive call chain; there may be other cycles wireshark/epan/dissectors/packet-dhcpv6.c:2958:1: warning: function 'dissect_dhcpv6' is within a recursive call chain [misc-no-recursion] 2958 | dissect_dhcpv6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, | ^ ```
2024-02-22SMB2: Add recursion checksGerald Combs1-1/+26
2024-02-23cose: Peek ahead for map principal value before dissecting map itemsBrian Sipos3-48/+96
This change updates references to obsoleted RFCs and I-Ds, provides human-readable interpretation of kid values, and fixes the text encoding type in proto_tree_add_cbor_tstr(). Fixes #19659
2024-02-22ptp: Corrected data type for cumulativeScaledRateOffset.Patrik Thunström1-5/+22
Aligning the data type with the 802.1AS specs the data type is now INT32 instead of UINT32. Also added a generated field where the scale and offset is removed to easier interpret the actual accumulated rate ratio.
2024-02-22Fix some spelling errorsMartin Mathieson12-42/+56
2024-02-22QUIC: Handle early 1-RTT data from serverJohn Thacker1-20/+54
For our test in check_dcid_on_coalesced_packet, check the *last* QUIC packet in the frame so far, not the first packet in the frame. Only create the quic_packet structure after checking for a coalesced packet, so that the last QUIC packet in the frame is the previous one, not the current one. What happens if 0-RTT packets are lost and resent? There's an alternative suggestion featuring checking if the ciphers are initialized on the first pass that might work too, but if we did that, what happens if the server Handshake is fragmented, reassembled, and the server sent some "0.5-RTT" data after the last fragment but then had to resend a different Handshake fragment later? We'd still get some 1-RTT data before the handshake was done. Fix #19665 while still not upsetting #19503.
2024-02-22OSITP: Pass ED-TPDU to subdissectorsJohn Thacker1-5/+26
Fix #7393
2024-02-22SNMP: Add support for RFC 5343Jaap Keuter2-2/+10
Add identification of the 'local engine' format.
2024-02-22feat(#19647): decode Datum enum and Ver fieldmarmonier_c1-2/+26
Use RFC 6225 (obsoletes RFC 3825)
2024-02-22feat(#19647): decode resolution fieldsmarmonier_c1-17/+69
2024-02-22feat(#19647): check longitude and latitude max valuemarmonier_c1-9/+19