cc1: warnings being treated as errors
packet-wccp.c: In function 'wccp_fmt_ipadddress':
packet-wccp.c:555: warning: declaration of 'index' shadows a global declaration
/usr/include/string.h:125: warning: shadowed declaration is here
packet-wccp.c: In function 'dissect_wccp2_alternate_mask_value_set_element':
packet-wccp.c:2570: warning: declaration of 'index' shadows a global declaration
/usr/include/string.h:125: warning: shadowed declaration is here
make[5]: *** [libdissectors_la-packet-wccp.lo] Error 1
make[5]: *** Waiting for unfinished jobs....
svn path=/trunk/; revision=49667
changes from r49644 you'll get complaints about the hf being unregistered...
Note that this code also intentionally passes -1 as an ett_index. It doesn't
currently complain so I'm leaving it alone for now...
svn path=/trunk/; revision=49648
don't need them any more and, as shown in
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3290#c16
we really want to check if we're looking at something beyond the end of the TVB
(in order to break out of very long loops).
svn path=/trunk/; revision=49645
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8733 :
We can't solely rely on the port in the URI to determine whether we will be
recursively called by decode_tcp_ports(). Instead also check the conversation
entry too: if we find that we are the subdissector for this conversation
(which we might be--without the port being in our list of ports--if we
heuristically picked up the conversation or the user did Decode-As),
just bail out and dissect the payload as data.
svn path=/trunk/; revision=49623
- show systemInfoModification in info column (and expert info), also
show number of UEs paged
- add expert item when systemInfoValueTag changes
- for MIB, add SFN to info column
svn path=/trunk/; revision=49603
This matches the style used for Wi-Fi Display and gets rid of a minimal
header file for functionality that extends packet-ieee80211.c.
svn path=/trunk/; revision=49594
Some Notes:
1. Converted to "new style" dissectors with data being passed between dissectors
2. Combined header files into one since there wasn't much that should have really been in the header files. Implemented functionality is in c module of respective dissector.
Not sure if LCT preferences should just be in the LCT dissector and not the RMT-ALC "parent", but kept for backwards compatibility.
svn path=/trunk/; revision=49555
Error: the blurb for hf_048_030_WE ("asterix.048_030_WE") matches the field name in epan/dissectors/packet-asterix.c
Also remove a few blurbs which aren't exact matches but are basically the same.
svn path=/trunk/; revision=49468
number of compiler warnings for systems where floats are 32 bits, but
floating-point literals default to 64-bit doubles.
svn path=/trunk/; revision=49459
Fix to honour the Response Bit/Opcode implementation,
as e.g. a map response opcode is not 129 as per 1000 0001 but should be
Response bit =1 / Opcode =1.
* Rename opcode variable to ropcode (and pcp_ropcode_vals)
* Use pcp_opcode for hf_pcp_opcode
* Add hf for R item (and add tfs)
* Fix bitmask for opcode
Also fix warning found by encoding-args tool.
svn path=/trunk/; revision=49445
with DLT_USERxy
with this fix, the user-encap dissector hands over truncated packets to
the defined sub-dissector
(the previous version would assume length==reported length and throw an
execption for truncated packets)
svn path=/trunk/; revision=49409
Theses patches add alot of new message types for the 9P protocol and its
extensions (most specifically 9P2000.L), while staying compatible with the
legacy protocol (hence the hashtable with conversation information, since
version is only known at handshake)
It is still missing alot of 9P2000.u specifics, but I don't have any server
to test it with. I'm also missing some dump to test legacy, but I'm pretty
confident I didn't break much there as it is mostly compatible, most
differences are handled using different messages, the only one that was
changed would be RERROR.
second diff also adds deeper interpretation of the protocol, by following
the conversation stream and keeping a bigger hashtable associating fid (file
handles) and file names, for easier debugging.
From me: roll the contents of the (new) packet-9p.h back into the C file.
svn path=/trunk/; revision=49363
Starting with collectd 5.0, the representation of time has changed. The new
fields "TIME_HR" and "INTERVAL_HR" contain the seconds since the epoch in steps
of 2^{-30} seconds (roughly nanosecond precision). This patch adds support for
both time formats.
From me:
Permit using 64-bit integers with value-strings, as this protocol actually
seems to needs it. We'll misbehave for named values > 2^32 but there aren't any
of those despite the field being 64 bits.
svn path=/trunk/; revision=49357
the fuzz bot (see https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6898 and
all of its duplicates--and the bugs marked as duplicates of those duplicates).
Halving the packet size seems to work for most of the captures I've tried;
we'll see if the buildbot agrees.
If someone can figure out a good way to control the memory usage of this
dissector then the limit could be increased again.
svn path=/trunk/; revision=49321
(obsolete) Server-Assignment-Type AVP (which conflicts with the newer
3GPP-SGSN-IPv6-Address AVP).
This allows users to not see malformed packets (which look completely correct)
if they choose to use the AVP values from imscxdx.xml instead of those from
TGPPGmb.xml.
svn path=/trunk/; revision=49296
Fix dissection of the NTLMSSP v2 Challenge Response. The old code would loop
over the Attributes until the end of the Response, however in reality the last
values of a Response are four 0 bytes and maybe padding. Also change the names
of the values to match those from the Microsoft specification. Also change the
name of one flags bit from unknown to "Anonymous", again according to the
Microsoft spec.
svn path=/trunk/; revision=49258
via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8635
"enhanced WCCP decoder"
GRE part of the patch.
Me:
Reorder values
Manually apply the rejected parts of the patch (incompatible whitespace)
Fix whitespace inconsistencies of the patch.
svn path=/trunk/; revision=49240
- tag length is wrong if proto name was a multiple of 4 bytes
- tag length is wrong in case no IP address is available in packet_info structwhile tag is requested
- endianness issue when dumping the port number
- overlapping tag IPv4 Dst address and IPv6 Src address
- do not call dissector when it is not found
- typo errors
Enhancements:
- add a subtree for tag content
- display IPv6 Src/Dst address
svn path=/trunk/; revision=49232
Dissector for PTP-over-IP (picture transfer protocol). PTP-over-USB also exists
but is not identical, so some parts of the dissector are shared for future use.
svn path=/trunk/; revision=49221
As per RFC 6887 the response header has 96bit reserved bit, not 64.
Without the attached patch, the PCP Responses are parsed incorrectly
svn path=/trunk/; revision=49202
file to packet-dcerpc-drsuapi.c
This seems to undo some (warning fix) changes made to the dissector
directly instead of fixing the template (or generator).
svn path=/trunk/; revision=49192
[PATCH 3/8]
Detect PSK and RSA_PSK key exchange
[PATCH 4/8]
Dissect the identity hint for PSK and RSA_PSK key exchanges
[From me]
Using proto_tree_add_item instead of proto_tree_add_uint in one place
svn path=/trunk/; revision=49173
[PATCH 1/8]
Add a subtree for the random DTLS elements. This is what TLS already does, and
it makes more sense than prefixing their display names.
[PATCH 2/8]
Show the actual hex content of the cookie by just using proto_tree_add_item.
The cookie length has its own field, so there's no need to display it twice.
[From me]
Fix an @ in the AUTHORS file
svn path=/trunk/; revision=49172
Add tcp.analysis.spurious_retransmission. Although RFC 793 does not define
spurious TCP retransmissions, TCP spurious retransmissions are referenced in
other RFCs and research.
svn path=/trunk/; revision=49160
hsrp2.md5_auth_data is added to the tree with a length of 16 so declare it as
FT_BYTES instead of FT_UINT32 (using the latter causes an assertion in
trunk-1.8 and an expert info in trunk and trunk-1.10).
svn path=/trunk/; revision=49114
via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8616
Further enhancements to packet-skinny.c, change cast. filters
to skinny. filters.
While I'm not sure whether that this is really correct, we don't
have any sample capture to verify whether the old solution really
worked. At least that way checkfiltername.pl doesn't complain
any more ;-)
Me: Tiny whitespace fixes.
svn path=/trunk/; revision=49113
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7359
The BER integer dissection routines take an hf_id, but that can be -1.
Only fetch the type (to check signedness) if hf_id >= 0, as otherwise this
causes a dissector bug. Default to signed if given no hf_id - I don't know
whether this should be unsigned or not, but the old behaviour was that
everything was signed so it's not a regression at least.
svn path=/trunk/; revision=49101
via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8616
Update Skinny Dissection Code (CM7.1 + / SPCP Message)
Me:
- Remove some trailing whitespace
- Numerically sort deviceTypes and replace older values with new ones
- Reenable the return FALSE statement in the heuristics - it works for me.
svn path=/trunk/; revision=49099
Numerous improvements to NFS ACL/ACE dissection. For a complete list see
comment #11 of the bug.
From me:
- fix an infinite loop caught by fuzzing
- fix an out-of-bounds memory access caught by valgrind
- add missing {0,NULL} terminator to value_string array
svn path=/trunk/; revision=49074
implemented, start replacing emem with wmem in dissectors.
Also remove emem.h include from a few files that didn't actually need it.
More to come once in hopefully large batches once I figure out the
appropriate regexes.
svn path=/trunk/; revision=49009
dissector for ISO 10747 Inter Domain Routing Protocol
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8562
from me:
check for negative return value of tvb_reported_length_remaining()
remove unused hf entries
add modelines
don't initialise variables unless it's necessary
make idrp a new-style dissector
svn path=/trunk/; revision=49002
MPLS needs to similarly shrink its own tvb so its caller can tell that
there were bytes left over (e.g. ethernet trailer).
svn path=/trunk/; revision=48994
* "dissect_nfs4_attribute()" was eliminated because the values dissection
portion of that routine was identical to the "dissect_nfs_attributes()"
routine. The code in "dissect_nfs4_bitmap4()" and
"dissect_nfs4_attrlist4()" was also similar so those routines
were also eliminated and their code incorporated in dissect_nfs_fattr4s().
These measures have reduced the size of 'packet-nfs.c' by almost 400 lines.
* Attributes were relabeled according to RFC 5661 (NFS4v1).
o “mand_attr” (REQUIRED attribute) header was changed to "reqd_attr”.
o “recc_attr” (RECOMMENDED attributes) header was changed to “reco_attr”
because "recommended" only has one ‘c’. =)
* In order to be able to list the attribute names horizontally in the
"Attr mask[x]" header (e.g., "Attr mask[0]: 0x0010111a (TYPE, CHANGE, SIZE,
FSID, ACL, FILEID)", “FATTR4_” was removed from the attribute names
(e.g., “FATTR4_TYPE (1)” is now “TYPE (1)”. Note that RFC 5661 does not
define them with a “FATTR4” prefix.
* In GETATTR responses, the “resok4” and “obj_attributes” subtrees were
eliminated because they are neither actual fields nor serve any practical
purpose.
* The READDIR "Directory Listing" subtree was reformatted. "Filename" was
changed to "Entry" because entries can also be directories.
"Value Follows", "cookie", and "Attr mask[n]" were moved within each entry.
If an Entry header is left-clicked all the fields of that entry are
highlighted in the Hex pane. If it is right-clicked the 'nfs.name'
field (filter) can be obtained. Finally, the "attr_vals:<DATA>" (text)
subtree was eliminated because it appears to serve no useful purpose and
clutters the tree.
svn path=/trunk/; revision=48966
Converted to proto_tree_add_text to proto_tree_add_item/expert_info
Allow columns/tree/(sub)dissectors/expert_info to be called at all of the proper times. COL_INFO data still seems a bit verbose when errors occur, but I left it alone, just cleaning up the sequence of events.
Removed some structure definitions where the variables that used them were effectively "useless" once proto_tree_add_item was added (although they weren't that useful before that)
svn path=/trunk/; revision=48958
[ 6%] Building C object epan/CMakeFiles/epan.dir/dissectors/packet-pw-fr.c.o
/home/jmayer/work/wireshark/svn/trunk/epan/dissectors/packet-pw-fr.c: In function ‘dissect_pw_fr’:
/home/jmayer/work/wireshark/svn/trunk/epan/dissectors/packet-pw-fr.c:81:4: error: typedef ‘packet_quality_e’ locally defined but not used [-Werror=unused-local-typedefs]
} packet_quality_e;
^
svn path=/trunk/; revision=48948
[ 5%] Building C object epan/CMakeFiles/epan.dir/dissectors/packet-dcerpc-rs_pgo.c.o
/home/jmayer/work/wireshark/svn/trunk/epan/dissectors/packet-dcerpc-rs_pgo.c: In function ‘dissect_rs_pgo_query_t’:
/home/jmayer/work/wireshark/svn/trunk/epan/dissectors/packet-dcerpc-rs_pgo.c:631:5: error: typedef ‘rs_pgo_query_t’ locally defined but not used [-Werror=unused-local-typedefs]
} rs_pgo_query_t;
^
/home/jmayer/work/wireshark/svn/trunk/epan/dissectors/packet-dcerpc-rs_pgo.c: In function ‘dissect_rs_pgo_query_key_t’:
/home/jmayer/work/wireshark/svn/trunk/epan/dissectors/packet-dcerpc-rs_pgo.c:845:5: error: typedef ‘rs_pgo_query_t’ locally defined but not used [-Werror=unused-local-typedefs]
} rs_pgo_query_t;
^
cc1: all warnings being treated as errors
make[2]: *** [epan/CMakeFiles/epan.dir/dissectors/packet-dcerpc-rs_pgo.c.o] Error 1
[ 5%] Building C object epan/CMakeFiles/epan.dir/dissectors/packet-pw-fr.c.o
/home/jmayer/work/wireshark/svn/trunk/epan/dissectors/packet-pw-fr.c: In function ‘dissect_pw_fr’:
/home/jmayer/work/wireshark/svn/trunk/epan/dissectors/packet-pw-fr.c:81:4: error: typedef ‘packet_quality_e’ locally defined but not used [-Werror=unused-local-typedefs]
} packet_quality_e;
^
svn path=/trunk/; revision=48947
See Section 5.7 (Setting the AD Bit on Queries) of RFC 6840 (Clarifications and Implementation Notes for DNS Security (DNSSEC))
The semantics of the Authentic Data (AD) bit in the query were
previously undefined. Section 4.6 of [RFC4035] instructed resolvers
to always clear the AD bit when composing queries.
This document defines setting the AD bit in a query as a signal
indicating that the requester understands and is interested in the
value of the AD bit in the response. This allows a requester to
indicate that it understands the AD bit without also requesting
DNSSEC data via the DO bit.
svn path=/trunk/; revision=48942
haven't reassembled, we're probably moving sequentially through the
packet, which means that we'll run past the end of the fragment rather
than past the end of what would have been the reassembled packet had we
reassembled it.
I.e., there's little reason to care whether we're past the end of the
fragment but not past the end of the packet, or whether we're past the
end of the packet; in either case, we're past the end of the fragment,
and if somebody wants to know whether the packet is malformed by
stopping short of certain fields, they should enable reassembly.
So we get rid of the explicit fragment length in tvbuffs and, instead,
have a "this is a fragment" flag; if that flag is set, we throw
FragmentBoundsError rather than ReportedBoundsError if we run past the
end of the reported data.
(This also means we could flag the tvbuff even if we don't know how
large the reassembled packet will be, e.g. when doing IP reassembly.)
Replace tvb_new_subset_length_fragment() with tvb_new_subset_length()
and a new "set the "this is a fragment flag"" routine.
svn path=/trunk/; revision=48940
Major NFS dissector cleanup. Consistent naming, spacing, line wrapping,
variable initialization, ...
For full details see comment #18 of the bug.
svn path=/trunk/; revision=48934
ENC_BIG_ENDIAN or ENC_LITTLE_ENDIAN.
Treat the AP PS Buffer State subfield of the QoS field the same way we
treat other subfields in the second byte of the QoS field - show it as
the upper 8 bits of the (shown as big-endian) QoS field. Fix a bitmap
while we're at it.
Show the channel map as an FT_NONE - it's a structure with two bytes.
svn path=/trunk/; revision=48924
first fragment of a non-reassembled packet, and we know the length the
packet would have if it were reassembled, this field holds the length of
the fragment, and the "reported length" field shows the length the
packet would have if it were reassembled, so going past the end of the
fragment but staying within the length of the reassembled packet can be
reported as "dissection would have worked if the packet had been
reassembled" rather than "the packet is too short, so it was probably
malformed".
Add a FragmentBoundsError exception, thrown in the "dissection would
have worked if the packet had been reassembled" case.
Add a new tvb_new_subset_length_fragment() routine to create a new
subset tvb with specified fragment and reported lengths. Use it in the
CLNP dissector.
Add some more sanity checks in the CLNP dissector.
svn path=/trunk/; revision=48917
trying to handle reassembly of packets with *differing* handshake length
values a bit better.
Make coding style a little more consistent.
svn path=/trunk/; revision=48916
data stream", only the first FIN segment is reported with the
reassembled packet.
Show the TCP fragment tree *before* processing the payload, so it's
shown even if processing the payload throws an exception.
svn path=/trunk/; revision=48915
data stream", only the first FIN segment is reported with the
reassembled packet.
Show the TCP fragment tree *before* processing the payload, so it's
shown even if processing the payload throws an exception.
svn path=/trunk/; revision=48914
we thrown an exception if the lengths are too long.
For UCS-2/UTF-16 strings, do an extra length check to avoid overflows,
but throw ReportedBoundsError if the check fails, so we report them the
same way we report other too-large length errors.
Just use proto_tree_add_item() to put UCS-2/UTF-16 strings (assumed to
be UTF-16, not UCS-2; is that correct?) into the protocol tree.
svn path=/trunk/; revision=48913