diff options
author | Tim Potter <tpot@samba.org> | 2003-05-23 05:11:03 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2003-05-23 05:11:03 +0000 |
commit | e75d49c848ad2d6d8717be26e1a98718e84b3403 (patch) | |
tree | c7a6aa8c1f7fe306cf08ae8be601bc7e0c6a5532 /packet-dcerpc.c | |
parent | dc815d6f4c250727cc3908838ac56e5dd6f037bd (diff) | |
download | wireshark-e75d49c848ad2d6d8717be26e1a98718e84b3403.tar.gz |
Fix typo in name of ett for krb5 auth verifier.
svn path=/trunk/; revision=7721
Diffstat (limited to 'packet-dcerpc.c')
-rw-r--r-- | packet-dcerpc.c | 89 |
1 files changed, 54 insertions, 35 deletions
diff --git a/packet-dcerpc.c b/packet-dcerpc.c index 55b8707ea7..06afe7be97 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.123 2003/05/15 04:58:53 tpot Exp $ + * $Id: packet-dcerpc.c,v 1.124 2003/05/23 05:11:03 tpot Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -40,7 +40,6 @@ #include "packet-frame.h" #include "packet-ntlmssp.h" #include "packet-dcerpc-nt.h" -#include "packet-dcerpc-netlogon.h" static int dcerpc_tap = -1; @@ -399,6 +398,11 @@ 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; @@ -409,7 +413,8 @@ static gint ett_dcerpc_pointer_data = -1; 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_dcerpc_krb5_auth_verf = -1; +static gint ett_sec_chan = -1; static dissector_handle_t ntlmssp_handle, ntlmssp_verf_handle, ntlmssp_enc_payload_handle; @@ -1776,16 +1781,29 @@ dissect_dcerpc_verifier (tvbuff_t *tvb, packet_info *pinfo, } case DCE_C_RPC_AUTHN_PROTOCOL_SEC_CHAN: { - tvbuff_t *secchan_tvb; - - secchan_tvb = tvb_new_subset( - tvb, auth_offset, hdr->auth_len, hdr->auth_len); + 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); - netlogon_dissect_secchan_verf( - secchan_tvb, 0, pinfo, dcerpc_tree, hdr->drep); + proto_tree_add_item(sec_chan_tree, hf_dcerpc_sec_chan_sig, tvb, + auth_offset, 8, FALSE); - break; - } + 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); + + proto_tree_add_item(sec_chan_tree, hf_dcerpc_sec_chan_nonce, tvb, + auth_offset + 24, 8, FALSE); + + break; + } default: proto_tree_add_text (dcerpc_tree, tvb, auth_offset, hdr->auth_len, @@ -1873,28 +1891,12 @@ dissect_dcerpc_cn_auth (tvbuff_t *tvb, packet_info *pinfo, proto_tree *dcerpc_tr } case DCE_C_RPC_AUTHN_PROTOCOL_SEC_CHAN: { - tvbuff_t *secchan_tvb; - - secchan_tvb = tvb_new_subset( - tvb, offset, hdr->auth_len, hdr->auth_len); - - switch(hdr->ptype) { - case PDU_BIND: - netlogon_dissect_secchan_bind_creds( - secchan_tvb, 0, pinfo, dcerpc_tree, - hdr->drep); - break; - case PDU_BIND_ACK: - netlogon_dissect_secchan_bind_ack_creds( - secchan_tvb, 0, pinfo, dcerpc_tree, - hdr->drep); - break; - default: - proto_tree_add_text( - dcerpc_tree, secchan_tvb, 0, hdr->auth_len, - "Secure Channel Credentials"); - } - break; + + /* TODO: Fill me in when we know what goes here */ + + proto_tree_add_text (dcerpc_tree, tvb, offset, hdr->auth_len, + "Secure Channel Auth Credentials"); + break; } default: @@ -3203,7 +3205,7 @@ dissect_dcerpc_dg_auth (tvbuff_t *tvb, int offset, proto_tree *dcerpc_tree, case DCE_C_RPC_AUTHN_PROTOCOL_KRB5: ti = proto_tree_add_text (dcerpc_tree, tvb, offset, -1, "Kerberos authentication verifier"); - auth_tree = proto_item_add_subtree (ti, ett_decrpc_krb5_auth_verf); + auth_tree = proto_item_add_subtree (ti, ett_dcerpc_krb5_auth_verf); protection_level = tvb_get_guint8 (tvb, offset); if (auth_level_p != NULL) *auth_level_p = protection_level; @@ -4200,6 +4202,22 @@ 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, @@ -4211,7 +4229,8 @@ proto_register_dcerpc (void) &ett_dcerpc_string, &ett_dcerpc_fragments, &ett_dcerpc_fragment, - &ett_decrpc_krb5_auth_verf, + &ett_dcerpc_krb5_auth_verf, + &ett_sec_chan, }; module_t *dcerpc_module; |