orthogonal to the byte order.
This means that we can't just test for a non-zero encoding to determine
whether the format is big-endian or little-endian when we set the
field's endianness flag; instead, for the types where we accept any
non-zero value as meaning "litle-endian", map it to ENC_LITTLE_ENDIAN.
When we use ENC_TIME_NTP, OR in the byte order flag. While we're at it,
in the dissectors that used ENC_TIME_NTP, update all the other encoding
items in proto_tree_add_item() calls to use the appropriate ENC_ value.
svn path=/trunk/; revision=35841
an encoding of ENC_TIME_NTP.
This increases the number of decimal places shown for NTP times (from 6 to 9),
so round the value to the nearest microsecond. (I can't tell if NTP times are
ever more precise than a microsecond--this rounding is mainly to be closer to
the old behavior.)
Use proto_tree_add_item() for some NTP times.
svn path=/trunk/; revision=35840
A patch to enhance add_fixed_field dissector
* Replace proto_tree_add_uint/boolean/... by proto_tree_add_item
* Replace some macro by bitmask (TSI..)
* Other stuff...
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5656
svn path=/trunk/; revision=35836
col_set_str simply stores the pointer passed to it, and luaL_checkstring
returns a temporary pointer. Changing col_set_str to col_add_str in
Columns_newindex seems to fix the issue.
svn path=/trunk/; revision=35795
compiler warning. (It looks like the only expected values will fit in 8 bits,
but it also appears that the code really is expecting 'of_code' to be stored in
16 bits on the wire.)
svn path=/trunk/; revision=35790
- add PATH-KEY object, PKSv4 and PKSv6 subobjects in ERO (RFC5520)
- new METRIC types, Objective Function (OF) object and TLV (RFC5541)
- new RP object Flags
- restructured PCEP_ERROR object dissection (easier to add new
error_types, error_values)
svn path=/trunk/; revision=35789
This patch fixes four issues with the Host Identity Protocol (HIP dissector:
1. The incorrect parsing of the "type 1" locator of HIP.
2. Updates the comments to reflect the approval of RFC 5770.
3. Cosmetic change (uppercase SPI)
4. Change in the checksum dissection
(when the HIP packet is UDP encapsulated 0 checksum is correct).
svn path=/trunk/; revision=35777
Error: the blurb for field "Carrier Number" ("tetra.carrier") matches the field name in packet-tetra.c
Error: the blurb for field "PDU" ("tetra.pdu") matches the field name in packet-tetra.c
Error: Found deprecated APIs in packet-tetra.c: dissector_add
svn path=/trunk/; revision=35769
- Define macros for certain CFLAGS in config.nmake iso of having defs in each makefile;
a. -DHAVE_CONFIG_H and -D_U_="" are now part of a macro named STANDARD_CFLAGS;
b. -WX has been replaced by WARNINGS_ARE_ERRORS (defined as -WX in config.nmake)
(This allows disabling "Warnings as Errors" by just changing config.nmake)
c. CVARSDLL definitions (not usage) have been removed from the various makefiles.
XXX: It appears the usage of CVARSDLL can also be removed (not yet done) since:
-DWIN32 and -DNULL=0 do not appear to be needed (any more);
-D_MT and _D_DLL are not needed since /MP causes these definitions.
d. Define a macro WARNINGS_CFLAGS with additional specific compiler (level4) warnings to be enabled.
E.G., 4295: array is too small to include a terminating null character
- config.nmake: reformat some long lines for readability;
- plugins\Makefile.nmake: clean-deps does nothing: remove it (and usage in top-level makefile);
- dissectors/Makefile.nmake: test to enable packet-rrc.obj target needs to include MSVC2010 ...
svn path=/trunk/; revision=35747
- Refactor capture info, A field, B field dissection.
- Clean up dissection, removing private A field, B field structures.
- Added standard references.
svn path=/trunk/; revision=35743
In the standard 802.3at-2009 the PoE+ TLVs are 12 bytes long, but in the
earlier version 802.3bc-2009, they are 7 bytes long (the power type/
source/priority, and the requested and allocated fields are lacking).
Not respecting the length of the TLV leads to wireshark displaying garbage
data and could lead to reading outside of buffer.
svn path=/trunk/; revision=35737
The issue (in essence)
For:
char foo[][4] = {"abc", "defg", "hij"};
strlen(foo[1]) will be 7 and not 4 as expected;
Detected via msvc level 4 warning: "array is too small to include a terminating null character"
svn path=/trunk/; revision=35732
Found by reviewing msvc level 4 warnings "assignment within conditional expression".
(Unfortunately most of the warnings are false positives so this warning can't be enabled)
svn path=/trunk/; revision=35726
Make a global variable static (since it's apparently not used elsewhere);
Whitespace changes (indentation, trailing, etc).
svn path=/trunk/; revision=35725
This patch (against revision 35716) resolves the following bug:
[introduced in patch attached to Bug #5518]
"Dissector bug, protocol RSVP, in packet 78:
More than 1000000 items in the tree -- possible infinite loop"
Actually the bug is resolved by the "return" statement that was erased by
mistake. The patch fixes another issue: the code didn't take care of the fact
that TLVs must be padded to a length multiple of 4.
See:
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5518https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5628
From me:
Change two bytestring_to_str(tvb_get_ptr(...),...) to tvb_bytes_to_str(tvb,...)
svn path=/trunk/; revision=35722
Add Bearer Control Mode selection support in gtpv1 dissector.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5634
Sligtly reworked by me:
- prefix names with gtp
- Use proto_tree_add_item()
- remove ref to specific protocol version, as it's probably a mix.
- Changed the update to the AUTHORS file.
svn path=/trunk/; revision=35699
DRSUAPI dissector. Updated the packet-dcerpc-drsuapi.c file manually
because it used to be auto-generated, but appears to have had changes
since then.
svn path=/trunk/; revision=35690
Add 30 years of seconds, not 20 years, since the DHCP_LLT time is seconds
since Jan 1 2000 and epoch is 30 years before that.
svn path=/trunk/; revision=35686
The radiotap standard just adopted the new MCS field to display MCS
information. The attached patch allows wireshark to parse that field.
From me:
Terminate value_strings. Move the IEEE80211_RADIOTAP_XCHANNEL definition
to packet-radiotap-defs.h.
svn path=/trunk/; revision=35684
- add new PROTECTION obj c-type 2 (RFC4872)
- add new TLVs for IF_ID (RFC4920)
- add Path Key subobj in ERO (RFC5520)
- add new ASSOCIATION obj c-type 4 (oif2008.389)
- add new LSP_ATTRIBUTES and LSP_REQUIRED_ATTRIBUTES objects (RFC5420)
- improved ERROR object dissection and new error values added
- ADMIN_STATUS transformed to filter and new flags added
- minor fix to conversation (not applied to ACK, SREFRESH and HELLO messages)
to resolv displaying of "Unknown session type" string in such messages
Moreover, I've deleted some "enum" statements for error values that I thought
they were useless since they were used only once throughout the RSVP dissector
code.
See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5518
From me: fix two typos.
svn path=/trunk/; revision=35681
*Bug Fixes
*NodeId length is now configurable
*Added missing messages
See: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5620
From me:
-Remove trailing blanks from a few lines;
-Put "editor mode lines" at the end of the source file.
svn path=/trunk/; revision=35674
- Simplify a proto_tree_add_uint() call into proto_tree_add_item()
- Mention RFC 1002 in comment above message type definitions
- Expand field descriptions for length field
svn path=/trunk/; revision=35668
Patch to add a new dissector for Realm Specific IP (RSIP) as defined by
RFC 3102, RFC 3103, and RFC 3104.
This is a very basic dissector. It could be extended to do addtional RSIP
protocol violation testing. The dissector is written such that it should be
easy to add later.
svn path=/trunk/; revision=35653
Remove the filters on IPv6 Link Local and Multicast addresses, since
these _can_ be resolved through the hosts file and manual entry.
svn path=/trunk/; revision=35651
Allow TDLS Setup Response/Confirm to not include optional fields
Verifying whether non-zero status code is used and use explicit validation of
the remaining length and an expert info instead of implicit failure by an
exception.
svn path=/trunk/; revision=35642
because the ep memory is cleared before the init routine is called.
Fixed the variable name for the no_yes true_false_string.
Update reference to protocol description.
svn path=/trunk/; revision=35626
In semcheck.c the display filter string of an expression is checked against the
header_field_info.display value BASE_CUSTOM. But the value of BASE_CUSTOM is
applied as bitmask while the actual type is an enum (BASE_CUSTOM = 6).
With this BASE_DEC, BASE_DEC_HEX and BASE_HEX_DEC are also matching and are not
accepted as filter expression.
Actually: BASE_DEC works but not BASE_HEX. And the problem only shows up when
trying to match a field in one of these bases against a string (from a
value_string).
svn path=/trunk/; revision=35621
The patch I am attaching here is for dissecting LISP data packets.
From me:
Minor cleanups.
Showing the reserved field.
Adding to all makefiles and release notes.
svn path=/trunk/; revision=35615
of going through a temporary variable). This just makes it more obvious which
add_bytes_format() calls are or are not being given pointers into the TVB.
Use tvb_ip_to_str() and tvb_ip6_to_str() in a couple spots.
svn path=/trunk/; revision=35593
result from the ADDCARRY portion of the REDUCE macro.
-#define ADDCARRY(x) (x > 65535 ? x -= 65535 : x)
+#define ADDCARRY(x) {if ((x) > 65535) (x) -= 65535;}
The new code is from in_cksum.c in the Tahoe/CGI port of 4.4BSD-Lite2 (we're
using the "Portable Version" copy otherwise).
svn path=/trunk/; revision=35589
packet-dcerpc.c:4056:19: error: comparison of integers of different signs:
'guint32' (aka 'unsigned int') and 'int' [-Wsign-compare]
for (i = 0; i < (int) commands_nb; ++i) {
~ ^ ~~~~~~~~~~~~~~~~~
... by removing the "(int)" cast
svn path=/trunk/; revision=35587
A patch to enhance the ICMPv6 dissector
- Make ICMP Type (sub)field filterable
- Add Inverse Neighbor Discovery (RFC 3122)
- Remove dependency to packet-ipv6.h
- Cleanup packet-ipv6.h
- Update RFC Draft to draft-ietf-roll-rpl-17 (with make a sub dissector
for RPL Control and add Secure RPL...)
- Replace tvb_get_ipv6/ip6_to_str by new function tvb_ip6_to_str
- and other enchancements.....
svn path=/trunk/; revision=35586
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
functions act like their non-tvb counterparts except that they take a tvb and
and offset instead of a pointer to a byte array.
This basically saves the dissectors from having to call tvb_get_ptr()--which in
this case eliminates a couple of typos in the length given to tvb_get_ptr().
svn path=/trunk/; revision=35549
return string is NULL terminated.
There's no need to pass the result of tvb_get_ptr() as the 'value' in
proto_tree_add_*(): just use proto_tree_add_item().
svn path=/trunk/; revision=35548
Use tvb_ip_to_str().
There's no need to pass the result of tvb_get_ptr() as the 'value' in
proto_tree_add_*(): just use proto_tree_add_item().
Replace some tvb_get_ptr()s with tvb_get_ephemeral_string()s to ensure the
return string is NULL terminated.
svn path=/trunk/; revision=35547
Use tvb_ip_to_str() and tvb_ip6_to_str().
There's no need to pass the result of tvb_get_ptr() as the 'value' in
proto_tree_add_*(): just use proto_tree_add_item().
Replace some tvb_get_ptr()s with tvb_get_ephemeral_string()s to ensure the
return string is NULL terminated.
svn path=/trunk/; revision=35546
There's no need to pass the result of tvb_get_ptr() as the 'value' in
proto_tree_add_*(): just use proto_tree_add_item().
Replace some tvb_get_ptr()s with tvb_get_ephemeral_string()s to ensure the
return string is NULL terminated.
svn path=/trunk/; revision=35545
>Linking fails now:
>epan/.libs/libwireshark.so: undefined reference to `hf_bssgp_elem_id'
>epan/.libs/libwireshark.so: undefined reference to `bssgp_elem_fcn'
>epan/.libs/libwireshark.so: undefined reference to `ett_bssgp_elem'
>epan/.libs/libwireshark.so: undefined reference to >`bssgp_elem_strings'
>Did you miss packet-bssgp.c in that commit?
I'll try to clean this up in the next few days.
svn path=/trunk/; revision=35544
Additional function codes: Disable unsolicited messages, Open\Close\Delete file
Additional data objects: Analog output events, File objects and Octet string events.
Improved Info column display for reassembled fragments.
Changed all event timestamps to be UTC as per protocol spec.
svn path=/trunk/; revision=35533
bootp option 123 has 2 chooses - coordinate based location RFC 3825 or
CableLabs DSS_ID. Add better support for having 2 DSS_ID with dynamic
size (up to 32 byte each)
svn path=/trunk/; revision=35530
Replace ip6_to_str((tvb_get_ptr(...)) with tvb_ip6_to_str().
There's no need to pass the result of tvb_get_ptr() as the 'value' in
proto_tree_add_*(): just use proto_tree_add_item().
Replace some tvb_get_ptr()s with tvb_get_ephemeral_string()s.
Replace some memcpy()+tvb_get_ptr() with tvb_memcpy().
svn path=/trunk/; revision=35529
This patch adds support for the following fields in Meta protocol:
- Deciphered
- Local Device ID,
- Remote Device ID,
- Tap Group ID,
- TLLI,
- Calling Station ID,
- Called Station ID
svn path=/trunk/; revision=35524
do the same as the non-tvb equivalents but take a TVB and an offset instead
of a pointer to an array of bytes.
Their purpose is to prevent (many) dissectors from doing:
ip_to_str(tvb_get_ptr(...)).
(About the names and the location: I like the names as they are but the names
imply that they should live in tvbuff.c. That would make some sense but
I didn't want to pull to_str.h into tvbuff.c...)
svn path=/trunk/; revision=35519