Commit Graph

93 Commits

Author SHA1 Message Date
Michael Mann daa70feddc Revert "Fixup: tvb_ensure_length_remaining -> tvb_ensure_captured_length_remaining"
See https://www.wireshark.org/lists/wireshark-dev/201406/msg00131.html

This reverts commit 021e7afc9f.

Change-Id: I0640eabce5ce8c4ff3a88ebf848b499f8bb8ed2f
Reviewed-on: https://code.wireshark.org/review/2429
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-06-19 17:23:41 +00:00
Dario Lombardo 021e7afc9f Fixup: tvb_ensure_length_remaining -> tvb_ensure_captured_length_remaining
Change-Id: I0228f3b6b7067bc0ce51f9d359f99fd18feb2b66
Reviewed-on: https://code.wireshark.org/review/2378
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-18 14:20:32 +00:00
Dario Lombardo 971ffd683e Fixup: tvb_get_string(z) -> tvb_get_string(z)_enc
Change-Id: I63a3704effe3fcab01a193dc39b6a22e9f1cf3fe
Reviewed-on: https://code.wireshark.org/review/2376
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-18 14:13:58 +00:00
Alexis La Goutte 296591399f Remove all $Id$ from top of file
(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>
2014-03-04 14:27:33 +00:00
Anders Broman 089e4d999f Try to fix [-Wmissing-prototypes]
svn path=/trunk/; revision=53741
2013-12-03 06:20:18 +00:00
Jeff Morriss a434d9647e Some patches from Peter Harris to make it possible to build the X11 dissector
again (and some various other improvements):

Rebuild the dissector with the latest xcbproto and mesa.


Subject: [PATCH 01/11] X11 dissector: Support CARD64 and INT64 types
These types are used by the new Present extension.

Subject: [PATCH 02/11] X11 dissector: Un-blacklist a few structures
The xinput structs are used by the latest xcb/proto, and the xkb
struct has been removed.

Subject: [PATCH 03/11] X11 dissector: Add hack for xinput:ChangeProperty
xinput:ChangeProperty should use switch/case, but only switch/bitcase
is supported at the moment. Add (hopefully temporary) hack.

Subject: [PATCH 04/11] X11 dissector: Use namespace for types
In particular, the name of the xsync struct 'INT64' collides with a
basic type of the same name.

Subject: [PATCH 05/11] X11 dissector: Add support for "Generic" events
All new extensions are using the new "Generic" events instead of
traditional events, because there aren't enough traditional event
numbers.

Denoted by <event xge="true"> in xcb/proto.

Subject: [PATCH 06/11] X11 dissector: Blacklist unused structures

Subject: [PATCH 07/11] X11 dissector: Support multiple enumref in a bitcase
XKB is weird.

Subject: [PATCH 08/11] X11 dissector: Support sumof

Subject: [PATCH 09/11] X11 dissector: Stop generating unused-but-set variables
(This patch also reverts r53298/r53299.)

svn path=/trunk/; revision=53531
2013-11-24 01:32:20 +00:00
Jakub Zawadzki ae59b09443 Add missing includes in order to remove exceptions.h from proto.h (next commit).
svn path=/trunk/; revision=53230
2013-11-10 15:59:37 +00:00
Michael Mann cf80442912 Convert some proto_tree_add_string_format calls to something more appropriate.
There seem to be several cases of proto_tree_add_string_format where a "string" value/filter doesn't really make sense because it's always empty, and is just being used as a "filterable subtree header (placeholder)".  They appear to be more for "presense" than "value" and should probably be FT_NONE, although I'd almost argue for removing the filter in favor of  proto_tree_add_text.

svn path=/trunk/; revision=52296
2013-09-30 15:21:09 +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 346f803d42 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 all manual inspection and most cases were either:
1. Case sensitivity differences between hf_ field name and formatted string.
2. Unnecessary whitespace between hf_ field name and colon in formatted string

There are cases where the hf_ field name doesn't quite match the proto_tree_add_uint_format, but it's close enough that one of them should be "right", I'm just not sure which is, I just know the string in proto_tree_add_uint_format is the one displayed.

svn path=/trunk/; revision=52098
2013-09-16 10:39:06 +00:00
Evan Huus d6d4c069d9 Replace some emem with wmem.
The windows-common dissector seems to make excessive use of strbufs - I
converted them and simplified a bit, but it could probably be simplified more.

svn path=/trunk/; revision=52008
2013-09-13 17:14:55 +00:00
Michael Mann da96b71c95 Add filterable expert info to generated X11 dissector. I didn't regenerate the dissector files, but did manually update the source (tools/process-x11-xcb.pl) so any future regeneration won't lose the changes.
svn path=/trunk/; revision=51834
2013-09-08 13:54:07 +00:00
Guy Harris b524ecebd8 Don't cast away constness (except in cases where an API makes that
impossible).

