aboutsummaryrefslogtreecommitdiffstats
path: root/packet-dcerpc.c
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2003-05-15 04:58:53 +0000
committerTim Potter <tpot@samba.org>2003-05-15 04:58:53 +0000
commit2ef11527a339f147133d8c633715cfc59b44e447 (patch)
tree0c0426ed8e6afd02d57d4e583f70949b004806f1 /packet-dcerpc.c
parent180e410bd47b8108f42b91535907e078377c25d2 (diff)
Move dissection of NETLOGON secure channel auth verifier into
packet-dcerpc-netlogon.c svn path=/trunk/; revision=7670
Diffstat (limited to 'packet-dcerpc.c')
-rw-r--r--packet-dcerpc.c54
1 files changed, 9 insertions, 45 deletions
diff --git a/packet-dcerpc.c b/packet-dcerpc.c
index f48f45fc09..55b8707ea7 100644
--- a/packet-dcerpc.c
+++ b/packet-dcerpc.c
@@ -2,7 +2,7 @@
* Routines for DCERPC packet disassembly
* Copyright 2001, Todd Sabin <tas@webspan.net>
*
- * $Id: packet-dcerpc.c,v 1.122 2003/05/15 01:59:23 tpot Exp $
+ * $Id: packet-dcerpc.c,v 1.123 2003/05/15 04:58:53 tpot Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -399,11 +399,6 @@ static int hf_dcerpc_fragment_multiple_tails = -1;
static int hf_dcerpc_fragment_too_long_fragment = -1;
static int hf_dcerpc_fragment_error = -1;
static int hf_dcerpc_reassembled_in = -1;
-static int hf_dcerpc_sec_chan = -1;
-static int hf_dcerpc_sec_chan_sig = -1;
-static int hf_dcerpc_sec_chan_unk = -1;
-static int hf_dcerpc_sec_chan_seq = -1;
-static int hf_dcerpc_sec_chan_nonce = -1;
static gint ett_dcerpc = -1;
static gint ett_dcerpc_cn_flags = -1;
@@ -415,7 +410,6 @@ static gint ett_dcerpc_string = -1;
static gint ett_dcerpc_fragments = -1;
static gint ett_dcerpc_fragment = -1;
static gint ett_decrpc_krb5_auth_verf = -1;
-static gint ett_sec_chan = -1;
static dissector_handle_t ntlmssp_handle, ntlmssp_verf_handle,
ntlmssp_enc_payload_handle;
@@ -1782,29 +1776,16 @@ dissect_dcerpc_verifier (tvbuff_t *tvb, packet_info *pinfo,
}
case DCE_C_RPC_AUTHN_PROTOCOL_SEC_CHAN: {
- proto_item *vf = NULL;
- proto_tree *volatile sec_chan_tree = NULL;
- /*
- * Create a new tree, and split into 4 components ...
- */
- vf = proto_tree_add_item(dcerpc_tree, hf_dcerpc_sec_chan, tvb,
- auth_offset, -1, FALSE);
- sec_chan_tree = proto_item_add_subtree(vf, ett_sec_chan);
-
- proto_tree_add_item(sec_chan_tree, hf_dcerpc_sec_chan_sig, tvb,
- auth_offset, 8, FALSE);
-
- proto_tree_add_item(sec_chan_tree, hf_dcerpc_sec_chan_unk, tvb,
- auth_offset + 8, 8, FALSE);
-
- proto_tree_add_item(sec_chan_tree, hf_dcerpc_sec_chan_seq, tvb,
- auth_offset + 16, 8, FALSE);
+ tvbuff_t *secchan_tvb;
+
+ secchan_tvb = tvb_new_subset(
+ tvb, auth_offset, hdr->auth_len, hdr->auth_len);
- proto_tree_add_item(sec_chan_tree, hf_dcerpc_sec_chan_nonce, tvb,
- auth_offset + 24, 8, FALSE);
+ netlogon_dissect_secchan_verf(
+ secchan_tvb, 0, pinfo, dcerpc_tree, hdr->drep);
- break;
- }
+ break;
+ }
default:
proto_tree_add_text (dcerpc_tree, tvb, auth_offset, hdr->auth_len,
@@ -4219,22 +4200,6 @@ proto_register_dcerpc (void)
{ "Time from request", "dcerpc.time", FT_RELATIVE_TIME, BASE_NONE, NULL, 0, "Time between Request and Reply for DCE-RPC calls", HFILL }},
{ &hf_dcerpc_reassembled_in,
{ "This PDU is reassembled in", "dcerpc.reassembled_in", FT_FRAMENUM, BASE_NONE, NULL, 0x0, "The DCE/RPC PDU is completely reassembled in this frame", HFILL }},
- { &hf_dcerpc_sec_chan,
- { "Verifier", "verifier", FT_NONE, BASE_NONE, NULL, 0x0, "Verifier",
- HFILL }},
- { &hf_dcerpc_sec_chan_sig,
- { "Signature", "dcerpc.sec_chan.sig", FT_BYTES, BASE_HEX, NULL,
- 0x0, "Signature", HFILL }},
- { &hf_dcerpc_sec_chan_unk,
- { "Unknown", "dcerpc.sec_chan.unk", FT_BYTES, BASE_HEX, NULL,
- 0x0, "Unknown", HFILL }},
- { &hf_dcerpc_sec_chan_seq,
- { "Sequence No", "dcerpc.sec_chan.seq", FT_BYTES, BASE_HEX, NULL,
- 0x0, "Sequence No", HFILL }},
- { &hf_dcerpc_sec_chan_nonce,
- { "Nonce", "dcerpc.sec_chan.nonce", FT_BYTES, BASE_HEX, NULL,
- 0x0, "Nonce", HFILL }},
-
};
static gint *ett[] = {
&ett_dcerpc,
@@ -4247,7 +4212,6 @@ proto_register_dcerpc (void)
&ett_dcerpc_fragments,
&ett_dcerpc_fragment,
&ett_decrpc_krb5_auth_verf,
- &ett_sec_chan,
};
module_t *dcerpc_module;