aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-sdp.c
AgeCommit message (Collapse)AuthorFilesLines
2019-04-04epan: Convert our PROTO_ITEM_ macros to inline functions.Gerald Combs1-12/+12
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-03-27SIP: Add a preference to hide the generated/trace Call IDAnders Broman1-0/+6
Change-Id: Id936dfaa5278ce9f3bb62281497268fb4054fc56 Reviewed-on: https://code.wireshark.org/review/32579 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-01-23SDP: fix memleak of "trace_id"Peter Wu1-2/+2
The string value is stored in the conversation, so use file-scoped memory instead of g_strdup. Convert to union to save space. Bug: 15440 Change-Id: Ie2dabfc67ac1db1cc8f864601b8395dcdec7caf8 Fixes: v2.9.0rc0-2719-g8bd0616621 ("SDP: Show callid from all call legs with the same RTP cpnversation.") Link: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11845 Reviewed-on: https://code.wireshark.org/review/31704 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-12-27Try to squeeze some bytes out of the frame_data structure.Guy Harris1-3/+3
Make the time stamp precision a 4-bit bitfield, so, when combined with the other bitfields, we have 32 bits. That means we put the flags at the same structure level as the time stamp precision, so they can be combined; that gets rid of an extra "flags." for references to the flags. Put the two pointers next to each other, and after a multiple of 8 bytes worth of other fields, so that there's no padding before or between them. It's still not down to 64 bytes, which is the next lower power of 2, so there's more work to do. Change-Id: I6f3e9d9f6f48137bbee8f100c152d2c42adb8fbe Reviewed-on: https://code.wireshark.org/review/31213 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-12-03RTP: Restructure call id handling.Anders Broman1-0/+3
Change-Id: Id5471ad6e7051a7e00fd82d25d58912ef8ad886e Reviewed-on: https://code.wireshark.org/review/30898 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-12-03SDP: Show callid from all call legs with the same RTP cpnversation.Anders Broman1-0/+22
Change-Id: If17732c2bd0b23e7f62b7464b9f154c317019f16 Reviewed-on: https://code.wireshark.org/review/30893 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-8/+18
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-07-18H.265: Parsing media format specific parameter from SDP.Asaf Kave1-0/+21
Change-Id: I2607068671f370517b1f0a2f65f47a221b630d91 Reviewed-on: https://code.wireshark.org/review/28725 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2018-05-03SDP: do not assume that media_desc pointer is always setPascal Quantin1-3/+7
Bug: 14648 Change-Id: I9d585a1b49e15529b19414be52c8bf198475fd62 Reviewed-on: https://code.wireshark.org/review/27304 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@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>
2018-01-30SDP/RTP: Support for "bundled" media.Robert Jongbloed1-7/+59
Modern SDP usage (e.g. SIP, WebRTC) can "bundle" multiple RTP media streams on a single port. Thus the RTP dissector has to be able to handle audio and video at the same time, so the gboolean flag in _rtp_info was changed to a bit mask. The SDP parsing was then changed to detect multiple "m=" lines using the same port, and combine their audio/video bit masks, and the rtp_dyn_payload used has all the audio and video payload descriptions. Change-Id: Ifa3c034260f892ed005fe28647d28f3b0b1b05cf Reviewed-on: https://code.wireshark.org/review/25431 Petri-Dish: Jaap Keuter <jaap.keuter@xs4all.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-01-24SDP: Added support for "a=rtcp" and "a=rtcp-mux".Robert Jongbloed1-5/+20
Modern SIP endpoints often use non adjacent, or the same, port for the RTCP protocol as the RTP protocol. This is indicated via attributes in the SDP, which should be used to set up the correct dissector for the correct port on this SIP session. Change-Id: I37bf30b71541b6f924fbda5ac1cb29f3ba171515 Reviewed-on: https://code.wireshark.org/review/25430 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-10-26Add a ws_in6_addr typedef for struct e_in6_addr.Guy Harris1-1/+1
That allows a parallel typedef of ws_in4_addr for guint32. Change-Id: I03b230247065e0e3840eb87635315a8e523ef562 Reviewed-on: https://code.wireshark.org/review/24073 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-05-19SDP: Handle incomplete media attributesJaap Keuter1-6/+10
Media attributes have a format of name:value, where, if the value is missing the colon is missing too. Sometimes the colon is there, while the value is missing. Even though this is in error, continue dissecting the other attributes. Bug: 13698 Change-Id: I369b6db657b33a368f4b12134412100774105615 Reviewed-on: https://code.wireshark.org/review/21699 Petri-Dish: Anders Broman <a.broman58@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-12-31Dissectors don't need a journey of self discovery.Michael Mann1-4/+2
They already know who they are when they register themselves. Saving the handle then to avoid finding it later. Not sure if this will increase unnecessary register_dissector functions (instead of using create_dissector_handle in proto_reg_handoff function) when other dissectors copy/paste, but it should make startup time a few microseconds better. Change-Id: I3839be791b32b84887ac51a6a65fb5733e9f1f43 Reviewed-on: https://code.wireshark.org/review/19481 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>
2016-12-18SIP/SDP, RTP: Dissectors shows information about ED-137 related states of ↵Jiri Novak1-5/+66
radio in info column/VoIP call flow Based on EUROCAE ED-137B specification: ED-137B, Part 1: RADIO, INTEROPERABILITY STANDARDS FOR VOIP ATM COMPONENTS https://boutique.eurocae.net/eshop/catalog/index.php Bug: 13252 Change-Id: Ifab1aaf47e3405fcd46309167237f11ce2d7e2ff Reviewed-on: https://code.wireshark.org/review/19302 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-12-18RTP: RTP dissector is able to decode RTP over TCP (RFC 4571)Jiri Novak1-2/+2
Bug: 13251 Change-Id: I56a01e779f7f0eadc8a078f88543269a91148f00 Reviewed-on: https://code.wireshark.org/review/19293 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-12-08sdp: decode pt for more RTP transport protocolsPeter Wu1-23/+32
Do not just decode the payload type for RTP/AVP, but also all RTP transport types. Add RTP/AVPF (same as normal RTP/AVP, but with additional RTCP formats). Similarly, add RTP/SAVPF and the two DTLS variants. Add references to the relevant specifications and order per IANA registry. Tested with dtls-srtp-ws-sip.pcapng, now the payload types under the "m=" tree have names and frames that were previously reported as RTP show up as SRTP. Frame 442 now shows "Encrypted RTCP Payload" warning instead of decoding it as garbage. Change-Id: I06893f385ec270391f8891e72a364d08d2354a0a Ping-Bug: 13193 Reviewed-on: https://code.wireshark.org/review/19139 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-12-07sdp: replace bitmask by enum for transport protocolPeter Wu1-28/+28
Previously the bitmask also stored whether the type of media (video) and address type (IPv4/IPv6). Now that these are gone, it makes more sense to use enums. There is no functional change (only debugging output is different). Change-Id: Idc9659cd21e36489a3f5720bbf13640c4beecc02 Reviewed-on: https://code.wireshark.org/review/19124 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-12-06SDP: Fix compiler warningMichael Mann1-2/+2
Change-Id: I5d415ba9ce7ae62eff43d47ceaa96e6282eaad1a Reviewed-on: https://code.wireshark.org/review/19113 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: Peter Wu <peter@lekensteyn.nl>
2016-12-06sdp: refactor session/media level handling of attributesPeter Wu1-404/+404
The media_count meaning is horrendous. -1 means "none", a count of "0" actually means "1". This led to various bugs in the past, so just rip it out and use a (wmem) array from which the length can be determined. That also means that a hard-coded limit on the media can now easily be lifted without affecting the size of the transport_info_t structure. (This limit, SDP_MAX_RTP_CHANNELS, is unchanged in this patch though.) Refactor the SDP dissector such that: - Media and related attributes are no longer a bunch of fixed array fields, but grouped in one structure. This results in the largest changes all over the place since "transport_info->media[n]" is now transformed into "media_desc->media" where "media_desc" is an element of the "transport_info->media_descriptions" wmem array. - Simplify protocol (in "m=") parsing (lots of ifs -> array + loop). - Remove convert_disposable_media and disposable_media_info_t, parse fields (media protocol from "m=", connection address from "c=", etc.) while parsing the SDP instead of parsing it at the end. - Have two distinct structures for keeping the info for the session and media level. Emphasize that new media descriptions are inherited from session level attributes (via sdp_new_media_description). - Delay creation of dynamic payload type information table until we actually create the media description. Create function clean_unused_media_descriptions to handle the common of freeing unused dynamic pt. - Remove SDP_IPv4/SDP_IPv6, these are replaced by checking the type member of the address structure. Changes to MSRP part: - Move MSRP attributes to the media-level attributes. - Remove msrp_transport_address_set attribute, rely on the AT_NONE address type for detecting bad addresses. - Remove SDP_MSRP_IPv4 check, this never worked as the flag was never set. Now it relies on the address family from the host in a=path:. Tested with these capture files with no change in PDML output nor improvements/regressions with memleaks (as reported by ASAN): capture sip call wireshark 1.8.2.pcap NOringback.pcapng rtp_not_parsed_by_1_10_1.pcap rtsp_interleaved_coreplayer.cap SIP_CALL_RTP_G711.pcapng srtpincorrectlyselected.pcap tdnwifitontwifi_withnatting_clientAbhopati_03082015.pcapng Change-Id: Ia0dbc63f8bd78cc84dad2e18174540e31b78a80d Reviewed-on: https://code.wireshark.org/review/19072 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-12-06SDP: reduce code duplicationPeter Wu1-230/+140
Observe that some code in setup_sdp_transport is effectively the same code as a part from dissect_sdp with these differences: - Removal of these two conditions (setup_sdp_transport already returns early when a packet is visited): (!pinfo->fd->flags.visited) && (transport_info == &local_transport_info) - "establish_frame" in setup_sdp_transport is replaced by "pinfo->num" in dissect_sdp. dissect_sdp further has two additional blocks that add information to the VoIP calls dialog. This is preserved. Freeing of the RTP payload information has also been simplified. Instead of checking it inside the main loop that adds addresses (now moved to a new function, "apply_sdp_transport"), let the caller do it outside the loop. The transformation in this patch is rather mechanical: 0. Add a comment on what the new function is supposed to do. 1. Move code from setup_sdp_transport into a new function, apply_sdp_transport and reduce indentation level. 2. Copy all variables to the new function and populate the parameter list. 3. Compile result, remove unused variables that the compiler warns for. 4. Move freeing of unused media outside the loop to the caller. 5. Create a new conditional statement before the duplicated loop, which checks whether setup_sdp_transport has been used before. (SIP first calls setup_sdp_transport, then it invokes the media type dissector which calls dissect_sdp to populate the tree.) 6. Remove the duplicated code from the dissect_sdp loop until only the VoIP Calls dialog info remains. There is no functional change intended. Change-Id: I928379466af56ef1729cccbf4a5b60895ddb3227 Reviewed-on: https://code.wireshark.org/review/19047 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-12-06SDP: add basic ICE candidate attribute dissection (RFC 5245)Peter Wu1-2/+151
Dissect the first, fixed part of a=candidate. The candidate type is also unabbreviated for easier understanding. Tested with dtls-srtp-ws-sip.pcapng from the linked bug. Change-Id: I9950c8f066becea86f1fe8e9ffab2dc07ae0f425 Ping-Bug: 13193 Reviewed-on: https://code.wireshark.org/review/18997 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-11-16SDP: Payload type name for dynamic payload is wrong for reverse RTP channelsnovakji1-39/+13
Bug: 13132 Change-ID: I61a2575f9d8da958ae2fb01c71f3c71c9643ddea Reviewed-on: https://code.wireshark.org/review/18804 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net> Tested-by: Michael Mann <mmann78@netscape.net>
2016-11-13Allocate transport_info->encoding_name from correct memory poolnovakji1-2/+4
Bug: 13127 Change-Id: I09893fadc6f64316a373ddb8ac72e07a6743e149 Reviewed-on: https://code.wireshark.org/review/18758 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net> Tested-by: Michael Mann <mmann78@netscape.net>
2016-10-18sdp: use ws_strtou function.Dario Lombardo1-20/+90
Change-Id: Idd624170cf8d3bb0441c765ecfebcbe51f99deaf Reviewed-on: https://code.wireshark.org/review/18264 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> 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-26SDP: Restore usability of conversation debug feature.Jaap Keuter1-4/+4
Some type changes were not carried forwared into the conversation debugging code. These changes allow compilation again. Change-Id: I90dde7cc94496828cf8931d74225773c2cea42a1 Reviewed-on: https://code.wireshark.org/review/17336 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>
2016-06-30SDP: Fix warnings [-Wcast-qual]João Valverde1-3/+3
Change-Id: I471c3d060ff69982e94c9046ca121bb0c15f0d74 Reviewed-on: https://code.wireshark.org/review/16212 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
2016-06-27tvb_get_string_enc + proto_tree_add_item = proto_tree_add_item_ret_stringMichael Mann1-73/+51
Also some other tricks to remove unnecessary tvb_get_string_enc calls. Change-Id: I2f40d9175b6c0bb0b1364b4089bfaa287edf0914 Reviewed-on: https://code.wireshark.org/review/16158 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>
2016-03-20Manually add protocol dependencies derived from find_dissector.Michael Mann1-5/+5
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-26Add free_address_wmem(), fix warnings [-Wcast-qual]João Valverde1-8/+10
Try to improve address API and also fix some constness warnings by not overloading the 'data' pointer to store malloc'ed buffers (use private pointer for that instead). Second try, now passing test suite. Change-Id: Idc101cd866b6d4f13500c9d59da5c7a38847fb7f Reviewed-on: https://code.wireshark.org/review/13946 Petri-Dish: João Valverde <j@v6e.pt> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
2016-02-08Revert "Add free_address_wmem() and other extensions to address API"João Valverde1-10/+8
This reverts commit 13ec77a9fc3af3b0b502820d0b55796c89997896. This commit introduces a segmentation fault for Lua code (uncovered by the test suite). Change-Id: Ibc273d1915cda9632697b9f138f0ae104d3fb65e Reviewed-on: https://code.wireshark.org/review/13813 Reviewed-by: João Valverde <j@v6e.pt>
2016-02-07Add free_address_wmem() and other extensions to address APIJoão Valverde1-8/+10
Try to improve 'address' API (to be easier/safer) and also avoid some constness warnings by not overloading the 'data' pointer to store malloc'ed buffers (use private pointer for that instead). Change-Id: I7456516b12c67620ceadac447907c12f5905bd49 Reviewed-on: https://code.wireshark.org/review/13463 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
2016-01-24Add the packet number to the packet_info structure, and use it.Guy Harris1-16/+16
That removes most of the uses of the frame number field in the frame_data structure. Change-Id: Ie22e4533e87f8360d7c0a61ca6ffb796cc233f22 Reviewed-on: https://code.wireshark.org/review/13509 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-21SDP: Fix warnings [-Wcast-qual]João Valverde1-2/+2
Change-Id: Ie61cb44976afc27b700652da0d471a4c6711756d Reviewed-on: https://code.wireshark.org/review/13446 Reviewed-by: João Valverde <j@v6e.pt>
2015-12-09new_register_dissector -> register_dissector for dissector directory.Michael Mann1-1/+1
Change-Id: Ie39ef054a4a942687bd079f3a4d8c2cc55d5f22c Reviewed-on: https://code.wireshark.org/review/12485 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-11-24Make dissect_mp4ves_config a real dissector to be called by SDPMichael Mann1-4/+4
Also convert packet-mp4ves.c to use only "new style" dissectors. Change-Id: I949dd1300a66039906abffef5cc019f2b49cf414 Reviewed-on: https://code.wireshark.org/review/12074 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>
2015-11-14register_dissector -> new_register_dissectorMichael Mann1-3/+5
Picking off "easy" dissectors that only have one or two exit points at most. This concludes a "first pass" over the dissector directory. Change-Id: If5ce5484214be50fe541cba478da1de62e354297 Reviewed-on: https://code.wireshark.org/review/11830 Petri-Dish: Michael Mann <mmann78@netscape.net> 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-10-25SDP: protect against out of bounds accessPascal Quantin1-1/+1
Change-Id: I4b24441cb26757b639e8113cab18d64c7f07112f Ping-Bug: 9887 Reviewed-on: https://code.wireshark.org/review/11241 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-09-11Bug fix of missing "RTP arrow" in the Flow graph of VoIP calls.Michal Pazdera1-4/+12
This commit fixes bug that I have encountred in the Flow graphs of VoIP calls. Where the RTP communication is shown only in one direction. This happens because the packet-sip.c dissector is unable to find SIP/SDP setup frame from the recivers side and sets the setup frame to 0. Now if no frame is found the number of current frame is used. I have checked the previous versions and in ver 1.8.12 it worked properly (same as after this change). Note: I am not sure if the 1.8.12 is the last version where this was working properly. Change-Id: Ibb3cf85cbce03f80a2492eeae6cf64acddc439f5 Reviewed-on: https://code.wireshark.org/review/10440 Reviewed-by: Tomáš Kukosa <tomas.kukosa@unify.com> Reviewed-by: ronnie sahlberg <ronniesahlberg@gmail.com>
2015-06-23Remove more deprecated tvb_length callsEvan Huus1-10/+10
Change-Id: Ie40a195db622ebfb096fa5088c5467a1385e69bf Reviewed-on: https://code.wireshark.org/review/9062 Reviewed-by: Evan Huus <eapache@gmail.com>
2015-02-21Remove tvb_ from the names of wsutil mempbrk routines.Guy Harris1-7/+7
Routines that don't take a tvbuff as an argument shouldn't have tvb_ in the name. Change-Id: I3550256551e30b3f329cbbfca71ef27c727d29c0 Reviewed-on: https://code.wireshark.org/review/7302 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-12Fix crash at startup in SSE4.2 code when running a 32 bits Windows buildPascal Quantin1-2/+2
There is no guarantee that a g_malloc'ed memory block will be aligned on a 128 bits boundary Instead use a static variable definition (at the cost of exposing the HAVE_SSE4_2 compilation flag in ws_mempbrk.h) Change-Id: I661bf479a9d458d64c96bafc940c519d29a4780b Reviewed-on: https://code.wireshark.org/review/7070 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-02-11Combine SSE and pre-compiled patterns for faster pbrkHadriel Kaplan1-2/+10
This combines the SSE4.2 instructions usage, with pre-compiled pattern searching usage, for a faster pbrk search method. Testing against large files of HTTP and SIP, there is about a 5% performance improvement by using pre-"compiled" patterns for guint8_pbrk() instead of passing it the search string and having it build the match array every time. Similar to regular expressions, "compiling" the pattern match array in advance only once and using the "compiled" patterns for the searches is faster than compiling it every time. Change-Id: Ifcbc14a6c93f32d15663a10d974bacdca5119a8e Ping-Bug: 10798 Reviewed-on: https://code.wireshark.org/review/6990 Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@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>
2015-01-30SDP: add ability to display port as a stringPascal Quantin1-4/+21
Bug: 10898 Change-Id: Ib1b5698c85cd568b8874b44690cafe391eea28f3 Reviewed-on: https://code.wireshark.org/review/6849 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-01-29SDP: check that media format starts with a digit before trying to identify ↵Pascal Quantin1-9/+14
media type Bug: 10899 Change-Id: I92319a668ae795247d4021f32d629f5000ceb395 Reviewed-on: https://code.wireshark.org/review/6841 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>