aboutsummaryrefslogtreecommitdiffstats
path: root/packet-gssapi.c
Commit message (Collapse)AuthorAgeFilesLines
* Export "protocol_t" as an opaque type.Guy Harris2003-11-161-2/+2
| | | | | | | | | | | | | | | | Make "proto_is_protocol_enabled()" and "proto_get_protocol_short_name()" take a "protocol_t *" as an argument, so they don't have to look up the "protocol_t" - this will probably speed them up considerably, and they're called on almost every dissector handoff. Get rid of a number of "proto_is_protocol_enabled()" calls that aren't necessary (dissectors called through handles, including those called through dissector tables, or called as heuristic dissectors, aren't even called if their protocol isn't enabled). Change some direct dissector calls to go through handles. svn path=/trunk/; revision=8979
* Move all DCERPC authentication/encryption dissection code from packet-dcerpc.cTim Potter2003-07-161-3/+46
| | | | | | | | to the dissector that handles the particular authentication flavour. This gets rid of a couple of ugly switch statements and allows other authentication modules to be written easily. svn path=/trunk/; revision=8026
* Don't discard the constness of arguments to GHashTable functions.Guy Harris2002-12-021-4/+4
| | | | svn path=/trunk/; revision=6719
* Handle GSS_Wrap header information as well as context-level tokens. AGuy Harris2002-11-281-41/+68
| | | | | | | | | | | | | | | | | | | | | | call to "gssapi_init_oid()" supplies both dissectors for context-level tokens and GSS_Wrap header information; the latter dissector should return the number of bytes of header information, so that if the header information and the message for the protocol that's using GSSAPI are treated as a single blob of data (as is the case with LDAP, but not with DCE RPC, for example), the dissector for the protocol using GSSAPI knows where to start dissecting. We associate a pointer to the entire data structure for the OID, not the handle for context-level token dissector for the OID, with conversations and frames. Make the dissector for NTLMSSP verifiers be the handler for GSS_Wrap stuff for NTLMSSP, and add support for GSS_Wrap stuff for Kerberos. Support SASL GSS-SPNEGO wrapping of LDAP messages. (XXX - this should really check for GSS-SPNEGO.) svn path=/trunk/; revision=6692
* Note that the verifiers are GSS_Wrap tokens (apparently).Guy Harris2002-11-231-1/+9
| | | | svn path=/trunk/; revision=6668
* Note that it's perfectly OK to store a dissector handle as per-frame orGuy Harris2002-11-061-3/+8
| | | | | | per-conversation data. svn path=/trunk/; revision=6570
* There can be more than one GSS-API negotiation in a conversation, so theGuy Harris2002-11-061-13/+30
| | | | | | | handle to use to dissect GSS-API inner context tokens has to be stored as per-frame data, not just as conversation data. svn path=/trunk/; revision=6569
* In connection-oriented DCE RPC, the authentication data are credentialsGuy Harris2002-11-051-30/+48
| | | | | | | | | only in bind, bind_ack, alter_context, alter_context_response, and auth3 PDUs; they're a verifier of some sort in other PDUs. The verifier appears to start with an OID for the real authentication mechanism if the authentication type is SPNEGO. svn path=/trunk/; revision=6563
* Include <string.h>.Gerald Combs2002-09-291-1/+3
| | | | svn path=/trunk/; revision=6356
* Add a "gssapi_lookup_oid()" that takes a binary OID (pointer and length)Guy Harris2002-09-081-21/+35
| | | | | | | | | | | | | | | | as an argument, and looks up that OID in the GSSAPI OID hash table. Always use that routine to look up OIDs, so that we never use the result of "format_oid()" as the key (as that doesn't necessarily work). Make "gssapi_oids" static, as one should only look up GSSAPI authentication mechanism OIDs with "gssapi_lookup_oid()". In the SPNEGO dissector, free up the OID strings when we're done with them, and don't advance the offset past the OID until after we put the OID into the protocol tree. svn path=/trunk/; revision=6228
* Add a copyright :-)Richard Sharpe2002-09-081-1/+3
| | | | svn path=/trunk/; revision=6226
* Do *N*O*T* use the result of "format_oid()" as a key to look up a entryGuy Harris2002-09-081-8/+12
| | | | | | | | | | | | in the gssapi_oids hash table; the keys are just text representations of the numbers in the OID, but "format_oid()" can add a formatted description of the OID to the end of the string it returns, which means it won't match. Use -1 rather than "tvb_length_remaining(tvb, 0)" as the length to say "this item goes to the end of the tvbuff. svn path=/trunk/; revision=6225
* Fix up compiler warning problems ...Richard Sharpe2002-09-051-6/+1
| | | | svn path=/trunk/; revision=6188
* Add some level of OID naming etc ...Richard Sharpe2002-09-041-14/+25
| | | | svn path=/trunk/; revision=6180
* Make "gssapi_init_oid()" take a dissector handle rather than aGuy Harris2002-08-311-4/+4
| | | | | | | 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
* Make sure we stop processing GSS-API tokens when we actually have finishedRichard Sharpe2002-08-311-1/+2
| | | | | | and not try to parse unrelated info in the TVB. svn path=/trunk/; revision=6162
* Catch exceptions thrown while dissecting the GSS-API stuff, so that weGuy Harris2002-08-311-121/+141
| | | | | | | | | | don't abort dissection of the entire packet if we get a ReportedBoundsError while dissecting an authentication blob - the authentication blob might be in the middle of a packet, and if it's too short, that doesn't mean that the stuff *after* it shouldn't be dissected. svn path=/trunk/; revision=6160
* OK, we now dissect the innerContextToken properly, and SPNEGO understands aRichard Sharpe2002-08-291-2/+6
| | | | | | negTokenTarg, there is just more work to do on this. svn path=/trunk/; revision=6127
* OK, add more conversation stuff for gssapi ... see iff it works now.Richard Sharpe2002-08-291-17/+44
| | | | svn path=/trunk/; revision=6126
* Start the code to keep state in GSSAPI.Richard Sharpe2002-08-291-8/+27
| | | | | | | | Since we only need the dissector handle, I cheated :-) This should not cause problems (famous last words) svn path=/trunk/; revision=6125
* Guided by Guy and an examination of RFC2078 and RFC2478, I have added someRichard Sharpe2002-08-291-1/+14
| | | | | | | | comments about what we need to do to get SPNEGO properly implemented. More work to do. svn path=/trunk/; revision=6121
* Removed trailing whitespaces from .h and .c files using theJörg Mayer2002-08-281-12/+12
| | | | | | | winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
* Ohh, I feel so good. More of SPNEGO ...Richard Sharpe2002-08-281-2/+5
| | | | | | | Still more to come. SHould have the negTokenInit done soon, then onto the negTokenTarg ... svn path=/trunk/; revision=6109
* OK, fix up the problems of the previous commit ...Richard Sharpe2002-08-271-8/+3
| | | | svn path=/trunk/; revision=6105
* Plug a memory leak, by freeing the OID string generated byGuy Harris2002-08-261-5/+27
| | | | | | | | | | | "format_oid()" after we're done with it. "format_oid()" doesn't necessarily generate a string containing only the numerical OID value, so we can't use that string to search for an OID in the OID hash table. Generate the string used in that lookup ourselves, instead. svn path=/trunk/; revision=6089
* Small fix to get the OIDs to display properly in GSSAPI.Richard Sharpe2002-08-251-6/+8
| | | | | | | Next to turn SPNEGO into SPNEGO and not SNEGO ... and display the contents properly as NTLMSSP. svn path=/trunk/; revision=6083
* Make the filter name for GSS-API tokens "gss-api", not "GSS-API", toGuy Harris2002-08-241-2/+2
| | | | | | | | | | | | | | 1) match the protocol's filter name (which isn't used, as we never put entries into the protocol tree for the protocol itself) and 2) make it more obvious what you type. (This matches what the NTLMSSP dissector does for its security blobs.) svn path=/trunk/; revision=6076
* A dissector for GSS-API (rfc2078). This is used by Windows 2000/XP whenTim Potter2002-08-211-0/+231
the extended security bit is set. svn path=/trunk/; revision=6047