Check for KRB5_PADATA_PA_PAC_REQUEST to check if we should include the
PAC in the krbtgt. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19689 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -861,6 +861,39 @@ _kdc_check_addresses(krb5_context context,
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
|
||||
static krb5_boolean
|
||||
send_pac_p(krb5_context context, KDC_REQ *req)
|
||||
{
|
||||
krb5_error_code ret;
|
||||
PA_PAC_REQUEST pacreq;
|
||||
PA_DATA *pa;
|
||||
int i = 0;
|
||||
|
||||
pa = _kdc_find_padata(req, &i, KRB5_PADATA_PA_PAC_REQUEST);
|
||||
if (pa == NULL)
|
||||
return TRUE;
|
||||
|
||||
ret = decode_PA_PAC_REQUEST(pa->padata_value.data,
|
||||
pa->padata_value.length,
|
||||
&pacreq,
|
||||
NULL);
|
||||
if (ret)
|
||||
return TRUE;
|
||||
i = pacreq.include_pac;
|
||||
free_PA_PAC_REQUEST(&pacreq);
|
||||
if (i == 0)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
|
||||
krb5_error_code
|
||||
_kdc_as_rep(krb5_context context,
|
||||
krb5_kdc_configuration *config,
|
||||
@@ -1503,7 +1536,7 @@ _kdc_as_rep(krb5_context context,
|
||||
}
|
||||
|
||||
/* Add the PAC */
|
||||
{
|
||||
if (send_pac_p(context, req)) {
|
||||
krb5_pac p = NULL;
|
||||
krb5_data data;
|
||||
|
||||
|
Reference in New Issue
Block a user