diff options
author | Guy Harris <guy@alum.mit.edu> | 2002-11-28 06:48:42 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2002-11-28 06:48:42 +0000 |
commit | 35eefef60a411b3637fe85d91f0fb25b185aed79 (patch) | |
tree | b8ad2a70a06e518a97b190fb8ac01c0dfb3ca568 /packet-ntlmssp.c | |
parent | 094345b492c3a436ccfd2231e424c82c5a615344 (diff) | |
download | wireshark-35eefef60a411b3637fe85d91f0fb25b185aed79.tar.gz wireshark-35eefef60a411b3637fe85d91f0fb25b185aed79.tar.bz2 wireshark-35eefef60a411b3637fe85d91f0fb25b185aed79.zip |
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
Diffstat (limited to 'packet-ntlmssp.c')
-rw-r--r-- | packet-ntlmssp.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/packet-ntlmssp.c b/packet-ntlmssp.c index 8ce8a1ce83..c04d7632f6 100644 --- a/packet-ntlmssp.c +++ b/packet-ntlmssp.c @@ -2,7 +2,7 @@ * Routines for NTLM Secure Service Provider * Devin Heitmueller <dheitmueller@netilla.com> * - * $Id: packet-ntlmssp.c,v 1.31 2002/11/10 09:38:22 guy Exp $ + * $Id: packet-ntlmssp.c,v 1.32 2002/11/28 06:48:42 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -770,7 +770,7 @@ dissect_ntlmssp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* * See page 45 of "DCE/RPC over SMB" by Luke Kenneth Casson Leighton. */ -static void +static int dissect_ntlmssp_verf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { volatile int offset = 0; @@ -814,6 +814,8 @@ dissect_ntlmssp_verf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } CATCH(ReportedBoundsError) { show_reported_bounds_error(tvb, pinfo, tree); } ENDTRY; + + return offset; } static void @@ -996,17 +998,19 @@ proto_register_ntlmssp(void) register_init_routine(&ntlmssp_init_protocol); register_dissector("ntlmssp", dissect_ntlmssp, proto_ntlmssp); - register_dissector("ntlmssp_verf", dissect_ntlmssp_verf, proto_ntlmssp); + new_register_dissector("ntlmssp_verf", dissect_ntlmssp_verf, proto_ntlmssp); } void proto_reg_handoff_ntlmssp(void) { - dissector_handle_t ntlmssp_handle; + dissector_handle_t ntlmssp_handle, ntlmssp_wrap_handle; /* Register protocol with the GSS-API module */ ntlmssp_handle = find_dissector("ntlmssp"); + ntlmssp_wrap_handle = find_dissector("ntlmssp_verf"); gssapi_init_oid("1.3.6.1.4.1.311.2.2.10", proto_ntlmssp, ett_ntlmssp, - ntlmssp_handle, "NTLMSSP - Microsoft NTLM Security Support Provider"); + ntlmssp_handle, ntlmssp_wrap_handle, + "NTLMSSP - Microsoft NTLM Security Support Provider"); } |