--enable-extra-gcc-checks set.
If we turn on -pedantic, try turning on -Wno-long-long as well, so that
it's not *so* pedantic that it rejects the 64-bit integral data types
that we explicitly require.
Constify a bunch of stuff, and make some other changes, to get rid of
warnings.
Clean up some indentation.
svn path=/trunk/; revision=21526
Use the "pnto" macros to fetch 16-bit quantities from a buffer - not
only do they have the right casts to avoid const warnings, they also
work even on platforms (such as SPARC) where you can't dereference
unaligned pointers without a trap.
Similarly, compare a possibly-unaligned (we make no alignment guarantees
in Wireshark) 16-bit quantity against 0 a byte at a time.
svn path=/trunk/; revision=21507
care about, and this code doesn't use GTK+, so it doesn't include any
GTK+ headers and therefore doesn't get the GTK+ version number defined.
svn path=/trunk/; revision=21506
will stop crashing.
More .11n additions and updates from Dustin:
- Power Capability tag
- Supported Channels tag
- Block Ack/Block Ack Request
Fixup whitespace.
svn path=/trunk/; revision=21484
- MIMO Control frame support
- Control Wrapper frame support
- Measurement Pilot
- Action No Ack
- Block Ack Action
- PCO Phase Control
- PSMP Parameter Set
- Antenna Selection
- Extended Channel Switch Announcement
- HT Information
- HT Action
- MIMO CSI Matrices Report
- Fill in and update a bunch of hf strings
Fixup(?) whitespace.
svn path=/trunk/; revision=21482
libraries. A single library is generated with the lex code without the barrier
"stop on warning". An other library is generated from the remaining source
files with the "stop on warning" barrier.
svn path=/trunk/; revision=21481
This patch implements parameter dissection for about 1/2 to 2/3 of the messages in IS-801.
Built and tested against the latest source as of Friday April 13th 2007.
svn path=/trunk/; revision=21463
- Measurement Pilot frame support
- Various Block Ack fields
- Various Power fields
- Measurement Pilot field
- Country String field
- Channel Width field
- QoS Information fields
svn path=/trunk/; revision=21452
the current SVN (rev 21448) 802.11 WMM TSPEC dissector seems to have
some bugs.
TS Info field should be three bytes long, not two. Suspension Interval
field is missing altogether, shifting all other fields by four bytes.
Maximum Burst Size, Minimum PHY Rate, Peak Data Rate and Delay Bound
are in wrong order.
svn path=/trunk/; revision=21450
around them. Print 64-bit types using the PRI macros; add inttypes.h to
tap.h (if necessary) to pick up those macros for all the taps.
svn path=/trunk/; revision=21442
most have been tagged unused (few have been deleted if dissector has not been
modified since a long time)
move packet-ssl-utils.c to DISSECTOR_SRC
svn path=/trunk/; revision=21431
- Refactored Frame Control into its own function
- Refactored the Action field
- Add Block Ack/Block Ack Request
- Add a Control Wrapper stub
- Add the Neigbor Report tag
- Add the Extended Channel Switch Announcement tag
- Add the Supported Regulatory Classes tag
- Add the Secondary Channel Offset tag
svn path=/trunk/; revision=21415
mechanisms. (fix rev21398)
Windows buildbot sould be green again as formal parameters are the same as the
ones in the declaration now.
svn path=/trunk/; revision=21409
I would like to handle the rare situation of Little Endian encoded
IP addresses, so i added a function which reads the address with
tvb_get_ipv4(), then swaps the bytes before SET_ADDRESS().
svn path=/trunk/; revision=21397
- Break out and display A-MSDUs
- HT Control field (currently disabled)
- Action No Ack
- HT Information IE
- HT Capability IE
- Block Ack Request
- Secondary Channel Offset Tag
- Measurement Request Tag
- Measurement Report Tag
...along with a bunch of other updates, including displaying the
type/subtype as a hex value (first nibble: type, second nibble: subtype).
svn path=/trunk/; revision=21391
New dissector support, SHIM6
checked in with the following modifications :
- use of proto_tree_add_item whenever possible (addition of several hf_items),
- use distinct subtree idx for each subtree,
- addition of some subtrees,
- split shim_opts in several functions,
- accurate incrementation of offset in locator preferences (in case of option length > 3)
- add true_false_string for critical options and protocol differentiation (hip, shim6)
- add ipv6.shim6.checkksum_good, ipv6.shim6.checkksum_bad, cksum expert info
section added to AUTHORS
svn path=/trunk/; revision=21390
This patch adds an option to IEEE 802.11 to ignore the wep bit with IV,
as mentioned in
http://www.wireshark.org/lists/wireshark-dev/200704/msg00021.html
I also fixed a bug where the packet is dissected different in the Packet
List with and without "Colorize Packet List" (actually when dissecting
with and without "tree"). Try toggling "Colorize Packet List" with my
previous posted ieee80211-wep.pcap without this patch to see the bug.
The patch is tested on OSX.
svn path=/trunk/; revision=21384
- changed dissect_ssl2_hnd_client_hello to use hf_ssl_handshake_version instead
of hf_ssl_record_version. SSLv2 client hello's did not display when the filter
ssl.handshake.version == 0x0002 was used, only SSLv2 server hello's were
displayed. Now they are both displayed
- Added generated hf_ssl_record_version to SSLv2 handshake. Since the SSLv2
does not include a record layer version field (unlike SSLv3), this field is
generated so that all packets with a SSLv2 record layer can be filtered out.
[this is actually what bug 1503 was all about]
svn path=/trunk/; revision=21373
wireshark SHOULD be able to filter on multiple hf's with the
same field-name, BUT there is a little bug in the code. I have pinpointed it to
the following in epan/dfilter/dfvm.c:
...
It actually loops through all the hf's with the same name, but only checks
against the original (first) hf.
svn path=/trunk/; revision=21372
remaining that I'm not sure exactly what to do with at the moment:
the one in packet-frame probably should be there, the others probably
shouldn't but they also should never fail unless there's a compile or build
problem (AFAICS).
svn path=/trunk/; revision=21367
update a dissector and recompile, make-dissector-reg.py can now pull
its list of registration routines from a cache instead of having to
scan through every dissector. The time to create register.c has gone
from 20 to 30 seconds down to 2 on my desktop machine.
The cache file is a Python pickle data stream. It should be portable
across architectures, so we may be able to add it to the distribution
at some point.
svn path=/trunk/; revision=21348
In make-dissector-reg.py, throw an error if we don't have enough files
to process, or if we don't generate enough registrations. "Enough"
is arbitrarily set to 100.
This should de-purple the buildbot. (I'm sure there's a "smoke on the
water" joke in there somewhere.)
svn path=/trunk/; revision=21338
Dissector for the DRDA protocol. This is the protocol used by among
others the DB2 database.
modify his entry in AUTHORS
svn path=/trunk/; revision=21331
- asn dissectors : libasndissectors.la
- pidl dissectors : libpidldissectors.la
- normal dissectors : libdissectors.la *and* libcleandissectors.la. I
separated it in two libraries temporarily. The source files used to build
libcleandissectors.la do not generate warning anymore and the -Werror is used
to compile them. If we patch a dissector and it doesn't generate warning
anymore, we have to move the filename dissector from DISSECTOR_SRC to
CLEAN_DISSECTOR_SRC in epan/dissectors/Makefile.common.
If you want to define specific cflags for one library type, let's say pidl, you
may define libpidldissectors_la_CFLAGS.
svn path=/trunk/; revision=21324
Add a table of DPCs and SSNs that allow to override the protocol that would be choosen
so that the same SSN can use two different protocols in two different DPCs.
I did not believe it someone could have done it, then I saw the captures...
svn path=/trunk/; revision=21321
The enclosed patch corrects a problem where jxta elements were being added to the protocol tree for segments that did not contain complete jxta frames. This patch ensures that the jxta proto elements are only added those the segments that end a complete, assembled jxta frame.
The patch has been fuzz tested with a broad selection of jxta captures and ran successfully overnight for over 4000 iterations.
svn path=/trunk/; revision=21305
Fix for Bug 1136 (TCP Checksum Validation)
TCP cksum 0xffff should not appear in TCP headers. RFC 1624 explains that it
can be generated by a (not-so-good) algorithm for incremental updates to the
tcp-checksum.
New behavior of wireshark when having cksum == 0xffff :
- use "Checksum: 0xffff [should be 0x0000 (See RFC 1624)]" in the
packet-detail pane
- set tcp.checksum_good to FALSE (just like checksum-offload packets)
- set tcp.checksum_bad to FALSE (just like checksum-offload packets)
- Generate an expert warning: "TCP Checksum 0xffff instead of 0x0000 (See RFC 1624)"
- add "[TCP CHECKSUM 0xFFFF]" instead of "[TCP CHECKSUM BAD]" to COL_INFO
svn path=/trunk/; revision=21295
- follows the same rules as the one in ipv4 dissector for
ipv6_[src|dst|addr][_host] items.
- use proto_tree_add_item for displaying the name of the parsed options.
- added header type value_string
- add an expert info for invalid jumbo value and invalid router alert
length.
- correction of invalid jumbo payload length
- get rid of variable declaration after statement
svn path=/trunk/; revision=21283
* ptvcursor_push_subtree(), ptvcursor_pop_subtree() for pushing/popping
subtrees. Multiple levels of subtrees (256 max.), allocation per 8 levels.
* Two new functions creating an item in the tree and pushing a subtree at the
same time. These two functions accept an undefined length
(SUBTREE_UNDEFINED_LENGTH). The length of the item is set at the next pop.
1) ptvcursor_add_with_subtree
2) ptvcursor_add_text_with_subtree
- get rid of potential memory leaks with g_new in ptvcursor_new().
- Documentation of the new ptvcursor functions in README.developer
svn path=/trunk/; revision=21276
Martin Sustrik
here's a patch to AMQP dissector. The only change is that when there are
seceral AMQP frames in single TCP packet, all of them are referred in
the info column.
svn path=/trunk/; revision=21254
It is sufficient to make tapa discovery packets a new style dissector,
don't handle them via an additional heuristic dissector.
svn path=/trunk/; revision=21243
- replace #pragma for #include
- move register function and remove prototype
h248
- have dissector being called through megaco instead of registering to the same sctp.ppi
svn path=/trunk/; revision=21234
The purpose of the patch is to provide a new output format (so it is
independent of -V): single line record per-packet with the fields chosen by the
user, with configuration options to control separator, quoting and whether a
header line is printed. It also extends some existing options behaviour (-c and
-a:filesize) so that they affect reading a file as well as writing one, so that
only the first <n> packets or bytes are read).
svn path=/trunk/; revision=21211
add defines for data direction (which direction in/out is data being transferred for this particylar request/response pair)
and a mask for which bits of the byte contains the type.
svn path=/trunk/; revision=21207
Charles Lepple
This patch enables packet-usb.c to display all descriptors in the GET
CONFIGURATION request, regardless of whether we know how to decode
them. (All descriptors in that request share the same first two
bytes.)
It also adds the HID descriptor type (not the report descriptor,
though - that is buried in a class request, not a device request). I
am still working on actually decoding this descriptor.
svn path=/trunk/; revision=21197
change the private data pointer name from masstorage to class_data
since there will be future class specific dissectors that will also want to hang
some extra data off these structures
svn path=/trunk/; revision=21193
without first checking to make sure it's available.
Clear the Info column as soon as we've accepted a packet.
In the "MPEG" dissector, if no subdissector accepts the packet, dissect
it as just "MPEG" data.
svn path=/trunk/; revision=21187
checking to make sure it's available.
Don't dissect an audio frame if it doesn't have a valid version or layer
value.
Don't do anything with the columns until we've decided to accept a
frame.
The register routines are only called once; we don't have to check
whether they've already been called.
svn path=/trunk/; revision=21186
It is suboptimal to have the endpoint both being the "port" and also 4 bytes out of the address.
But it looks better to have addresses as <device>.<endpoint> .
svn path=/trunk/; revision=21177
since dlt189 was introduced the dissector has been suboptimal
assuming the capture usb_memory_stick.pcap on the wiki shows what this linktype
should look like, this patch
- adds request in/response in/time generated fields to the dissect pane
- fixes the tracking of what is a request and what is a response (the old code just can not have worked!)
- fixes conversation tracking to work (dont add the port/endpoint into the length of the address)
- handles some mysterious extra 8 bytes prepended to a lot of different packets.
svn path=/trunk/; revision=21173
now that it is no longer a static variable in packet-ssl-utils.h.
Leaving it as static caused a warning turned error that it was unused
in the current file (packet-ssl-utils.h). Resolution: Move the variable
to packet-ssl.c and declare as extern in packet-dtls.c - the only other
place that needs it.
svn path=/trunk/; revision=21161
copy paste hit again, here is a patch with the accurate declaration of
RVALS in proto.h
Thx gcc-4.1.2 for finding new ways of generating strict aliasing warnings :)
patch with accurate comment and declaration.
svn path=/trunk/; revision=21157
(Fixing warnings)
stripped away some unused variables/parameters
+ in prefs.c
suggestion of parentheses makes gcc happy
svn path=/trunk/; revision=21156
Fix for bug #491: Unexpected frame.time_delta behavior
This patch ... fixes bug 491. It does this by changing the
behaviour of the frame.time_delta field so it reflects the delta
time between captured packets (tshark already did this). To keep
the delta time between displayed packets, the field
frame.time_delta_displayed is created.
svn path=/trunk/; revision=21154
(Temporarily disable the warnings as errors default on Unix to get
to get the buildbots and people with gcc40 going again until those
additional warnings gcc40 generates can be fixed-I'm working on it
ASAP)
Patch for configure.in which disables by default the treatment of
warnings as errors.
It can be enabled with './configure --with-warnings-as-errors'.
The macro will test first if GCC is present. If it's the case,
HAVE_WARNINGS_AS_ERRORS is defined. All the USING_GCC have been replaced
by HAVE_WARNINGS_AS_ERRORS.
With this switch, people won't suffer from unexpected warnings when
downloading svn sources during the transition time ;)
svn path=/trunk/; revision=21153
RFC2247 objectclasses and attributes (specifically "dc")
Microsoft-defined User Principal Name subjectAltName extension (used in certificates)
svn path=/trunk/; revision=21150