* Routines for rpc dissection
* Copyright 1999, Uwe Girlich <Uwe.Girlich@philosys.de>
*
- * $Id: packet-rpc.c,v 1.130 2003/05/22 21:39:44 sharpe Exp $
+ * $Id: packet-rpc.c,v 1.131 2003/05/23 17:46:05 sharpe Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
len_consumed = call_dissector(gssapi_handle, new_tvb, pinfo, gtree);
offset += len_consumed;
offset = rpc_roundup(offset);
-
return offset;
}
break;
}
- /* dissect any remaining bytes (incomplete dissection) as pure data in
- the ptree */
- call_dissector(data_handle,
- tvb_new_subset(tvb, offset, -1, -1), pinfo, ptree);
+ if (tvb_length_remaining(tvb, offset) > 0) {
+ /*
+ * dissect any remaining bytes (incomplete dissection) as pure
+ * data in the ptree
+ */
+ call_dissector(data_handle,
+ tvb_new_subset(tvb, offset, -1, -1), pinfo, ptree);
+ }
/* XXX this should really loop over all fhandles registred for the frame */
if(nfs_fhandle_reqrep_matching){
* Copyright 2002, Tim Potter <tpot@samba.org>
* Copyright 2002, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-spnego.c,v 1.42 2003/02/17 17:32:59 sharpe Exp $
+ * $Id: packet-spnego.c,v 1.43 2003/05/23 17:46:06 sharpe Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
ASN1_SCK hnd;
gboolean def;
guint len1, cls, con, tag, oid_len, nbytes;
+ guint16 token_id = 0;
subid_t *oid;
gchar *oid_string;
gssapi_oid_value *value;
/* Next, the token ID ... */
+ token_id = tvb_get_letohs(tvb, offset);
proto_tree_add_item(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2,
TRUE);
} else {
/* Next, the token ID ... */
+ token_id = tvb_get_letohs(tvb, offset);
proto_tree_add_item(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2,
TRUE);
offset += 2;
}
- krb5_tvb = tvb_new_subset(tvb, offset, -1, -1);
+ switch (token_id) {
- offset = dissect_kerberos_main(krb5_tvb, pinfo, subtree, FALSE);
+ case KRB_TOKEN_AP_REQ:
+ case KRB_TOKEN_AP_REP:
+ case KRB_TOKEN_AP_ERR:
+ krb5_tvb = tvb_new_subset(tvb, offset, -1, -1);
+ offset = dissect_kerberos_main(krb5_tvb, pinfo, subtree, FALSE);
+ break;
+
+ case KRB_TOKEN_GETMIC:
+
+ break;
+
+ case KRB_TOKEN_WRAP:
+
+ break;
+
+ case KRB_TOKEN_DELETE_SEC_CONTEXT:
+
+ break;
+
+ default:
+
+ break;
+ }
done:
return;