cred_ndr_ptr,
&upn_dns_info_blob,
is_krbtgt ? &pac_attrs_blob : NULL,
- NULL,
+ PAC_ATTRIBUTE_FLAG_PAC_WAS_GIVEN_IMPLICITLY,
is_krbtgt ? &requester_sid_blob : NULL,
NULL);
if (!NT_STATUS_IS_OK(nt_status)) {
&pac_blob,
NULL,
&upn_blob,
- NULL, NULL,
+ NULL,
+ 0,
NULL,
NULL);
if (!NT_STATUS_IS_OK(nt_status)) {
static
NTSTATUS samba_get_pac_attrs_blob(TALLOC_CTX *mem_ctx,
- const krb5_boolean *pac_request,
+ uint64_t pac_attributes,
DATA_BLOB *pac_attrs_data)
{
union PAC_INFO pac_attrs;
/* Set the length of the flags in bits. */
pac_attrs.attributes_info.flags_length = 2;
-
- if (pac_request == NULL) {
- pac_attrs.attributes_info.flags
- |= PAC_ATTRIBUTE_FLAG_PAC_WAS_GIVEN_IMPLICITLY;
- } else if (*pac_request) {
- pac_attrs.attributes_info.flags
- |= PAC_ATTRIBUTE_FLAG_PAC_WAS_REQUESTED;
- }
+ pac_attrs.attributes_info.flags = pac_attributes;
ndr_err = ndr_push_union_blob(pac_attrs_data, mem_ctx, &pac_attrs,
PAC_TYPE_ATTRIBUTES_INFO,
DATA_BLOB **_cred_ndr_blob,
DATA_BLOB **_upn_info_blob,
DATA_BLOB **_pac_attrs_blob,
- const krb5_boolean *pac_request,
+ uint64_t pac_attributes,
DATA_BLOB **_requester_sid_blob,
struct auth_user_info_dc **_user_info_dc)
{
if (pac_attrs_blob != NULL) {
nt_status = samba_get_pac_attrs_blob(pac_attrs_blob,
- pac_request,
+ pac_attributes,
pac_attrs_blob);
if (!NT_STATUS_IS_OK(nt_status)) {
DATA_BLOB **_cred_ndr_blob,
DATA_BLOB **_upn_info_blob,
DATA_BLOB **_pac_attrs_blob,
- const krb5_boolean *pac_request,
+ uint64_t pac_attributes,
DATA_BLOB **_requester_sid_blob,
struct auth_user_info_dc **_user_info_dc);
NTSTATUS samba_kdc_update_pac_blob(TALLOC_CTX *mem_ctx,
struct hdb_entry_ex *client,
struct hdb_entry_ex *server,
const krb5_keyblock *pk_reply_key,
- const krb5_boolean *pac_request,
+ uint64_t pac_attributes,
krb5_pac *pac)
{
TALLOC_CTX *mem_ctx;
cred_ndr_ptr,
&upn_blob,
is_krbtgt ? &pac_attrs_blob : NULL,
- pac_request,
+ pac_attributes,
is_krbtgt ? &requester_sid_blob : NULL,
NULL);
if (!NT_STATUS_IS_OK(nt_status)) {
nt_status = samba_kdc_get_pac_blobs(mem_ctx, client_skdc_entry,
&pac_blob, NULL, &upn_blob,
- NULL, NULL, &requester_sid_blob,
+ NULL, PAC_ATTRIBUTE_FLAG_PAC_WAS_GIVEN_IMPLICITLY,
+ &requester_sid_blob,
&user_info_dc);
if (!NT_STATUS_IS_OK(nt_status)) {
talloc_free(mem_ctx);