STEP02 decode PA-PAC-OPTIONS
authorStefan Metzmacher <metze@samba.org>
Thu, 19 Feb 2015 05:13:55 +0000 (06:13 +0100)
committerStefan Metzmacher <metze@samba.org>
Sun, 20 Jan 2019 22:14:58 +0000 (23:14 +0100)
Change-Id: I4a2ec6793f6a85f46455bcbfdbcca746d00ad883

epan/dissectors/asn1/kerberos/k5.asn
epan/dissectors/asn1/kerberos/kerberos.cnf
epan/dissectors/asn1/kerberos/packet-kerberos-template.c

index 5df2027..25ccc53 100644 (file)
@@ -843,6 +843,19 @@ KERB-PA-PAC-REQUEST ::= SEQUENCE {
 include-pac[0] BOOLEAN --If TRUE, and no pac present, include PAC. 
                        --If FALSE, and PAC present, remove PAC 
 } 
+
+PAC-OptionFlags ::= BIT STRING {
+       claims(0),
+       branch-aware(1),
+       forward-to-full-dc(2),
+       resource-based-constrained-delegation(3)
+}
+
+-- [MS-KILE] and [MS-SFU]
+PA-PAC-OPTIONS ::= SEQUENCE {
+       option-flags [0] PAC-OptionFlags
+}
+
 END
 
 -- etags -r '/\([A-Za-z][-A-Za-z0-9]*\).*::=/\1/' k5.asn1
index 2226dce..303dd70 100644 (file)
@@ -214,6 +214,9 @@ guint32 msgtype;
        case KERBEROS_PA_ENCRYPTED_CHALLENGE:
                offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_EncryptedChallenge);
                break;
+       case KERBEROS_PA_PAC_OPTIONS:
+               offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_PAC_OPTIONS);
+               break;
        default:
                offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, NULL);
        }
index bf4b7ee..c7f997b 100644 (file)
@@ -124,6 +124,7 @@ static int dissect_kerberos_PA_FX_FAST_REPLY(gboolean implicit_tag _U_, tvbuff_t
 static int dissect_kerberos_KrbFastReq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 static int dissect_kerberos_KrbFastResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 static int dissect_kerberos_EncryptedChallenge(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_PAC_OPTIONS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 
 /* Desegment Kerberos over TCP messages */
 static gboolean krb_desegment = TRUE;