aboutsummaryrefslogtreecommitdiffstats
path: root/epan/proto.h
AgeCommit message (Collapse)AuthorFilesLines
2019-11-07epan: Make proto_tree_add_oid* usable from DLLs.Gerald Combs1-3/+3
Prefix proto_tree_add_oid, proto_tree_add_oid_format_value, and proto_tree_add_oid_format with WS_DLL_PUBLIC. Change-Id: Ia3fa8fb762869bb1afa1c1f57a3a5f02aa126a3f Reviewed-on: https://code.wireshark.org/review/35018 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin <pascal@wireshark.org>
2019-10-28wslua: Fix memleak of unregistered ProtoField stringsStig Bjørlykke1-0/+7
If a ProtoField object was created, but not linked to a Proto, then the strings field and all elements (depending on type) would leak. This is a follow-up to g79fef2ae and fixes the real issue in g44870fb1. Change-Id: I01880a92bb20fae45f68c754b07daeb07630deec Reviewed-on: https://code.wireshark.org/review/34872 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Vasil Velichkov <vvvelichkov@gmail.com> Reviewed-by: Roland Knall <rknall@gmail.com>
2019-09-05kafka: Cleanup to use "native" APIs.Michael Mann1-0/+11
Add "native" support for the "zig-zag" version of a varint in proto.[ch] and tvbuff.[ch]. Convert the use of varint in the KAFKA dissector to use the (new) "native" API. Ping-Bug: 15988 Change-Id: Ia83569203877df8c780f4f182916ed6327d0ec6c Reviewed-on: https://code.wireshark.org/review/34386 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-08-29Add proto_tree_add_item_ret_time_stringMichael Mann1-1/+23
A few dissectors need the functionality of adding a time field to a proto_tree while also needing the "time to string" value (typically to show on a tree above). The functionality to do "get value from tvb and convert to string" was being done in packet-ntp.c. Instead proto_tree_add_item_ret_time_string can be used with various encoding to get the necessary functionality with less code duplication. ENC_TIME_MIP6 was added as a result of the refactoring. ABSOLUTE_TIME_NTP_UTC was added as another potential "base" type for time fields. Change-Id: Ie460c33370b0af59ef60bdab893ce9d6eb23b94f Reviewed-on: https://code.wireshark.org/review/34390 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-07-15Add support for the ISO 646 "Basic code table" encoding.Guy Harris1-0/+2
The "Basic code table" in ISO 646 is mostly ASCII, but some code points either 1) have more than one glyph that can be assigned to them or 2) have no glyph assigned to them. National versions choose one of the two glyphs for the code points in group 1) and assign specific glyphs to the code points in group 2); the International Reference Version assigns the same glyphs to those code points as does ASCII. For the "Basic code table" encoding, we map the code points in groups 1) and 2) to a REPLACEMENT CHARACTER; additional encodings can be added for the national versions. Add ENC_ISO_646_IRV (International Reference Version) as an alias for ENC_ASCII. Expand some comments, and add some comments, while we're at it. Change-Id: I4f1b5e426ec193775e919731c5cae1224dc65115 Reviewed-on: https://code.wireshark.org/review/33941 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-07-11Doxygen: Fix some warnings.Anders Broman1-1/+1
Change-Id: I0344d44d08d2e159c895d693500403c067039a44 Reviewed-on: https://code.wireshark.org/review/33894 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-07-10Doxygen: Try to fix reported warnings.Anders Broman1-1/+1
Change-Id: Ia2e08265681c6700328a5782a70c3108eeb443bf Reviewed-on: https://code.wireshark.org/review/33887 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-06-08Have routines to add a protocol tree item and return a display string.Guy Harris1-21/+49
That way, even if we're not building a protocol tree, so that you don't get protocol tree items, you can get the display string, e.g. to use in a column. Replace the use of the "get display string" routines with calls to those routines. Change-Id: I23e3e88838bdf837d8660c271f78c79b7d1c5620 Reviewed-on: https://code.wireshark.org/review/33519 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-06-07Improve handling of binary data that *might* be text.Guy Harris1-9/+37
Add a BASE_SHOW_ASCII_PRINTABLE flag for the "display" field, to use with FT_BYTES and FT_UINT_BYTES fields; it specifies that, if the field consists solely of printable ASCII characters, its value be displayed as a string, in quotes. Have a routine hfinfo_format_bytes() to do that formatting, depending on the display field value. Add routines to fetch the display value of string and FT_BYTES/FT_UINT_BYTES fields; for strings, it's the result of hfinfo_format_text(), and for byte arrays, it's the result of hfinfo_format_bytes(). Use BASE_SHOW_ASCII_PRINTABLE for extended attribute data in SMB and SMB2. Use the routines in question for extended attribute names (string) and data (bytes). That keeps us from displaying non-text extended attribute data as if it were text. Document BASE_SHOW_ASCII_PRINTABLE. Change-Id: I24dcf459c14f00985e4daaf9b58f5933964eabd8 Reviewed-on: https://code.wireshark.org/review/33517 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-05-25Add Windows code page 1252.Guy Harris1-1/+1
While we're at it, add the Euro to code page 1251, expand the comments for 1250 and 1251 and some DOS code pages, and add support for code page 1251 to tvb_get_stringz_enc(). Change-Id: I053d58f87cac26ad7c109e2f1cd8807ffec0622d Reviewed-on: https://code.wireshark.org/review/33342 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-05-24"Zigbee" encoding is not a character encoding or an integer encoding.Guy Harris1-2/+14
It's a rule for interpretation of the length field of counted-string and counted-octet-string fields. This means it's 1) not a general rule for interpreting integers and 2) not a character encoding, as it also applies to octet strings and, even for character strings, it's *orthogonal* to the character encoding. Therefore, it should *not* be one of the character encoding values; it should be a bit flag. Make it so. This means that 1) a character encoding can be specified for Zigbee Cluster Library strings (they appear to have multiple character encodings possible); 2) the test of it that tested it as if it were a flag will no longer get confused by character encodings that set one or more of the bits in the old encoding value; 3) you don't have to special-case the encoding value passed to get_uint_value(). Put in a comment emphasizing that values that aren't character encodings should *not* be placed in the set of character encodings. Change-Id: I8f50aaee8ca60b0781044287e9b38111de38c81f Reviewed-on: https://code.wireshark.org/review/33341 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-04-26proto.h: avoid warning about not really deprecated (Clang) (v2)Alexis La Goutte1-2/+2
proto.h:853:5: warning: declaration is marked with '\deprecated' command but does not have a deprecation attribute [-Wdocumentation-deprecated-sync] proto.h:866:5: warning: declaration is marked with '\deprecated' command but does not have a deprecation attribute [-Wdocumentation-deprecated-sync] Change-Id: I50a462c7a05f36ba60484980fd8ae9026effc047 Reviewed-on: https://code.wireshark.org/review/32922 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-04-07proto.h: avoid warning about not really deprecated (Clang)Alexis La Goutte1-2/+2
proto.h:853:5: warning: declaration is marked with '\deprecated' command but does not have a deprecation attribute [-Wdocumentation-deprecated-sync] proto.h:866:5: warning: declaration is marked with '\deprecated' command but does not have a deprecation attribute [-Wdocumentation-deprecated-sync] Change-Id: I6da6048b2c4e2860f655ae595f4f800587c63217 Reviewed-on: https://code.wireshark.org/review/32770 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.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-47/+88
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-13proto.h: fix indentation and add modeline.Dario Lombardo1-347/+353
Change-Id: I1d1adb6456c4a80f2a157cb29dc19c63755ee3fd Reviewed-on: https://code.wireshark.org/review/31485 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-01-04add encoding windows 1251, cp855, cp866kanidef1-2/+3
Change-Id: I0e8507cf63d89942167ca579ef304bc3d679346e Reviewed-on: https://code.wireshark.org/review/31316 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-11-20Replace JSON-GLib by custom JSON dumper libraryPeter Wu1-2/+0
The (optional) JSON-GLib library adds dependencies on GObject, GIO. For statically linked oss-fuzz builds it also adds libffi and more. To avoid these dependencies, replace JSON-GLib by some custom code. This allows `tshark -G elastic-mapping` to be enabled by default without extra deps. API design goals of the new JSON dumper library: - Small interface without a lot of abstraction. - Avoid memory allocations if possible (currently none, but maybe json_puts_string will be replaced to improve UTF-8 support). - Do not implement parsing, this is currently handled by jsmn. Methods to open/close array/objects and to set members are inspired by the JsonGlib interface. The interfaces to write values is inspired by the sharkd code (json_puts_string is also borrowed from that). The only observed differences in the tshark output: - JSON-GLib ignores duplicates, json_dumper does not and may produce duplicates and currently print two "ip.opt.sec_prot_auth_unassigned". - JSON-GLib adds a space before a colon (unimportant formatting detail). - (Not observed, but UTF-8 strings will be wrong like bug 14948.) A test was added to catch changes in the tshark output. I also fuzzed json_dumper with libFuzzer + UBSAN/ASAN and fixed an off-by-one error. Change-Id: I0c85b18777b04d1e0f613a3d59935ec59be87ff4 Link: https://www.wireshark.org/lists/wireshark-dev/201811/msg00052.html Reviewed-on: https://code.wireshark.org/review/30732 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-01Fix "Follow TLS Stream" after ssl -> tls renamePascal Quantin1-2/+2
Change-Id: I53be2ae6fae135b2da98ae95deac535bcd37af74 Reviewed-on: https://code.wireshark.org/review/30473 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2018-11-01Revert "FT_BYTES: fix dissection of FT_BYTES when using SEP_SPACE and "NONE" ↵Pascal Quantin1-7/+6
options" This reverts commit 0457e6041942776ecff9d4377fc0ce5a340dbb7a. Change-Id: Id39722872efbe98648754d7543da7ae5b08f8b67 Reviewed-on: https://code.wireshark.org/review/30451 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2018-11-01FT_BYTES: fix dissection of FT_BYTES when using SEP_SPACE and "NONE" optionsJeremy Martin1-6/+7
SEP_SPACE and BASE_NONE both default to colon (:). Fix SEP_SPACE and add SEP_NONE Bug: 15253 Change-Id: Ib5db997714414370b08ffb9458c73d4aeef6aacf Reviewed-on: https://code.wireshark.org/review/30447 Reviewed-by: Jeremy Martin <boardermartin@gmail.com> Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-17wslua: Add support for base.RANGE_STRING handling.Richard Sharpe1-1/+1
A range string is passed as a table of tables, eg: range_string = { { 0, 24, "Some string for values 0 to 24" }, { 25, 25, "The string for value 25" }, { 26, 255, "The string for the remainder" } } Included is a minimal Lua test for range strings and value strings (which did not have one previously.) It will take more time than I currently have to figure out how to do a more exhaustive test. Also fixed some grammar issues in error messages along the way. Change-Id: Ia9d1efc8adabb6528c4bdcf1624c9ede49e2fdc6 Reviewed-on: https://code.wireshark.org/review/30211 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
2018-09-20proto.h: add type checks for VALS/VALS64/VALS_EXT_PTR/TFS/RVALSPeter Wu1-5/+8
These macros were evil as they silently ignored bad casts. Together with an updated checkAPIs.pl, this should reduce the likelihood of errors. Change-Id: I40ecc48a57b2061b4c65db4f4f7fffff21f159a8 Reviewed-on: https://code.wireshark.org/review/29757 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-08-31Add support for protocol aliases. Switch BOOTP to DHCP.Gerald Combs1-0/+12
Add support for aliasing one protocol name to another and for filtering using aliased fields. Mark aliased fields as deprecated. Rename the BOOTP dissector to DHCP and alias "bootp" to "dhcp". This lets you use both "dhcp.type" and "bootp.type" as display filter fields without having to duplicate all 500+ DHCP/BOOTP fields. To do: - Add checks to proto.c:check_valid_filter_name_or_fail? - Transition SSL to TLS. - Rename packet-bootp.c to packet-dhcp.c? Change-Id: I29977859995e8347d80b8e83f1618db441b10279 Ping-Bug: 14922 Reviewed-on: https://code.wireshark.org/review/29327 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-08-29epan: Remove unnecessary all protocols registration callbackJoão Valverde1-2/+3
We are exporting a registration function from libwireshark just to have it passed back as a callback. Seems unnecessary. Change-Id: I7621005c9be11691d319102326824c5e3520a6f3 Reviewed-on: https://code.wireshark.org/review/29328 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot Reviewed-by: João Valverde <j@v6e.pt>
2018-07-02Get rid of trailing space.Guy Harris1-1/+1
Change-Id: Id68b01264ada02274b63d26141df8d99419de0f5 Reviewed-on: https://code.wireshark.org/review/28565 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-07-02Add new encoding names for seconds/{micro,nano}second time stamps.Guy Harris1-8/+14
Add ENC_TIME_SECS_NSECS and ENC_TIME_SECS_USECS; they make it more explicit (especially to those not familiar with UN*X data types) what the representation is, allow for ENC_TIME_SECS_MSECS etc. if they're needed, and match names such as ENC_TIME_SECS and ENC_TIME_MSECS. Change-Id: I6ab36fb4da70563587141cd65ffff8523477b0c4 Reviewed-on: https://code.wireshark.org/review/28564 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-07-02Update a comment.Guy Harris1-4/+8
Change-Id: I867e344b75281e4faa0998f71d8d99b364d5a1f8 Reviewed-on: https://code.wireshark.org/review/28562 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-06-26Remove code specific to older versions of Visual Studio.Gerald Combs1-1/+1
Remove -DBUILD_WINDOWS and sections of code that we no longer use. Bug: 14715 Change-Id: Iae1a950e2f52f4ce45fcf0ae5dea06c1172c3a28 Reviewed-on: https://code.wireshark.org/review/28466 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-06-04When using the NEW_PROTO_TREE_API, the proto_tree_add... functions areJoerg Mayer1-4/+53
"redefined" to handle the same way as before. In dissectors using the new API, add all currently used proto_tree_add_xxx functions to the list of functions that take care of NEW_PROTO_TREE_API changes. Modify the dissectors that worked around the missing change. Change-Id: Ib6d6ec2c225d96c98c2a8f507648d7ad4bfb6c68 Reviewed-on: https://code.wireshark.org/review/28002 Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2018-04-19tshark: improve -G elastic-mapping command by adding filters.Dario Lombardo1-1/+1
The generated elastic mapping file is huge and it can hassle softwares like Kibana. This change adds the ability to append desired filters that will appear in the mapping file. This change adds the option --elastic-mapping-filter <protocols> to tshark. Example: tshark -G elastic-mapping --elastic-mapping-filter ip,udp,dns make only those 3 protocols to appear in the mapping file. Change-Id: Ie2dcd6e44be2d084e8e50cd6554bd90178da4e38 Reviewed-on: https://code.wireshark.org/review/27001 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-04-18tshark: add -G elastic-mapping report.Dario Lombardo1-0/+5
This option generates an ElasticSearch mapping file as described here: https://www.elastic.co/blog/analyzing-network-packets-with-wireshark-elasticsearch-and-kibana It leverages the Glib-json library. Change-Id: Iff25f991e87d3da07bf06654e353fb785799dde9 Reviewed-on: https://code.wireshark.org/review/26848 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-03-25Clean up REPORT_DISSECTOR_BUG().Guy Harris1-42/+25
Have it take a format and argument list as arguments, and have the formatting done inside the reporting code. That way, we're not relying on any particular wmem scope working. If WIRESHARK_ABORT_ON_DISSECTOR_BUG is set, try to add the message to the crash information (currently only supported in macOS), and print it to the standard error, before crashing. We won't necessarily have a usable crash dump to analyze, so we can't rely on that to find the cause of the crash. Ping-Bug: 14490 Change-Id: I2b39169c45c84f2ada31efa1d413bd28c140f8f4 Reviewed-on: https://code.wireshark.org/review/26643 Petri-Dish: Guy Harris <guy@alum.mit.edu> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-02-08epan: use SPDX indentifiers.Dario Lombardo1-13/+1
Skipping dissectors dir for now. Change-Id: I717b66bfbc7cc81b83f8c2cbc011fcad643796aa Reviewed-on: https://code.wireshark.org/review/25694 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-01-02Add ENC_VARINT_QUICAlexis La Goutte1-0/+5
Used to support variable length in QUIC protocol Bug: 13881 Change-Id: Ia274b1530152376c5fb4e364fc4cf5ab246be1b3 Reviewed-on: https://code.wireshark.org/review/24990 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Craig Jackson <cejackson51@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-12-29proto(.h): fix indent (align...)Alexis La Goutte1-1/+1
Change-Id: Ie3f41b76719a5e91c27b5ae2805f23cd26f1fa11 Reviewed-on: https://code.wireshark.org/review/25059 Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-12-14Add new plugin type for libwiresharkJoão Valverde1-2/+1
Allow epan itself to be extended by plugins. Adds the following new plugin interfaces: void plugin_epan_init() void plugin_epan_dissect_init(epan_dissect_t *) void plugin_epan_dissect_cleanup(epan_dissect_t *) void plugin_epan_cleanup() void plugin_epan_register_all_protocols(register_cb, gointer) [OPTIONAL] void plugin_epan_register_all_handoffs(register_cb, gointer) [OPTIONAL] Any one of these can be an empty function but the first four must be present. The motivation for the change is a better way to implement a language binding other than registering a fake protocol and stuffing everything into a single dissector call (and maybe require an extra packet_info field) but I expect there would be other interesting use cases. Change-Id: I215d50750ac7561fe25fdcdcfbc6a3f351984785 Reviewed-on: https://code.wireshark.org/review/24813 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot Reviewed-by: João Valverde <j@v6e.pt>
2017-12-14Refactor plugin registration and loadingJoão Valverde1-3/+10
Put different types of plugins (libwiretap, libwireshark) in different subdirectories, give libwiretap and libwireshark init routines that load the plugins, and have them scan the appropriate subdirectories so that we don't even *try* to, for example, load libwireshark plugins in programs that only use libwiretap. Compiled plugins are stored in subfolders of the plugin folders, with the subfolder name being the Wireshark minor version number (X.Y). There is another hierarchical level for each Wireshark library (libwireshark, libwscodecs and libwiretap). The folder names are respectively plugins/X.Y/{epan,codecs,wiretap}. Currently we only distribute "epan" (libwireshark) plugins. Change-Id: I3438787a6f45820d64ba4ca91cbe3c8864708acb Reviewed-on: https://code.wireshark.org/review/23983 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot Reviewed-by: João Valverde <j@v6e.pt>
2017-11-22Add Zigbee encoding, ENC_ZIGBEEMichael Mann1-0/+2
Add the "special handling" of length = 0xFF for single byte or 0xFFFF for uint16 value means size of field to follow is 0. Ping-Bug: 14138 Change-Id: I0baa40f63152b9420a6569ca6cc5eba638fbc790 Reviewed-on: https://code.wireshark.org/review/24428 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot Reviewed-by: Craig Jackson <cejackson51@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-11-19dissect_uleb128 -> tvb_get_varint/proto_tree_add_item_ret_lengthMichael Mann1-0/+3
Also update ENC_VARINT_PROTOBUF documentation while we're at it Change-Id: I72e1f9175adc0c6a8bb03ceddba04ffd4844a12e Reviewed-on: https://code.wireshark.org/review/24485 Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-10-26Add a ws_in6_addr typedef for struct e_in6_addr.Guy Harris1-3/+3
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-10-15Add support for BASE_OUIMichael Mann1-1/+5
Modeled after BASE_PT_XXX, this will format a FT_UINT24 to look a OUI, in the form of: XX:XX:XX (Manufacturer Name) for display. For display filtering, it will treat the value as hexadecimal. It requires that FT_UINT24 be the field type. Change-Id: I8716ae4dfcd4e854764a2425e2ff13c50f571d52 Reviewed-on: https://code.wireshark.org/review/23869 Reviewed-by: Richard Sharpe 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-10-10Change FI_VARINT to account for FI_BITS_XXX flagsMichael Mann1-2/+2
FI_BITS_XXX were using bits 5-15 of the field_info->flags bitmask. Move FI_VARINT to be outside of that range. Change-Id: I92efcb5644cdbb562537d2813b611e583315874b Reviewed-on: https://code.wireshark.org/review/23871 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-10-09Add ENC_VARINT_PROTOBUFMichael Mann1-0/+8
Encoding of integer datatypes of Protocol buffers https://developers.google.cn/protocol-buffers/docs/encoding Change-Id: I9f6d65ddca099c15c0634984e9394131f98d35a9 Reviewed-on: https://code.wireshark.org/review/23813 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-10-08proto(.h): fix indent (use spaces)Alexis La Goutte1-2/+2
Change-Id: I029a9db40c8ca5a67bb1db69c50d8f08b7f59ab2 Reviewed-on: https://code.wireshark.org/review/23864 Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-09-24Move DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME after ↵Guy Harris1-7/+7
__DISSECTOR_ASSERT_FIELD_TYPE_IS_TIME(). That's consistent with the other DISSECTOR_ASSERT_FIELD_TYPE... macros. Change-Id: I1f5711b29ae8a440b0529373eb7903ff122ea18e Reviewed-on: https://code.wireshark.org/review/23681 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-09-06plugins: config.h must not be included by public headersJoão Valverde1-0/+1
For a sane plugin build environment. Include config.h as the first header in the .c file instead. Fix by moving required compiler attribute macros to a new "ws_attributes.h" API header. Change-Id: I34f58a927f68c1a0e59686c14d214825149749e1 Reviewed-on: https://code.wireshark.org/review/23400 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>
2017-06-26Parse enterprise-numbers at run timeJoão Valverde1-0/+2
"enterprise-numbers" is converted to tab-separated values and renamed "enterprises". Unused fields are stripped. PENs are stored in a hash table loaded at run-time. User "enterprises" file is loaded from the personal config dir. Misc make-sminmpec.pl improvements and fixes. Note: names of type "Entity (formerly ...)" have the formerly part commented out for a cleaner output. Change-Id: I60c533afbe3e399077fbf432088064471ad3e1e2 Reviewed-on: https://code.wireshark.org/review/22246 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: João Valverde <j@v6e.pt>
2017-04-28Add proto_tree_add_item_ret_boolean().Guy Harris1-1/+8
It does what it says on the label. You get back TRUE or FALSE in a gboolean. While we're at it, remove a copied-and-pasted comment that doesn't apply, and update another comment. Change-Id: I117391d2ffe44124a614a7f64dad1b389c1ebc6a Reviewed-on: https://code.wireshark.org/review/21394 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-04-26Add proto_tree_add_item_ret_uint64Michael Mann1-0/+4
Just like proto_tree_add_item_ret_uint, but with 64-bit support Change-Id: Ie0cbfda9e63bf21e85df2d674e391a6c0abe92f7 Reviewed-on: https://code.wireshark.org/review/21355 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-04-18Rename BASE_VALS_NO_UNKNOWN to BASE_SPECIAL_VALS.Guy Harris1-1/+1
It makes it a bit clearer what its purpose is - to allow a value_string to be used for numeric rather than enumerated fields, giving certain values of the field a special meaning. Change the explanation in the documentation to match as well. Change-Id: Id07b22eee996b79ea5f3473928d29adcabe09bf3 Reviewed-on: https://code.wireshark.org/review/21209 Reviewed-by: Guy Harris <guy@alum.mit.edu>