aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-eigrp.c
AgeCommit message (Collapse)AuthorFilesLines
2014-09-16Fix spelling: cant-->can't, wont-->won't, etcBill Meier1-2/+2
Change-Id: I4497f1b8b6eab0e576d9dd31b732965f9a6679c6 Reviewed-on: https://code.wireshark.org/review/4124 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-08-09Clean up Internet checksum handling.Guy Harris1-9/+1
Add macros to set entries of a vec_t, one for use when you have a pointer to private data, and one for use when you have data in a tvbuff. The latter wraps the use of tvb_get_ptr(), so that you're not directly calling it in a dissector. Move ip_checksum() to epan/in_cksum.c, and add an ip_checksum_tvb() that wraps the use of tvb_get_ptr(). In the CARP dissector, give the length variable an unsigned type - there's no benefit to it being signed, and that requires some casts to be thrown around. In the DCCP dissector, check only against the coverage length to see if we have enough data, combine the "should we check the checksum?" check with the "*can* we check the checksum?" check in a single if, and throw a dissector assertion if the source network address type isn't IPv4 or IPv6. Get rid of inclues of <epan/in_cksum.h> in dissectors that don't use any of the Internet checksum routines. In the HIP dissector, make sure we have the data to calculate the checksum before doing so. Change-Id: I2f9674775dbb54c533d33082632809f7d32ec8ae Reviewed-on: https://code.wireshark.org/review/3517 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-26convert to proto_tree_add_subtree[_format]Michael Mann1-32/+13
Change-Id: I525ac2aae2bdbfd5f3a2f3b35f1bf10dde053f66 Reviewed-on: https://code.wireshark.org/review/2667 Tested-by: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-06-19Revert "Fixup: tvb_* -> tvb_captured"Michael Mann1-7/+7
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-7/+7
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>
2014-06-09Add Modelines infoAlexis La Goutte1-0/+13
Change-Id: If3e77cbdfdeab75766984b10b3356b8343100602 Reviewed-on: https://code.wireshark.org/review/2065 Reviewed-by: Evan Huus <eapache@gmail.com>
2014-06-07tvb_new_subset -> tvb_new_subset_length when length parameters are equal.Michael Mann1-1/+1
tvb_new_subset -> tvb_new_subset_remaining it appears that's what the intention is. Change-Id: I2334bbf3f10475b3c22391392fc8b6864454de2d Reviewed-on: https://code.wireshark.org/review/1999 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-06-02EIGRP Sequence TLV Dissector PatchPeter Palúch1-34/+47
In the EIGRP packet dissector, the dissector routine for the Sequence TLV dissected the TLV only up to the first address in the list. However, the Sequence TLV contains a variably sized list of addresses. This patch modifies the routine so that it processes the entire TLV, not just the first address in the contained list. Also, in the dissect_eigrp(), replaced calls to tvb_new_subset() with the reported length set to -1 with the call to tvb_new_subset_length(). TLVs always carry information about their length. And this time, correct truly ALL calls in the switch{} section. Sample packet capture is available in BugZilla. Bug: 10156 Change-Id: Idaaf182c05bcf799f770f23a2ce2b1e05a3d569a Reviewed-on: https://code.wireshark.org/review/1911 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-05-15Get rid of some uses of tvb_get_ptr().Guy Harris1-1/+1
Introduce a new tvb_ipxnet_to_string() routine to help that. Change-Id: Icb27f7cdd6e6e7de67e765715e450063d7de6072 Reviewed-on: https://code.wireshark.org/review/1647 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-03-04Remove all $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^ \* \$Id\$/,+1 d') Fix manually some typo (in export_object_dicom.c and crc16-plain.c) Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8 Reviewed-on: https://code.wireshark.org/review/497 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2013-12-20Change G_GINT64_CONSTANT(xxxxU) to G_GUINT64_CONSTANT(xxxx)Jakub Zawadzki1-2/+2
svn path=/trunk/; revision=54314
2013-11-20Fix minor issue introduced with conversion to new expert API in r51688.Evan Huus1-1/+1
Specifically, proto_tree_add_expert() must take an actual tree node (for example from proto_item_add_subtree()) and cannot take just any old item node. The original intent (before the conversion) appeared to be just to put it on the tree, so do that. Another assertion gone from https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9406 svn path=/trunk/; revision=53456
2013-11-02Require dissector_try_string to pass a data parameter to its subdissectors. ↵Michael Mann1-2/+2
There weren't that many calls, so might as well modify the function than create a need for dissector_try_string_new. svn path=/trunk/; revision=53049
2013-09-22emem -> wmem conversion:Pascal Quantin1-1/+1
- ep_tvb_get_bits() -> wmem_packet_tvb_get_bits() - tvb_g_memdup()/ep_tvb_memdup() -> tvb_memdup() - tvb_fake_unicode()/tvb_get_ephemeral_faked_unicode() -> tvb_get_faked_unicode() - tvb_get_g_string()/tvb_get_ephemeral_string()/tvb_get_seasonal_string() -> tvb_get_string() - tvb_get_g_unicode_string()/tvb_get_ephemeral_unicode_string() -> tvb_get_unicode_string() - tvb_get_ephemeral_string_enc() -> tvb_get_string_enc() - update docs accordingly svn path=/trunk/; revision=52172
2013-09-09expert_add_info_format_text -> expert_add_info_formatMichael Mann1-7/+7
svn path=/trunk/; revision=51852
2013-09-02Batch of filterable expert info.Michael Mann1-38/+47
svn path=/trunk/; revision=51688
2013-08-10Fix (-W)documentation error found by ClangAlexis La Goutte1-67/+28
packet-eigrp.c:633:10: error: unrecognized parameter passing direction, valid directions are '[in]', '[out]' and '[in,out]' [-Werror,-Wdocumentation] * @param[in|out] tree detail dissection result ^~~~~~~~ packet-eigrp.c:638:5: error: '@return' command used in a comment that is attached to a function returning void [-Werror,-Wdocumentation] * @return void ~^~~~~~~~~~~ packet-eigrp.c:691:10: error: unrecognized parameter passing direction, valid directions are '[in]', '[out]' and '[in,out]' [-Werror,-Wdocumentation] * @param[in|out] tree detail dissection result ^~~~~~~~ packet-eigrp.c:696:5: error: '@return' command used in a comment that is attached to a function returning void [-Werror,-Wdocumentation] * @return void ~^~~~~~~~~~~ packet-eigrp.c:765:10: error: unrecognized parameter passing direction, valid directions are '[in]', '[out]' and '[in,out]' [-Werror,-Wdocumentation] * @param[in|out] tree detail dissection result ^~~~~~~~ packet-eigrp.c:769:5: error: '@return' command used in a comment that is attached to a function returning void [-Werror,-Wdocumentation] * @return void ~^~~~~~~~~~~ packet-eigrp.c:814:10: error: unrecognized parameter passing direction, valid directions are '[in]', '[out]' and '[in,out]' [-Werror,-Wdocumentation] * @param[in|out] tree detail dissection result ^~~~~~~~ packet-eigrp.c:818:5: error: '@return' command used in a comment that is attached to a function returning void [-Werror,-Wdocumentation] * @return void ~^~~~~~~~~~~ packet-eigrp.c:853:10: error: unrecognized parameter passing direction, valid directions are '[in]', '[out]' and '[in,out]' [-Werror,-Wdocumentation] * @param[in|out] tree detail dissection result ^~~~~~~~ packet-eigrp.c:857:5: error: '@return' command used in a comment that is attached to a function returning void [-Werror,-Wdocumentation] * @return void ~^~~~~~~~~~~ packet-eigrp.c:878:10: error: unrecognized parameter passing direction, valid directions are '[in]', '[out]' and '[in,out]' [-Werror,-Wdocumentation] * @param[in|out] tree detail dissection result ^~~~~~~~ packet-eigrp.c:882:19: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation] * @param[out] None ~~~~~~~~~~~~~~~^ packet-eigrp.c:884:5: error: '@return' command used in a comment that is attached to a function returning void [-Werror,-Wdocumentation] * @return void ~^~~~~~~~~~~ packet-eigrp.c:880:15: error: parameter 'pinfo' not found in the function declaration [-Werror,-Wdocumentation] * @param[in] pinfo general data about the protocol ^~~~~ packet-eigrp.c:881:15: error: parameter 'ti' not found in the function declaration [-Werror,-Wdocumentation] * @param[in] ti protocol item ^~ packet-eigrp.c:882:16: error: parameter 'None' not found in the function declaration [-Werror,-Wdocumentation] * @param[out] None ^~~~ packet-eigrp.c:902:19: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation] * @param[out] None ~~~~~~~~~~~~~~~^ packet-eigrp.c:904:5: error: '@return' command used in a comment that is attached to a function returning void [-Werror,-Wdocumentation] * @return void ~^~~~~~~~~~~ packet-eigrp.c:902:16: error: parameter 'None' not found in the function declaration [-Werror,-Wdocumentation] * @param[out] None ^~~~ packet-eigrp.c:1712:15: error: parameter 'pinfo' not found in the function declaration [-Werror,-Wdocumentation] * @param[in] pinfo general data about the protocol ^~~~~ packet-eigrp.c:1712:15: note: did you mean 'ti'? * @param[in] pinfo general data about the protocol ^~~~~ ti packet-eigrp.c:2585:18: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation] * @param[in] void ~~~~~~~~~~~~~~^ packet-eigrp.c:2585:15: error: parameter 'void' not found in the function declaration [-Werror,-Wdocumentation] * @param[in] void ^~~~ packet-eigrp.c:3324:18: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation] * @param[in] void ~~~~~~~~~~~~~~^ packet-eigrp.c:3324:15: error: parameter 'void' not found in the function declaration [-Werror,-Wdocumentation] * @param[in] void ^~~~ svn path=/trunk/; revision=51266
2013-03-17[-Wmissing-prototypes]Anders Broman1-0/+1
Use explicit casts. svn path=/trunk/; revision=48347
2013-02-26it's ==> its & its ==> it's as needed.Bill Meier1-6/+6
svn path=/trunk/; revision=47891
2013-02-19How can I get a new tvbuff that starts at an offset within a givenGuy Harris1-1/+1
tvbuff and runs to the end of the tvbuff? Let me count the ways.... Replace a bunch of different ways of doing that (some incorrect, in that they're not properly handling tvbuffs where the captured and reported lengths are different) with tvb_new_subset_remaining(). svn path=/trunk/; revision=47751
2012-10-08fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7800Martin Kaiser1-2/+2
use correct data types in eigrp dissector to prevent overflow svn path=/trunk/; revision=45408
2012-09-20We always HAVE_CONFIG_H so don't bother checking whether we have it or not.Jeff Morriss1-3/+1
svn path=/trunk/; revision=45017
2012-09-10Initial commit to support yet another method of passing data between dissectors.Jakub Zawadzki1-2/+2
Add new parameter 'data' to heur_dissector_t and new_dissector_t, for now it's always NULL svn path=/trunk/; revision=44860
2012-08-10Use val_to_str_const() where appropriate;Bill Meier1-4/+3
Also (for a few files): - create/use some extended value strings; - remove unneeded #include files; - remove unneeded variable initialization; - re-order fcns slightly so prefs_reg_handoff...() at end, etc svn path=/trunk/; revision=44438
2012-07-12Don't call subdissectors / expert...() / col...() under 'if (tree)'Bill Meier1-116/+114
Also: Remove some uneeded initializers; Do some whitespace cleanup and re-formatting. svn path=/trunk/; revision=43681
2012-06-28Update Free Software Foundation address.Jakub Zawadzki1-1/+1
(COPYING will be updated in next commit) svn path=/trunk/; revision=43536
2012-04-26Fix some "conflicting" value_string warnings.Jakub Zawadzki1-2/+2
copy & paste errors, not 0-terminated value_string arrays, etc. svn path=/trunk/; revision=42260
2012-03-18Fix one of the dissector assertions in ↵Jeff Morriss1-9/+10
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6962 : tidlist is registered as a FT_UINT16 so don't add an array of 16-bit entities (tids) using it. Instead add each TID individually. svn path=/trunk/; revision=41637
2012-03-06Use tvb_new_subset_remaining() rather than tvb_new_subset();Bill Meier1-1637/+1637
#include <styring.h> not req'd (in a few cases); Minor reformating & whitespace cleanup. svn path=/trunk/; revision=41374
2012-02-06Fix some Dead Store (Dead assignement/Dead increment) Warning found by ClangAlexis La Goutte1-13/+17
svn path=/trunk/; revision=40901
2011-10-25Fix some set but not used [-Wunused-but-set-variable] warnings.Anders Broman1-2/+1
svn path=/trunk/; revision=39579
2011-10-24Fix encoding arg for various fcn calls:Bill Meier1-2/+2
- proto_tree_add_bits_item - proto_tree_add_bits_ret_val - proto_tree_add_bitmask - tvb_get_bits - tvb_get_bits16 - tvb_get_bits24 - tvb_get_bits32 - tvb_get_bits64 svn path=/trunk/; revision=39539
2011-10-20Use ENC_NA as proto_tree_add_item() encoding arg for FT_ETHER hf[] field type.Bill Meier1-2/+2
(Some minor whitespace cleanup). svn path=/trunk/; revision=39488
2011-10-16Do some conversions of proto_tree_add_item() 'encoding' arg.Bill Meier1-11/+11
(previously missed). 57 FT_BOOLEAN: FALSE-->ENC_BIG_ENDIAN 31 FT_BOOLEAN: TRUE-->ENC_LITTLE_ENDIAN 10 FT_BYTES: ENC_BIG_ENDIAN-->ENC_NA 1 FT_BYTES: ENC_LITTLE_ENDIAN-->ENC_NA 21 FT_BYTES: FALSE-->ENC_NA 2 FT_BYTES: TRUE-->ENC_NA 2 FT_IPXNET: ENC_BIG_ENDIAN-->ENC_NA 6 FT_IPv6: ENC_BIG_ENDIAN-->ENC_NA 1 FT_IPv6: FALSE-->ENC_NA 6 FT_NONE: ENC_BIG_ENDIAN-->ENC_NA 19 FT_NONE: FALSE-->ENC_NA 3 FT_NONE: TRUE-->ENC_NA 1 FT_STRING: ENC_BIG_ENDIAN-->ENC_ASCII|ENC_NA 1 FT_STRING: ENC_LITTLE_ENDIAN-->ENC_ASCII|ENC_NA 5 FT_STRING: FALSE-->ENC_ASCII|ENC_NA 1 FT_STRING: TRUE-->ENC_ASCII|ENC_NA 4 FT_STRINGZ: ENC_NA-->ENC_ASCII|ENC_NA 8 FT_STRINGZ: FALSE-->ENC_ASCII|ENC_NA 1 FT_INT32: FALSE-->ENC_BIG_ENDIAN 1 FT_INT32: TRUE-->ENC_LITTLE_ENDIAN 11 FT_UINT8: 0-->ENC_BIG_ENDIAN 111 FT_UINT8: FALSE-->ENC_BIG_ENDIAN 17 FT_UINT8: TRUE-->ENC_LITTLE_ENDIAN 1 FT_UINT16: 0-->ENC_BIG_ENDIAN 68 FT_UINT16: FALSE-->ENC_BIG_ENDIAN 18 FT_UINT16: TRUE-->ENC_LITTLE_ENDIAN 4 FT_UINT24: FALSE-->ENC_BIG_ENDIAN 70 FT_UINT32: FALSE-->ENC_BIG_ENDIAN 1 FT_UINT32: TRUE-->ENC_LITTLE_ENDIAN 4 FT_UINT64: FALSE-->ENC_BIG_ENDIAN 1 FT_UINT64: TRUE-->ENC_LITTLE_ENDIAN 1 FT_UINT_STRING: FALSE-->ENC_ASCII|ENC_BIG_ENDIAN svn path=/trunk/; revision=39442
2011-10-16From Donnie Savage:Anders Broman1-78/+10
EIGRP dissector cleanup. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6459 svn path=/trunk/; revision=39438
2011-10-12There are no preferences for this dissector so eliminate unneeded ↵Chris Maynard1-61/+33
preference-related code. Fixes Coverity CID 1311. svn path=/trunk/; revision=39391
2011-10-10Use guint64Anders Broman1-1/+1
svn path=/trunk/; revision=39342
2011-10-10From Donnie Savage:Anders Broman1-1621/+3310
Re-write of the EIGRP dissector to support Multi-Protocol (TLV 2.0) and Multi-Topology (TLV 3.0). This version also support Service Advertisement Framework(SAF) extensions to EIGRP Dissector includes: - Dissection of all EIGRP Opcodes and TLVs - Decode of EIGRP Flags and bitfields - Decode of EIGRP Communities - Decode of latest EIGRP "wide metric" formats - Decode of EIGRP Extended Metrics - Decode of SAF packets with XML client data handed off to XML dissector From me: Fix checkapi errors/warnings use G_GINT64_CONSTANT and G_GINT64_MODIFIER svn path=/trunk/; revision=39339
2011-10-10 Convert 'encoding' parameter of certain proto_tree_add_item() calls in ↵Bill Meier1-24/+24
non-autogenerated epan/dissectors: Specifically: Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as the encoding parameter for proto_tree_add_item() calls which directly reference an item in hf[] which has a type of: FT_BOOLEAN FT_IPv4 FT_EUI64 FT_GUID FT_UINT_STRING Also: For type FT_ITv6 use ENC_NA. (This was missed in SVN #39260) svn path=/trunk/; revision=39328
2011-10-06Convert 'encoding' parameter of certain proto_tree_add_item() calls in ↵Bill Meier1-111/+111
non-autogenerated epan/dissectors: Specifically: Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as the encoding parameter for proto_tree_add_item() calls which directly reference an item in hf[] which has a type of: FT_UINT8 FT_UINT16 FT_UINT24 FT_UINT32 FT_UINT64 FT_INT8 FT_INT16 FT_INT24 FT_INT32 FT_INT64 FT_FLOAT FT_DOUBLE svn path=/trunk/; revision=39288
2011-10-04Use ENC_NA as encoding for proto_tree_add_item() calls which directly ↵Bill Meier1-4/+4
reference an hf item (in hf[] with types: FT_NONE FT_BYTES FT_IPV6 FT_IPXNET FT_OID Note: Encoding field set to ENC_NA only if the field was previously TRUE|FALSE|ENC_LITTLE_ENDIAN|ENC_BIG_ENDIAN svn path=/trunk/; revision=39260
2011-05-02From Peter Paluch via bug #5877: EIGRP dissector enhancement for RS/EOTStephen Fisher1-1/+17
flags Me: Add Peter to AUTHORS file. svn path=/trunk/; revision=36965
2011-02-07Remove unneeded #includes (stdio.h,stdlib.h);Bill Meier1-729/+729
Whitespace cleanup: trailing, indentation, "4-space tabs" svn path=/trunk/; revision=35850
2010-12-20Rename the routines that handle dissector tables with unsigned integerGuy Harris1-3/+3
keys to have _uint in their names, to match the routines that handle dissector tables with string keys. (Using _port can confuse people into thinking they're intended solely for use with TCP/UDP/etc. ports when, in fact, they work better for things such as Ethernet types, where the binding of particular values to particular protocols are a lot stronger.) svn path=/trunk/; revision=35224
2010-09-27Fix the offset errors reported in bug 5261.Stig Bjørlykke1-6/+6
svn path=/trunk/; revision=34267
2010-03-19From Jochen Bartl:Jaap Keuter1-9/+49
EIGRP IPX routing updates TLV cleanup. I have replaced the remaining proto_tree_add_text by proto_tree_add_item in IPX routing update TLVs. svn path=/trunk/; revision=32247
2010-02-01From Jochen Bartl:Jaap Keuter1-58/+83
Expert infos patch for EIGRP dissector. svn path=/trunk/; revision=31749
2009-10-26From Jochen Bartl:Jaap Keuter1-2/+12
This patch fixes the display filter for the prefix length of IPv6 external route updates and the length calculation of the destination address in IPv6 route updates. svn path=/trunk/; revision=30703
2009-10-09From Didier Gautheron:Anders Broman1-6/+7
Dissectors using call_dissector() function inside a 'if (tree) {}' block. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4107 svn path=/trunk/; revision=30415