aboutsummaryrefslogtreecommitdiffstats
path: root/packet-ntlmssp.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2002-11-28 06:48:42 +0000
committerGuy Harris <guy@alum.mit.edu>2002-11-28 06:48:42 +0000
commit35eefef60a411b3637fe85d91f0fb25b185aed79 (patch)
treeb8ad2a70a06e518a97b190fb8ac01c0dfb3ca568 /packet-ntlmssp.c
parent094345b492c3a436ccfd2231e424c82c5a615344 (diff)
downloadwireshark-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.c14
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");
}