kdc: Don’t update the PAC if we perform Services for User
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Mon, 19 Jun 2023 03:16:46 +0000 (15:16 +1200)
committerJoseph Sutton <josephsutton@catalyst.net.nz>
Mon, 9 Oct 2023 23:10:02 +0000 (12:10 +1300)
commit3234ada968e053489271ed37ea38b2c1b0650603
tree451624152e0c666db38c05b84475dfc9b13789f7
parent4ec4390fd22d38fa9ac252bc56361870f1780cd7
kdc: Don’t update the PAC if we perform Services for User

_kdc_validate_protocol_transition() generates an entirely new PAC, and
_kdc_validate_constrained_delegation() performs its own PAC update. The
call to _kdc_pac_update() immediately beforehand thus becomes
superfluous.

Furthermore, the way Windows enforces authentication policies when
Services for User are employed means that we should only call the
plugin’s PAC update function when it is actually necessary, or we may
end up failing with ERR_POLICY errors.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
kdc/krb5tgs.c