that the desired authentication type is, too.
Don't bother updating the offset after dissecting the desired
authentication type - we don't update it after dissecting the identity
or notification.
svn path=/trunk/; revision=6224
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
but for stuff reassembled with "fragment_add_seq()" or
"fragment_add_seq_check()".
Add a "fragment tag" string to the "fragment_items", so that packets
with fragmentation errors can be properly flagged as having "Illegal
fragments" or "Illegal segments" depending on the term used with the
protocol in question.
Make all the dissectors that can use "show_fragment_tree()" or
"show_fragment_seq_tree()", and don't already use them, do so.
svn path=/trunk/; revision=5644
in the "packet_info" structure instead, as we don't need a pointer for
every single frame in the capture file, just for each frame for which we
currently have an open "epan_dissect_t".
svn path=/trunk/; revision=5614
Don't use the EAP ID of the first fragment as the reassembly key; that
might not work if EAP IDs are reused. Use the frame number of the frame
containing the first fragment, instead.
svn path=/trunk/; revision=5036
(Modified not to use global variables for state, but to keep state in
the conversation, to use "fragment_add_seq()", and to make the protocol
tree entries for the fragment list refer to the reassembled data and to
make the entries for items in that list refer to the part that item
contributed to that data.)
svn path=/trunk/; revision=5026
and changes to the display items for LEAP challenges and responses.
Make the LEAP state per-conversation.
Get rid of some unneeded includes.
svn path=/trunk/; revision=5008
of the LEAP negotiation, so we can properly dissect the LEAP message
after the first pass through the packets.
For that to be computed correctly, EAP frames have to be dissected on
the first pass through the capture file, even if the protocol tree isn't
being generated; that means that RADIUS AVPs need to be dissected even
if the protocol tree isn't being generated.
svn path=/trunk/; revision=5004
dissectors. "Old-style" dissectors return nothing. "New-style"
dissectors return one of:
a positive integer, giving the number of bytes worth of data in
the tvbuff that it considered to be part of the PDU in the
tvbuff;
zero, if it didn't consider the data in the tvbuff to be a PDU
for its protocol;
a negative integer, giving the number of additional bytes worth
of data in needs to get the complete PDU (for use with
fragmentation/segmentation when the length of the PDU isn't
known to the protocol atop the one the dissector is dissecting).
Have "call_dissector()" return the return value of new-style dissectors,
and the length of the tvbuff handed to it for old-style dissectors.
Have "dissector_try_port()" return FALSE if the subdissector is a
new-style dissector and returned 0.
Make the EAP dissector a new-style dissector, and have a "EAP fragment"
dissector that is also a new-style dissector and handles fragmentation
of EAP messages (as happens above, for example, RADIUS). Also, clean up
some signed vs. unsigned comparison problems.
Reassemble EAP-Message AVPs in RADIUS.
svn path=/trunk/; revision=4811
use that tree to stick fragment information when we reassemble
EAP-message fragments.
Fix up some "tvb_new_subset()" calls to set the actual length to the
minimum of the data left in the tvbuff and the length of the subset.
svn path=/trunk/; revision=4809
own protocol tree item; instead, use the SSL protocol tree for that, and
put it under the EAP tree. (I infer from mail from Adam Sulmicki that
this is a change he had but couldn't generate and submit due to CVS
problems.)
svn path=/trunk/; revision=4808
set the columns, for use with EAP payloads inside RADIUS packets.
From Adam Sulmicki: dissect SSL-encoded stuff inside EAP.
svn path=/trunk/; revision=4806
a time, so we dissect as far as we can.
Set the length of the EAP protocol item to the length of an EAP header.
Put information into the Info column about the EAP code and, for a
request or response, the EAP type.
svn path=/trunk/; revision=4798
Give the type field a value_string array, and use that field when
putting the type into the protocol tree.
Display the data under the EAPOL tree, as it's part of the EAPOL PDU.
Just use "next_tvb" as the tvbuff for the data; don't create a new one
that, the different fourth argument to "tvb_new_subset()"
nonwithstanding, refers to the same data as "next_tvb".
Call the EAP dissector through a handle.
Nobody directly calls the EAP dissector any more, they all call it
through handles; make it static.
svn path=/trunk/; revision=4787
Add more type values for EAP.
Fix off-by-one bug when displaying Code of EAP message.
Get rid of an unnecessary "volatile".
Give the code and type fields value_string arrays, and use them when
putting the code and type into the protocol tree.
Base the decision of whether to put the type field into the tree on the
request code, not on the length of the packet.
Display the Type-Data field, under that name, under the EAP tree, as
it's part of the EAP PDU.
svn path=/trunk/; revision=4779
"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
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
take a dissector handle as an argument, rather than a pointer to a
dissector function and a protocol ID. Associate dissector handles with
dissector table entries.
svn path=/trunk/; revision=4308