struct samba_kdc_entry_pac samba_kdc_get_device_pac(const astgs_request_t r)
{
+ krb5_const_principal device_principal = kdc_request_get_armor_client_principal(r);
const hdb_entry *device = kdc_request_get_armor_client(r);
struct samba_kdc_entry *device_skdc_entry = NULL;
const hdb_entry *device_krbtgt = kdc_request_get_armor_server(r);
const krb5_const_pac device_pac = kdc_request_get_armor_pac(r);
if (device_pac == NULL) {
- return samba_kdc_entry_pac(NULL, NULL, NULL);
+ return samba_kdc_entry_pac(NULL, NULL, NULL, NULL);
}
/*
}
return samba_kdc_entry_pac(device_pac,
+ device_principal,
device_skdc_entry,
device_krbtgt_skdc_entry);
}
#ifdef HAVE_KRB5_PAC_IS_TRUSTED /* Heimdal */
struct samba_kdc_entry_pac samba_kdc_entry_pac(krb5_const_pac pac,
+ krb5_const_principal pac_princ,
struct samba_kdc_entry *entry,
const struct samba_kdc_entry *krbtgt)
{
#ifdef HAVE_KRB5_PAC_IS_TRUSTED /* Heimdal */
struct samba_kdc_entry_pac samba_kdc_entry_pac(krb5_const_pac pac,
+ krb5_const_principal pac_princ,
struct samba_kdc_entry *entry,
const struct samba_kdc_entry *krbtgt_entry);
#else /* MIT */
}
static krb5_error_code samba_wdc_verify_pac2(astgs_request_t r,
+ krb5_const_principal client_principal,
const hdb_entry *delegated_proxy,
const hdb_entry *client,
const hdb_entry *krbtgt,
krb5_pac_set_trusted(pac, is_trusted);
client_pac_entry = samba_kdc_entry_pac(pac,
+ client_principal,
client_skdc_entry,
krbtgt_skdc_entry);
/* Re-sign (and reform, including possibly new groups) a PAC */
static krb5_error_code samba_wdc_reget_pac(void *priv, astgs_request_t r,
- krb5_const_principal _client_principal,
+ krb5_const_principal client_principal,
hdb_entry *delegated_proxy,
krb5_const_pac delegated_proxy_pac,
hdb_entry *client,
}
delegated_proxy_pac_entry = samba_kdc_entry_pac(delegated_proxy_pac,
+ delegated_proxy_principal,
delegated_proxy_skdc_entry,
delegated_proxy_krbtgt_entry);
}
client_pac_entry = samba_kdc_entry_pac(*pac,
+ client_principal,
client_skdc_entry,
krbtgt_skdc_entry);
/* Verify a PAC's SID and signatures */
static krb5_error_code samba_wdc_verify_pac(void *priv, astgs_request_t r,
- krb5_const_principal _client_principal,
+ krb5_const_principal client_principal,
hdb_entry *delegated_proxy,
hdb_entry *client,
hdb_entry *_server,
}
ret = samba_wdc_verify_pac2(r,
+ client_principal,
delegated_proxy,
client,
krbtgt,