Revert "source4: Use wbc_xids_to_sids"
authorVolker Lendecke <vl@samba.org>
Tue, 18 Feb 2014 08:50:23 +0000 (09:50 +0100)
committerVolker Lendecke <vl@samba.org>
Tue, 18 Feb 2014 09:29:18 +0000 (10:29 +0100)
This reverts commit d0932a1ae089fda0d41be21a9916caeca7c0c233.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source4/ntvfs/posix/pvfs_acl.c
source4/ntvfs/posix/pvfs_acl_nfs4.c
source4/rpc_server/unixinfo/dcesrv_unixinfo.c

index 3ef66e1a12a793dcc5543dde0e272d5556069b9c..2070fd105c49fc350bf3afdb27848a43e6fe9bef 100644 (file)
@@ -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);
index 272cdbc53951a9f5a0235d3b21f282ffecf2618b..bf4d9c27210a7ab69a0e7a6f51fbf8fa4d516a3b 100644 (file)
@@ -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);
index 821f53c495b37f761922ba77cb479e31f34bb5c9..260d5abe920ee24e311a0479a8e23f3ebb6ef356 100644 (file)
@@ -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;