Commit Graph

65 Commits

Author SHA1 Message Date
Michael Mann 8081cf1d90 Add data parameter to tcp_dissect_pdus() as well as convert it to using "new" style dissectors.
Now that "bytes consumed" can be determined, should tcp_dissect_pdus() take advantage of that?

Should tcp_dissect_pdus return length (bytes consumed)?  There are many dissectors that just call tcp_dissect_pdus() then return tvb_length(tvb).  Seems like that could all be rolled into one.

svn path=/trunk/; revision=53198
2013-11-09 17:46:28 +00:00
Jakub Zawadzki 1899903f69 Include <epan/to_str.h> only when needed.
svn path=/trunk/; revision=53189
2013-11-09 13:41:10 +00:00
Bill Meier 0ad98563a2 From didier gautheron: remove redundant or use faster col_xxx functions
- when the text parameter is constant col_add_str() and col_set_str() are equivalent but col_set_str() is faster.
- same for  replace col_append_fstr and col_append_str
- remove col_clear() when it's redundant:
    + before a col_set/col_add if the dissector can't throw an exception.
- replace col_append() after a col_clear() with faster col_add... or col_set

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


svn path=/trunk/; revision=52948
2013-10-29 14:09:20 +00:00
Bill Meier 9874da2fcb #if 0 numerous "unused const variables" (mostly value-string-arrays);
Also; fix a few "set but not used" warnings.

svn path=/trunk/; revision=52780
2013-10-23 06:29:11 +00:00
Anders Broman 9c3be9d5ae Try to optimize heuristics slightly.
svn path=/trunk/; revision=52624
2013-10-15 18:19:57 +00:00
Bill Meier 2ac134b3c5 whitespace fixes; mostly: remove trailing blanks
svn path=/trunk/; revision=52591
2013-10-13 19:56:52 +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 b38ee917b1 Convert proto_tree_add_uint_format to proto_tree_add_uint_format_value if hf_ field name is the first part of the formatted string. This was done with a perl script on the dissectors directory (packet-*.c), followed by manual inspection of the output. The manual inspection yielded a few cases that really should have been proto_tree_add_uint or proto_tree_add_item, so I updated them accordingly.
The script didn't catch as many as I would have liked, but it's a start.

The most common (ab)use of proto_tree_add_uint_format was for appending strings to CRC/checksum values to note good or bad CRC/checksum.

svn path=/trunk/; revision=52045
2013-09-15 01:48:30 +00:00
Martin Kaiser c7f22db4d2 mark unused parameters
svn path=/trunk/; revision=51986
2013-09-12 21:17:21 +00:00
Anders Broman 71b93947de Try to make the STUN heuristic sligtly more efficient.
svn path=/trunk/; revision=51985
2013-09-12 20:53:51 +00:00
Evan Huus 7dbc052d78 More dissectors to wmem. There are no more dissectors using se_tree now, just a
few other places.

svn path=/trunk/; revision=51622
2013-09-01 01:00:11 +00:00
Anders Broman b85877977a Add "Modern" STUN to the preference.
svn path=/trunk/; revision=48806
2013-04-10 11:46:31 +00:00
Anders Broman ae747e4c4b From beroset:
remove C++ incompatibilities 
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416

svn path=/trunk/; revision=48430
2013-03-19 22:03:00 +00:00
Alexis La Goutte 88be4f8651 Remove some whitespaces
svn path=/trunk/; revision=48364
2013-03-17 19:22:44 +00:00
Alexis La Goutte 31b969a4b5 Replace tvb_get_ipv4 / ip_to_str ... by tvb_ip_to_str
svn path=/trunk/; revision=47181
2013-01-20 18:32:56 +00:00
Alexis La Goutte 26df7b88e5 Fix indent (Replace tabs by space) and add Modelines info
svn path=/trunk/; revision=47180
2013-01-20 18:32:47 +00:00
Alexis La Goutte 56bddf989b Use proto_tree_add_item for stun_att_reserved and use FT_BYTES type.
svn path=/trunk/; revision=47179
2013-01-20 18:32:37 +00:00
Alexis La Goutte 02bc1028b5 Replace tvb_get_ipv4 / ip_to_str ... by tvb_ip_to_str
svn path=/trunk/; revision=47150
2013-01-18 15:52:15 +00:00
Anders Broman c6f702432e Register in the UDP heuristic table rather than the internal one.
svn path=/trunk/; revision=47133
2013-01-17 16:10:22 +00:00
Anders Broman 9cdf3803a9 From David Bergeron:Added unknown attributes for STUN from RFC3489 that are now deprecated but does'nt appear with classicstun. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8179
svn path=/trunk/; revision=47002
2013-01-09 05:13:20 +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 9f92dc93c5 Add data parameter to call_dissector_only.
svn path=/trunk/; revision=44872
2012-09-11 08:28:07 +00:00
Jakub Zawadzki dee4443809 Add data parameter to dissector_try_heuristic
svn path=/trunk/; revision=44871
2012-09-11 08:26:48 +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
Gerald Combs e9b6fa072e se_tree_lookup32_array() can destroy its key. Make sure we refresh it
before passing it to se_tree_insert32_array(). Fixes bug 7569 reported
by Laurent Butti.

