aboutsummaryrefslogtreecommitdiffstats
path: root/packet-eap.c
Commit message (Collapse)AuthorAgeFilesLines
* Add a pointer to an hf_ value for a "reassembled_in" field (which can beGuy Harris2003-04-201-1/+2
| | | | | | | | | | | | | | null) to the "fragment_items" structure, and don't pass that value into "process_reassembled_data()", just have it use the value in the "fragment_items" structure passed to it. Make "process_reassembled_data()" capable of handling reassembly done by "fragment_add_seq_check()", and use it in the ATP and 802.11 dissectors; give them "reassembled_in" fields. Make "process_reassembled_data()" handle only the case of a completed reassembly (fd_head != NULL) so that we can use it in those dissectors without gunking the code up too much. svn path=/trunk/; revision=7513
* From Eric Perie: update to the name for EAP type 15, and some additionalGuy Harris2003-04-011-2/+11
| | | | | | EAP types. svn path=/trunk/; revision=7393
* Update reassemble.c/show_item and all callers to use FT_FRAMENUM for the ↵Ronnie Sahlberg2002-12-191-3/+3
| | | | | | list of packets corresponding to a reassembled pdu svn path=/trunk/; revision=6807
* Add a "fragment_add_seq_next()" to reassemble fragments that don't haveGuy Harris2002-10-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | sequence numbers or offsets and are thus assumed to be received in order with no duplicates or dropped fragments (e.g., for NetBIOS Frame, where 802.2 LLC guarantees in-order delivery to NetBIOS with no duplicates or dropped fragments). "show_fragment_tree()' and "show_fragment_seq_tree()" don't modify the "fragment_items" to which the "fit" argument points, so make that argument a "const fragment_items *". Make all the "fragment_items" tables "static" (as they're not used outside the modules defining them) and "const" (as they're not modified). Add support for reassembly of NetBIOS fragmented requests and responses. Get rid of an unnecessary include of "packet-tr.c" in the NetBIOS dissector, and make its table of dissection function pointers static. Fix some typos in the AppleTalk and NetBIOS dissectors. svn path=/trunk/; revision=6491
* All the multi-byte integral quantities are big-endian, so let's pretendGuy Harris2002-09-081-3/+2
| | | | | | | | | | 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
* From Jouni Malinen, bug fix for EAP NAK packets.Ronnie Sahlberg2002-09-071-4/+5
| | | | svn path=/trunk/; revision=6223
* Removed trailing whitespaces from .h and .c files using theJörg Mayer2002-08-281-54/+54
| | | | | | | winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
* Replace the types from sys/types.h and netinet/in.h by their glib.hJörg Mayer2002-08-021-9/+1
| | | | | | | | 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
* Add "show_fragment_seq_tree()", which is like "show_fragment_tree()",Guy Harris2002-06-071-26/+45
| | | | | | | | | | | | | | | 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
* Get rid of the "data_src" member of the "frame_data" structure; put itGuy Harris2002-06-041-3/+2
| | | | | | | | 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
* Fix a typo.Guy Harris2002-03-281-39/+53
| | | | | | | | 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
* Cleanups from Adam Sulmicki.Guy Harris2002-03-271-5/+6
| | | | svn path=/trunk/; revision=5028
* From Adam Sulmicki: EAP-TLS reassembly.Guy Harris2002-03-271-47/+353
| | | | | | | | | | (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
* From Adam Sulmicki: state machine changes to update the state better,Guy Harris2002-03-231-57/+131
| | | | | | | | | | 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
* Attach to all frames containing LEAP messages an indication of the stateGuy Harris2002-03-221-70/+138
| | | | | | | | | | | | 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
* From Adam Sulmicki: add support for NOTIFY and NAK EAP types, fix theGuy Harris2002-03-191-10/+29
| | | | | | entry for the ID EAP type, and do some miscellaneous cleanups. svn path=/trunk/; revision=4985
* The data for EAP_TYPE_ID is just a string; display it withGuy Harris2002-03-191-1/+8
| | | | | | "tvb_format_text()", as per Adam Sulmicki's suggestion. svn path=/trunk/; revision=4984
* From Adam Sulmicki: add all known EAP types.Guy Harris2002-03-191-16/+50
| | | | | | | Use "tvb_bytes_to_str()", not "tvb_format_text()", for binary data such as challenges and responses. svn path=/trunk/; revision=4983
* Cisco LEAP support, from Adam Sulmicki.Guy Harris2002-03-181-2/+87
| | | | svn path=/trunk/; revision=4966
* Allow dissectors to be registered as "old-style" or "new-style"Guy Harris2002-02-261-10/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Just put a full EAP tree under the EAP-message TLV; we will eventuallyGuy Harris2002-02-261-40/+22
| | | | | | | | | | 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
* Don't give the raw data for SSL-encapsulated stuff in an EAP message itsGuy Harris2002-02-251-4/+2
| | | | | | | | | 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
* Add an EAP dissector that doesn't create a top-level tree and doesn'tGuy Harris2002-02-251-28/+107
| | | | | | | | 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
* Don't copy the entire EAP header, just extract stuff from it a field atGuy Harris2002-02-241-25/+27
| | | | | | | | | | | 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
* Get rid of an unnecessary "volatile".Guy Harris2002-02-221-2/+2
| | | | | | | | | | | | | | | | | | 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
* From Adam Sulmicki: dissect EAP messages inside RADIUS.Guy Harris2002-02-221-2/+4
| | | | svn path=/trunk/; revision=4786
* From Adam Sulmicki <adam[AT]cfar.umd.edu>:Guy Harris2002-02-221-24/+30
| | | | | | | | | | | | | | | | | | 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
* With the tvbuffication of all dissectors, the "packet_info" structure noGuy Harris2002-02-171-2/+2
| | | | | | | longer contains length fields, so there's no need to pass a "packet_info *" argument to "set_actual_length()". svn path=/trunk/; revision=4748
* Use "value_string" tables to map EAP code and type values to strings -Guy Harris2002-02-061-23/+19
| | | | | | and fix up the table for EAP types. svn path=/trunk/; revision=4704
* Include files from the "epan" directory and subdirectories thereof withGuy Harris2002-01-211-2/+2
| | | | | | | | | | | | | "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
* Move the pointer to the "column_info" structure in the "frame_data"Guy Harris2001-12-101-5/+5
| | | | | | | | | | | | | | | 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
* Make "dissector_add()", "dissector_delete()", and "dissector_change()"Guy Harris2001-12-031-2/+5
| | | | | | | | 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
* Moved from using dissect_data() to using call_dissector()Ed Warnicke2001-11-261-2/+5
| | | | svn path=/trunk/; revision=4269
* IEEE 802.1x, a/k/a EAPOL, and PPP/EAPOL EAP support, from PekkaGuy Harris2001-11-061-0/+156
Nikander. svn path=/trunk/; revision=4170