summaryrefslogtreecommitdiff
path: root/packet-dcerpc.c
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2003-05-23 05:11:03 +0000
committerTim Potter <tpot@samba.org>2003-05-23 05:11:03 +0000
commite75d49c848ad2d6d8717be26e1a98718e84b3403 (patch)
treec7a6aa8c1f7fe306cf08ae8be601bc7e0c6a5532 /packet-dcerpc.c
parentdc815d6f4c250727cc3908838ac56e5dd6f037bd (diff)
downloadwireshark-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.c89
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;