s3-build: re-run make samba3-idl (rid2sid).
authorGünther Deschner <gd@samba.org>
Mon, 10 Nov 2008 15:08:43 +0000 (16:08 +0100)
committerGünther Deschner <gd@samba.org>
Mon, 10 Nov 2008 20:46:31 +0000 (21:46 +0100)
Guenther

source3/librpc/gen_ndr/cli_samr.c
source3/librpc/gen_ndr/cli_samr.h
source3/librpc/gen_ndr/ndr_samr.c
source3/librpc/gen_ndr/samr.h
source3/librpc/gen_ndr/srv_samr.c

index 179bd0007f0b4c84f993d8f09c471df3af0a7a3b..7edb790286d91acf18fdcb2fd1c7e44cd6a8e263 100644 (file)
@@ -2838,7 +2838,7 @@ NTSTATUS rpccli_samr_RidToSid(struct rpc_pipe_client *cli,
                              TALLOC_CTX *mem_ctx,
                              struct policy_handle *domain_handle /* [in] [ref] */,
                              uint32_t rid /* [in]  */,
-                             struct dom_sid2 *sid /* [out] [ref] */)
+                             struct dom_sid2 **sid /* [out] [ref] */)
 {
        struct samr_RidToSid r;
        NTSTATUS status;
index 7216d0cf3ded0b679925a92428272a3d56dcb86f..b57d63334e35723dc55d630aa73409974b5004b1 100644 (file)
@@ -375,7 +375,7 @@ NTSTATUS rpccli_samr_RidToSid(struct rpc_pipe_client *cli,
                              TALLOC_CTX *mem_ctx,
                              struct policy_handle *domain_handle /* [in] [ref] */,
                              uint32_t rid /* [in]  */,
-                             struct dom_sid2 *sid /* [out] [ref] */);
+                             struct dom_sid2 **sid /* [out] [ref] */);
 NTSTATUS rpccli_samr_SetDsrmPassword(struct rpc_pipe_client *cli,
                                     TALLOC_CTX *mem_ctx,
                                     struct lsa_String *name /* [in] [unique] */,
index f83d0f0875540bb7eaeaf8fa9c9404d44a53ddab..e1b8fd17f9d7a726be821000aa15b05dd95cbf57 100644 (file)
@@ -11907,7 +11907,10 @@ static enum ndr_err_code ndr_push_samr_RidToSid(struct ndr_push *ndr, int flags,
                if (r->out.sid == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
-               NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
+               if (*r->out.sid) {
+                       NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
+               }
                NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
        }
        return NDR_ERR_SUCCESS;
@@ -11915,8 +11918,10 @@ static enum ndr_err_code ndr_push_samr_RidToSid(struct ndr_push *ndr, int flags,
 
 static enum ndr_err_code ndr_pull_samr_RidToSid(struct ndr_pull *ndr, int flags, struct samr_RidToSid *r)
 {
+       uint32_t _ptr_sid;
        TALLOC_CTX *_mem_save_domain_handle_0;
        TALLOC_CTX *_mem_save_sid_0;
+       TALLOC_CTX *_mem_save_sid_1;
        if (flags & NDR_IN) {
                ZERO_STRUCT(r->out);
 
@@ -11937,7 +11942,18 @@ static enum ndr_err_code ndr_pull_samr_RidToSid(struct ndr_pull *ndr, int flags,
                }
                _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
+               if (_ptr_sid) {
+                       NDR_PULL_ALLOC(ndr, *r->out.sid);
+               } else {
+                       *r->out.sid = NULL;
+               }
+               if (*r->out.sid) {
+                       _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
+                       NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
+               }
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
        }
@@ -11966,7 +11982,12 @@ _PUBLIC_ void ndr_print_samr_RidToSid(struct ndr_print *ndr, const char *name, i
                ndr->depth++;
                ndr_print_ptr(ndr, "sid", r->out.sid);
                ndr->depth++;
-               ndr_print_dom_sid2(ndr, "sid", r->out.sid);
+               ndr_print_ptr(ndr, "sid", *r->out.sid);
+               ndr->depth++;
+               if (*r->out.sid) {
+                       ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
+               }
+               ndr->depth--;
                ndr->depth--;
                ndr_print_NTSTATUS(ndr, "result", r->out.result);
                ndr->depth--;
index 8ef6752dbf1f972d22447b891dfbbcd72cf7b820..d900c29d5e150b835895c9e0999194df7927ac28 100644 (file)
@@ -1745,7 +1745,7 @@ struct samr_RidToSid {
        } in;
 
        struct {
-               struct dom_sid2 *sid;/* [ref] */
+               struct dom_sid2 **sid;/* [ref] */
                NTSTATUS result;
        } out;
 
index 3e3a1cc6c1fcedb6e097c31943e1c7807f58ec85..f4facd2914c32a54d35ac30c6311b4b87bb17c9c 100644 (file)
@@ -5202,7 +5202,7 @@ static bool api_samr_RidToSid(pipes_struct *p)
        }
 
        ZERO_STRUCT(r->out);
-       r->out.sid = talloc_zero(r, struct dom_sid2);
+       r->out.sid = talloc_zero(r, struct dom_sid2 *);
        if (r->out.sid == NULL) {
                talloc_free(r);
                return false;