in the frame. The filter "frame.protocols contains ip:icmp:ip" could
be used to find any ICMP packets containing IP headers.
Clean up whitespace.
svn path=/trunk/; revision=13118
to the end of the tvbuff.
Don't return a value from "dissect_h4501()" - the value isn't used, and
"dissect_h4501()" is registered with "register_dissector()", so it's not
supposed to return a value.
svn path=/trunk/; revision=13104
as the description - some aim_tlv tables have NULL in the end-of-table
entry.
For those that don't, replace "Unknown" with NULL; "Unknown" is now
redundant.
svn path=/trunk/; revision=13084
layer byte in the reassembled data - including it means we have to pass
to "tvb_new_real_data()" a pointer to the *second* byte of a mallocated
chunk of data, but that would require us to have the free routine for
the new tvbuff back that pointer up before freeing it (we aren't doing
that currently, which means that "free()" either complains bitterly or,
potentially, corrupts the arena, causing crashes later).
Put in some XXX comments about some issues seen when looking at the
code.
svn path=/trunk/; revision=13083
Add a DISSECTOR_ASSERT() macro, which is the usual type of assertion
macro, but throws a DissectorError exception with a message giving the
flien and line number and the failed test as a string. Use that macro
in "alloc_field_info()".
Report that exception in the Info column and the protocol tree, as well
as logging the exception failure with g_warning().
svn path=/trunk/; revision=13078
16-bit unsigned value into it, but we might round it up to a multiple of
4 bytes, which could overflow a guint16. Make arguments corresponding
to them "int" as well.
Use the reported length in "cops_analyze_packetcable_mm_obj()".
svn path=/trunk/; revision=13075
don't dissect attributes if there aren't any;
put each attribute into a subtree;
register the dissector by name.
Use "match_strval()" to check whether the message type is a known STUN
message type, and to generate the message type for the Info column.
Don't use "tvb_bytes_exist()" to check when we run out of data - use the
length fields from the packet. Check the sanity of those lengths, too.
svn path=/trunk/; revision=13063
come directly from packet data, so don't abort if they define a sequence
of keycodes that goes past 255 - just report errors for the keycodes
past 255.
Clean up indentation.
svn path=/trunk/; revision=13059
the modifier name for every keycode, just give the modifier name once
and then show all the keycodes), and use "proto_item_append_text()"
rather than building a string.
Clean up white space.
svn path=/trunk/; revision=13057
updates and enhancements:
- Added Cookie and L2-Specific sublayer support via preferences dialog.
- Added carried payload dissecting support from draft-ietf-l2tpext-pwe3-*
and draft-townsley-l2tpv3-mpls-02.txt
- Completed missing message types (call types) and result codes for stopccn
and cdn.
- Fixed conditionals for avp_vendor_id (Vendor-Specific AVPs)
- Changed Pseudowire Capabilities List AVPs to use subtree instead of tab
- Added numeric value of result and error codes
- Added Session ID for v3 data packets and missing flags and reserved
- Added version to the L2TPv3 protocol tree
- Changed `Tunnel Id' to `Control Connection Id' for v3
- Fixed offset for ctrl_tree on L2TPv3 over UDP
- Added `L2TPv3' in the COL_PROTOCOL and fixed handling of L2TP version
svn path=/trunk/; revision=13055
that doesn't mean it's padding at the end of a previous item - it might,
for example, be the *first* item in the chunk. Don't treat it as
padding.
Do, however, treat an item that begins with a zero byte as an item, but
break out of the loop processing items as soon as the item type is put
into the protocol tree, as there's no length field or data in an
RTCP_SDES_END item. Fix the comment for that loop to indicate that the
loop checks both for end-of-frame and for an RTCP_SDES_END item.
svn path=/trunk/; revision=13040
- Fix partly wrong cause values in the gmm (found by Miklos Szurdi)
- Fix high/low nibble swap of the force to standby field (found by
Miklos Szurdi)
- Dissect all elements
svn path=/trunk/; revision=13030
Have the DLSw dissector reject packets with an unknown version field.
Leave out some more fields when dissecting Capability Exchange packets,
as they're not used in those packets.
Show numbers in hex when appropriate.
Show the individual subfields of the flow control and SSP flags fields.
Show the frame direction field with val_to_str(), and show the raw
value.
Clean up indentation.
svn path=/trunk/; revision=13019
Add VENDOR_IETF to <epan/sminmpec.h>, and add an entry for it to
sminmpec_values[], so that the L2TP dissector can use them rather than
defining its own copy of the private enterprise number values and table
- and make it do so.
svn path=/trunk/; revision=12999
and de-boilerplate another part of the comment.
Fix a test of "octet_aligned" that was setting it to false rather than
testing whether it was false.
svn path=/trunk/; revision=12996
Clean up indentation.
The signatures are 4-byte strings - treat them as such.
Don't hide fields - dissectors should show what all bytes, other than
perhaps padding bytes, are.
Don't use the tvb_format_text-ified versions of strings as the value -
Ethereal already deals with non-printable characters when displaying
them.
When creating a subset tvbuff that runs to the end of the parent, use -1
as the length, don't calculate the length ourselves.
Use "tvb_reported_length()", not "tvb_length()", in loops that parse the
entire packet.
svn path=/trunk/; revision=12986
o BGPv4 SAFI-Specific Attribute support
- draft-kapoor-nalawade-idr-bgp-ssa-00.txt
o Tunnel SAFI support for BGP
- draft-nalawade-kapoor-tunnel-safi-02.txt
o Small length fix
svn path=/trunk/; revision=12977
Use "format_text()" or "tvb_format_text()" with the %s format, to handle
non-printable characters.
When uncompressing data into a new tvbuff, add it to the list of data
sources as we do elsewhere.
When putting items into the protocol tree from an uncompressed tvbuff,
use the offset into the tvbuff and the length of the item.
Fetch string lengths into a variable and use the variable rather than
repeatedly fetching the length from a tvbuff.
Use -1 rather than tvb_length_remaining() when putting a "to the end of
the tvbuff" item into the protocol tree.
Use "proto_tree_add_item()" to put items into the tree, rather than
"proto_tree_add_xxx" calls with a "tvb_get_yyy" call as the argument.
If we've fetched a value into a variable, don't re-fetch it in
"proto_tree_add_xxx" calls.
svn path=/trunk/; revision=12971
can register an OUI, and PIDs for that OUI, in the same fashion that
they can do so for SNAP (after which the 802a OUI Extended Ethertype is
clearly modeled).
svn path=/trunk/; revision=12967
Don't assign the result of a routine that mallocates data to a const
pointer - that forces us to cast the pointer when freeing the data.
svn path=/trunk/; revision=12960
Also, move up the freeing of the tag string to immediately after we're
done with it, so we don't leak it if we throw an exception getting the
value.
svn path=/trunk/; revision=12953
the top-level item for the buddy name, rather than extracting the string
into a mallocated buffer (and not freeing it...).
Put all the code to put stuff into the protocol tree inside "if(tree)".
svn path=/trunk/; revision=12950
- add more data to the Info structure of the h225 taps.
- Fix the output to the Info Column
This patch is not complete, but statistics should basically work now.
svn path=/trunk/; revision=12948
match what "register_tap_listener()" expects (rather than squelching
warnings about the differences by casting function pointers to "void
*").
Make static some functions not used outside the module in which they're
defined.
svn path=/trunk/; revision=12913
const pointer (so that we don't get complaints when we make the
tap-specific data argument to "tap_queue_packet()" a const pointer,
allowing dissectors to hand const data to a tap without a complaint), we
should make the tap per-packet function take a const pointer as an
argument as well. Do so.
In some taps, use _U_, or actually use the argument, rather than
sticking in dummy "X = X" assignments to fake use of parameters. (This
means that the tap functions in question no longer have the notion that
they act on a particular static structure wired in.)
svn path=/trunk/; revision=12910
Don't assign the const pointers passed to hash routines to non-const
pointers.
In "zonenm_to_str()", don't assume there's a null terminator in the
packet - use "tvb_get_string()" so that the buffer into which it's
copied is explicitly null-terminated.
Put the Domain & Port into the protocol tree as a "0xXXXXXXXX" string,
rather than as a string with one blank in it.
svn path=/trunk/; revision=12909
Don't assign the const pointers passed to hash routines to non-const
pointers.
Don't use "tvb_get_ptr()" to get a pointer to a data structure, and
dereference that pointer - there's no guarantee that the structure in
question will be located on an appropriate boundary in the data from the
packet (regardless of whether it's properly aligned within the data for
the protocol being dissected).
Put the record length for an EFP request into the protocol tree.
Check the sanity of the payload length for that request.
In "zonenm_to_str()", don't assume there's a null terminator in the
packet - use "tvb_get_string()" so that the buffer into which it's
copied is explicitly null-terminated.
Put the Domain & Port into the protocol tree as a "0xXXXXXXXX" string,
rather than as a string with one blank in it.
svn path=/trunk/; revision=12905
Don't assign the const pointers passed to hash routines to non-const
pointers.
Don't assume that strings the spec says are null-terminated are
necessarily null-terminated in the packet - use "tvb_strsize()" to find
the length of the purported null-terminated string; it'll throw the
appropriate exception if no null is found.
svn path=/trunk/; revision=12904
Don't supply our own definition of AF_INET or our own declaration of
"inet_pton()" - use the system ones if they're available.
"mkipv4_address()" doesn't modify the string passed to it - make it a
const pointer.
svn path=/trunk/; revision=12894
"ip_to_str()" and "ip6_to_str()".
Check the length of items for IPv4 and IPv6 addresses before displaying
them as such.
svn path=/trunk/; revision=12893