Ethereal/Tethereal was linked into a common routine, and use that in
both Ethereal and Tethereal.
Add to that routine code to get OS version information.
svn path=/trunk/; revision=7320
Add support for the OpenBSD enc(4) encapsulating interface. Add
support for Ethernet over IP (RFC 3378).
Fold Markus' .h files into their respective .c files, add a define to
ipproto.h and use it.
svn path=/trunk/; revision=7310
According to the V9 documentation at the first of those URLs, the length
field in a data flowset includes the lengths of the flowset ID and
length fields, so subtract that before calling "dissect_v9_data()" - and
don't call "dissect_v9_data()" if the length isn't positive after that's
done.
Don't bother checking whether there's data in the tvbuff in the loop
that dissects V9 data flowsets - if there isn't, we *want* an exception
to be thrown, as that's a short or malformed frame. Do, however, make
sure we have at least as much data left in the flowset as the template
claims should be there - otherwise, we have padding, not a record.
Display that padding as such.
Make the length argument to "dissect_v9_data()" unsigned, so that we
don't get compiler warnings when comparing it with the unsigned "length"
field of a template.
If we don't find the template for a data flowset, just show the data as
such.
svn path=/trunk/; revision=7306
MSVC++ on Windows - stick TAP_RTP_ in front of all the error enum
values, to avoid name collisions.
Do *NOT* allocate a zero-length array as an automatic variable,
especially if you're going to assign to the first element of that
array....
svn path=/trunk/; revision=7304
Get rid of comments about the format string to use with guint16 and
guint32 - we're using the right string, which is neither "%lu" (as that
requires a 64-bit argument on platforms with 64-bit longs) nor "%d" (as
that expects a *signed* quantity, not an *unsigned* quantity), but "%u".
Protect the include of <unistd.h> with "#ifdef HAVE_UNISTD_H", as it's
not present on Windows if you're not building with a UNIXalike wrapper
library.
Use "wb", not "w", when creating binary files with "fopen()"; the "b" is
required on Windows.
Use O_BINARY when opening binary files, and #define it as 0 if it's not
defined; O_BINARY is required on Windows.
svn path=/trunk/; revision=7303
not using "%l[doux]" with guint32;
not including <unistd.h> without #ifdef HAVE_UNISTD_H;
not fopening binary files with "r", "w", etc., and not opening
them with "open()" without using O_BINARY.
svn path=/trunk/; revision=7302
most, if not all, platforms on which Ethereal runs, a guint32 is an
"unsigned int", not an "unsigned long", and on platforms where an
"unsigned long" is 64 bits, "%ld" is definitely wrong - and so is
"%lu").
svn path=/trunk/; revision=7296
contributed RTP tap for voice.
Explained when a tap listener is called and somethings to keep in
mind when adding taps to protocols that may appear multiple times inside the
same packet.
svn path=/trunk/; revision=7293
I forgot to fix the field names when adding the AFS ReplyIn and friends
yesterday, thus causing
-z proto,colinfo,rpc.time,rpc.time not to work.
They should not have been called rpc.* anyway.
I fixed RequestIn, ReplyIn, TimeFromRequest fields for AFS
request/response matching to have proper names starting with afs.
so we dont collide with the names for the ONC-RPC ones.
svn path=/trunk/; revision=7292
Check whether a device identifier in a vital product data page (not a
vital data product page, although I guess most SCSI devices could be
considered data products) is bigger than the page before displaying it.
Don't bother to check whether the full identifier is in the packet - if
it's not, an exception will be thrown and an error indication put into
the protocol tree, which is the correct thing to do. Do, however, check
whether the identifier length is 0 before putting a protocol tree entry
in.
svn path=/trunk/; revision=7290
- correct dissection of giop-broken.pcap supplied by Guy Harris
- correct dissection of CodeSet service context, as supplied by Guy Harris
- correct dissection of RTCorbaPriority values, as supplied by me
- general cleanups and removal of unnecessary code
svn path=/trunk/; revision=7285
Response is calculated in the same way as for oncrpc, dcerpc, smb...
requests where a reply has been matched will now have a
Reply In:<framenumber>
in the tree pane.
replies where the request has been seen will have
Request In:<framenumber>
Time since request:<seconds>
later tethereal and ethereal rtt stats will be implemented.
svn path=/trunk/; revision=7284
fix the Fibre Channel reassembly code;
fix handling of addresses in FC frames encapsulated inside
various internal Cisco protocols;
display link state records & descriptors better so as to improve
readability & reduce the need to expand tree to find useful
information;
handle older versions of SW_RSCN;
fix saving of device type from Inquiry command;
add another Ethertype used internally in Cisco switches.
svn path=/trunk/; revision=7283
when doing reassembly.
In some additional places, use "tvb_bytes_exist()" to check whether we
have enough data to do reassembly, rather than checking to see if the
frame is short (it might be short but we might still have enough data to
do reassembly).
In DCE RPC, use the fragment length from the header as the number of
bytes of fragment data.
There's no need to check "pinfo->fragmented" before doing reassembly in
the DCERPC-over-SMB-pipes code - either we have all the data or we
don't.
In SNA and WTP reassembly, add a check to make sure we have all the data
to be reassembled.
svn path=/trunk/; revision=7282
reassembly - don't reassemble packets from different directions into a
single packet.
We don't need to check whether we have enough data for reassembly -
"fragment_add_seq_next()" does that for us.
If we're doing reassembly, show the user data of packets with the M bit
set as "User data".
svn path=/trunk/; revision=7281
mod-128.
Don't reassemble if we don't have all the payload (e.g., if we have a
short frame).
Clean up indentation.
Remove the "_x25" at the end of the preference for reassembling X.25
packets - it already has "x25." at the beginning.
Add a bunch of #defines for various bits to be tested, and use them.
svn path=/trunk/; revision=7279
than using a fixed-size 1500-byte buffer.
Use memory chunks for ntlmssp_info and ntlmssp_packet_info structures,
and free up the chunks when we re-initialize the dissector.
svn path=/trunk/; revision=7277
doesn't always appear to be the case that the minimum number of cells is
used for an AAL5 packet. Instead, do the sanity check on the AAL5
length field - require it to be non-zero and to be less than or equal to
the amount of space left over in the packet after the trailer is removed.
svn path=/trunk/; revision=7275
attempt reassembly of a higher-level packet that includes the
lower-level packet, use "tvb_bytes_exist()" to check whether all the
data that's to be included in the reassembly is available, rather than
by checking whether the packet is short.
Add some checks of that sort that were missing.
Use the reported length of the packet when doing reassembly.
Make the "iphdrlen" field of a "packet_info" structure be the length of
the IP header in bytes, not in 4-byte words.
svn path=/trunk/; revision=7274