From: Volker Lendecke Date: Tue, 18 Feb 2014 08:50:23 +0000 (+0100) Subject: Revert "source4: Use wbc_xids_to_sids" X-Git-Tag: tdb-1.2.13~344 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f41ecada530be78e02a2acfec2bf394e20a6bd4;p=thirdparty%2Fsamba.git Revert "source4: Use wbc_xids_to_sids" This reverts commit d0932a1ae089fda0d41be21a9916caeca7c0c233. Signed-off-by: Volker Lendecke Reviewed-by: Andreas Schneider --- diff --git a/source4/ntvfs/posix/pvfs_acl.c b/source4/ntvfs/posix/pvfs_acl.c index 3ef66e1a12a..2070fd105c4 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); diff --git a/source4/ntvfs/posix/pvfs_acl_nfs4.c b/source4/ntvfs/posix/pvfs_acl_nfs4.c index 272cdbc5395..bf4d9c27210 100644 --- a/source4/ntvfs/posix/pvfs_acl_nfs4.c +++ b/source4/ntvfs/posix/pvfs_acl_nfs4.c @@ -42,6 +42,7 @@ static NTSTATUS pvfs_acl_load_nfs4(struct pvfs_state *pvfs, struct pvfs_filename struct security_descriptor *sd; int i, num_ids; struct id_map *ids; + struct composite_context *ctx; acl = talloc_zero(mem_ctx, struct nfs4acl); NT_STATUS_HAVE_NO_MEMORY(acl); @@ -90,7 +91,9 @@ static NTSTATUS pvfs_acl_load_nfs4(struct pvfs_state *pvfs, struct pvfs_filename /* Allocate memory for the sids from the security descriptor to be on * the safe side. */ - status = wbc_xids_to_sids(pvfs->wbc_ctx->event_ctx, ids, num_ids); + ctx = wbc_xids_to_sids_send(pvfs->wbc_ctx, sd, num_ids, 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); diff --git a/source4/rpc_server/unixinfo/dcesrv_unixinfo.c b/source4/rpc_server/unixinfo/dcesrv_unixinfo.c index 821f53c495b..260d5abe920 100644 --- a/source4/rpc_server/unixinfo/dcesrv_unixinfo.c +++ b/source4/rpc_server/unixinfo/dcesrv_unixinfo.c @@ -79,6 +79,7 @@ static NTSTATUS dcesrv_unixinfo_UidToSid(struct dcesrv_call_state *dce_call, dce_call->context->private_data, struct wbc_context); struct id_map *ids; + struct composite_context *ctx; uint32_t uid; NTSTATUS status; @@ -99,7 +100,10 @@ static NTSTATUS dcesrv_unixinfo_UidToSid(struct dcesrv_call_state *dce_call, ids->xid.id = uid; ids->xid.type = ID_TYPE_UID; - status = wbc_xids_to_sids(wbc_ctx->event_ctx, ids, 1); + ctx = wbc_xids_to_sids_send(wbc_ctx, ids, 1, ids); + NT_STATUS_HAVE_NO_MEMORY(ctx); + + status = wbc_xids_to_sids_recv(ctx, &ids); NT_STATUS_NOT_OK_RETURN(status); r->out.sid = ids->sid; @@ -144,6 +148,7 @@ static NTSTATUS dcesrv_unixinfo_GidToSid(struct dcesrv_call_state *dce_call, dce_call->context->private_data, struct wbc_context); struct id_map *ids; + struct composite_context *ctx; uint32_t gid; NTSTATUS status; @@ -164,7 +169,10 @@ static NTSTATUS dcesrv_unixinfo_GidToSid(struct dcesrv_call_state *dce_call, ids->xid.id = gid; ids->xid.type = ID_TYPE_GID; - status = wbc_xids_to_sids(wbc_ctx->event_ctx, ids, 1); + ctx = wbc_xids_to_sids_send(wbc_ctx, ids, 1, ids); + NT_STATUS_HAVE_NO_MEMORY(ctx); + + status = wbc_xids_to_sids_recv(ctx, &ids); NT_STATUS_NOT_OK_RETURN(status); r->out.sid = ids->sid;