aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-multipart.c
AgeCommit message (Collapse)AuthorFilesLines
2021-09-01tvbuff: convert helper methods to pinfo->poolEvan Huus1-1/+1
A few of them just needed scratch memory, so allocate and free it manually after doing any exception-raising checks. A few others were returning memory, and needed conversion to accept a wmem scope argument.
2021-08-08Some more dissector spellings.Martin Mathieson1-1/+1
2021-08-05Fix compilation without optional libraries.Dario Lombardo1-1/+4
2021-07-27Change some `wmem_packet_scope()` to `pinfo->pool`David Perry1-20/+20
2021-07-13Multipart: Add option to uncompress dataUli Heilmeier1-4/+45
Add an option to uncompress gzip:ed data. Fixes: wireshark/wireshark#17471
2020-09-02multipart: fix deallocation of invalid partsGeorge Hopkins1-5/+4
Fixes #16741
2020-06-12More cppcheck fixes, using top-of-tree cppcheck.Martin Mathieson1-4/+1
Mostly redundant tests, but for bthci dissectors, avoid using a key that points to out-of-scope variables. Change-Id: I2785690b8487d45c4e2daff0b6e03cd8747ed410 Reviewed-on: https://code.wireshark.org/review/37467 Petri-Dish: Martin Mathieson <martin.r.mathieson@googlemail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2020-03-23fix typo found by lintian (Unkown => Unknown)Alexis La Goutte1-1/+1
Change-Id: I32f636c5a8de652303fbe03668bf937004f2e6a8 Reviewed-on: https://code.wireshark.org/review/36543 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Tomasz Moń <desowin@gmail.com>
2019-07-27HTTPS In Still More Places, update more URLs.Guy Harris1-9/+16
Microsoft reshuffled their documentation - almost all of it moved from msdn.microsoft.com to docs.microsoft.com. Some blogs moved to devblogs.microsoft.com; the comments *didn't* move, so in one case we go to the Wayback Machine - the link isn't dead, but it formats horribly, at least on my browser, but the archived version formats OK. Use the Wayback Machine for some URLs, and update others. Update the sections for MS-ADTS. Point to the HTML versions of some RFCs and I-Ds. Change-Id: I344b20f880de63f1ae2a4e3f9ff98af78a7fe139 Reviewed-on: https://code.wireshark.org/review/34101 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-07-26HTTPS (almost) everywhere.Guy Harris1-1/+1
Change all wireshark.org URLs to use https. Fix some broken links while we're at it. Change-Id: I161bf8eeca43b8027605acea666032da86f5ea1c Reviewed-on: https://code.wireshark.org/review/34089 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-05-29Fix handling of headers in body part.Guy Harris1-4/+1
Check whether the unfolded-and-compacted header has only printable characters, not whether the full header does - the full header may include LWSP, which includes HT, CR, and LF, none of which are considered "printable", so valid headers were being treated as not being headers, causing mis-dissection of some packets. We don't need to split the header name from the value - is_known_multipart_header() stops comparison at the end of the header name. Change-Id: I96e4ac0b69df726b984ee7faeea19eda18be223c Reviewed-on: https://code.wireshark.org/review/33417 Reviewed-by: Guy Harris <guy@alum.mit.edu> Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot
2019-05-28Clean up indentation.Guy Harris1-5/+5
Change-Id: Idfa3e15eaa1d764f66d630878f1c44561169d8bf Reviewed-on: https://code.wireshark.org/review/33409 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-04-04epan: Convert our PROTO_ITEM_ macros to inline functions.Gerald Combs1-1/+1
Convert our various PROTO_ITEM_ macros to inline functions and document them. Change-Id: I070b15d4f70d2189217a177ee8ba2740be36327c Reviewed-on: https://code.wireshark.org/review/32706 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-01-22NGAP: Handle vnd.3gpp.ngap content-type (TS 39.502)Anders Broman1-1/+4
Change-Id: I35044ede286a2013ad04dc817892f9ff788da6a5 Reviewed-on: https://code.wireshark.org/review/31661 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-29Add sip_call_id filter to RTP stream.Anders Broman1-1/+1
Change-Id: Ia525fa74457eef03a3a8bc85905036c19693cfbb Reviewed-on: https://code.wireshark.org/review/30830 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-11Add wmem alloc parameter to ws_find_media_type_parameter.Michael Mann1-21/+8
All current uses of ws_find_media_type_parameter need wmem_packet_scope(), but there is no sense in limiting what other dissectors may want to do. Change-Id: I35b0dd2a024a0ae0a8345577dd92a1a21ddd2cc4 Reviewed-on: https://code.wireshark.org/review/26427 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-03-07multipart: use packet scope memory to avoid leaking in case an exception is ↵Pascal Quantin1-5/+11
triggered by subdissectors Bug: 14486 Change-Id: I275f8c962f126ad55fc7086012e7b67cc0dc60b3 Reviewed-on: https://code.wireshark.org/review/26291 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-27multipart: initialize value before function call (found by clang).Dario Lombardo1-0/+1
Change-Id: I0883526b064b044bbfb188e14e20cc95270f1e6a Reviewed-on: https://code.wireshark.org/review/26115 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-12dissectors: use SPDX identifiers.Dario Lombardo1-13/+1
Change-Id: I92c94448e6641716d03158a5f332c8b53709423a Reviewed-on: https://code.wireshark.org/review/25756 Petri-Dish: Dario Lombardo <lomato@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-08-31Don't do any Decode As stuff for dissector tables not used with Decode As.Guy Harris1-1/+1
Have all dissector tables have a "supports Decode As" flag, which defaults to FALSE, and which is set to TRUE if a register_decode_as() refers to it. When adding a dissector to a dissector table with a given key, only add it for Decode As if the dissector table supports it. For non-FT_STRING dissector tables, always check for multiple entries for the same protocol with different dissectors, and report an error if we found them. This means there's no need for the creator of a dissector table to specify whether duplicates of that sort should be allowed - we always do the check when registering something for "Decode As" (in a non-FT_STRING dissector table), and just don't bother registering anything for "Decode As" if the dissector table doesn't support "Decode As", so there's no check done for those dissector tables. Change-Id: I4a1fdea3bddc2af27a65cfbca23edc99b26c0eed Reviewed-on: https://code.wireshark.org/review/17402 Petri-Dish: Guy Harris <guy@alum.mit.edu> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-08-23Handle quoted-pairs in quoted-strings correctly.Guy Harris1-54/+38
Backslash, in a quoted-string, escapes quotes (and any other characters, although the only ones that *need* escaping are a double-quote and a backslash). This means that the value of a parameter isn't just the raw characters from the parameters string; for a quoted string, it needs to be un-escaped, and for a *non*-quoted string, it has to stop at the first non-token character (you can put comments in). So ws_find_media_type_parameter() must return an allocated string with the actual value. Get rid of index_of_char(); it doesn't do anything that strchr() does. Change-Id: I36328ea71c28fe6ac4918a8e73c281a25f6be844 Reviewed-on: https://code.wireshark.org/review/17251 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-08-22Make index_of_char() static againBalint Reczey1-0/+19
Change-Id: I1c0d344c50ee5d78dd8247ccfe795ce0cd94aaa2 Reviewed-on: https://code.wireshark.org/review/17230 Reviewed-by: Balint Reczey <balint@balintreczey.hu>
2016-08-22Rename find_parameter() to ws_find_media_type_parameter()Balint Reczey1-5/+5
The symbols exported from libs should use less generic. preferably prefixed names to avoid name collisions with other shared library symbols. Change-Id: I8323b3e194a7ee4d61baec0c007342fab6cbde84 Reviewed-on: https://code.wireshark.org/review/17229 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-08-22Pass an HTTP message type to all HTTP subdissectors.Guy Harris1-112/+31
This gets complicated, because those subdissectors might be called by other dissectors as well. We need a better way of passing that sort of out-of-bound information. Pull some routines used for processing Content-Type parameters into common code; we can't guarantee that the media parameters passed in would be writable (passing it as *the* data hid that; passing a structure with that *and* the HTTP message type revealed it), so don't convert it to lower-case in place. Use that information, if available, to determine whether an IPP message is a requet or a response. Change-Id: I4bccc9f05cd0b14ad445be7ab37b3d884d841325 Reviewed-on: https://code.wireshark.org/review/17216 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-07-20Convert some g_ APIs to wmem.Michael Mann1-27/+5
Change-Id: I7fb0b60fc54004326680f07298fe43e8c48e9b39 Reviewed-on: https://code.wireshark.org/review/16550 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-03-20Create call_data_dissector() to call data dissector.Michael Mann1-5/+3
This saves many dissectors the need to find the data dissector and store a handle to it. There were also some that were finding it, but not using it. For others this was the only reason for their handoff function, so it could be eliminated. Change-Id: I5d3f951ee1daa3d30c060d21bd12bbc881a8027b Reviewed-on: https://code.wireshark.org/review/14530 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-03-20Manually add protocol dependencies derived from find_dissector.Michael Mann1-2/+2
Started by grepping call_dissector_with_data, call_dissector_only and call_dissector and traced the handles passed into them to a find_dissector within the dissector. Then replaced find_dissector with find_dissector_add_dependency and added the protocol id from the dissector. "data" dissector was not considered to be a dependency. Change-Id: I15d0d77301306587ef8e7af5876e74231816890d Reviewed-on: https://code.wireshark.org/review/14509 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-03-17Associate dissector tables and heuristic subdissector lists with a protocol.Michael Mann1-1/+1
This will make it easier to determine protocol dependencies. Some LLC OUI dissector tables didn't have an associated protocol, so they were left without one (-1 used) Change-Id: I6339f16476510ef3f393d6fb5d8946419bfb4b7d Reviewed-on: https://code.wireshark.org/review/14446 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-02-15multipart: Add Content-Description headerStig Bjørlykke1-8/+18
Change-Id: I10432e813832cf6facc33bf3c06872bd9611a4c5 Reviewed-on: https://code.wireshark.org/review/13954 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-02-05Multipath: use directly value of sizeof(guint32)Alexis La Goutte1-2/+2
it will be also make happy OS X x64 buildbot Change-Id: Ib718d717719739314170632f04b3ec68c2917ed6 Reviewed-on: https://code.wireshark.org/review/13730 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-02-04Multipart: add dissection of multipart/encrypted and also fix problems to ↵DiablosOffens1-38/+197
find the right boundaries Bug: 11978 Change-Id: Ia31e1b451bfae268e8ede84bddffd5dae8d97d8e Signed-off-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-on: https://code.wireshark.org/review/12281 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-01-08Fix a lot of typos and misspellingsmoshekaplan1-2/+2
Change-Id: I8512cfa1d424f82a873a0e0e1d22c7b075fdd7f3 Reviewed-on: https://code.wireshark.org/review/13069 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-09new_create_dissector_handle -> create_dissector_handle for dissector directory.Michael Mann1-1/+1
Some of the ASN.1 dissectors still generate a new_create_dissector_handle from the tool itself, so leave those for now. Change-Id: Ic6e5803b1444d7ac24070949f5fd557909a5641f Reviewed-on: https://code.wireshark.org/review/12484 Petri-Dish: Anders Broman <a.broman58@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-11-04Don't allow multiple registrations of a protocol in dissector tables.Michael Mann1-1/+1
The target here is the Decode As dialog where protocols have multiple registrations into a dissector table and that shows up as multiple entries in the Decode As dialog list with the same name so users are unsure which "dissector" they are choosing. The "default" behavior (done in this commit) is to not allow duplicates for a dissector table, whether its part of Decode As or not. It's just ENFORCED for Decode As. Bug: 3949 Change-Id: Ibe14fa61aaeca0881f9cc39b78799e314b5e8127 Reviewed-on: https://code.wireshark.org/review/11405 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-06-04MIME Multipart: fix display of the last IMF fieldPascal Quantin1-0/+4
Regression was introduced in g23f0e16 Bug: 11249 Change-Id: I2822a4452d3cdf2e53e5f3f1f3034e758fec129b Reviewed-on: https://code.wireshark.org/review/8747 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-02-10Do not iterate over reported length when using tvb_find_line_endPascal Quantin1-2/+2
if captured length < reported length, this will trigger an infinite loop Change-Id: I6557b455e7bbff12658a934e5bb13a42c023e133 Reviewed-on: https://code.wireshark.org/review/7053 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-12-23Deleting unnecessary #includes from dissectors.Martin Mathieson1-1/+0
Fourth batch (packet-mac-lte.c -> packet-rtp.c). Will look at cleaning up and committing script afterwards. Change-Id: Id921f07f4b274f0cfb77ce81abe4a285fdb8b644 Reviewed-on: https://code.wireshark.org/review/6023 Petri-Dish: Martin Mathieson <martin.r.mathieson@googlemail.com> Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-21Cleanup use of #includes in non-generated epan/dissector/*.cBill Meier1-4/+0
Specifically: - Set packet.h to be the first wireshark #include after config.h and "system" #includes. packet.h added as an #include in some cases when missing. - Remove some #includes included (directly/indirectly) in packet.h. E.g., glib.h. (Done only for those files including packet.h). - As needed, move "system" #includes to be after config.h and before wireshark #includes. - Rework various #include file specifications for consistency. - Misc. Change-Id: Ifaa1a14b50b69fbad38ea4838a49dfe595c54c95 Reviewed-on: https://code.wireshark.org/review/5923 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-12-15exit if the key wasn't found in the parameters listMartin Kaiser1-0/+3
Bug: 10761 Change-Id: I072cd3a68d852cb8dc57b9b9f807f792caba7259 Reviewed-on: https://code.wireshark.org/review/5750 Reviewed-by: Martin Kaiser <wireshark@kaiser.cx> Tested-by: Martin Kaiser <wireshark@kaiser.cx>
2014-12-02multipart: Handle multipart/signedStig Bjørlykke1-0/+2
Change-Id: I39742dcce79fc41344c64e5266304c8c120aeb7c Reviewed-on: https://code.wireshark.org/review/5557 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-12-02multipart: Don't include boundary in preamble.Stig Bjørlykke1-2/+2
Change-Id: I2d2fd28462b974e4ad656e36f2562633d0743962 Reviewed-on: https://code.wireshark.org/review/5556 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-11-25Ensure dissector data parameter is used instead of pinfo->private_data when ↵Michael Mann1-10/+7
passing data between dissectors using the "media_type" subdissector. Change-Id: I82cbfed770b41404bc42cb6a4413db07d04dffdc Reviewed-on: https://code.wireshark.org/review/5462 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-11-25Have media dissector take its "media type parameter" from dissector data ↵Michael Mann1-1/+1
parameter instead of pinfo->private_data. Change-Id: I0a0cb0b4838bc4e55a759fb6031355892c220c8e Reviewed-on: https://code.wireshark.org/review/5461 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-11-21Replace tvb_length()AndersBroman1-11/+11
Change-Id: I0b5ad4d588f0b658abaf3892d08d6520ecd2f645 Reviewed-on: https://code.wireshark.org/review/5431 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-11-13Eliminate proto_tree_add_text for some dissectors.Michael Mann1-23/+34
Change-Id: Ide14bcac0b1563bee4260ac9c1a280ba99e97e71 Reviewed-on: https://code.wireshark.org/review/5261 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-10-20Get rid of calls to ctype.h functions.Guy Harris1-3/+2
They don't handle values outside the range -1 to 127, and their behavior is locale-dependent. Use g_ascii_isXXX() and g_ascii_toXXX() instead of isXXX() and toXXX(). If you're checking for printable ASCII, don't use isascii() and don't use iscntrl(), use g_ascii_isprint(). If you're checking for graphical ASCII, i.e. printable ASCII except for a space, use g_ascii_isgraph(). Use ws_xton() to convert a hex digit character to the corresponding numeric value. Change-Id: Id3039bc586fbf66d8736c2df248c790c0d7a2330 Reviewed-on: https://code.wireshark.org/review/4851 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-09-29Add editor modelines and adjust indentation as needed.Bill Meier1-0/+13
Change-Id: I857700d685354b0bc9e0ca647c57faba981b520f Reviewed-on: https://code.wireshark.org/review/4373 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-06-19Revert "Fixup: tvb_* -> tvb_captured"Michael Mann1-11/+11
https://www.wireshark.org/lists/wireshark-dev/201406/msg00131.html This reverts commit 246fe2ca4c67d8c98caa84e2f57694f6322e2f96. Change-Id: Ib24bae0198c13a84bd7f731bf4af921212109a8f Reviewed-on: https://code.wireshark.org/review/2430 Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-06-18Fixup: tvb_* -> tvb_capturedDario Lombardo1-11/+11
Change-Id: I9209c1271967405c34c1b6fa43e1726a4d3a5a3f Reviewed-on: https://code.wireshark.org/review/2377 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-18Fixup: tvb_get_string(z) -> tvb_get_string(z)_encDario Lombardo1-2/+2
Change-Id: I63a3704effe3fcab01a193dc39b6a22e9f1cf3fe Reviewed-on: https://code.wireshark.org/review/2376 Reviewed-by: Anders Broman <a.broman58@gmail.com>