The branch, master has been updated
       via  58549ab... s3-spoolss: fix winreg spoolss helper call documentation.
       via  7e4eb13... s3-spoolss: avoid passing down full "struct 
pipes_struct".
      from  41716a8... s4:netlogon RPC - "fill_one_domain_info" - use 
"lp_workgroup" for the DC short domainname discovery

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


- Log -----------------------------------------------------------------
commit 58549ab44a478dc0f896244579589e11aad8296c
Author: Günther Deschner <[email protected]>
Date:   Mon Apr 19 18:51:26 2010 +0200

    s3-spoolss: fix winreg spoolss helper call documentation.
    
    Guenther

commit 7e4eb13ba40fbe0d2df9d7633f24cc70b74905c2
Author: Günther Deschner <[email protected]>
Date:   Mon Apr 19 18:34:36 2010 +0200

    s3-spoolss: avoid passing down full "struct pipes_struct".
    
    Guenther

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

Summary of changes:
 source3/rpc_server/srv_spoolss_util.c |   91 ++++++++++++++++++--------------
 source3/rpc_server/srv_spoolss_util.h |   77 ++++++++++++++++++++--------
 2 files changed, 106 insertions(+), 62 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/srv_spoolss_util.c 
b/source3/rpc_server/srv_spoolss_util.c
index 0037f66..efe3dd4 100644
--- a/source3/rpc_server/srv_spoolss_util.c
+++ b/source3/rpc_server/srv_spoolss_util.c
@@ -725,7 +725,8 @@ done:
 ********************************************************************/
 
 /* Set printer data over the winreg pipe. */
