samba-cvs.cvs
[Top] [All Lists]

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alp

Subject: [SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-633-g15243c1
From: Günther Deschner
Date: Mon, 9 Feb 2009 03:48:05 -0600 CST
The branch, master has been updated
       via  15243c13e914b1ecc6f0eec924cc587a4069c62b (commit)
       via  68404a2c97e6c2eb3c451c6a8ed4f2202fd3c87c (commit)
       via  58a8c0235497dddee3f4bbddb07e39f42a3e310e (commit)
      from  8cc60bf978e42310e3b285b43a00c509607d7078 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 15243c13e914b1ecc6f0eec924cc587a4069c62b
Author: Günther Deschner <gd@xxxxxxxxx>
Date:   Mon Feb 9 01:32:28 2009 +0100

    s3: re-run make samba3-idl.
    
    Guenther

commit 68404a2c97e6c2eb3c451c6a8ed4f2202fd3c87c
Author: Günther Deschner <gd@xxxxxxxxx>
Date:   Mon Feb 9 01:48:34 2009 +0100

    spoolss: fix spoolss_DeletePrinterDriver IDL.
    
    Guenther

commit 58a8c0235497dddee3f4bbddb07e39f42a3e310e
Author: Günther Deschner <gd@xxxxxxxxx>
Date:   Mon Feb 9 01:32:02 2009 +0100

    spoolss: fill in spoolss_DeletePrinterKey IDL.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 librpc/gen_ndr/cli_spoolss.c |    6 +++-
 librpc/gen_ndr/cli_spoolss.h |    3 +-
 librpc/gen_ndr/ndr_spoolss.c |   44 ++++++++++++++++++++++++++---------------
 librpc/gen_ndr/spoolss.h     |    6 ++++-
 librpc/idl/spoolss.idl       |    5 ++-
 5 files changed, 42 insertions(+), 22 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/cli_spoolss.c b/librpc/gen_ndr/cli_spoolss.c
index 0255d00..ec0b43a 100644
--- a/librpc/gen_ndr/cli_spoolss.c
+++ b/librpc/gen_ndr/cli_spoolss.c
@@ -675,7 +675,6 @@ NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct 
rpc_pipe_client *cli,
 
 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
                                            TALLOC_CTX *mem_ctx,
-                                           struct policy_handle *handle /* 
[in] [ref] */,
                                            const char *server /* [in] 
[unique,charset(UTF16)] */,
                                            const char *architecture /* [in] 
[charset(UTF16)] */,
                                            const char *driver /* [in] 
[charset(UTF16)] */,
@@ -685,7 +684,6 @@ NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct 
rpc_pipe_client *cli,
        NTSTATUS status;
 
        /* In parameters */
-       r.in.handle = handle;
        r.in.server = server;
        r.in.architecture = architecture;
        r.in.driver = driver;
@@ -3840,12 +3838,16 @@ NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct 
rpc_pipe_client *cli,
 
 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
                                         TALLOC_CTX *mem_ctx,
+                                        struct policy_handle *handle /* [in] 
[ref] */,
+                                        const char *key_name /* [in] 
[charset(UTF16)] */,
                                         WERROR *werror)
 {
        struct spoolss_DeletePrinterKey r;
        NTSTATUS status;
 
        /* In parameters */
+       r.in.handle = handle;
+       r.in.key_name = key_name;
 
        if (DEBUGLEVEL >= 10) {
                NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterKey, &r);
diff --git a/librpc/gen_ndr/cli_spoolss.h b/librpc/gen_ndr/cli_spoolss.h
index 6a4ffb0..f534eab 100644
--- a/librpc/gen_ndr/cli_spoolss.h
+++ b/librpc/gen_ndr/cli_spoolss.h
@@ -103,7 +103,6 @@ NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct 
rpc_pipe_client *cli,
                                                  WERROR *werror);
 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
                                            TALLOC_CTX *mem_ctx,
-                                           struct policy_handle *handle /* 
[in] [ref] */,
                                            const char *server /* [in] 
[unique,charset(UTF16)] */,
                                            const char *architecture /* [in] 
[charset(UTF16)] */,
                                            const char *driver /* [in] 
[charset(UTF16)] */,
@@ -471,6 +470,8 @@ NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct 
rpc_pipe_client *cli,
                                            WERROR *werror);
 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
                                         TALLOC_CTX *mem_ctx,
