Commit graph

51 commits

Author SHA1 Message Date
Richard Sharpe
a7338cabc6 Add the KRB5 User-to-user OID
svn path=/trunk/; revision=8036
2003-07-17 22:17:01 +00:00
Richard Sharpe
47817bcb26 Fix a small segmentation fault if we get an ASN.1 parse error, and
start to work on kerberos flags etc.

Also prettied up the case where the responseToken was an empty string.

svn path=/trunk/; revision=7767
2003-06-01 20:34:20 +00:00
Guy Harris
7940c30a80 Deal with cases where there's no token ID in a Kerberos blob.
svn path=/trunk/; revision=7741
2003-05-26 20:44:20 +00:00
Richard Sharpe
0d582042e3 Add the reqFlags decode ...
svn path=/trunk/; revision=7738
2003-05-25 00:59:15 +00:00
Richard Sharpe
52ea4be2f1 Adding more infrastructure so I can decode SPNEGO/GSSAPI request flags.
svn path=/trunk/; revision=7737
2003-05-25 00:36:30 +00:00
Richard Sharpe
577bb67174 Begin to break out the SPNEGO/GSSAPI request flags ...
svn path=/trunk/; revision=7736
2003-05-24 23:26:17 +00:00
Richard Sharpe
0d855d0ebc Adding support for GSSAPI GSS_Wrap tokens and refactoring the routine
that was already there.

svn path=/trunk/; revision=7727
2003-05-24 05:05:26 +00:00
Richard Sharpe
8a1947f01d Commit the changes to allow us to dissect GSSAPI GetMIC tokens.
However, it is now clear in the dissection tree for NFSv4 with RPCSEC_GSS
security in use that the naming is just wrong :-(

svn path=/trunk/; revision=7725
2003-05-23 18:34:58 +00:00
Richard Sharpe
8df9b98bfc First changes to properly support RFC1964 so that GSSAPI GetMIC and other
tokens can be handled.

Really, dissect-spnego-krb5 or whatever, should be renamed to something like
dissect-gssapi-tokens or dissect-gssapi-rfc1964 ...

svn path=/trunk/; revision=7724
2003-05-23 17:46:06 +00:00
Richard Sharpe
729239067b Small explanation for why MS created their own KRB5 OID value.
svn path=/trunk/; revision=7160
2003-02-17 17:32:59 +00:00
Guy Harris
bb2824366b In "dissect_spnego_negTokenTarg()", don't assume we've found a GSSAPI
OID value for the protocol being used in a previous packet in the GSSAPI
sequence.

svn path=/trunk/; revision=6896
2003-01-10 23:47:30 +00:00
Richard Sharpe
bdf14fc80e Minor spelling etc updates.
svn path=/trunk/; revision=6816
2002-12-25 20:58:06 +00:00
Guy Harris
35eefef60a Handle GSS_Wrap header information as well as context-level tokens. A
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
2002-11-28 06:48:42 +00:00
Guy Harris
e7a61d2dff There can be more than one GSS-API negotiation in a conversation, so the
handle to use to dissect SPNEGO tokens has to be stored as per-frame
data, not just as conversation data.

svn path=/trunk/; revision=6572
2002-11-07 05:25:37 +00:00
Guy Harris
354f955644 Sometimes a cigar is just a cigar, err, umm, sometimes a KRB5 blob is
just a Kerberos message; we can distinguish that from the other two
cases, so we do so, and handle all three cases.

svn path=/trunk/; revision=6505
2002-10-25 04:22:26 +00:00
Richard Sharpe
efe17e3c7f Make sure that we can dissect KRB5 in NFSv4 blobs.
svn path=/trunk/; revision=6367
2002-10-05 06:26:42 +00:00
Tim Potter
d0a0a41eaf Got rid of some nested parenthesis in the gssapi oid registrations.
svn path=/trunk/; revision=6302
2002-09-18 08:36:25 +00:00
Guy Harris
9390e0591a Use -1, rather than "tvb_length_remaining(tvb, offset)", as the length
for items that should run to the end of the tvbuff.

Make the next level dissector handle local to "dissect_spnego()".

Handle negTokenInit's with mechTokens, by, when processing the mechTypes
sequence in a negTokenInit, remembering the first MechType and telling
"dissect_spnego_mechTypes()"'s caller about it, and having that caller
use that mechType to dissect the mechToken.

svn path=/trunk/; revision=6232
2002-09-08 22:47:43 +00:00
Richard Sharpe
c5c8aed3d6 Fix documentation comments to reflext reality.
svn path=/trunk/; revision=6229
2002-09-08 02:45:26 +00:00
Guy Harris
849e1c6866 Add a "gssapi_lookup_oid()" that takes a binary OID (pointer and length)
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
2002-09-08 01:43:44 +00:00
Richard Sharpe
5739c418b7 OK, now have KRB5 dissector playing nice.
svn path=/trunk/; revision=6209
2002-09-07 03:32:49 +00:00
Jörg Mayer
546a605e75 Declare dissect_Ticket in packet-kerberos.h and include that into packet-spnego.c
svn path=/trunk/; revision=6207
2002-09-07 00:29:29 +00:00
Richard Sharpe
232db679b5 Properly dissect the innerContextToken for Kerberos in GSSAPI.
Now, all I have to do is to modularize the Kerberos dissector :-)

