diff options
author | Guy Harris <guy@alum.mit.edu> | 2001-11-12 09:04:11 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2001-11-12 09:04:11 +0000 |
commit | 32a71dbac15abf603e7f676573b4494e5c75c2bf (patch) | |
tree | 131160a63df5beccd5febd5312cd46061081d833 /packet-dcerpc.c | |
parent | 6ff9b3366eda8f43c55c558fd379a1deed319f89 (diff) |
From Tim Potter: added code to call request and reply subdissectors in DCE
RPC.
svn path=/trunk/; revision=4195
Diffstat (limited to 'packet-dcerpc.c')
-rw-r--r-- | packet-dcerpc.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/packet-dcerpc.c b/packet-dcerpc.c index 31f1f6c48e..632414c68b 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.13 2001/11/12 08:58:43 guy Exp $ + * $Id: packet-dcerpc.c,v 1.14 2001/11/12 09:04:11 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -431,7 +431,7 @@ dcerpc_try_handoff (packet_info *pinfo, proto_tree *tree, dcerpc_uuid_value *sub_proto; int length; proto_item *sub_item; - proto_tree *sub_tree; + proto_tree *sub_tree = NULL; dcerpc_sub_dissector *proc; gchar *name = NULL; @@ -468,15 +468,22 @@ dcerpc_try_handoff (packet_info *pinfo, proto_tree *tree, name = "Unknown?!"; if (check_col (pinfo->fd, COL_INFO)) { - col_add_fstr (pinfo->fd, COL_INFO, "%s %s:%s(...)", - is_rqst ? "rqst" : "rply", - sub_proto->name, name); + col_add_fstr (pinfo->fd, COL_INFO, "%s %s(...)", + is_rqst ? "rqst" : "rply", name); } if (check_col (pinfo->fd, COL_PROTOCOL)) { col_set_str (pinfo->fd, COL_PROTOCOL, sub_proto->name); } - /* FIXME: call approp. dissector */ + + if (is_rqst) { + if (proc->dissect_rqst) + return proc->dissect_rqst(tvb, offset, pinfo, sub_tree); + } else { + if (proc->dissect_resp) + return proc->dissect_resp(tvb, offset, pinfo, sub_tree); + } + return 0; } |