aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
AgeCommit message (Collapse)AuthorFilesLines
2024-04-05Remove init to zero for static variablesStig Bjørlykke564-1958/+1958
The C standard requires that objects with static storage duration is initialized to zero.
2024-04-05HTTP: corrected request/response matchingCal Turney1-61/+0
Matching was not compliant with RFC9110 when requests were sent in a asynchronously ordered fashion. Asynchrously (yet ordered) requests and replies were matched according to LIFO rather than FIFO. A new matching method has been implemented to handle cases where packets are missing from the capture.
2024-04-05# This is a combination of 3 commits.Cal Turney1-25/+79
# This is the 1st commit message: HTTP: corrected request/response matching Matching was not compliant with RFC9110 when requests were sent in a asynchronously ordered fashion. Asynchrously (yet ordered) requests and replies were matched according to LIFO rather than FIFO. A new matching method has been implemented to handle cases where packets are missing from the capture. # This is the commit message #2: HTTP: Change to Ubuntu pipeline test The Ubuntu pipeline test is failing because it is expecting something that my MR has changed. This is a modification of the test file that accomodates the new output. # This is the commit message #3: HTTP: Fixed indentaion error Fixed indentation error in the script at line 545
2024-04-05HTTP: Incorrect request/response matchingCal Turney1-7/+7
This is a rebase with upstream master
2024-04-05HTTP: Incorrect request/response matchingCal Turney1-0/+1
This has been corrected using wmem_map() fucnctions. The full method is in the comments. HTTP: removed unused function declaration HTTP: Ranges are used to match reqs/resps This does NOT fix incorrect URI matching in asynchronously ordered GETS with a status of 206. HTTP: Request-response matching corrected /* * Unlike protocols such as NFS and SMB, the HTTP protocol (RFC 9110) does not * provide an identifier with which to match requests and responses. Instead, * matching is solely based upon the order in which responses are received. * HTTP I/O is asynchronously ordered such that, for example, the first of four * GET responses is matched with the first outstanding request, the next * response with the second oldest outstanding request and so on (FIFO). * The previous method instead matched responses with the last of several * async requests rather than the first (LIFO), and did not handle requests * with no responses such as the case where one or more HTTP packets were * not captured. Whenever there were multiple outstanding requests, the SRT * (RTT) stats were incorrect, in some cases massively so. * * While RFC 9110 expressly prohibits matching via byte ranges because, among * other things, the server may return fewer bytes than requested, the first * number of the range does not change. Unlike HTTP implementations, Wireshark * has the problem of requests/responses missing from the capture file. * In such cases resumption of correct matching was virtually impossible and * all matching was incorrect from that point on. * * The method of matching used herein is able to recover from packet loss, * any nummber of missing frames, and duplicate range requests. The * method used is explaned within the comments. HTTP: Fixed no resp_in When a GET request has a range and the response does not, "Response in" was not being displayed in the request.although that frame number was available. HTTP: Fixed error in last commit HTTP: corrected request/response Matching was not compliant with RFC9110 when requests were sent asynchronously ordered fashion. A new matching method has been added to handle cases where packets are missing from the capture. HTTP: correct req/resp matching without comments This is the same code with the commented out code removed. HTTP: Fix request/reply matching When asynchrously (yet ordered) requests and replies were matched according to LIFO rather than FIFO. Next and previous request and response has been eliminated because there is no use case for them and they bloat the Packet Detail. HTTP: Fix request/reply matching Fixed clang errors
2024-04-05HTTP: Fix request/reply matchingCal Turney1-30/+17
Fixed clang errors
2024-04-05HTTP: Fix request/reply matchingCal Turney1-30/+0
When asynchrously (yet ordered) requests and replies were matched according to LIFO rather than FIFO. Next and previous request and response has been eliminated because there is no use case for them and they bloat the Packet Detail.
2024-04-05HTTP: correct req/resp matching without commentsCal Turney1-76/+12
This is the same code with the commented out code removed.
2024-04-05HTTP: corrected request/responseCal Turney1-68/+85
Matching was not compliant with RFC9110 when requests were sent asynchronously ordered fashion. A new matching method has been added to handle cases where packets are missing from the capture.
2024-04-05HTTP: Fixed error in last commitCal Turney1-32/+30
2024-04-05HTTP: Fixed incorrect request/response matchingCal Turney1-27/+32
Matching of requests and responses were being done using LIFO rather than FIFO. The method of matching used in this change is able to recover from packet loss, any nummber of missing frames, and duplicate range requests. The method is explained within the comments.
2024-04-05HTTP: Request-response matching correctedCal Turney2-169/+191
/* * Unlike protocols such as NFS and SMB, the HTTP protocol (RFC 9110) does not * provide an identifier with which to match requests and responses. Instead, * matching is solely based upon the order in which responses are received. * HTTP I/O is asynchronously ordered such that, for example, the first of four * GET responses is matched with the first outstanding request, the next * response with the second oldest outstanding request and so on (FIFO). * The previous method instead matched responses with the last of several * async requests rather than the first (LIFO), and did not handle requests * with no responses such as the case where one or more HTTP packets were * not captured. Whenever there were multiple outstanding requests, the SRT * (RTT) stats were incorrect, in some cases massively so. * * While RFC 9110 expressly prohibits matching via byte ranges because, among * other things, the server may return fewer bytes than requested, the first * number of the range does not change. Unlike HTTP implementations, Wireshark * has the problem of requests/responses missing from the capture file. * In such cases resumption of correct matching was virtually impossible and * all matching was incorrect from that point on. * * The method of matching used herein is able to recover from packet loss, * any nummber of missing frames, and duplicate range requests. The * method used is explaned within the comments.
2024-04-05HTTP: Ranges are used to match reqs/respsCal Turney2-130/+117
This does NOT fix incorrect URI matching in asynchronously ordered GETS with a status of 206.
2024-04-05HTTP: removed unused function declarationCal Turney1-2/+0
2024-04-05HTTP: Incorrect request/response matchingCal Turney2-52/+318
This has been corrected using wmem_map() fucnctions. The full method is in the comments.
2024-04-05LTE RRC: upgrade dissector to v17.8.0Pascal Quantin10-201/+415
2024-04-05F1AP: upgrade dissector to v17.8.0Pascal Quantin9-41/+36
2024-04-05http: Initialize a variableJohn Thacker1-1/+1
Initialize len if it's going to be used in the return. In certain cases we don't enter the loop and call dissectr_http_message at all. Fixup 76879a480a2b9a00b8ee109c768f327449215cc4 Fix #19739
2024-04-05Telnet: vSPC: Track the "vMotion conversation".Darius Davis1-11/+43
Fully dissect the VMOTION-PEER message, even in a one-pass dissection or when the VMOTION-PEER-OK message was not captured. This requires that we correlate this Telnet conversation with the earlier one carrying the VMOTION-GOAHEAD message, and extracting the length of the sequence number from there.
2024-04-05Telnet: vSPC: Dissect "sequence" and "secret" in easy cases.Darius Davis1-8/+56
For a VMOTION-GOAHEAD message, it is likely that we can use an earlier message in the same conversation to determine the length of the "sequence" field, allowing us to fully dissect that message. In a two-pass analysis, even the length from the VMOTION-PEER-OK message allows for dissection of the preceding VMOTION-PEER message. For decoding the VMOTION-PEER message in one pass, it's going to require a bit more work -- i.e. tracking the "vMotion conversation" across the two Telnet conversations.
2024-04-05E1AP: upgrade dissector to v17.8.0Pascal Quantin9-11/+439
2024-04-05XnAP: upgrade dissector to v17.8.0Pascal Quantin9-18/+83
2024-04-05MSWSP: const-ify "GuidPropertySet".Darius Davis1-7/+7
There is no need for GuidPropertySet to be modifiable. const-ifying it moves about 8 kBytes of data to a read-only section.
2024-04-05QUIC: Remove support of old draft-deconnick-quic-multipathAlexis La Goutte1-262/+2
2024-04-05fix: Use bsearch for tag lookup.Darius Davis1-33/+20
Eliminate another manually-coded binary search routine in favor of letting the bsearch library function do the work for us.
2024-04-04Zigbee Direct: Fixed UUID mismatch with join, pjoin & leave characteristicsCole Wu1-3/+3
2024-04-04Switch away from gshort and glongGerald Combs4-14/+7
Switch from gshort to more appropriate types in the IPDC and TDS dissectors. Remove a check for G_HAVE_GLONG_DOUBLE, which appears to have never existed. We don't want automatically convert glongs any more, so remove the glong conversion in convert-glib-types.py. Ping #19116
2024-04-04RakNet: Update encryption state on open_connection_reply_2Kas-tle1-3/+4
2024-04-04ceph: give c_warn_ver() a more sensible data type.Guy Harris1-2/+7
I don't know why it's a gshort, i.e. a short, given that it returns either -1, 0, or 1, indicating to Goldilocks that the version is too small, just right, or too big, respectively. Make it an int, as is used for C library routines that perform comparisons. It's not as if the return type matters anyway, given that we never check it; add an XXX comment about this before all calls, asking whether the dissection should continue if the call fails.
2024-04-04NGAP: upgrade dissector to v17.8.0Pascal Quantin9-11/+69
2024-04-04Protobuf: when matching against URIs, allow '*' wildcardsMartin Mathieson1-2/+60
2024-04-04NR RRC: upgrade dissector to v17.8.0Pascal Quantin8-67/+725
2024-04-04X2AP: upgrade dissector to v17.7.0Pascal Quantin9-24/+128
2024-04-04NMEA0183: make a function staticMartin Mathieson1-1/+1
2024-04-04S1AP: upgrade dissector to v17.6.0Pascal Quantin10-19/+55
2024-04-04packet-vnc.c: desegment multiple TCP packets when not enough data is receivedStijn Last1-2/+43
Some VNC servers send an answer as multiple TCP packets As long as not enogh data is received, desegment more TCP segments
2024-04-04http: optional check for ASCII headersDavid Perry1-19/+53
Add a preference to check HTTP headers for non-ASCII, disabled by default. When enabled, if non-ASCII is found when expecting a HTTP header, then do not claim the packet as HTTP, thus allowing other dissectors (including heuristics) a chance to parse the packet data.
2024-04-04Initial work on supporting DTLS 1.3David Perry4-12/+341
Support DTLS 1.3 recognition and unified-header record. Decryption not supported yet.
2024-04-03CLNP: use a dissect-as dissector table for the OSI security option.Guy Harris4-198/+272
Add a decode-as dissector table, and use its entry to dissect the payload of an CLNP (or ES-IS) security option. This allows the user to specify that it should be dissected as used in ICAO's ATN specification without requiring so much entanglement between the CLNP dissector, the OSI options dissector, and the code to dissect the ATN security option. (It would also allw other OSI profiles to provide their own such dissector, e.g. GOSIP if anybody still cares, or TUBA in case it was ever even used on a network.)
2024-04-03GTPv2: Dissect UP Security PolicyGabor Spaits1-1/+26
Dissect UP Security Policy IE as described in TS 29.274 V18.4.0.
2024-04-03Dissectors: don't do e.g. return (0)Martin Mathieson17-60/+60
2024-04-03Fix some spelling errorsMartin Mathieson12-15/+15
2024-04-03MMS: Add IEC 61850 decoding to some fieldsAnders Broman4-522/+1837
Based on https://github.com/robidev/iec61850-dissector and IEC 61850-8-1 found googling
2024-04-03EHT PhyType support for wlan_radio dissectorKripa Varma1-0/+1
11be frames are getting classified as Unknown PhyType. Adding support for correctly classifying 11be frames. Closes#19706.
2024-04-02Add a built-in dissector for ZMTPMartin Mathieson2-0/+867
2024-04-01epan: Switch proto_get_frame_protocols to boolsGerald Combs1-5/+5
2024-04-01Mitel DECT: Change a gboolean to boolGerald Combs2-4/+4
Change ip_encapsulated from a gboolean to a bool. This removes the last gboolean pointer cast revealed by `grep -rl '\( *gboolean *\* *\)'`.
2024-04-01ATN: update some comments.Guy Harris6-60/+44
HTTPS Some More Places. Instead of giving a now-dead link to a not-archived-in-the-Wayback- Machine ICAO document repository, give a live link to a PDF of ICAO Doc 9705 Second Edition.
2024-04-01Remove parentheses from return boolStig Bjørlykke30-134/+134
Remove use of parentheses from return bool statements.
2024-04-01tcap: make a variable not used outside the dissector static.Guy Harris2-2/+2