Commit Graph

51 Commits

Author SHA1 Message Date
Evan Huus a252026213 Fix minor issue introduced with conversion to new expert API in r51688.
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-20 22:51:14 +00:00
Michael Mann 02a8391535 Require dissector_try_string to pass a data parameter to its subdissectors. 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-11-02 15:52:25 +00:00
Pascal Quantin a0c53ffaa1 emem -> wmem conversion:
- 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-22 15:50:55 +00:00
Michael Mann 9e3f9b449f expert_add_info_format_text -> expert_add_info_format
svn path=/trunk/; revision=51852
2013-09-09 00:44:09 +00:00
Michael Mann 5405b34469 Batch of filterable expert info.
svn path=/trunk/; revision=51688
2013-09-02 23:32:31 +00:00
Alexis La Goutte 44085718ba Fix (-W)documentation error found by Clang
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-08-10 21:29:42 +00:00
Anders Broman 2e52e2ac99 [-Wmissing-prototypes]
Use explicit casts.

svn path=/trunk/; revision=48347
2013-03-17 09:11:21 +00:00
Bill Meier 1823aa007c it's ==> its & its ==> it's as needed.
svn path=/trunk/; revision=47891
2013-02-26 01:06:19 +00:00
Guy Harris 29715ccc8f How can I get a new tvbuff that starts at an offset within a given
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
2013-02-19 23:17:07 +00:00
Martin Kaiser 5ff09963ab fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7800
use correct data types in eigrp dissector to prevent overflow

svn path=/trunk/; revision=45408
2012-10-08 20:43:06 +00:00
Jeff Morriss 2552c750e5 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45017
2012-09-20 02:03:38 +00:00
Jakub Zawadzki 5a8783f5b1 Initial commit to support yet another method of passing data between dissectors.
Add new parameter 'data' to heur_dissector_t and new_dissector_t, for now it's always NULL

svn path=/trunk/; revision=44860
2012-09-10 21:40:21 +00:00
Bill Meier 638d74d43f Use val_to_str_const() where appropriate;
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-08-10 22:55:02 +00:00
Bill Meier 859affc2bd Don't call subdissectors / expert...() / col...() under 'if (tree)'
Also:
 Remove some uneeded initializers;
 Do some whitespace cleanup and re-formatting.

svn path=/trunk/; revision=43681
2012-07-12 17:22:47 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Jakub Zawadzki e2c680b245 Fix some "conflicting" value_string warnings.
copy & paste errors, not 0-terminated value_string arrays, etc.

svn path=/trunk/; revision=42260
2012-04-26 14:41:37 +00:00
Jeff Morriss 9ce0b54c8f Fix one of the dissector assertions in 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-18 13:57:30 +00:00
Bill Meier 87cf82e056 Use tvb_new_subset_remaining() rather than tvb_new_subset();
#include <styring.h> not req'd (in a few cases);
Minor reformating & whitespace cleanup.

svn path=/trunk/; revision=41374
2012-03-06 16:58:09 +00:00
Alexis La Goutte 7d7b0ad788 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=40901
2012-02-06 22:13:52 +00:00
Anders Broman ae8165fd4c Fix some set but not used [-Wunused-but-set-variable] warnings.
svn path=/trunk/; revision=39579
2011-10-25 20:08:26 +00:00
Bill Meier 54b72021bb Fix encoding arg for various fcn calls:
- 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-24 19:57:53 +00:00
Bill Meier d65261d344 Use ENC_NA as proto_tree_add_item() encoding arg for FT_ETHER hf[] field type.
(Some minor whitespace cleanup).