-WERROR winreg_set_printer_dataex(struct pipes_struct *p,
+WERROR winreg_set_printer_dataex(TALLOC_CTX *mem_ctx,
+                                struct auth_serversupplied_info *server_info,
                                 const char *printer,
                                 const char *key,
                                 const char *value,
@@ -742,7 +743,7 @@ WERROR winreg_set_printer_dataex(struct pipes_struct *p,
        NTSTATUS status;
        TALLOC_CTX *tmp_ctx;
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -759,7 +760,7 @@ WERROR winreg_set_printer_dataex(struct pipes_struct *p,
        DEBUG(8, ("winreg_set_printer_dataex: Open printer key %s, value %s, 
access_mask: 0x%05x for [%s]\n",
                        key, value, access_mask, printer));
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -808,7 +809,8 @@ done:
 }
 
 /* Get printer data over a winreg pipe. */
-WERROR winreg_get_printer_dataex(struct pipes_struct *p,
+WERROR winreg_get_printer_dataex(TALLOC_CTX *mem_ctx,
+                                struct auth_serversupplied_info *server_info,
                                 const char *printer,
                                 const char *key,
                                 const char *value,
@@ -829,7 +831,7 @@ WERROR winreg_get_printer_dataex(struct pipes_struct *p,
        NTSTATUS status;
        TALLOC_CTX *tmp_ctx;
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -844,7 +846,7 @@ WERROR winreg_get_printer_dataex(struct pipes_struct *p,
        ZERO_STRUCT(key_hnd);
 
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -912,7 +914,7 @@ WERROR winreg_get_printer_dataex(struct pipes_struct *p,
        *type = type_in;
        *data_size = data_in_size;
        if (data_in_size) {
-               *data = talloc_move(p->mem_ctx, &data_in);
+               *data = talloc_move(mem_ctx, &data_in);
        }
 
        result = WERR_OK;
@@ -931,7 +933,8 @@ done:
 }
 
 /* Enumerate on the values of a given key and provide the data. */
-WERROR winreg_enum_printer_dataex(struct pipes_struct *p,
+WERROR winreg_enum_printer_dataex(TALLOC_CTX *mem_ctx,
+                                 struct auth_serversupplied_info *server_info,
                                  const char *printer,
                                  const char *key,
                                  uint32_t *pnum_values,
@@ -948,7 +951,7 @@ WERROR winreg_enum_printer_dataex(struct pipes_struct *p,
 
        TALLOC_CTX *tmp_ctx;
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -960,7 +963,7 @@ WERROR winreg_enum_printer_dataex(struct pipes_struct *p,
        }
 
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -987,7 +990,7 @@ WERROR winreg_enum_printer_dataex(struct pipes_struct *p,
 
        *pnum_values = num_values;
        if (penum_values) {
-               *penum_values = talloc_move(p->mem_ctx, &enum_values);
+               *penum_values = talloc_move(mem_ctx, &enum_values);
        }
 
        result = WERR_OK;
@@ -1006,7 +1009,8 @@ done:
 }
 
 /* Delete printer data over a winreg pipe. */
-WERROR winreg_delete_printer_dataex(struct pipes_struct *p,
+WERROR winreg_delete_printer_dataex(TALLOC_CTX *mem_ctx,
+                                   struct auth_serversupplied_info 
*server_info,
                                    const char *printer,
                                    const char *key,
                                    const char *value)
@@ -1021,7 +1025,7 @@ WERROR winreg_delete_printer_dataex(struct pipes_struct 
*p,
 
        TALLOC_CTX *tmp_ctx;
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -1036,7 +1040,7 @@ WERROR winreg_delete_printer_dataex(struct pipes_struct 
*p,
        ZERO_STRUCT(key_hnd);
 
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -1082,7 +1086,8 @@ done:
 }
 
 /* Enumerate on the subkeys of a given key and provide the data. */
-WERROR winreg_enum_printer_key(struct pipes_struct *p,
+WERROR winreg_enum_printer_key(TALLOC_CTX *mem_ctx,
+                              struct auth_serversupplied_info *server_info,
                               const char *printer,
                               const char *key,
                               uint32_t *pnum_subkeys,
@@ -1099,7 +1104,7 @@ WERROR winreg_enum_printer_key(struct pipes_struct *p,
 
        TALLOC_CTX *tmp_ctx;
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -1114,7 +1119,7 @@ WERROR winreg_enum_printer_key(struct pipes_struct *p,
        ZERO_STRUCT(key_hnd);
 
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -1141,7 +1146,7 @@ WERROR winreg_enum_printer_key(struct pipes_struct *p,
 
        *pnum_subkeys = num_subkeys;
        if (psubkeys) {
-               *psubkeys = talloc_move(p->mem_ctx, &subkeys);
+               *psubkeys = talloc_move(mem_ctx, &subkeys);
        }
 
        result = WERR_OK;
@@ -1160,7 +1165,8 @@ done:
 }
 
 /* Delete a key with subkeys of a given printer. */
-WERROR winreg_delete_printer_key(struct pipes_struct *p,
+WERROR winreg_delete_printer_key(TALLOC_CTX *mem_ctx,
+                                struct auth_serversupplied_info *server_info,
                                 const char *printer,
                                 const char *key)
 {
@@ -1172,7 +1178,7 @@ WERROR winreg_delete_printer_key(struct pipes_struct *p,
        WERROR result;
        TALLOC_CTX *tmp_ctx;
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -1184,7 +1190,7 @@ WERROR winreg_delete_printer_key(struct pipes_struct *p,
        }
 
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -1249,7 +1255,8 @@ done:
  * http://unixwiz.net/techtips/winspooler-forms.html
  */
 
-WERROR winreg_printer_addform1(struct pipes_struct *p,
+WERROR winreg_printer_addform1(TALLOC_CTX *mem_ctx,
+                              struct auth_serversupplied_info *server_info,
                               struct spoolss_AddFormInfo1 *form)
 {
        uint32_t access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
@@ -1264,7 +1271,7 @@ WERROR winreg_printer_addform1(struct pipes_struct *p,
        NTSTATUS status;
        TALLOC_CTX *tmp_ctx;
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -1273,7 +1280,7 @@ WERROR winreg_printer_addform1(struct pipes_struct *p,
        ZERO_STRUCT(key_hnd);
 
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        TOP_LEVEL_CONTROL_FORMS_KEY,
                                        "",
@@ -1287,7 +1294,7 @@ WERROR winreg_printer_addform1(struct pipes_struct *p,
                goto done;
        }
 
-       result = winreg_printer_enumforms1(p, &num_info, &info);
+       result = winreg_printer_enumforms1(tmp_ctx, server_info, &num_info, 
&info);
        if (!W_ERROR_IS_OK(result)) {
                DEBUG(0, ("winreg_printer_addform: Could not enum keys %s: 
%s\n",
                          TOP_LEVEL_CONTROL_FORMS_KEY, win_errstr(result)));
@@ -1348,7 +1355,8 @@ done:
        return result;
 }
 
-WERROR winreg_printer_enumforms1(struct pipes_struct *p,
+WERROR winreg_printer_enumforms1(TALLOC_CTX *mem_ctx,
+                                struct auth_serversupplied_info *server_info,
                                 uint32_t *pnum_info,
                                 union spoolss_FormInfo **pinfo)
 {
@@ -1363,7 +1371,7 @@ WERROR winreg_printer_enumforms1(struct pipes_struct *p,
        WERROR result;
        TALLOC_CTX *tmp_ctx;
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -1372,7 +1380,7 @@ WERROR winreg_printer_enumforms1(struct pipes_struct *p,
        ZERO_STRUCT(key_hnd);
 
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        TOP_LEVEL_CONTROL_FORMS_KEY,
                                        "",
@@ -1443,7 +1451,7 @@ WERROR winreg_printer_enumforms1(struct pipes_struct *p,
 
        *pnum_info = num_builtin + num_values;
        if (pinfo) {
-               *pinfo = talloc_move(p->mem_ctx, &info);
+               *pinfo = talloc_move(mem_ctx, &info);
        }
 
 done:
@@ -1461,7 +1469,8 @@ done:
        return result;
 }
 
-WERROR winreg_printer_deleteform1(struct pipes_struct *p,
+WERROR winreg_printer_deleteform1(TALLOC_CTX *mem_ctx,
+                                 struct auth_serversupplied_info *server_info,
                                  const char *form_name)
 {
        uint32_t access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
@@ -1480,7 +1489,7 @@ WERROR winreg_printer_deleteform1(struct pipes_struct *p,
                }
        }
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -1489,7 +1498,7 @@ WERROR winreg_printer_deleteform1(struct pipes_struct *p,
        ZERO_STRUCT(key_hnd);
 
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        TOP_LEVEL_CONTROL_FORMS_KEY,
                                        "",
@@ -1537,7 +1546,8 @@ done:
        return result;
 }
 
-WERROR winreg_printer_setform1(struct pipes_struct *p,
+WERROR winreg_printer_setform1(TALLOC_CTX *mem_ctx,
+                              struct auth_serversupplied_info *server_info,
                               const char *form_name,
                               struct spoolss_AddFormInfo1 *form)
 {
@@ -1559,7 +1569,7 @@ WERROR winreg_printer_setform1(struct pipes_struct *p,
                }
        }
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -1568,7 +1578,7 @@ WERROR winreg_printer_setform1(struct pipes_struct *p,
        ZERO_STRUCT(key_hnd);
 
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        TOP_LEVEL_CONTROL_FORMS_KEY,
                                        "",
@@ -1584,7 +1594,7 @@ WERROR winreg_printer_setform1(struct pipes_struct *p,
 
        /* If form_name != form->form_name then we renamed the form */
        if (strequal(form_name, form->form_name)) {
-               result = winreg_printer_deleteform1(p, form_name);
+               result = winreg_printer_deleteform1(tmp_ctx, server_info, 
form_name);
                if (!W_ERROR_IS_OK(result)) {
                        DEBUG(0, ("winreg_printer_setform1: Could not open key 
%s: %s\n",
                                  TOP_LEVEL_CONTROL_FORMS_KEY, 
win_errstr(result)));
@@ -1637,7 +1647,8 @@ done:
        return result;
 }
 
-WERROR winreg_printer_getform1(struct pipes_struct *p,
+WERROR winreg_printer_getform1(TALLOC_CTX *mem_ctx,
+                              struct auth_serversupplied_info *server_info,
                               const char *form_name,
                               struct spoolss_FormInfo1 *r)
 {
@@ -1663,7 +1674,7 @@ WERROR winreg_printer_getform1(struct pipes_struct *p,
                }
        }
 
-       tmp_ctx = talloc_new(p->mem_ctx);
+       tmp_ctx = talloc_new(mem_ctx);
        if (tmp_ctx == NULL) {
                return WERR_NOMEM;
        }
@@ -1672,7 +1683,7 @@ WERROR winreg_printer_getform1(struct pipes_struct *p,
        ZERO_STRUCT(key_hnd);
 
        result = winreg_printer_openkey(tmp_ctx,
-                                       p->server_info,
+                                       server_info,
                                        &winreg_pipe,
                                        TOP_LEVEL_CONTROL_FORMS_KEY,
                                        "",
@@ -1738,7 +1749,7 @@ WERROR winreg_printer_getform1(struct pipes_struct *p,
                goto done;
        }
 
-       r->form_name = talloc_strdup(p->mem_ctx, form_name);
+       r->form_name = talloc_strdup(mem_ctx, form_name);
        if (r->form_name == NULL) {
                result = WERR_NOMEM;
                goto done;
diff --git a/source3/rpc_server/srv_spoolss_util.h 
b/source3/rpc_server/srv_spoolss_util.h
index 7d53348..2d18d74 100644
--- a/source3/rpc_server/srv_spoolss_util.h
+++ b/source3/rpc_server/srv_spoolss_util.h
@@ -27,7 +27,9 @@
  *
  * @brief Set printer data over the winreg pipe.
  *
- * @param[in]  p        The pipes structure to be able to open a new pipe.
+ * @param[in]  mem_ctx  The talloc memory context to use.
+ *
+ * @param[in]  server_info The server supplied session info.
  *
  * @param[in]  printer  The printer name.
  *
@@ -44,7 +46,8 @@
  * @return              On success WERR_OK, a corresponding DOS error is
  *                      something went wrong.
  */
-WERROR winreg_set_printer_dataex(struct pipes_struct *p,
+WERROR winreg_set_printer_dataex(TALLOC_CTX *mem_ctx,
+                                struct auth_serversupplied_info *server_info,
                                 const char *printer,
                                 const char *key,
                                 const char *value,
@@ -57,7 +60,9 @@ WERROR winreg_set_printer_dataex(struct pipes_struct *p,
  *
  * @brief Get printer data over a winreg pipe.
  *
- * @param[in]  p        The pipes structure to be able to open a new pipe.
+ * @param[in]  mem_ctx  The talloc memory context to use.
+ *
+ * @param[in]  server_info The server supplied session info.
  *
  * @param[in]  printer  The printer name.
  *
@@ -74,7 +79,8 @@ WERROR winreg_set_printer_dataex(struct pipes_struct *p,
  * @return              On success WERR_OK, a corresponding DOS error is
  *                      something went wrong.
  */
-WERROR winreg_get_printer_dataex(struct pipes_struct *p,
+WERROR winreg_get_printer_dataex(TALLOC_CTX *mem_ctx,
+                                struct auth_serversupplied_info *server_info,
                                 const char *printer,
                                 const char *key,
                                 const char *value,
@@ -87,7 +93,9 @@ WERROR winreg_get_printer_dataex(struct pipes_struct *p,
  *
  * @brief Enumerate on the values of a given key and provide the data.
  *
- * @param[in]  p        The pipes structure to be able to open a new pipe.
+ * @param[in]  mem_ctx  The talloc memory context to use.
+ *
+ * @param[in]  server_info The server supplied session info.
  *
  * @param[in]  printer  The printer name.
  *
@@ -100,7 +108,8 @@ WERROR winreg_get_printer_dataex(struct pipes_struct *p,
  * @return                   WERR_OK on success, the corresponding DOS error
  *                           code if something gone wrong.
  */
-WERROR winreg_enum_printer_dataex(struct pipes_struct *p,
+WERROR winreg_enum_printer_dataex(TALLOC_CTX *mem_ctx,
+                                 struct auth_serversupplied_info *server_info,
                                  const char *printer,
                                  const char *key,
                                  uint32_t *pnum_values,
@@ -111,7 +120,9 @@ WERROR winreg_enum_printer_dataex(struct pipes_struct *p,
  *
  * @brief Delete printer data over a winreg pipe.
  *
- * @param[in]  p        The pipes structure to be able to open a new pipe.
+ * @param[in]  mem_ctx  The talloc memory context to use.
+ *
+ * @param[in]  server_info The server supplied session info.
  *
  * @param[in]  printer  The printer name.
  *
@@ -122,7 +133,8 @@ WERROR winreg_enum_printer_dataex(struct pipes_struct *p,
  * @return              On success WERR_OK, a corresponding DOS error is
  *                      something went wrong.
  */
-WERROR winreg_delete_printer_dataex(struct pipes_struct *p,
+WERROR winreg_delete_printer_dataex(TALLOC_CTX *mem_ctx,
+                                   struct auth_serversupplied_info 
*server_info,
                                    const char *printer,
                                    const char *key,
                                    const char *value);
@@ -132,7 +144,9 @@ WERROR winreg_delete_printer_dataex(struct pipes_struct *p,
  *
  * @brief Enumerate on the subkeys of a given key and provide the data.
  *
- * @param[in]  p        The pipes structure to be able to open a new pipe.
+ * @param[in]  mem_ctx  The talloc memory context to use.
+ *
+ * @param[in]  server_info The server supplied session info.
  *
  * @param[in]  printer  The printer name.
  *
@@ -146,7 +160,8 @@ WERROR winreg_delete_printer_dataex(struct pipes_struct *p,
  * @return              WERR_OK on success, the corresponding DOS error
  *                      code if something gone wrong.
  */
-WERROR winreg_enum_printer_key(struct pipes_struct *p,
+WERROR winreg_enum_printer_key(TALLOC_CTX *mem_ctx,
+                              struct auth_serversupplied_info *server_info,
                               const char *printer,
                               const char *key,
                               uint32_t *pnum_subkeys,
@@ -157,7 +172,9 @@ WERROR winreg_enum_printer_key(struct pipes_struct *p,
  *
  * @brief Delete a key with subkeys of a given printer.
  *
- * @param[in]  p        The pipes structure to be able to open a new pipe.
+ * @param[in]  mem_ctx  The talloc memory context to use.
+ *
+ * @param[in]  server_info The server supplied session info.
  *
  * @param[in]  printer  The printer name.
  *
@@ -166,7 +183,8 @@ WERROR winreg_enum_printer_key(struct pipes_struct *p,
  * @return              On success WERR_OK, a corresponding DOS error is
  *                      something went wrong.
  */
-WERROR winreg_delete_printer_key(struct pipes_struct *p,


-- 
Samba Shared Repository

Reply via email to