summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorJoseph Sutton <josephsutton@catalyst.net.nz>2023-10-05 16:07:55 +1300
committerAndrew Bartlett <abartlet@samba.org>2023-10-12 23:13:32 +0000
commit6228267cba64121d14747700b785cc4aa041b810 (patch)
tree733ff1ac0eb102334548749a01ab1e6481307280 /source4
parent1e3c347985033fbb73f32097440427bb352baeea (diff)
downloadsamba-6228267cba64121d14747700b785cc4aa041b810.tar.gz
samba-6228267cba64121d14747700b785cc4aa041b810.tar.bz2
samba-6228267cba64121d14747700b785cc4aa041b810.zip
s4:kdc: Create the Requester SID blob only if we actually need it
View with ‘git show -b’. Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4')
-rw-r--r--source4/kdc/pac-glue.c32
1 files changed, 17 insertions, 15 deletions
diff --git a/source4/kdc/pac-glue.c b/source4/kdc/pac-glue.c
index d41ec9cd9eb..2e2f91ff9b5 100644
--- a/source4/kdc/pac-glue.c
+++ b/source4/kdc/pac-glue.c
@@ -2719,14 +2719,16 @@ krb5_error_code samba_kdc_update_pac(TALLOC_CTX *mem_ctx,
goto done;
}
- nt_status = samba_kdc_get_requester_sid_blob(tmp_ctx,
- user_info_dc_shallow_copy,
- &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 (is_tgs) {
+ nt_status = samba_kdc_get_requester_sid_blob(tmp_ctx,
+ user_info_dc_shallow_copy,
+ &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;
+ }
}
/* Don't trust RODC-issued claims. Regenerate them. */
@@ -2824,13 +2826,13 @@ krb5_error_code samba_kdc_update_pac(TALLOC_CTX *mem_ctx,
if (!is_tgs) {
pac_blobs_remove_blob(pac_blobs,
PAC_TYPE_REQUESTER_SID);
- } else {
- code = pac_blobs_add_blob(pac_blobs,
- PAC_TYPE_REQUESTER_SID,
- requester_sid_blob);
- if (code != 0) {
- goto done;
- }
+ }
+
+ code = pac_blobs_add_blob(pac_blobs,
+ PAC_TYPE_REQUESTER_SID,
+ requester_sid_blob);
+ if (code != 0) {
+ goto done;
}
/*