svn path=/trunk/; revision=39488
2011-10-20 14:07:54 +00:00
Bill Meier 293049dfba Do some conversions of proto_tree_add_item() 'encoding' arg.
(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-16 23:38:49 +00:00
Anders Broman 44eb67d3c7 From Donnie Savage:
EIGRP dissector cleanup.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6459

svn path=/trunk/; revision=39438
2011-10-16 17:21:19 +00:00
Chris Maynard 5bcc7450ee There are no preferences for this dissector so eliminate unneeded preference-related code. Fixes Coverity CID 1311.
svn path=/trunk/; revision=39391
2011-10-12 18:01:41 +00:00
Anders Broman bf76975958 Use guint64
svn path=/trunk/; revision=39342
2011-10-10 19:16:58 +00:00
Anders Broman 29d57edb56 From Donnie Savage:
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 18:11:18 +00:00
Bill Meier 67ee5049d4 Convert 'encoding' parameter of certain proto_tree_add_item() calls in 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-10 00:39:31 +00:00
Bill Meier 4e57694d4a Convert 'encoding' parameter of certain proto_tree_add_item() calls in 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-06 03:35:44 +00:00
Bill Meier 94f36ca4ff Use ENC_NA as encoding for proto_tree_add_item() calls which directly 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-10-04 22:44:31 +00:00
Stephen Fisher 5c5e9a377a From Peter Paluch via bug #5877: EIGRP dissector enhancement for RS/EOT
flags

Me: Add Peter to AUTHORS file.


svn path=/trunk/; revision=36965
2011-05-02 16:40:19 +00:00
Bill Meier 121c65c613 Remove unneeded #includes (stdio.h,stdlib.h);
Whitespace cleanup: trailing, indentation, "4-space tabs"

svn path=/trunk/; revision=35850
2011-02-07 18:49:29 +00:00
Guy Harris a8bc4a0d13 Rename the routines that handle dissector tables with unsigned integer
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-12-20 05:35:29 +00:00
Stig Bjørlykke 6bf3129f17 Fix the offset errors reported in bug 5261.
svn path=/trunk/; revision=34267
2010-09-27 21:01:54 +00:00
Jaap Keuter 56351b2c50 From Jochen Bartl:
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-03-19 22:02:01 +00:00
Jaap Keuter bad03bdd51 From Jochen Bartl:
Expert infos patch for EIGRP dissector.

svn path=/trunk/; revision=31749
2010-02-01 07:43:07 +00:00
Jaap Keuter 4bc1280033 From Jochen Bartl:
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-26 07:00:15 +00:00
Anders Broman 4d2e653901 From Didier Gautheron:
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
2009-10-09 07:24:33 +00:00
Anders Broman 8e00a20710 From Jochen Bartl:
EIGRP dissector enhancements (IPv6, Stub routing, Authentication TLVs)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3907

svn path=/trunk/; revision=29473
2009-08-19 11:34:40 +00:00
Kovarththanan Rajaratnam 8b515e9340 Switch a bunch of dissectors over to using tvb_new_subset_remaining()
svn path=/trunk/; revision=29446
2009-08-16 12:36:22 +00:00
Kovarththanan Rajaratnam 0a5b014cec Don't guard col_clear with col_check
svn path=/trunk/; revision=29344
2009-08-09 07:36:13 +00:00
Kovarththanan Rajaratnam e971354a54 Don't guard col_set_str (COL_PROTOCOL) with col_check
svn path=/trunk/; revision=29340
2009-08-09 06:26:46 +00:00
Stig Bjørlykke b228488bc0 From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
    for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
    FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero

svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
Jaap Keuter 4838e5d7f2 From Max Ivanov:
The destination unreachable indication for external IP routes is at offset 24, not 4 as in internal IP routes.

svn path=/trunk/; revision=25598
2008-06-25 06:18:23 +00:00
Jaap Keuter 0a34df9b85 FIx for bug 2381:
The eigrp update packets may contain more than one destination advertisement
per one "IP external route" or "IP internal route" TLV. Recurse over prefix/network
address pairs until TLV is exhausted.

svn path=/trunk/; revision=24721
2008-03-24 10:49:23 +00:00
Ronnie Sahlberg feab79e328 change a whole bunch of ethereal into wireshark
svn path=/trunk/; revision=18196
2006-05-21 04:49:01 +00:00
Gerald Combs 5ff26fa19e Remove leftover debugging code.
svn path=/trunk/; revision=14152
2005-04-20 19:50:11 +00:00
Gerald Combs c5f8de0fbd Fix an infinite loop. Fixes bug 80.
svn path=/trunk/; revision=14151
2005-04-20 19:33:03 +00:00
Guy Harris eaadcc4c62 Move various tables into the epan directory.
svn path=/trunk/; revision=12130
2004-09-29 00:52:45 +00:00
Guy Harris 3a583aeb59 From Albert Chin: rename resolv.{ch} to addr_resolv.{ch}, so that an
include of <resolv.h> in any system header file gets the system
<resolv.h> (needed for builds on Tru64 with GTK+ 1.2[.x]).

svn path=/trunk/; revision=11615
2004-08-06 19:57:49 +00:00