goto done;
}
- if (samba_krb5_pac_is_trusted(client)) {
- nt_status = samba_kdc_get_upn_info_blob(tmp_ctx,
- user_info_dc_const,
- &upn_blob);
+ nt_status = samba_kdc_get_upn_info_blob(tmp_ctx,
+ user_info_dc_const,
+ &upn_blob);
+ if (!NT_STATUS_IS_OK(nt_status)) {
+ DBG_ERR("samba_kdc_get_upn_info_blob failed: %s\n",
+ nt_errstr(nt_status));
+ code = KRB5KDC_ERR_TGT_REVOKED;
+ goto done;
+ }
+
+ if (!samba_krb5_pac_is_trusted(client) && is_tgs) {
+ nt_status = samba_kdc_get_requester_sid_blob(tmp_ctx,
+ user_info_dc_const,
+ &requester_sid_blob);
if (!NT_STATUS_IS_OK(nt_status)) {
- DBG_ERR("samba_kdc_get_upn_info_blob failed: %s\n",
+ DBG_ERR("samba_kdc_get_requester_sid_blob failed: %s\n",
nt_errstr(nt_status));
code = KRB5KDC_ERR_TGT_REVOKED;
goto done;
}
-
- if (is_tgs) {
- nt_status = samba_kdc_get_requester_sid_blob(tmp_ctx,
- user_info_dc_const,
- &requester_sid_blob);
- if (!NT_STATUS_IS_OK(nt_status)) {
- DBG_ERR("samba_kdc_get_requester_sid_blob failed: %s\n",
- nt_errstr(nt_status));
- code = KRB5KDC_ERR_TGT_REVOKED;
- goto done;
- }
- }
}
if (regenerate_client_claims) {