equivalents for the toplevel directory. The removal of winsock2.h will
hopefully not cause any problems under MSVC++, as those files using
struct timeval still include wtap.h, which still includes winsock2.h.
svn path=/trunk/; revision=5932
dftest.c:
Remove #if-0-ed includes
packet-ieee80211.c, packet-wtls.c, packet-afp.c, packet-wsp.c,
packet-wtp.c, ethereal_gen.py:
Remove redundant include varargs (already in snprintf.h,
and required only for snprintf.h)
Remove unused include of snprintf.h from files not using
"snprintf()".
svn path=/trunk/; revision=5889
structure containing a 32-bit conversation ID (which uniquely identifies
conversations between a SCSI initiator and target) and a 32-bit task ID
(which uniquely identifies a task within that conversation).
Have the NDMP dissector create conversations when it sees an "execute
CDB" request, and use the conversation index as the conversation ID and
the sequence number for requests and reply sequence for replies as the
task ID.
Have it use "dissect_scsi_payload()" to dissect the payload of "execute
CDB" requests and replies.
svn path=/trunk/; revision=4726
More draft 09 compatibility changes.
Default port number now 3260.
Now prints extra info to COL_INFO for SCSI command and login
responses.
svn path=/trunk/; revision=4641
- Upgrade to version draft-09 of the iSCSI protocol (compatibility
to draft-08 can be selected at compile time)
- Bug fix so that now the the 16 bit length that prefixes sense data
is taken into account.
svn path=/trunk/; revision=4591
"epan/..." pathnames, so as to avoid collisions with header files in any
of the directories in which we look (e.g., "proto.h", as some other
package has its own "proto.h" file which it installs in the top-level
include directory).
Don't add "-I" flags to search "epan", as that's no longer necessary
(and we want includes of "epan" headers to fail if the "epan/" is left
out, so that we don't re-introduce includes lacking "epan/").
svn path=/trunk/; revision=4586
items to the protocol tree; it's interpreted as "the rest of the data in
the tvbuff". This can be used if
1) the item covers the entire packet or the remaining payload in
the packet
or
2) the item's length won't be known until it's dissected, and
will be then set with "proto_item_set_len()" - if an
exception is thrown in the dissection, it means the item ran
*past* the end of the tvbuff, so saying it runs to the end of
the tvbuff is reasonable.
Convert a number of "proto_tree_add_XXX()" calls using
"tvb_length_remaining()", values derived from the result of
"tvb_length()", or 0 (in the case of items whose length is unknown) to
use -1 instead (using 0 means that if an exception is thrown, selecting
the item highlights nothing; using -1 means it highlights all the data
for that item that's available).
In some places where "tvb_length()" or "tvb_length_remaining()" was used
to determine how large a packet is, use "tvb_reported_length()" or
"tvb_reported_length_remaining()", instead - the first two calls
indicate how much captured data was in the packet, the latter two calls
indicate how large the packet actually was (and the fact that using the
latter could cause BoundsError exceptions to be thrown is a feature - if
such an exception is thrown, the frame really *was* short, and it should
be tagged as such).
Replace some "proto_tree_add_XXX()" calls with equivalent
"proto_tree_add_item()" calls.
Fix some indentation.
svn path=/trunk/; revision=4578
structure to the "packet_info" structure; only stuff that's permanently
stored with each frame should be in the "frame_data" structure, and the
"column_info" structure is not guaranteed to hold the column values for
that frame at all times - it was only in the "frame_data" structure so
that it could be passed to dissectors, and, as all dissectors are now
passed a pointer to a "packet_info" structure, it could just as well be
put in the "packet_info" structure.
That saves memory, by shrinking the "frame_data" structure (there's one
of those per frame), and also lets us clean up the code a bit.
svn path=/trunk/; revision=4370
obsolete; we silently ignore attempts to set those in a preferences
file, so that we don't spam the user with error messages caused by them
having saved preferences in an earlier release that contained those
preferences.
Make the Diameter and iSCSI dissectors register obsolete preferences.
Crash if some code tries to register a preferences module with a name
that contains something other than lower-case ASCII letters, numbers, or
underscores, or that has already been registered, or if some code tries
to register a preference with a name that contains something other than
lower-case ASCII letters, numbers, underscores, or periods, or that has
already been registered, so that we don't put code like that in a
release and have to shovel code into "prefs.c" to fix it up later. (The
problem with multiple modules or preferences with the same name should
be obvious; the problem with names with blanks, or upper-case letters,
or punctuation, is that they're a pain to type on the command line.)
svn path=/trunk/; revision=4148
the declarations of the functions to which a pointer to them is passed;
this also fixes it so it compiles with MSVC++, as there's no "uint" type
declared by MSVC++ by default.
svn path=/trunk/; revision=4054
The enclosed code contains the following improvements:
1 - Compatible with 08 version of the protocol
2 - Handles both header and data digests
3 - Supports desegmentation
4 - Dissects multiple PDUs per packet
5 - Stronger heuristics to avoid dissecting non-iSCSI packets
6 - General rationalisation and de-crufting!
The old code that attempted to automatically detect the presence
of a header digest has been removed. You now have to specify in
the iSCSI preferences whether digests are enabled and if they
are, whether they are CRC32 or not. If not CRC32, you also need
to specify the size of the digests (in bytes).
Another new option specifies the iSCSI port number. This is
used in the heuristics to filter out packets with silly port
numbers, set to 0 to disable the port filter.
One problem that I haven't been able to track down is that if
desegmentation is enabled and you turn digests on or off
ethereal throws a SEGV.
svn path=/trunk/; revision=4051
width of the item containing the bitfield is "n", so you don't have to
specify it explicitly, as you have to do with FT_BOOLEAN bitfields.
svn path=/trunk/; revision=4047
getting a pointer to the first byte of the string with "tvb_get_ptr()"
and then assuming you can safely do a "strlen()" with that pointer
(it's not guaranteed that you can, as the terminating null byte might
not be in the tvbuff).
Add the resulting string with "proto_tree_add_item()".
svn path=/trunk/; revision=3728
tvb_get_ptr(tvb, offset, length))" calls to "proto_tree_add_item()"
calls.
Do the same, in "packet-iscsi.c" and "packet-mrdisc.c", for
"proto_tree_add_uint()" and "proto_tree_add_boolean()" calls.
svn path=/trunk/; revision=3726