svn path=/trunk/; revision=6192
2002-09-06 05:41:17 +00:00
Richard Sharpe
97a92267db Commit my changes to handle KRB5 in SPNEGO ...
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-05 03:49:03 +00:00
Richard Sharpe
f982b27fae Remove a debugging printf ...
svn path=/trunk/; revision=6185
2002-09-04 22:20:57 +00:00
Richard Sharpe
174fb49854 Add some level of OID naming etc ...
svn path=/trunk/; revision=6180
2002-09-04 21:34:38 +00:00
Richard Sharpe
7876ca4fe0 Fix up warnings by implementing the stuff that was left out.
svn path=/trunk/; revision=6174
2002-09-04 06:54:45 +00:00
Richard Sharpe
6605085126 Fix the handling of the NTLMSSP blobs in the case when the server asks
for RAW NTLMSSP, but the client actually sends SPNEGO encapsulated NTLMSSP.

svn path=/trunk/; revision=6173
2002-09-04 05:46:02 +00:00
Richard Sharpe
a842eb9d8e Who was that fscking idiot who put a \n into the mechListMIC format specifier!
svn path=/trunk/; revision=6172
2002-09-03 16:45:31 +00:00
Guy Harris
4e4000a12d Make "gssapi_init_oid()" take a dissector handle rather than a
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-31 22:22:29 +00:00
Richard Sharpe
9a34291606 Make sure we stop processing GSS-API tokens when we actually have finished
and not try to parse unrelated info in the TVB.

svn path=/trunk/; revision=6162
2002-08-31 20:50:08 +00:00
Richard Sharpe
f9a17c0db3 Make Tokens into subtrees etc ...
svn path=/trunk/; revision=6159
2002-08-31 17:09:45 +00:00
Richard Sharpe
2d8152c072 Further fixes. Properly account for the length of headers. Still some headers
that we do not account for properly, like Octet Strings.

svn path=/trunk/; revision=6152
2002-08-31 07:26:10 +00:00
Richard Sharpe
a668d8c10b Squelch a whole bunch of compiler warnings. The remaining ones will have to wait until someone implements the missing bits of code.
svn path=/trunk/; revision=6147
2002-08-30 16:17:29 +00:00
Guy Harris
2bc260025b Fix the RCS ID and a compiler warning.
svn path=/trunk/; revision=6144
2002-08-30 10:31:13 +00:00
Richard Sharpe
765bad85dc Some more SPNEGO fixes. Getting much closer ...
svn path=/trunk/; revision=6140
2002-08-30 06:11:35 +00:00
Richard Sharpe
1671d6faca OK, this is a lot better.
Still have to work on the Octet string versus general string, but
much of it is there now.

svn path=/trunk/; revision=6137
2002-08-30 05:04:52 +00:00
Richard Sharpe
67ca7c97ed Commit the latest changes to get rid of seg-faults
svn path=/trunk/; revision=6136
2002-08-30 04:04:39 +00:00
Richard Sharpe
1a46e38d20 More SPNEGO, now can get down to NTLMSSP if that is what the negTokenTarg
contains.

svn path=/trunk/; revision=6133
2002-08-30 00:32:11 +00:00
Richard Sharpe
a3eb8afb24 Some more of SPNEGO ... more to come ...
svn path=/trunk/; revision=6132
2002-08-29 22:53:06 +00:00
Richard Sharpe
9ca2ca20cf More support for SPNEGO ... Gotta handle the supportedMech and cache the
handle for the dissector routine yet ...

Real work to do though ...

svn path=/trunk/; revision=6131
2002-08-29 19:45:01 +00:00
Richard Sharpe
ab3cf9bc61 OK, we now dissect the innerContextToken properly, and SPNEGO understands a
negTokenTarg, there is just more work to do on this.

svn path=/trunk/; revision=6127
2002-08-29 17:58:22 +00:00
Richard Sharpe
16630b5038 Small fix up to packet-spnego.c
svn path=/trunk/; revision=6120
2002-08-29 00:37:18 +00:00
Richard Sharpe
e0523f9acb Fix up dissect_file_attributes
svn path=/trunk/; revision=6119
2002-08-29 00:35:55 +00:00
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
Richard Sharpe
6ae5bdf96a OK, have negTokenInit done ... Big kludge though ... some good stuff though
svn path=/trunk/; revision=6110
2002-08-28 05:02:41 +00:00
Richard Sharpe
5d6821ad02 Ohh, I feel so good. More of SPNEGO ...
Still more to come. SHould have the negTokenInit done soon, then onto the
negTokenTarg ...

svn path=/trunk/; revision=6109
2002-08-28 02:30:18 +00:00
Richard Sharpe
18c0dc0ceb This is closer but still has problems. It does not seem to crash, however.
More tonight?

svn path=/trunk/; revision=6108
2002-08-28 01:15:23 +00:00
Richard Sharpe
33008beffa Commit some more changes ... getting closer ...
svn path=/trunk/; revision=6106
2002-08-28 00:19:10 +00:00
Richard Sharpe
55d87b38b5 Here is the beginnings of some code to handle SPNEGO ...
It is not correct yet, as we really should parse the ASN1 stuff correctly.

I have mainly added comments, and then will work on parsing the structures
better.

svn path=/trunk/; revision=6104
2002-08-27 23:21:53 +00:00