aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/asn1')
-rw-r--r--epan/dissectors/asn1/kerberos/kerberos.cnf13
-rw-r--r--epan/dissectors/asn1/kerberos/packet-kerberos-template.c1
2 files changed, 13 insertions, 1 deletions
diff --git a/epan/dissectors/asn1/kerberos/kerberos.cnf b/epan/dissectors/asn1/kerberos/kerberos.cnf
index dadbddd92a..93667cdce2 100644
--- a/epan/dissectors/asn1/kerberos/kerberos.cnf
+++ b/epan/dissectors/asn1/kerberos/kerberos.cnf
@@ -157,7 +157,11 @@ guint32 msgtype;
offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_S4U2Self);
break;
case KRB5_PADATA_S4U_X509_USER:
- offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_S4U_X509_USER);
+ if(!private_data->is_enc_padata) {
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_S4U_X509_USER);
+ }else{
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, NULL);
+ }
break;
case KRB5_PA_PROV_SRV_LOCATION:
offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_krb5_PA_PROV_SRV_LOCATION);
@@ -410,6 +414,13 @@ AuthorizationData/_item/ad-type STRINGS=VALS(krb5_ad_types)
call_kerberos_callbacks(actx->pinfo, tree, new_tvb, KRB_CBTAG_PRIV_USER_DATA, (kerberos_callbacks*)actx->private_data);
}
+#.FN_HDR EncKDCRepPart/encrypted-pa-data
+ kerberos_private_data_t* private_data = kerberos_get_private_data(actx);
+ private_data->is_enc_padata = TRUE;
+
+#.FN_FTR EncKDCRepPart/encrypted-pa-data
+ private_data->is_enc_padata = FALSE;
+
#.FN_HDR AS-REQ
kerberos_private_data_t* private_data = kerberos_get_private_data(actx);
private_data->is_request = TRUE;
diff --git a/epan/dissectors/asn1/kerberos/packet-kerberos-template.c b/epan/dissectors/asn1/kerberos/packet-kerberos-template.c
index b77ce8150a..ca3a9c7e43 100644
--- a/epan/dissectors/asn1/kerberos/packet-kerberos-template.c
+++ b/epan/dissectors/asn1/kerberos/packet-kerberos-template.c
@@ -89,6 +89,7 @@ typedef struct {
gboolean is_request;
guint32 etype;
guint32 padata_type;
+ guint32 is_enc_padata;
guint32 enctype;
kerberos_key_t key;
guint32 ad_type;