Commit Graph

28 Commits

Author SHA1 Message Date
Jörg Mayer 7c4176d868 Removed trailing whitespaces from .h and .c files using the
winapi_cleanup tool written by Patrik Stridvall for the wine
project.

svn path=/trunk/; revision=6117
2002-08-28 21:04:11 +00:00
Jörg Mayer 173fe5aef4 Replace the types from sys/types.h and netinet/in.h by their glib.h
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
2002-08-02 23:36:07 +00:00
Guy Harris 4f9508837a Add "show_fragment_seq_tree()", which is like "show_fragment_tree()",
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
2002-06-07 10:11:41 +00:00
Guy Harris 392a7dfc04 Get rid of the "data_src" member of the "frame_data" structure; put it
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
2002-06-04 07:03:57 +00:00
Guy Harris c5aca06c06 Fix a typo.
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
2002-03-28 09:51:17 +00:00
Guy Harris 435f99fa72 Cleanups from Adam Sulmicki.
svn path=/trunk/; revision=5028
2002-03-27 19:38:37 +00:00
Guy Harris 6cb7af661a From Adam Sulmicki: EAP-TLS reassembly.
(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
2002-03-27 07:41:20 +00:00
Guy Harris 3c36b98cca From Adam Sulmicki: state machine changes to update the state better,
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
2002-03-23 21:24:38 +00:00
Guy Harris fb18dbe6f5 Attach to all frames containing LEAP messages an indication of the state
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
2002-03-22 11:41:59 +00:00
Guy Harris 3795d7d240 From Adam Sulmicki: add support for NOTIFY and NAK EAP types, fix the
entry for the ID EAP type, and do some miscellaneous cleanups.

svn path=/trunk/; revision=4985
2002-03-19 20:55:40 +00:00
Guy Harris 44e195e9b7 The data for EAP_TYPE_ID is just a string; display it with
"tvb_format_text()", as per Adam Sulmicki's suggestion.

svn path=/trunk/; revision=4984
2002-03-19 12:02:03 +00:00
Guy Harris adfba076ee From Adam Sulmicki: add all known EAP types.
Use "tvb_bytes_to_str()", not "tvb_format_text()", for binary data such
as challenges and responses.

svn path=/trunk/; revision=4983
2002-03-19 11:33:08 +00:00
Guy Harris d29d38d864 Cisco LEAP support, from Adam Sulmicki.
svn path=/trunk/; revision=4966
2002-03-18 00:26:27 +00:00
Guy Harris 193b8c9bfb Allow dissectors to be registered as "old-style" or "new-style"
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
2002-02-26 11:55:39 +00:00
Guy Harris 103fd1a681 Just put a full EAP tree under the EAP-message TLV; we will eventually
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
2002-02-26 00:51:41 +00:00
Guy Harris cd055b0b62 Don't give the raw data for SSL-encapsulated stuff in an EAP message its
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
2002-02-25 23:55:21 +00:00
Guy Harris 5c18f33d5c Add an EAP dissector that doesn't create a top-level tree and doesn't
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
2002-02-25 23:28:32 +00:00
Guy Harris 1be3629f30 Don't copy the entire EAP header, just extract stuff from it a field at
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
2002-02-24 08:10:07 +00:00
Guy Harris 1157a3998b Get rid of an unnecessary "volatile".
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
2002-02-22 21:51:18 +00:00
Guy Harris c786f129c0 From Adam Sulmicki: dissect EAP messages inside RADIUS.
svn path=/trunk/; revision=4786
2002-02-22 21:31:49 +00:00
Guy Harris 33620ec7f8 From Adam Sulmicki <adam[AT]cfar.umd.edu>:
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
2002-02-22 09:52:01 +00:00
Guy Harris d92a1cd8e1 With the tvbuffication of all dissectors, the "packet_info" structure no
longer contains length fields, so there's no need to pass a "packet_info
*" argument to "set_actual_length()".

svn path=/trunk/; revision=4748
2002-02-17 00:51:21 +00:00
Guy Harris 672006c8f5 Use "value_string" tables to map EAP code and type values to strings -
and fix up the table for EAP types.

svn path=/trunk/; revision=4704
2002-02-06 22:45:43 +00:00
Guy Harris ee5ca25d31 Include files from the "epan" directory and subdirectories thereof with
"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
2002-01-21 07:37:49 +00:00
Guy Harris 23319ff023 Move the pointer to the "column_info" structure in the "frame_data"
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
2001-12-10 00:26:21 +00:00
Guy Harris bced8711f6 Make "dissector_add()", "dissector_delete()", and "dissector_change()"
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
2001-12-03 04:00:26 +00:00
Ed Warnicke fcd5b352af Moved from using dissect_data() to using call_dissector()
svn path=/trunk/; revision=4269
2001-11-26 04:52:51 +00:00
Guy Harris 3852944487 IEEE 802.1x, a/k/a EAPOL, and PPP/EAPOL EAP support, from Pekka
Nikander.

svn path=/trunk/; revision=4170
2001-11-06 20:30:40 +00:00