svn path=/trunk/; revision=50856
2013-07-23 23:42:14 +00:00
Michael Mann f42e5bc9c0 Remove check_col() and the occasional tree.
This leaves just the Pidl dissectors remaining for removal of check_col() in the dissectors directory.  A small handful of check_col() calls remain outside of the dissectors.

svn path=/trunk/; revision=49941
2013-06-14 19:46:54 +00:00
Michael Mann 553bec65ba Batch of filterable expert infos. This (mostly) completes the non-ASN.1 list of (built-in) dissectors that only had a small handful of add_expert_info_format calls.
svn path=/trunk/; revision=49602
2013-05-28 03:11:44 +00:00
Evan Huus 37600a157b Rename value string (and similar) functions to use a consistent pattern. This
was done using textual search+replace, not anything syntax-aware, so presumably
it got most comments as well (except where there were typos).

Use a consistent coding style, and make proper use of the WS_DLL_* defines.

Group the functions appropriately in the header.

I ended up getting rid of most of the explanatory comments since many of them
duplicated what was in the value_string.c file (and were out of sync with the
recent updates I made to those in r48633). Presumably most of the comments
should be in the .h file not the .c file, but there's enough churn ahead that
it's not worth fixing yet.

Part of https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8467

svn path=/trunk/; revision=48634
2013-03-29 00:26:23 +00:00
Bill Meier 371d2dc915 From beroset:
remove C++ incompatibilities
 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416 attachment #10401


svn path=/trunk/; revision=48441
2013-03-20 14:50:20 +00:00
Guy Harris 8c15ade43b Include <epan/show_exception.h>, as show_exception() is called.
svn path=/trunk/; revision=47926
2013-02-27 23:07:25 +00:00
Guy Harris 53fffe0414 Get rid of unnecessary includes of "packet-frame.h".
svn path=/trunk/; revision=47925
2013-02-27 23:02:18 +00:00
Guy Harris 6b629c4d92 Move show_exception() and show_reported_bounds_error() to
epan/show_exception.c, as it's used outside
epan/dissectors/packet-frame.c.  Update their callers to include
<epan/show_exception.h> to get their declaration.

Add a CATCH_NONFATAL_ERRORS macro that catches all exceptions that, if
there's more stuff in the packet to dissect after the dissector call
that threw the exception, doesn't mean you shouldn't go ahead and
dissect that stuff.  Use it in all those cases, including ones where
BoundsError was inappropriately being caught (you want those passed up
to the top level, so that the packet is reported as having been cut
short in the capture process).

Add a CATCH_BOUNDS_ERRORS macro that catches all exceptions that
correspond to running past the end of the data for a tvbuff; use it
rather than explicitly catching those exceptions individually, and
rather than just catching all exceptions (the only place that
DissectorError should be caught, for example, is at the top level, so
dissector bugs show up in the protocol tree).

Don't catch and then immediately rethrow exceptions without doing
anything else; just let the exceptions go up to the final catcher.

Use show_exception() to report non-fatal errors, rather than doing it
yourself.
 
