aboutsummaryrefslogtreecommitdiffstats
path: root/packet-kerberos.c
AgeCommit message (Collapse)AuthorFilesLines
2002-09-10Fix a typo in Richard's name.Guy Harris1-5/+30
Add some additional information from http://www.isi.edu/people/bcn/krb-revisions/krbclar8-1.html svn path=/trunk/; revision=6245
2002-09-10Add Microsoft's RC4-HMAC and exportable(?) RC4-HMAC encryption types.Guy Harris1-2/+14
svn path=/trunk/; revision=6242
2002-09-08KRB_DECODE_STRING_OR_DIE, and variants thereof, set "val_len" to theGuy Harris1-8/+8
length of the string value and "item_len" to the length of the entire BER item, including the type header. As such, "val_len", not "item_len", should be used when formatting the value, and "item_len", not "val_len", should be used as the length when putting the item into the protocol tree and when advancing the offset. The kvno in an encryptedData item is unsigned; display it as such. svn path=/trunk/; revision=6231
2002-09-07Decode AP-REQ and AP-REP KRB5 message types ...Richard Sharpe1-6/+55
svn path=/trunk/; revision=6211
2002-09-07OK, now have KRB5 dissector playing nice.Richard Sharpe1-7/+7
svn path=/trunk/; revision=6209
2002-09-05Commit my changes to handle KRB5 in SPNEGO ...Richard Sharpe1-8/+3
Turns out it is a KRB5 AP-REQ ASN1 encoded, and the Kerberos dissector is going to need to be re-architected to deal with this. svn path=/trunk/; revision=6187
2002-09-04Add some level of OID naming etc ...Richard Sharpe1-5/+4
svn path=/trunk/; revision=6180
2002-09-01Add the OID that MS created for KRB5 in mistake.Richard Sharpe1-1/+5
svn path=/trunk/; revision=6164
2002-08-31Make "gssapi_init_oid()" take a dissector handle rather than aGuy Harris1-2/+3
registered dissector name; that means you don't have to register a dissector by name to associate it with a GSS-API security mechanism OID. svn path=/trunk/; revision=6163
2002-08-30Include "packet-gssapi.h" to declare routines we call.Guy Harris1-1/+2
svn path=/trunk/; revision=6142
2002-08-30Some more SPNEGO fixes. Getting much closer ...Richard Sharpe1-1/+3
svn path=/trunk/; revision=6140
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-16/+16
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
2002-08-22Display NetBIOS names in standard NetBIOS-name style if they have theGuy Harris1-3/+19
right length, and display them with an error indication and using "format_text()" if they're not ("format_text()" deals with the string not being null-terminated, and handles non-printable characters). svn path=/trunk/; revision=6061
2002-08-02Replace the types from sys/types.h and netinet/in.h by their glib.hJörg Mayer1-5/+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
2002-07-29Committing Kerberos NetBIOS address type stuff from Jim McDonough.Richard Sharpe1-1/+8
svn path=/trunk/; revision=5908
2002-05-01From Joerg Mayer: get rid of unused "title" arguments forGuy Harris1-8/+8
"dissect_Ticket()" and "dissect_Addresses()". svn path=/trunk/; revision=5319
2002-01-21Include files from the "epan" directory and subdirectories thereof withGuy Harris1-3/+3
"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
2001-12-10Move the pointer to the "column_info" structure in the "frame_data"Guy Harris1-17/+17
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-03Make "dissector_add()", "dissector_delete()", and "dissector_change()"Guy Harris1-7/+8
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-10-26Fix the rest of the signed/unsigned comparison warnings.Gilbert Ramirez1-5/+7
svn path=/trunk/; revision=4088
2001-04-15Assorted cleanups.Guy Harris1-5/+5
svn path=/trunk/; revision=3305
2001-04-15Tvbuffify the ASN.1 code and the Kerberos, LDAP, and SNMP dissectors.Guy Harris1-209/+253
Clean up some problems that revealed. svn path=/trunk/; revision=3301
2001-01-09Add an additional "protocol index" argument to "{old_}dissector_add()",Guy Harris1-3/+5
"{old_}heur_dissector_add()", "{old_}conv_dissector_add()", and "register_dissector()", so that an entry in those tables has associated with it the protocol index of the protocol the dissector handles (or -1, if there is no protocol index for it). This is for future use in a number of places. (Arguably, "proto_register_protocol()" should take a dissector pointer as an argument, but 1) it'd have to handle both regular and heuristic dissectors; 2) making it take either a "dissector_t" or a union of that and a "heur_dissector_t" introduces some painful header-file interdependencies so I'm punting on that for now. As with other Ethereal internal APIs, these APIs are subject to change in the future, at least until Ethereal 1.0 comes out....) svn path=/trunk/; revision=2849
2001-01-03Ensure that all value_string arrays end in {0, NULL}. Dissectors got awayGilbert Ramirez1-4/+10
with not terminating their arrays because they knew the limits of the value used to look up strings in the value_string array, but the dfilter_expr_dlg does not know these limits and must rely on the terminating {0, NULL} record. Also, in SNA fixed a bug in which a field should have been defined as FT_UINT8 but was defined as FT_BOOLEAN. In WTP, fixed a value string which had duplicate keys. svn path=/trunk/; revision=2817
2001-01-03Have "proto_register_protocol()" build a list of data structures forGuy Harris1-2/+2
protocols, in addition to adding structures to the list of filterable fields. Give it an extra argument that specifies a "short name" for the protocol, for use in such places as pinfo->current_proto; the dialog box for constructing filters; the preferences tab for the protocol; and so on (although we're not yet using it in all those places). Make the preference name that appears in the preferences file and the command line for the DIAMETER protocol "diameter", not "Diameter"; the convention is that the name in question be all-lower-case. Make some routines and variables that aren't exported static. Update a comment in the ICP dissector to make it clear that the dissector won't see fragments other than the first fragment of a fragmented datagram. svn path=/trunk/; revision=2810
2000-12-26added KRB-ERROR response dissectionNathan Neulinger1-16/+269
svn path=/trunk/; revision=2785
2000-12-25If a PrincipalName has at least one name-string, put the first of theGuy Harris1-1/+19
name strings into the top-level tree item for the PrincipalName, along the lines of what was done earlier. svn path=/trunk/; revision=2781
2000-12-24Added kerberos name types and lookup in PrincName dissectNathan Neulinger1-20/+75
Cipher: to CipherText: ETYPE to ENCTYPE to agree with krb5 headers Added additional preauth types svn path=/trunk/; revision=2779
2000-12-24Rename "asn1_octet_string_value_decode()" toGuy Harris1-358/+649
"asn1_string_value_decode()", as it can be used for various character string types as well. Turn "asn1_octet_string_decode()" into "asn1_string_decode()", which takes an additional argument giving the tag expected for the string in question, and make "asn1_octet_string_decode()" a wrapper around it. Clean up the ASN.1 dissection in the Kerberos dissector, making more use of the code in "asn1.c", wrapping more operations up in macros, and doing some more type checking. Use "REP" rather than "RESP" in names and strings; "REP" is what the Kerberos spec uses. Make the routines in the Kerberos dissector not used outside that dissector static. Fix some problems with the dissection of strings in the Kerberos dissector (it was extracting the data from the wrong place in the packet). In Kerberos V5, the "kvno" item in the EncryptedData type is optional; treat it as such. Treat integers as unsigned in the Kerberos dissector. svn path=/trunk/; revision=2777
2000-12-22added a couple of msg types - in particular - ERROR responseNathan Neulinger1-2/+14
svn path=/trunk/; revision=2770
2000-11-19For each column, have both a buffer into which strings for that columnGuy Harris1-2/+2
can be put, and a pointer to the string for the column, which might or might not point to that buffer. Add a routine "col_set_str()", which sets the string for the column to the string passed to it as an argument; it should only be handed a static string (a string constant would be ideal). It doesn't do any copying, so it's faster than "col_add_str()". Make the routines that append to columns check whether the pointer to the string for the column points to the buffer for the column and, if not, copy the string for the column to the buffer for the column so that you can append to it (so you can use "col_set_str()" and then use "col_append_str()" or "col_append_fstr()"). Convert a bunch of "col_add_str()" calls that take a string constant as an argument to "col_set_str()" calls. Convert some "col_add_fstr()" calls that take a string constant as the only argument - i.e., the format string doesn't have any "%" slots into which to put strings for subsequent arguments to "col_set_str()" calls (those calls are just like "col_add_str()" calls). Replace an END_OF_FRAME reference in a tvbuffified dissector with a "tvb_length(tvb)" call. svn path=/trunk/; revision=2670
2000-11-13Move "bytes_to_str()" to "strutil.c" from "packet.c" - it's just aGuy Harris1-1/+3
string formatter, like "format_text()", and, as "tvbuff.c" now calls it (*vide infra*), we don't want to have to make "tvbuff.c" drag "packet.h" in just to declare "bytes_to_str()". It's now declared in "strutil.h", so include it in modules that use "bytes_to_str()" and weren't already including it. Add a "tvb_bytes_to_str()" wrapper that calls "tvb_get_ptr()" to get a pointer to a chunk of N bytes at a given offset in a tvbuff and then hands that chunk to "bytes_to_str()". Convert the code that was doing that to use "tvb_bytes_to_str()" instead (which caught what I suspect is a bug in the Q.2931 dissector, where it was handing an offset of 0 to "tvb_get_ptr()" - a cut-and-pasteo, I think). Tvbuffify the ARP dissector. svn path=/trunk/; revision=2634
2000-09-06Check that columns are enabled and that COL_INFO exists before addingGilbert Ramirez1-4/+7
to it (in the *_OR_DIE macros). svn path=/trunk/; revision=2390
2000-08-13Add the "Edit:Protocols..." feature which currently only implementsLaurent Deniel1-1/+3
the following: It is now possible to enable/disable a particular protocol decoding (i.e. the protocol dissector is void or not). When a protocol is disabled, it is displayed as Data and of course, all linked sub-protocols are disabled as well. Disabling a protocol could be interesting: - in case of buggy dissectors - in case of wrong heuristics - for performance reasons - to decode the data as another protocol (TODO) Currently (if I am not wrong), all dissectors but NFS can be disabled (and dissectors that do not register protocols :-) I do not like the way the RPC sub-dissectors are disabled (in the sub-dissectors) since this could be done in the RPC dissector itself, knowing the sub-protocol hfinfo entry (this is why, I've not modified the NFS one yet). Two functions are added in proto.c : gboolean proto_is_protocol_enabled(int n); void proto_set_decoding(int n, gboolean enabled); and two MACROs which can be used in dissectors: OLD_CHECK_DISPLAY_AS_DATA(index, pd, offset, fd, tree) CHECK_DISPLAY_AS_DATA(index, tvb, pinfo, tree) See also the XXX in proto_dlg.c and proto.c around the new functions. svn path=/trunk/; revision=2267
2000-08-11Not all compilers like zero-length arrays; comment out the definition ofGuy Harris1-1/+5
"hf[]", and the reference to it, for now. svn path=/trunk/; revision=2253
2000-08-11Kerberos 5 dissector, from Wes Hardaker.Guy Harris1-0/+944
svn path=/trunk/; revision=2250