aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-camel.c
AgeCommit message (Collapse)AuthorFilesLines
2022-11-30asn2wrs: disable template line directive by defaultJoakim Karlsson1-57/+0
Same as with !8955, To debug with line directive build with -DENABLE_DEBUG_A2W=ON flag
2022-10-21Camel: Dissect TimeAndTimezoneAndersBroman1-11/+69
Closes #18485
2022-06-24Regenerate ASN.1 dissectorsJoão Valverde1-3/+3
2022-06-10tap: Adding flags for tap_packetRoland Knall1-2/+2
This allows flags to be passed by the registering listener to the collection of information
2022-04-19dissectors: init memory before use.Dario Lombardo1-0/+1
CID: 52571445-27
2022-02-17Some spelling fixesMartin Mathieson1-1/+1
2021-12-19Replace g_strdup_printf() with ws_strdup_printf()João Valverde1-2/+2
Use macros from inttypes.h.
2021-11-16TCAP,CAMEL: Always enable SRT and Counter statsJohn Thacker1-17/+12
The Service Response Time stats for CAMEL (and TCAP, which must be enabled as well) are reliable and not that processor intensive. They should be always enabled, just like the SRT stats for other protocols. This also makes things less confusing with regards to the CAMEL opcode counter stats, which were only enabled if the SRT preferences were also set, since they use the same tap. Also remove a unused function declaration in a header.
2021-02-07camel: create and populate the stats table only onceMartin Kaiser1-4/+14
Use the new stat_tap_find_table function during init to check if our statistics table already exists. If so, we can safely assume that its rows have already beend initialized. All we have to do is clear the data that was collected by the tap.
2021-01-14camel: remove a variable that is always 0Martin Kaiser1-5/+4
This is another case where we have a single table at index 0.
2020-12-16Fix duplicated filter namesAnders Broman1-3/+3
2020-12-15Fix duplicated filter names.Anders Broman1-6/+6
2020-09-05Fix some detected spelling errors in ASN1 dissectors.Martin Mathieson1-1/+1
Done by scanning the asan1 template files. If there are spelling mistakes in the specifications, we should ignore. Note that for z3950, I had already found and accidentally fixed the same errors in the generated file (before I taught my script to ignore gnerated dissector files).
2020-08-17TFS: Add some commonly-defined string pairs to tfs.cMartin Mathieson1-13/+7
'check_tfs.py --common' can look for tfs values that appear multiple times. Current output prior to these dssector changes was: ('No Extension', 'Extension') appears 3 times in: ['epan/dissectors/packet-bssap.c', 'epan/dissectors/packet-camel.c', 'epan/dissectors/packet-gsm_map.c'] ('Optimised for signalling traffic', 'Not optimised for signalling traffic') appears 3 times in: ['epan/dissectors/packet-gsm_a_gm.c', 'epan/dissectors/packet-gsm_map.c', 'epan/dissectors/packet-gtp.c'] ('Data PDU', 'Control PDU') appears 3 times in: ['epan/dissectors/packet-pdcp-lte.c', 'epan/dissectors/packet-pdcp-nr.c', 'epan/dissectors/packet-rlc-nr.c'] ('Message sent to originating side', 'Message sent from originating side') appears 3 times in: ['epan/dissectors/packet-q2931.c', 'epan/dissectors/packet-q931.c', 'epan/dissectors/packet-q933.c'] ('User', 'Provider') appears 3 times in: ['epan/dissectors/packet-q2931.c', 'epan/dissectors/packet-q931.c', 'epan/dissectors/packet-q933.c'] The first and last ones were made common, the others seem a little too specialised. Checking some of the existing items in tfs.c (using QtCreator's 'Find Usages'), some of the common items are used a lot, but many of them are not referenced. Change-Id: Ia4006d2c4fa7cafbc3b004dc7a367a986dbeb0c4 Reviewed-on: https://code.wireshark.org/review/38177 Petri-Dish: Martin Mathieson <martin.r.mathieson@googlemail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-04-04epan: Convert our PROTO_ITEM_ macros to inline functions.Gerald Combs1-10/+10
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-29camel: Fix dissection of SpecializedResourceReportArgVasil Velichkov1-87/+65
The SpecializedResourceReportArg has a different and incompatible definition in CAMEL phase 4. In phase 2 and 3 it is defined as NULL and in phase 4 it is defined as CHOICE that contains two NULL fields. - Add missing CAMEL phase 3 and 4 Application Context Names. - Move the common code from dissect_camel_v[12] functions into dissect_camel_all and add dissect_camel_v[34] functions. - Remove application_context_version as it has never been used and the version is determined in dissect_camel_v[1234] functions. Change-Id: I43eea246889786421b22dcfb937708eee814b29e Reviewed-on: https://code.wireshark.org/review/32611 Reviewed-by: Pascal Quantin <pascal@wireshark.org> Petri-Dish: Pascal Quantin <pascal@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-01-01Add a "failed" return for tap packet routines.Guy Harris1-5/+5
This allows taps that can fail to report an error and fail; a failed tap's packet routine won't be called again, so they don't have to keep track of whether they've failed themselves. We make the return value from the packet routine an enum. Don't have a separate type for the per-packet routine for "follow" taps; they're expected to act like tap packet routines, so just use the type for tap packet routines. One tap packet routine returned -1; that's not a valid return value, and wasn't one before this change (the return value was a boolean), so presume the intent was "don't redraw". Another tap routine's early return, without doing any work, returned TRUE; this is presumably an error (no work done, no need to redraw), so presumably it should be "don't redraw". Clean up some white space while we're at it. Change-Id: Ia7d2b717b2cace4b13c2b886e699aa4d79cc82c8 Reviewed-on: https://code.wireshark.org/review/31283 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-06-09camel: Add Digits dissectionVasil Velichkov1-21/+88
The following parameters are all defined as Digits calledAddressValue callingAddressValue assistingSSPIPRoutingAddress additionalCallingPartyNumber correlationID dTMFDigitsCompleted dTMFDigitsTimeOut number digitsResponse Add sub-tree for each parameter Reuse the AdditionalCallingPartyNumber implementation Export dissect_isup_generic_digits_parameter from the isup dissector Change-Id: Icdcbbab6969cf75c7c2cc0f98549fed41ff6891f Reviewed-on: https://code.wireshark.org/review/28158 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-05-13Get rid of some GTK+-only stuff.Guy Harris1-2/+2
Change-Id: I85806476246a567f747e3911e3d15716e9cfe06b Reviewed-on: https://code.wireshark.org/review/27514 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-13Get rid of some GTK+-only stuff.Guy Harris1-2/+2
Change-Id: I841a1cdb637f37673466e4d065474c0f7e2dfc56 Reviewed-on: https://code.wireshark.org/review/27512 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-04-23Camel/Inap: add missing sub-treesIvan Nardi1-9/+13
Change-Id: I4a0ad70d264914f9d407305ec8d577f79c92a095 Reviewed-on: https://code.wireshark.org/review/27091 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-21Camel: add sub-tree for OriginalCalledPartyID i.e.Ivan Nardi1-9/+13
Change-Id: Ic66ef080cbd3b911ebd93f3fca8bd08bf7203802 Reviewed-on: https://code.wireshark.org/review/27051 Reviewed-by: Anders Broman <a.broman58@gmail.com> Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-02-19Get rid of more new_ prefixes for statistics functions and types.Guy Harris1-9/+9
There are no "old" versions of them that we're keeping around. Change-Id: I3c76a14d0ec1a06df39c547da37f4dea9987df4d Reviewed-on: https://code.wireshark.org/review/25892 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-02-18ASN.1: update auto generated dissectorsPascal Quantin1-9/+9
Change-Id: Ic73e72b3d2e7590eaed07f6eb30f74f4303e7a65 Reviewed-on: https://code.wireshark.org/review/25880 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin <pascal.quantin@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>
2017-08-08We really only need one range_foreach routine.Guy Harris1-4/+4
Rename range_foreach_r() to range_foreach(), getting rid of the old range_foreach(). If your callback doesn't require an additional argument, just pass NULL when calling range_foreach(), and declare the argument as unused. Change-Id: I49a56f90610e39cf2ddc398c9e30ed11a6ca90db Reviewed-on: https://code.wireshark.org/review/23025 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-01-30Convert GHashTable -> wmem_map_t for ASN.1 disseectorsMichael Mann1-18/+12
Change-Id: Id749c41947c6300f2c82ed947352c336f9e45b72 Reviewed-on: https://code.wireshark.org/review/19838 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-01-07Convert range API to always use wmem memory.Michael Mann1-3/+3
This is mostly to address memory leaks in range preferences (the biggest user of range functionality) on shutdown. Now range preferences must use epan scoped memory when referencing internal preference structures to keep consistency. Change-Id: Idc644f59b5b42fa1d46891542b53ff13ea754157 Reviewed-on: https://code.wireshark.org/review/19387 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-09-20camel: use ws_strtoi in template.Dario Lombardo1-10/+11
Change-Id: Ida61cc61d6a6a1c34eb42ceaba31621276f93966 Reviewed-on: https://code.wireshark.org/review/17821 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-08-31Don't do any Decode As stuff for dissector tables not used with Decode As.Guy Harris1-3/+3
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-07-01ASN.1 dissectors - don't try to find yourself.Michael Mann1-10/+6
If an ASN.1 dissector is calling register_dissector for itself in its proto_register_xxx function and then calling find_dissector for itself in its proto_reg_handoff_xxx function then just create a static handle for that dissector and use the return value of register_dissector, so the find isn't necessary. Change-Id: I911bdadc2fb4259601c141b955e741a2369cc447 Reviewed-on: https://code.wireshark.org/review/16233 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>
2016-06-16qt: move free_stat_tables from SimpleStatisticsDialog::fillTree to ↵Dario Lombardo1-1/+2
~SimpleStatisticsDialog. Add a reference count to stat_tap_table_ui to prevent bad deallocations. Bug: 12437 Change-Id: Ib9b1f929d08a574c306dc755ec416ab94a3fd6d3 Reviewed-on: https://code.wireshark.org/review/15920 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-05-13Add filterable fields for each ISUP number.Jeff Morriss1-4/+4
Make a common number dissection function to do this without cut-n-pasting code a whole bunch of times. Clean up the number dissection code while we're there: - Don't throw an exception when we found too many digits. Report it (expert info) and move on. - Avoid a useless (text) subtree: use the hf for the number as the root of the tree. This means using proto_tree_append_string() which adds some complication but it's worth it to avoid a hidden item (which was the old solution if we passed the number to the E.164 dissector). Bug: 12334 Change-Id: I465cab91b216b734f5763a4e56faa8e06b0731a2 Reviewed-on: https://code.wireshark.org/review/14924 Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-03-17Associate dissector tables and heuristic subdissector lists with a protocol.Michael Mann1-3/+3
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-03-13Move /asn1 to /epan/dissectorsJoão Valverde1-20/+20
Change-Id: I1208fe3c2ba428995526f561e8f792b8d871e9a9 Reviewed-on: https://code.wireshark.org/review/14388 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: João Valverde <j@v6e.pt>
2016-01-24Add the packet number to the packet_info structure, and use it.Guy Harris1-25/+25
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-23Add more fields to packet_info structure and use them.Guy Harris1-3/+3
Add fields for the absolute time stamp (and another field for a presence flag for the absolute time stamp) and the packet encapsulation for the packet. This lets us remove the field for the packet encapsulation in the frame_data structure; do so. Change-Id: Ifb910a9a192414e2a53086f3f7b97f39ed36aa39 Reviewed-on: https://code.wireshark.org/review/13499 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-29Rename new_stat_tap_ui to stat_tap_table_ui.Guy Harris1-3/+3
A "new" statistics tap UI is a statistics tap UI where the statistics are maintained as tables and common code handles the tables; what matters is the tables, not that it's "new". Change-Id: I7a0e63cfac98c24cd5e7dce973b9a0cc5b6a03ba Reviewed-on: https://code.wireshark.org/review/12897 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-29There's no "old" stat_tap_table, so remove "new_" from the name.Guy Harris1-5/+5
Change-Id: I1a0349d5d9d47210a97ff7a99fb358e59fd70e72 Reviewed-on: https://code.wireshark.org/review/12896 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-10Convert ASN.1 dissectors to remove "new" from "new-style" dissector function ↵Michael Mann1-2/+2
names that were generated from asn2wrs.py This includes: 1. new_create_dissector_handle -> create_dissector_handle 2. new_register_dissector -> register_dissector 3. new_register_ber_oid_dissector -> register_ber_oid_dissector 4. new_register_ber_syntax_dissector -> register_ber_syntax_dissector Also remove PDU_NEW, SYNTAX_NEW and REGISTER_NEW as there is no need for the distinction anymore. Change-Id: I82c7de7c8ffeeab3259d1b55bb4afc5f6a1e0329 Reviewed-on: https://code.wireshark.org/review/12491 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-09"new" dissector API -> dissector API for ASN.1 dissectors.Michael Mann1-3/+3
Change-Id: I7b794cba2feda2cae40411e2b1cb9fb091d08220 Reviewed-on: https://code.wireshark.org/review/12480 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-11-04Don't allow multiple registrations of a protocol in dissector tables.Michael Mann1-3/+3
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-09-13Make other_decode_bitfield_value private to proto.c.Michael Mann1-14/+7
This is further encouragement to not try to manually create a bitstring while formatting a field. Change-Id: I4efbeb39a210cf1fd26203cd8560859276b333b0 Reviewed-on: https://code.wireshark.org/review/10494 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-08-26Camel: fix indent (use 2 spaces)Alexis La Goutte1-1/+1
Change-Id: I0e8047fca7f24e60e4db8ad77254bcff5f8d6651 Reviewed-on: https://code.wireshark.org/review/10257 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-08-25[Camel] The tags used in EstablishTemporaryConnectionArg differs in V2 andAndersBroman1-29/+96
V3 versions of Camel. Add ASN1 code for EstablishTemporaryConnectionArgV2 Bug: 11466 Change-Id: I0dbb9c83e520c269dd567f3c3bc34c99c9aa5e15 Reviewed-on: https://code.wireshark.org/review/10249 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-08-21GSM/ANSI/CAMEL...: fix no previous prototype for '*_stat_init' ↵Alexis La Goutte1-1/+1
[-Wmissing-prototypes] Change-Id: I0aedefbb77899ebceac7fb08249faf47964d785b Reviewed-on: https://code.wireshark.org/review/10163 Reviewed-by: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-08-20Camel: Fix indent (use 2 spaces) and add modelinesAlexis La Goutte1-130/+144
Change-Id: I6fe835e78e58faabd5cfeeb84e39793b48d3df25 Reviewed-on: https://code.wireshark.org/review/10167 Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
2015-08-06Fixup stat_tap table freeing.Gerald Combs1-4/+10
As it turns out we *do* need to free table elements. We also need to free the tables themselves and clear the table array. Do so. Change-Id: Ic1c81388eac8f47f74caea0169c79685a83aaff9 Reviewed-on: https://code.wireshark.org/review/9901 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-08-04Convert Camel tap stats to new "generic stat API".Gerald Combs1-22/+115
Migrate the Camel stats similar to the recent BOOTP and H.225 migrations. Change-Id: If82617068ff4b8fa186899f66dc34a08585f66cb Reviewed-on: https://code.wireshark.org/review/9865 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-07-04asn1: split off cleanup routinesPeter Wu1-16/+12
General approach: 1. Split allocation (e.g. g_hash_table_new) from deallocation (g_hash_table_destroy) into functions named "init" and "cleanup". 2. Remove guards that test whether the hash tables are set as init is always called before cleanup. 3. Remove setting hash tables to NULL after destruction. 4. Copy register_init_routine function call and change init to cleanup. 5. Add cleanup function that calls reassembly_table_destroy if there is a reassembly_table_init function. Some templates were modified as follows: - snmp: split renew into init+cleanup, but keep renew for the uat_new callback. - ldap,ros: Rename init to cleanup as there was no initialization. - camel: remove init function from header, make it static. Remove debug print. - tcap: remove unused ssn_range assignment. Files in epan/ were regenerated using cmake && make asn1 Change-Id: Idac16ebf0ec304e0c8becaab5d32904e56eb69b9 Reviewed-on: https://code.wireshark.org/review/9136 Reviewed-by: Michael Mann <mmann78@netscape.net>