kdc: provide kdc_request_get_explicit_armor_{clientdb,client,pac}()

_kdc_fast_check_armor_pac() already checks the PAC of the armor,
but it should also remember it if it's an TGS-REQ with explicit armor.

This will allow the kdc pac hooks to generate a compound identity PAC
with PAC_TYPE_DEVICE_INFO.

Signed-off-by: Stefan Metzmacher <metze@samba.org>

Closes: #967
This commit is contained in:
Stefan Metzmacher
2022-02-24 18:17:57 +01:00
committed by Luke Howard
parent 11d8a053f5
commit 8495f63bc3
6 changed files with 51 additions and 4 deletions

View File

@@ -2204,6 +2204,12 @@ out:
krb5_free_ticket(r->context, r->armor_ticket);
if (r->armor_server)
_kdc_free_ent(r->context, r->armor_serverdb, r->armor_server);
if (r->explicit_armor_client)
_kdc_free_ent(r->context,
r->explicit_armor_clientdb,
r->explicit_armor_client);
if (r->explicit_armor_pac)
krb5_pac_free(r->context, r->explicit_armor_pac);
krb5_free_keyblock_contents(r->context, &r->reply_key);
krb5_free_keyblock_contents(r->context, &r->strengthen_key);