+                                        struct policy_handle *handle /* [in] 
[ref] */,
+                                        const char *key_name /* [in] 
[charset(UTF16)] */,
                                         WERROR *werror);
 NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
                           TALLOC_CTX *mem_ctx,
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index 3d2191a..df4a629 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -10615,10 +10615,6 @@ _PUBLIC_ void 
ndr_print_spoolss_GetPrinterDriverDirectory(struct ndr_print *ndr,
 static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriver(struct ndr_push 
*ndr, int flags, const struct spoolss_DeletePrinterDriver *r)
 {
        if (flags & NDR_IN) {
-               if (r->in.handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, 
"NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, 
r->in.handle));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
                if (r->in.server) {
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 
ndr_charset_length(r->in.server, CH_UTF16)));
@@ -10644,16 +10640,8 @@ static enum ndr_err_code 
ndr_push_spoolss_DeletePrinterDriver(struct ndr_push *n
 static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriver(struct ndr_pull 
*ndr, int flags, struct spoolss_DeletePrinterDriver *r)
 {
        uint32_t _ptr_server;
-       TALLOC_CTX *_mem_save_handle_0;
        TALLOC_CTX *_mem_save_server_0;
        if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.handle);
-               }
-               _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, 
r->in.handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, 
LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
                if (_ptr_server) {
                        NDR_PULL_ALLOC(ndr, r->in.server);
@@ -10703,10 +10691,6 @@ _PUBLIC_ void 
ndr_print_spoolss_DeletePrinterDriver(struct ndr_print *ndr, const
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriver");
                ndr->depth++;
-               ndr_print_ptr(ndr, "handle", r->in.handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "handle", r->in.handle);
-               ndr->depth--;
                ndr_print_ptr(ndr, "server", r->in.server);
                ndr->depth++;
                if (r->in.server) {
@@ -15985,6 +15969,14 @@ _PUBLIC_ void 
ndr_print_spoolss_DeletePrinterDataEx(struct ndr_print *ndr, const
 static enum ndr_err_code ndr_push_spoolss_DeletePrinterKey(struct ndr_push 
*ndr, int flags, const struct spoolss_DeletePrinterKey *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.handle == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, 
"NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, 
r->in.handle));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 
ndr_charset_length(r->in.key_name, CH_UTF16)));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 
ndr_charset_length(r->in.key_name, CH_UTF16)));
+               NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, 
ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
        }
        if (flags & NDR_OUT) {
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
@@ -15994,7 +15986,22 @@ static enum ndr_err_code 
ndr_push_spoolss_DeletePrinterKey(struct ndr_push *ndr,
 
 static enum ndr_err_code ndr_pull_spoolss_DeletePrinterKey(struct ndr_pull 
*ndr, int flags, struct spoolss_DeletePrinterKey *r)
 {
+       TALLOC_CTX *_mem_save_handle_0;
        if (flags & NDR_IN) {
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->in.handle);
+               }
+               _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, 
r->in.handle));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, 
LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name));
+               NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name));
+               if (ndr_get_array_length(ndr, &r->in.key_name) > 
ndr_get_array_size(ndr, &r->in.key_name)) {
+                       return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad 
array size %u should exceed array length %u", ndr_get_array_size(ndr, 
&r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name));
+               }
+               NDR_CHECK(ndr_check_string_terminator(ndr, 
ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
+               NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, 
ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16));
        }
        if (flags & NDR_OUT) {
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
@@ -16012,6 +16019,11 @@ _PUBLIC_ void 
ndr_print_spoolss_DeletePrinterKey(struct ndr_print *ndr, const ch
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "spoolss_DeletePrinterKey");
                ndr->depth++;
+               ndr_print_ptr(ndr, "handle", r->in.handle);
+               ndr->depth++;
+               ndr_print_policy_handle(ndr, "handle", r->in.handle);
+               ndr->depth--;
+               ndr_print_string(ndr, "key_name", r->in.key_name);
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h
index 692e9a9..0d93ce4 100644
--- a/librpc/gen_ndr/spoolss.h
+++ b/librpc/gen_ndr/spoolss.h
@@ -1043,7 +1043,6 @@ struct spoolss_GetPrinterDriverDirectory {
 
 struct spoolss_DeletePrinterDriver {
        struct {
-               struct policy_handle *handle;/* [ref] */
                const char *server;/* [unique,charset(UTF16)] */
                const char *architecture;/* [charset(UTF16)] */
                const char *driver;/* [charset(UTF16)] */
@@ -2045,6 +2044,11 @@ struct spoolss_DeletePrinterDataEx {
 
 struct spoolss_DeletePrinterKey {
        struct {
+               struct policy_handle *handle;/* [ref] */
+               const char *key_name;/* [charset(UTF16)] */
+       } in;
+
+       struct {
                WERROR result;
        } out;
 
diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl
index 5bac2d8..5299306 100644
--- a/librpc/idl/spoolss.idl
+++ b/librpc/idl/spoolss.idl
@@ -595,7 +595,6 @@ import "misc.idl", "security.idl", "winreg.idl";
        /******************/
        /* Function: 0x0d */
        WERROR spoolss_DeletePrinterDriver(
-               [in,ref] policy_handle *handle,
                [in,unique] [string,charset(UTF16)] uint16 *server,
                [in] [string,charset(UTF16)] uint16 architecture[],
                [in] [string,charset(UTF16)] uint16 driver[]
@@ -1493,7 +1492,9 @@ import "misc.idl", "security.idl", "winreg.idl";
 
        /******************/
        /* Function: 0x52 */
-       [todo] WERROR spoolss_DeletePrinterKey(
+       WERROR spoolss_DeletePrinterKey(
+               [in,ref] policy_handle *handle,
+               [in] [string,charset(UTF16)] uint16 key_name[]
        );
 
        /******************/


-- 
Samba Shared Repository

<Prev in Thread] Current Thread [Next in Thread>
  • [SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-633-g15243c1, Günther Deschner <=