If a dissector is called from Lua, catch all non-fatal errors and use
show_exception() to report them rather than catching only
ReportedBoundsError and adding a proto_malformed item.

Don't catch exceptions when constructing a trailer tvbuff in
packet-ieee8023.c - just construct it after the payload has been
dissected, and let whatever exceptions that throws be handled at the top
level.

Avoid some TRY/CATCH/ENDTRY cases by using checks such as
tvb_bytes_exist() before even looking in the tvbuff.

svn path=/trunk/; revision=47924
2013-02-27 22:43:54 +00:00
Bill Meier 96a24cc79f Fix spelling/typos found using a list of commonly misspelled words.
The misspellings were mostly in comments but some were
in text strings visible to the user.


svn path=/trunk/; revision=47899
2013-02-26 04:42:26 +00:00
Alexis La Goutte da2a2f39bd Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=47411
2013-02-01 09:21:57 +00:00
Michael Mann 86d690880f replace "unsigned" datatype with "guint". Some mpeg files needed "unsigned int" instead.
bugs 7825-7827 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7825)

svn path=/trunk/; revision=46928
2013-01-04 05:22:43 +00:00
Guy Harris 8ed7a73e22 Fix a bunch of warnings.
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
sizeof.

Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
strtol() and strtoul().

Change some data types to avoid those implicit conversion warnings.

When assigning a constant to a float, make sure the constant isn't a
double, by appending "f" to the constant.

Constify a bunch of variables, parameters, and return values to
eliminate warnings due to strings being given const qualifiers.  Cast
away those warnings in some cases where an API we don't control forces
us to do so.

Enable a bunch of additional warnings by default.  Note why at least
some of the other warnings aren't enabled.

randpkt.c and text2pcap.c are used to build programs, so they don't need
to be in EXTRA_DIST.

If the user specifies --enable-warnings-as-errors, add -Werror *even if
the user specified --enable-extra-gcc-flags; assume they know what
they're doing and are willing to have the compile fail due to the extra
GCC warnings being treated as errors.

svn path=/trunk/; revision=46748
2012-12-26 05:57:06 +00:00
Guy Harris ac6341f361 The strings added to the value_string table for X11 opcodes for
extensions were incorrectly made ephemeral, rather than seasonal, in
r44662.  They need to be seasonal, as they're used for dissecting all
packets in the X session.

Redo a couple of loops as for loops to make it a little clearer what
they're doing.

svn path=/trunk/; revision=45539
2012-10-14 18:18:37 +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
Michael Mann c7cbfac88d cleanup some unnecessary g_malloc calls
svn path=/trunk/; revision=44662
2012-08-25 00:39:17 +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 7882ec57c3 Improve use of the value_string x11_keysym_vals_source[]:
- Compile the value_string only as part of packet-x11.c
 - Create a value_string_ext to ref the value_string;
 - packet_vnc.c: Access the value_string using the value_string_ext;
 - packet-x11.c: Access the value-string using the value_string_ext
                 rather then building a temp GTree from the value_string.

svn path=/trunk/; revision=43558
2012-07-03 18:49:12 +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 d53320919a Remove unneeded #includes (stdlib, stdio, ctypes, time);
In a few cases: do some whitespace, indentation cleanup & reformatting.

svn path=/trunk/; revision=42632
2012-05-15 19:23:35 +00:00
Guy Harris 13095234ad "byte_order" is an encoding value, so it should be guint.
svn path=/trunk/; revision=42608
2012-05-12 22:56:46 +00:00
Bill Meier f2cd5350f6 Fix a compile error
svn path=/trunk/; revision=42606
2012-05-12 22:19:02 +00:00
Guy Harris 3896fea6c0 Get rid of remaining Booleans-as-encoding-arguments in
proto_tree_add_item() calls.

Updated tools/process-x11-xcb.pl to support different encoding values
for different fields.  Replaced the "little_endian" Boolean value with a
"byte_order" value containing the setting of the byte-order ENC_ bit. 
Regenerated X11 fields from current x.org git.

