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
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
The current MySQL dissector ignored the execute parameters as metadata is
needed from previous packets to decode the fields. I added the necessary code
to store these in conn_data and developed dissector for all fields I could
reproduce on the network.
This also fixes a memory leak by moving the stmts structure (the pointer to
which is stored in se_allocated memory) into se_trees.
From me: use se_tree_create_non_persistent() so the entire tree is forgotten when
the se_ memory goes away. Also some reformatting.
svn path=/trunk/; revision=39483
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
Patch 3 :
Enhance MySQL : Request/Response sub-dissector/function
(white space changes, use ENC_NA when appropriate, use
proto_tree_add_item()...)
Patch 4 :
Enhance MySQL : packet_ok, server, capa sub-dissector/function (white space
changes, use ENC_NA when appropriate, use proto_tree_add_item()...)
Split mysql_dissect_caps in mysql_dissect_caps_client and
mysql_dissect_caps_server
Rename mysql_dissect_ext_caps to mysql_dissect_ext_caps_client
svn path=/trunk/; revision=36309
Patch 1 :
Enhance MySQL : Reorder hf and Proto_reg
Patch 2 :
Enhance MySQL : white space changes, use ENC_NA when appropriate, use
proto_tree_add_item()
svn path=/trunk/; revision=36296
proto_tree_add_*(): just use proto_tree_add_item().
Replace some tvb_get_ptr()s with tvb_get_ephemeral_string() or
tvb_get_const_stringz().
Use tvb_memeql() & tvb_memcmp().
svn path=/trunk/; revision=35558
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
From me: Two additional fixes for FIELD_PACKET dissection;
Revision of the original patch from Alexis to
properly dissect a SHOW_FIELDS response message.
svn path=/trunk/; revision=34395
(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
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3216#c2
(Basically: how the dissector was dissecting frames--in the GUI--changed based
on the order you had clicked on them.)
... by rewriting how the frame states are maintained: rather than maintaining
a g_hash table of frames and their states, hang the (now se_alloc'd) frame
data off the frame (using p_*_proto_data()).
svn path=/trunk/; revision=27575
Implement mysql_dissect_row_packet().
From me: change all tvb_length_remaining() calls to
tvb_reported_length_remaining() so the dissector will throw an exception if
the packets are truncated.
svn path=/trunk/; revision=27568
proto_tree_add_*() calls: those APIs check if tree is NULL too and taking
out the dissector's ifs makes the code easier to read.
svn path=/trunk/; revision=27567
- if offset is 0, tvb_length is the same as tvb_length_remaining, just faster.
Replace
- col_append_fstr() with faster col_append_str()
- col_add_str() with col_set_str()
when it's safe
svn path=/trunk/; revision=23252