]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
kdc: Require that PAC_REQUESTER_SID buffer is present for TGTs
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Wed, 24 Nov 2021 07:41:54 +0000 (20:41 +1300)
committerJule Anger <janger@samba.org>
Sun, 24 Jul 2022 09:42:01 +0000 (11:42 +0200)
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Nov 30 03:33:26 UTC 2021 on sn-devel-184

(cherry picked from commit 38c5bad4a853b19fe9a51fb059e150b153c4632a)

selftest/knownfail_heimdal_kdc
source4/kdc/wdc-samba4.c

index 53cc8e6b6a2e14954397116eff67df89f6c77abf..32465cb6042acdd27f4dc345fb0e66676b3054f0 100644 (file)
 ^samba.tests.krb5.kdc_tgs_tests.samba.tests.krb5.kdc_tgs_tests.KdcTgsTests.test_fast_service_ticket
 ^samba.tests.krb5.kdc_tgs_tests.samba.tests.krb5.kdc_tgs_tests.KdcTgsTests.test_fast_sid_mismatch_existing
 ^samba.tests.krb5.kdc_tgs_tests.samba.tests.krb5.kdc_tgs_tests.KdcTgsTests.test_fast_sid_mismatch_nonexisting
-^samba.tests.krb5.kdc_tgs_tests.samba.tests.krb5.kdc_tgs_tests.KdcTgsTests.test_tgs_req_from_rodc_no_requester_sid
-^samba.tests.krb5.kdc_tgs_tests.samba.tests.krb5.kdc_tgs_tests.KdcTgsTests.test_tgs_req_no_requester_sid
-^samba.tests.krb5.kdc_tgs_tests.samba.tests.krb5.kdc_tgs_tests.KdcTgsTests.test_tgs_requester_sid_missing_renew
-^samba.tests.krb5.kdc_tgs_tests.samba.tests.krb5.kdc_tgs_tests.KdcTgsTests.test_tgs_requester_sid_missing_rodc_renew
-^samba.tests.krb5.kdc_tgs_tests.samba.tests.krb5.kdc_tgs_tests.KdcTgsTests.test_tgs_requester_sid_missing_rodc_validate
-^samba.tests.krb5.kdc_tgs_tests.samba.tests.krb5.kdc_tgs_tests.KdcTgsTests.test_tgs_requester_sid_missing_validate
index b1d011c09a9c9095fa956660945254d89fd75fbc..d7ce34fb3a917b5ef61bceb4ca9675444bd4cde9 100644 (file)
@@ -459,6 +459,12 @@ static krb5_error_code samba_wdc_reget_pac2(krb5_context context,
                talloc_free(mem_ctx);
                return EINVAL;
        }
+       if (delegated_proxy_principal == NULL && requester_sid_idx == -1) {
+               DEBUG(1, ("PAC_TYPE_REQUESTER_SID missing\n"));
+               SAFE_FREE(types);
+               talloc_free(mem_ctx);
+               return KRB5KDC_ERR_TGT_REVOKED;
+       }
 
        /*
         * The server account may be set not to want the PAC.