length (rather than being given -1), the length is, in most cases, the
maximum length of a null-*padded* string, rather than the actual length
of a null-*terminated* string. Treat it as such - allocate a buffer one
larger than the length (to leave room for a terminating '\0'), and pass
the size of that buffer to "tvb_get_nstringz0()". (Otherwise, in those
cases, the last character of the string is chopped off.)
Allow "proto_tree_add_string()" to add FT_STRINGZ items to the protocol
tree, as well as FT_STRING items.
In "alloc_field_info()", if we're passed a length of -1 and the field is
an FT_STRINGZ, don't make the length be the length remaining in the
tvbuff; that way, you *can* use a length of -1 in
"proto_tree_add_item()" for an FT_STRINGZ item, and have it get the
actual length by looking for the terminating '\0'.
(We might want to distinguish between null-terminated and null-padded
strings, e.g. with an FT_STRINGZPAD type. Null-terminated strings
rarely, if ever, have a specified length; the length is found by
scanning for the terminating '\0'. Null-padded strings presumably
always have a specified length, which is the length to which the string
is padded.)
svn path=/trunk/; revision=7784
so we don't mis-dissect non-RMCP traffic going to or from the RMCP port.
Use the dissector table set up for RMCP classes - use
"dissector_try_port()" rather than explicitly checking class values, and
have the sub-dissectors register in the dissector table rather than
registering their dissectors.
svn path=/trunk/; revision=7782
a TCP segment, and probably don't want to hand the segment to a TCP tap,
if the TCP segment is included in an error packet.
svn path=/trunk/; revision=7780
payload if there isn't any. (We do so for real UDP datagrams so that we
throw an exception; the exception doesn't cause anything to be displayed
if we're dissecting something inside an error packet.)
svn path=/trunk/; revision=7779
subtree item.
Have "ndps_string()" take a buffer pointer and length as arguments, and
fill in the supplied buffer if the buffer pointer is non-null. Have it
do bounds checking in any case. Use that to set the text of a server
info item, and also remove a level from the tree for server info.
Show various item counts and structure sizes in the protocol tree.
(This also, in some cases, fixes the offset for subsequent items, as not
only was the item count not put into the protocol tree, the offset
wasn't advanced past the item count.)
Instead of putting an item into the tree with "proto_tree_add_item()",
advancing the offset past it, and fetching the item's value with a
backed-off offset, just fetch the value first and put it into the tree
with the appropriate "proto_tree_add_XXX" call. Use switch statements
if the value is being compared against more than one constant.
Don't use a length of 0 in subtree items; use a length of -1, and then
set the length when the subtree is complete, so that if you click on the
subtree item it highlights all the bytes in the subtree.
Fix some "proto_tree_add_uint()" calls that were supposed to be
"proto_tree_add_item()" calls.
In a "Create job" operation, the alignment after the "Doc Content" item
had an extra 2 bytes added if it was non-zero; that seems a bit odd (if
no alignment is required, the stuff after that item is aligned on a
4-byte boundary, but if alignment is required, the stuff after that
items is aligned 2 bytes *off of* a 4-byte boundary), and caused at
least one capture to be misdissected.
Fix some cases where a counted list was inside a counted list, and the
inner count wasn't being fetched *or* used for the inner list.
Display counts in decimal, not hex.
Remove the question mark from the name of a Boolean preference; other
Boolean preferences don't have them, and it looks odd with a colon after
it - that's what the GUI code puts there. If Boolean preferences should
have a question mark, it should be put there by the GUI code, instead of
a colon.
svn path=/trunk/; revision=7778
multiple NetBIOS-over-TCP session service messages in a TCP segment, and
they can contain the final portions of different DCERPC calls. Don't
assume a frame number is sufficient to identify DCE RPC calls.
svn path=/trunk/; revision=7777
* Add a few missing dissections of return codes in reply packets
* fix a problem in LsaQuerySecret where two of the parameters are actually
unique pointer to unique pointer to object and not just one level of pointers.
* update the dissection of LSA_SECRET to look more correct in some captures.
Anyone that knows the content of the LSA_SECRET object is welcome to mail a description to me.
svn path=/trunk/; revision=7765
- fix a typo
- correctly hook-in capability notification subcodes
in the *bgpnotify_minor[] array
- add support for draft-ietf-idr-cease-subcode-02
svn path=/trunk/; revision=7756
matched if it succeeds, so that it gets re-read when we read the capture
file - it's a line containing a time stamp for a packet, so we need to
re-read it to get that time stamp.
svn path=/trunk/; revision=7752