Ethereal-dev: [Ethereal-dev] kerberos patch
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Will Fiveash <William.Fiveash@xxxxxxx>
Date: Fri, 7 Oct 2005 13:52:54 -0500
I've modified the packet-kerberos.c to support PA-ETYPE-INFO2 type and the new aes128-cts-hmac-sha1-96 and aes256-cts-hmac-sha1-96 enctypes. The patch (for 0.10.12) is attached. -- Will Fiveash Sun Microsystems Inc. Austin, TX, USA (TZ=CST6CDT)
--- /export/willf/src/ethereal/orig/ethereal-0.10.12/epan/dissectors/packet-kerberos.c Tue Jul 26 14:26:41 2005
+++ packet-kerberos.c Fri Oct 7 11:02:00 2005
@@ -142,6 +142,8 @@
static gint hf_krb_PA_DATA_type = -1;
static gint hf_krb_PA_DATA_value = -1;
static gint hf_krb_etype_info_salt = -1;
+static gint hf_krb_etype_info2_salt = -1;
+static gint hf_krb_etype_info2_s2kparams = -1;
static gint hf_krb_SAFE_BODY_user_data = -1;
static gint hf_krb_PRIV_BODY_user_data = -1;
static gint hf_krb_realm = -1;
@@ -843,6 +845,8 @@
#define KRB5_ENCTYPE_RSA_ES_OEAP_ENV 14
#define KRB5_ENCTYPE_DES_EDE3_CBC_ENV 15
#define KRB5_ENCTYPE_DES3_CBC_SHA1 16
+#define KRB5_ENCTYPE_AES128_CTS_HMAC_SHA1_96 17
+#define KRB5_ENCTYPE_AES256_CTS_HMAC_SHA1_96 18
#define KRB5_ENCTYPE_DES_CBC_MD5_NT 20
#define KERB_ENCTYPE_RC4_HMAC 23
#define KERB_ENCTYPE_RC4_HMAC_EXP 24
@@ -909,6 +913,7 @@
#define KRB5_PA_PK_AS_REQ 14
#define KRB5_PA_PK_AS_REP 15
#define KRB5_PA_DASS 16
+#define KRB5_PA_ENCTYPE_INFO2 19
#define KRB5_PA_USE_SPECIFIED_KVNO 20
#define KRB5_PA_SAM_REDIRECT 21
#define KRB5_PA_GET_FROM_TYPED_DATA 22
@@ -1145,6 +1150,7 @@
{ KRB5_PA_CYBERSAFE_SECUREID , "PA-CYBERSAFE-SECURID" },
{ KRB5_PA_AFS3_SALT , "PA-AFS3-SALT" },
{ KRB5_PA_ENCTYPE_INFO , "PA-ENCTYPE-INFO" },
+ { KRB5_PA_ENCTYPE_INFO2 , "PA-ENCTYPE-INFO2" },
{ KRB5_PA_SAM_CHALLENGE , "PA-SAM-CHALLENGE" },
{ KRB5_PA_SAM_RESPONSE , "PA-SAM-RESPONSE" },
{ KRB5_PA_PK_AS_REQ , "PA-PK-AS-REQ" },
@@ -1187,6 +1193,8 @@
{ KRB5_ENCTYPE_RSA_ES_OEAP_ENV, "rsa-es-oeap-env" },
{ KRB5_ENCTYPE_DES_EDE3_CBC_ENV, "des-ede3-cbc-env" },
{ KRB5_ENCTYPE_DES3_CBC_SHA1 , "des3-cbc-sha1" },
+ { KRB5_ENCTYPE_AES128_CTS_HMAC_SHA1_96 , "aes128-cts-hmac-sha1-96" },
+ { KRB5_ENCTYPE_AES256_CTS_HMAC_SHA1_96 , "aes256-cts-hmac-sha1-96" },
{ KRB5_ENCTYPE_DES_CBC_MD5_NT , "des-cbc-md5-nt" },
{ KERB_ENCTYPE_RC4_HMAC , "rc4-hmac" },
{ KERB_ENCTYPE_RC4_HMAC_EXP , "rc4-hmac-exp" },
@@ -1947,6 +1955,20 @@
return offset;
}
+int
+dissect_krb5_etype_info2_salt(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset)
+{
+ offset=dissect_ber_GeneralString(pinfo, tree, tvb, offset, hf_krb_etype_info2_salt, NULL, 0);
+ return offset;
+}
+
+static int
+dissect_krb5_etype_info2_s2kparams(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset)
+{
+ offset=dissect_ber_octet_string(FALSE, pinfo, tree, tvb, offset, hf_krb_etype_info2_s2kparams, NULL);
+ return offset;
+}
+
static ber_sequence_t PA_ENCTYPE_INFO_ENTRY_sequence[] = {
{ BER_CLASS_CON, 0, 0,
dissect_krb5_etype },
@@ -1973,6 +1995,34 @@
return offset;
}
+static ber_sequence_t PA_ENCTYPE_INFO2_ENTRY_sequence[] = {
+ { BER_CLASS_CON, 0, 0,
+ dissect_krb5_etype },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL,
+ dissect_krb5_etype_info2_salt },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL,
+ dissect_krb5_etype_info2_s2kparams },
+ { 0, 0, 0, NULL }
+};
+static int
+dissect_krb5_PA_ENCTYPE_INFO2_ENTRY(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset)
+{
+ offset=dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset, PA_ENCTYPE_INFO2_ENTRY_sequence, -1, -1);
+
+ return offset;
+}
+
+static ber_sequence_t PA_ENCTYPE_INFO2_sequence_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_krb5_PA_ENCTYPE_INFO2_ENTRY },
+};
+static int
+dissect_krb5_PA_ENCTYPE_INFO2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset)
+{
+ offset=dissect_ber_sequence_of(FALSE, pinfo, tree, tvb, offset, PA_ENCTYPE_INFO2_sequence_of, -1, -1);
+
+ return offset;
+}
+
/*
* PA-DATA ::= SEQUENCE {
* padata-type[1] INTEGER,
@@ -2026,6 +2076,9 @@
case KRB5_PA_ENCTYPE_INFO:
offset=dissect_ber_octet_string_wcb(FALSE, pinfo, tree, tvb, offset,hf_krb_PA_DATA_value, dissect_krb5_PA_ENCTYPE_INFO);
break;
+ case KRB5_PA_ENCTYPE_INFO2:
+ offset=dissect_ber_octet_string_wcb(FALSE, pinfo, tree, tvb, offset,hf_krb_PA_DATA_value, dissect_krb5_PA_ENCTYPE_INFO2);
+ break;
default:
offset=dissect_ber_octet_string_wcb(FALSE, pinfo, tree, tvb, offset,hf_krb_PA_DATA_value, NULL);
}
@@ -4141,6 +4194,12 @@
{ &hf_krb_etype_info_salt, {
"Salt", "kerberos.etype_info.salt", FT_BYTES, BASE_HEX,
NULL, 0, "Salt", HFILL }},
+ { &hf_krb_etype_info2_salt, {
+ "Salt", "kerberos.etype_info2.salt", FT_BYTES, BASE_HEX,
+ NULL, 0, "Salt", HFILL }},
+ { &hf_krb_etype_info2_s2kparams, {
+ "Salt", "kerberos.etype_info.s2kparams", FT_BYTES, BASE_HEX,
+ NULL, 0, "S2kparams", HFILL }},
{ &hf_krb_SAFE_BODY_user_data, {
"User Data", "kerberos.SAFE_BODY.user_data", FT_BYTES, BASE_HEX,
NULL, 0, "SAFE BODY userdata field", HFILL }},
Attachment:
pgpVI50F5lizw.pgp
Description: PGP signature
- Follow-Ups:
- [Ethereal-dev] Re: kerberos patch
- From: ronnie sahlberg
- [Ethereal-dev] Re: kerberos patch
- Prev by Date: Re: [Ethereal-dev] Updates and a new feature
- Next by Date: [Ethereal-dev] Re: [Ethereal-cvs] rev 16131:
- Previous by thread: [Ethereal-dev] Re: New dissector for PVFS2
- Next by thread: [Ethereal-dev] Re: kerberos patch
- Index(es):





