aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packet-kerberos.c16
-rw-r--r--packet-spnego.c26
2 files changed, 34 insertions, 8 deletions
diff --git a/packet-kerberos.c b/packet-kerberos.c
index ecd6d3f5f6..8ebdd4152e 100644
--- a/packet-kerberos.c
+++ b/packet-kerberos.c
@@ -14,7 +14,7 @@
*
* http://www.ietf.org/internet-drafts/draft-ietf-krb-wg-kerberos-clarifications-03.txt
*
- * $Id: packet-kerberos.c,v 1.38 2003/04/25 21:30:42 guy Exp $
+ * $Id: packet-kerberos.c,v 1.39 2003/06/01 20:34:20 sharpe Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -565,6 +565,20 @@ krb_proto_tree_add_time(proto_tree *tree, tvbuff_t *tvb, int offset,
which is all over the place in krb5 */
+/*
+ * Dissect Kerberos 5 flags, which seems to be encoded as an ASN.1
+ * bit field ... but, there is a one byte padding field (why the f***
+ * they did that I don't know ...
+ *
+ * We will use this routine to dissect several different types of flags
+ * so we will pass in the ETT value to build the flags etc
+ */
+static void
+dissect_ap_options(tvbuff_t *tvb, int offset)
+{
+
+}
+
static void
dissect_type_value_pair(ASN1_SCK *asn1p, int *inoff,
guint32 *type, int *type_len, int *type_off,
diff --git a/packet-spnego.c b/packet-spnego.c
index 1fe8a4128f..581f61ae1d 100644
--- a/packet-spnego.c
+++ b/packet-spnego.c
@@ -5,7 +5,7 @@
* Copyright 2002, Richard Sharpe <rsharpe@ns.aus.com>
* Copyright 2003, Richard Sharpe <rsharpe@richardsharpe.com>
*
- * $Id: packet-spnego.c,v 1.49 2003/05/26 20:44:20 guy Exp $
+ * $Id: packet-spnego.c,v 1.50 2003/06/01 20:34:20 sharpe Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1106,19 +1106,26 @@ dissect_spnego_responseToken(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
offset = hnd->offset;
- item = proto_tree_add_item(tree, hf_spnego_responsetoken, tvb, offset,
- nbytes, FALSE);
+ item = proto_tree_add_item(tree, hf_spnego_responsetoken, tvb, offset -2 ,
+ nbytes + 2, FALSE);
subtree = proto_item_add_subtree(item, ett_spnego_responsetoken);
+
/*
* Now, we should be able to dispatch after creating a new TVB.
+ * However, we should make sure that there is something in the
+ * response token ...
*/
- token_tvb = tvb_new_subset(tvb, offset, nbytes, -1);
- if (next_level_dissector)
- call_dissector(next_level_dissector, token_tvb, pinfo, subtree);
-
+ if (nbytes) {
+ token_tvb = tvb_new_subset(tvb, offset, nbytes, -1);
+ if (next_level_dissector)
+ call_dissector(next_level_dissector, token_tvb, pinfo, subtree);
+ }
+ else {
+ proto_tree_add_text(subtree, tvb, offset-2, 2, "<Empty String>");
+ }
hnd->offset += nbytes; /* Update this ... */
done:
@@ -1660,4 +1667,9 @@ proto_reg_handoff_spnego(void)
gssapi_init_oid("1.2.840.113554.1.2.2", proto_spnego_krb5, ett_spnego_krb5,
spnego_krb5_handle, spnego_krb5_wrap_handle,
"KRB5 - Kerberos 5");
+
+ /*
+ * Find the data handle for some calls
+ */
+ data_handle = find_dissector("data");
}