svn path=/trunk/; revision=44366
2012-08-09 00:20:18 +00:00
Michael Mann c809fb3703 Address bug 4097 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4097) by improving heuristics by limiting when the heuristics can be evaluated.
TURN and STUN channel data is negotiated by STUN, so its heuristics should only be based on a STUN negotiation, not raw UDP/TCP packets.  "Decode As" is still available for TURN and STUN channel data if the STUN negotiation isn't captured.  

svn path=/trunk/; revision=44068
2012-07-27 13:41:42 +00:00
Jakub Zawadzki b18e880040 Update FSF address - part II.
svn path=/trunk/; revision=43538
2012-06-28 23:18:38 +00:00
Bill Meier 34a0aba9d3 Don't do fcn calls in arg of g_?to??(); Macro may very well eval args multiple times.
svn path=/trunk/; revision=40444
2012-01-12 20:40:23 +00:00
Bill Meier 794757ae8f For proto_tree_add_item(..., proto_xxx, ...)use ENC_NA as the encoding arg.
Also: remove trailing whitespace for a number of files.

svn path=/trunk/; revision=39503
2011-10-21 02:10:19 +00:00
Bill Meier 126aa85393 Convert proto_tree_add_item() 'encoding' arg for field types FT_STRING, FT_STRINGZ, FT_UINT_STRING as follows:
1. If there's no character encoding (ENC_ASCII, ...) specified
    then use ENC_ASCII.
 2. For all but FT_UINT_STRING, always use ENC_NA
    (replacing any existing True/1/FALSE/0
    /ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN).



svn path=/trunk/; revision=39426
2011-10-15 18:46:26 +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 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
Anders Broman 14fbabcb26 Get rid of check_col() and use ENC.
svn path=/trunk/; revision=39153
2011-09-26 17:50:54 +00:00
Bill Meier 4a91af2383 Cleanup & simplify some code;
Rework code so it should work better with captured_length < reported_length;
Remove unused #defines.

svn path=/trunk/; revision=38952
2011-09-09 20:19:05 +00:00
Anders Broman b37aba3675 From Ken Cox:
The change causes dissect_stun_message() to pass control to subdissectors when 'tree' is NULL.
Part of the patch from
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6322

svn path=/trunk/; revision=38949
2011-09-09 05:16:39 +00:00
Jeff Morriss c204df4719 Use val_to_str() instead of blindly passing the return value from match_strval()
into a format routine (to ensure a non-NULL string pointer).

svn path=/trunk/; revision=37203
2011-05-17 18:53:35 +00:00
Chris Maynard dece07c8f3 Eliminate deadcode. Fixes Coverity CID 415.
svn path=/trunk/; revision=37127
2011-05-13 17:05:05 +00:00
Jeff Morriss c037bba949 Don't (blindly) pass the result of match_strval() into proto_tree_add_*():
some OS (like Solaris) don't like NULL pointers to strings in (s)printf
formats; use val_to_str() instead.

svn path=/trunk/; revision=35542
2011-01-15 18:58:42 +00:00
Chris Maynard bb6a0a0604 Update list of relevant protocol specs. Some drafts are now RFC's.
svn path=/trunk/; revision=35301
2010-12-29 20:58:14 +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
Jeff Morriss 729de1a635 As suggested in http://www.wireshark.org/lists/wireshark-dev/200809/msg00075.html
(as referenced in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2907 ) and
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3411 :

Write a new convenience routine for finding a conversation and, if it is not
found, create it.  The frame number and addresses are taken from pinfo (as is
the common case).

Use this function in a bunch of dissectors.

svn path=/trunk/; revision=32790
2010-05-13 18:28:34 +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
Bill Meier ce75ae1292 Upon 2nd thought: revert changes I made to remove 'if(checkcol(...)' around col_add_fstr(...)
svn path=/trunk/; revision=30134
2009-09-25 01:22:08 +00:00
Kovarththanan Rajaratnam c28bafe341 Use col_set_str instead of col_add_fstr when adding constant strings to COL_INFO
svn path=/trunk/; revision=30082
2009-09-22 21:18:11 +00:00
Bill Meier 121563dc20 Remove unneeded #includes (stdio.h & etc);
Remove a bunch calls to of check_cols();
Use tfs_set_notset from tfs.c instead of a locally defined tfs struct;
Use consistent indentation;
Adjust spacing on some lines and reformat a few long lines.

svn path=/trunk/; revision=29895
2009-09-14 14:03:32 +00:00
Jeff Morriss 1daf990897 From Stephane Bryant via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2815
but (since the patch no longer applied cleanly) essentially manually
re-implemented by me:

Rename "stun" to "classic stun" and "stun2" to "stun", to follow the usage
defined in draft-ietf-behave-rfc3489bis-18 section 2.

svn path=/trunk/; revision=29884
2009-09-13 23:03:38 +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
Bill Meier 3a61b43a42 packet-stun2 registers for TCP & UDP port 3478 so packet-stun need not register for same.
svn path=/trunk/; revision=29267
2009-08-02 19:20:20 +00:00
Stig Bjørlykke 0437f102c3 From Kovarththanan Rajaratnam:
More FT_XXX cleanup.

svn path=/trunk/; revision=28971
2009-07-07 09:02:59 +00:00