aboutsummaryrefslogtreecommitdiffstats
path: root/packet-rpc.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-08-30 18:33:30 +0000
committerGuy Harris <guy@alum.mit.edu>2001-08-30 18:33:30 +0000
commit5715a48382eb5ea8cb2d1ab16701ccde3d4696fa (patch)
tree01358177958b52f9d08c2c3ccf4a659f8553bd6e /packet-rpc.c
parentc6e93ed4822c9b9e2fb480bbd7d0d7bef6ebcc8b (diff)
downloadwireshark-5715a48382eb5ea8cb2d1ab16701ccde3d4696fa.tar.gz
wireshark-5715a48382eb5ea8cb2d1ab16701ccde3d4696fa.tar.bz2
wireshark-5715a48382eb5ea8cb2d1ab16701ccde3d4696fa.zip
RPCSEC_GSS fixes, from Mike Frisch.
svn path=/trunk/; revision=3884
Diffstat (limited to 'packet-rpc.c')
-rw-r--r--packet-rpc.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/packet-rpc.c b/packet-rpc.c
index 127f44460d..f50bc88ea1 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.64 2001/07/03 02:05:47 guy Exp $
+ * $Id: packet-rpc.c,v 1.65 2001/08/30 18:33:30 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1068,12 +1068,14 @@ dissect_rpc_authgss_integ_data(tvbuff_t *tvb, packet_info *pinfo,
proto_tree_add_uint(gtree, hf_rpc_authgss_seq,
tvb, offset+4, 4, seq);
}
+ offset += 8;
+
if (dissect_function != NULL) {
/* offset = */
call_dissect_function(tvb, pinfo, gtree, offset,
dissect_function, progname);
}
- offset += 8 + length;
+ offset += length - 4;
offset = dissect_rpc_data(tvb, pinfo, tree, hf_rpc_authgss_checksum,
offset);
return offset;
@@ -1498,13 +1500,12 @@ dissect_rpc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proc = tvb_get_ntohl(tvb, offset+12);
/* Check for RPCSEC_GSS */
- if (proc == 0) {
- flavor = tvb_get_ntohl(tvb, offset+16);
- if (flavor == RPCSEC_GSS) {
- gss_proc = tvb_get_ntohl(tvb, offset+28);
- gss_svc = tvb_get_ntohl(tvb, offset+34);
- }
+ flavor = tvb_get_ntohl(tvb, offset+16);
+ if (flavor == RPCSEC_GSS) {
+ gss_proc = tvb_get_ntohl(tvb, offset+28);
+ gss_svc = tvb_get_ntohl(tvb, offset+36);
}
+
key.prog = prog;
key.vers = vers;
key.proc = proc;
@@ -2041,6 +2042,7 @@ proto_register_rpc(void)
&ett_rpc_cred,
&ett_rpc_verf,
&ett_rpc_gids,
+ &ett_rpc_gss_data,
&ett_rpc_array,
};