aboutsummaryrefslogtreecommitdiffstats
path: root/packet-rpc.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-02-06 06:46:10 +0000
committerGuy Harris <guy@alum.mit.edu>2001-02-06 06:46:10 +0000
commitd9ee8bec536d8eac9177deef04f4d90d96d2e390 (patch)
tree7a89cb2573f7ae92f6d3acbf562079f2a4144834 /packet-rpc.c
parent60ce2f6158217e56240d20e765a497b9e3dffdb5 (diff)
Tvbuffify the portmap/rpcbind dissector, and implement part of CALLIT
dissection (dissection of V2 CALLIT calls; no V3/V4 stuff or reply handling yet). svn path=/trunk/; revision=2994
Diffstat (limited to 'packet-rpc.c')
-rw-r--r--packet-rpc.c29
1 files changed, 5 insertions, 24 deletions
diff --git a/packet-rpc.c b/packet-rpc.c
index ed40de8668..2b9ac66d08 100644
--- a/packet-rpc.c
+++ b/packet-rpc.c
@@ -2,7 +2,7 @@
* Routines for rpc dissection
* Copyright 1999, Uwe Girlich <Uwe.Girlich@philosys.de>
*
- * $Id: packet-rpc.c,v 1.51 2001/01/28 03:39:48 guy Exp $
+ * $Id: packet-rpc.c,v 1.52 2001/02/06 06:46:10 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -178,26 +178,7 @@ static gint ett_rpc_gss_data = -1;
static GHashTable *rpc_progs;
/* Hash table with info on RPC procedure numbers */
-static GHashTable *rpc_procs;
-
-typedef struct _rpc_proc_info_key {
- guint32 prog;
- guint32 vers;
- guint32 proc;
-} rpc_proc_info_key;
-
-typedef struct _rpc_proc_info_value {
- gchar *name;
- gboolean is_old_dissector;
- union {
- old_dissect_function_t *old;
- dissect_function_t *new;
- } dissect_call;
- union {
- old_dissect_function_t *old;
- dissect_function_t *new;
- } dissect_reply;
-} rpc_proc_info_value;
+GHashTable *rpc_procs;
typedef struct _rpc_prog_info_key {
guint32 prog;
@@ -209,7 +190,6 @@ typedef struct _rpc_prog_info_value {
char* progname;
} rpc_prog_info_value;
-
/***********************************/
/* Hash array with procedure names */
/***********************************/
@@ -1008,7 +988,7 @@ dissect_rpc_authgss_initres(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree,
}
-static int
+int
call_dissect_function(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
int offset, old_dissect_function_t *old_dissect_function,
dissect_function_t* dissect_function, const char *progname)
@@ -1018,7 +998,8 @@ call_dissect_function(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
if (old_dissect_function != NULL || dissect_function != NULL) {
/* set the current protocol name */
saved_proto = pinfo->current_proto;
- pinfo->current_proto = progname;
+ if (progname != NULL)
+ pinfo->current_proto = progname;
/* call the dissector for the next level */
if (dissect_function == NULL) {