diff options
author | Tim Potter <tpot@samba.org> | 2003-05-15 04:58:53 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2003-05-15 04:58:53 +0000 |
commit | 2ef11527a339f147133d8c633715cfc59b44e447 (patch) | |
tree | 0c0426ed8e6afd02d57d4e583f70949b004806f1 /packet-dcerpc.c | |
parent | 180e410bd47b8108f42b91535907e078377c25d2 (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.c | 54 |
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; |