svn path=/trunk/; revision=42601
2012-05-12 20:07:08 +00:00
Guy Harris bd42162bfe hf_x11_keycodes is an FT_NONE; use ENC_NA with it.
svn path=/trunk/; revision=42595
2012-05-12 01:59:00 +00:00
Guy Harris 675416c0de string16_with_buffer_preallocated() takes a byte-order gboolean as its
argument.

svn path=/trunk/; revision=42594
2012-05-12 01:54:49 +00:00
Guy Harris f1020435f8 Get rid of remaining Booleans-as-encoding-arguments in
proto_tree_add_item() calls.

svn path=/trunk/; revision=42593
2012-05-12 00:43:46 +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
Guy Harris a53bf09cc1 If the reply length is < 32, that's an overflow, not a bug in the
dissector (unless you consider the calculation not being done in 64 bits
as a bug).  For now, toss a ReportedBoundsError.

svn path=/trunk/; revision=37946
2011-07-09 18:56:21 +00:00
Bill Meier d2269ce7d5 Fix gcc 4.6 "set but not used [-Wunused-but-set-variable]" warnings.
svn path=/trunk/; revision=37716
2011-06-19 18:47:35 +00:00
Chris Maynard 0a3319cbc6 Use a non-volatile temporary variable as a parameter to DISSECTOR_ASSERT().
This avoids an "assert with side effects" warning and resolves Coverity CID322.

svn path=/trunk/; revision=37441
2011-05-27 18:08:46 +00:00
Bill Meier 8ad97b46ca Fix a gcc 4.6 error: "variable might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]"
svn path=/trunk/; revision=37438
2011-05-27 13:23:54 +00:00
Jeff Morriss cc6fc23812 From Didier via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3055 :
Apply rev 25869 to most of the rest of the TCP-desegmenting dissectors.
(The SSL dissector was already updated in one of two spots with bug 4535/rev
32456.)

A couple of the patches had to be manually applied.

From me: Fix the comments to match the change (including in the TCP and SSL
dissectors.)

svn path=/trunk/; revision=36332
2011-03-25 19:02:18 +00:00
Gerald Combs aaeca955a5 Try to fix more Clang scan-build warnings.
svn path=/trunk/; revision=36005
2011-02-18 21:44:06 +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
Bill Meier 62e44e3f66 Minor cleanup:
- Initialize a few static global variables;
- Remove two unnecessary calls to g_hash_table_foreach_remove;
- Do whitespace cleanup and use consistent indentation;
- Fix a few typos and fix up several comments.

svn path=/trunk/; revision=35183
2010-12-14 01:50:31 +00:00
Jeff Morriss e031f88f0b Use val_to_str() instead of match_strval() to ensure we get a non-NULL result.
svn path=/trunk/; revision=32877
2010-05-18 14:04:31 +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
Jeff Morriss d43e7474f4 From Peter Harris via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4701 :
The ChangeProperty request always calls LISTofBYTE, which always tries to
dissect at least one byte, even when the request is empty. This causes
Wireshark to put a big, red, scary "Malformed Packet" entry in the dissection.

Also, ChangeProperty only dissects (data_length) bytes. data_length is "number
of units", and units may be 16 or 32-bit entities. In this case, the dissected
data will be truncated.

First reported in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4481#c10

The attached patch fixes these two bugs.

svn path=/trunk/; revision=32526
2010-04-21 00:47:55 +00:00
Jeff Morriss ea25410415 From Peter Harris via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4481 :
The XKEYBOARD extension is a pain in the... so XCB had to grow new ways to
describe the protocol.

This patch adds support to the Wireshark dissector, so it can successfully
process the XCB description of the XKEYBOARD extension.

Without this patch, "make x11-dissector" chokes on the current xcbproto from
git.

Also update the script to deal with the new mesa directory structure.

svn path=/trunk/; revision=32520
2010-04-20 00:18:51 +00:00