diff options
Diffstat (limited to 'source4/ntvfs/posix/pvfs_acl.c')
-rw-r--r-- | source4/ntvfs/posix/pvfs_acl.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source4/ntvfs/posix/pvfs_acl.c b/source4/ntvfs/posix/pvfs_acl.c index 3ef66e1a12..2070fd105c 100644 --- a/source4/ntvfs/posix/pvfs_acl.c +++ b/source4/ntvfs/posix/pvfs_acl.c @@ -151,6 +151,7 @@ static NTSTATUS pvfs_default_acl(struct pvfs_state *pvfs, struct security_ace ace; mode_t mode; struct id_map *ids; + struct composite_context *ctx; *psd = security_descriptor_initialise(req); if (*psd == NULL) { @@ -169,7 +170,10 @@ static NTSTATUS pvfs_default_acl(struct pvfs_state *pvfs, ids[1].xid.type = ID_TYPE_GID; ids[1].sid = NULL; - status = wbc_xids_to_sids(pvfs->wbc_ctx->event_ctx, ids, 2); + ctx = wbc_xids_to_sids_send(pvfs->wbc_ctx, ids, 2, ids); + NT_STATUS_HAVE_NO_MEMORY(ctx); + + status = wbc_xids_to_sids_recv(ctx, &ids); NT_STATUS_NOT_OK_RETURN(status); sd->owner_sid = talloc_steal(sd, ids[0].sid); @@ -921,6 +925,7 @@ NTSTATUS pvfs_acl_inherited_sd(struct pvfs_state *pvfs, NTSTATUS status; struct security_descriptor *parent_sd, *sd; struct id_map *ids; + struct composite_context *ctx; TALLOC_CTX *tmp_ctx = talloc_new(mem_ctx); *ret_sd = NULL; @@ -969,7 +974,10 @@ NTSTATUS pvfs_acl_inherited_sd(struct pvfs_state *pvfs, ids[1].sid = NULL; ids[1].status = ID_UNKNOWN; - status = wbc_xids_to_sids(pvfs->wbc_ctx->event_ctx, ids, 2); + ctx = wbc_xids_to_sids_send(pvfs->wbc_ctx, ids, 2, ids); + NT_STATUS_HAVE_NO_MEMORY_AND_FREE(ctx, tmp_ctx); + + status = wbc_xids_to_sids_recv(ctx, &ids); NT_STATUS_NOT_OK_RETURN_AND_FREE(status, tmp_ctx); sd->owner_sid = talloc_steal(sd, ids[0].sid); |