s3: Lift the smbd_messaging_context from winreg_printer_enumforms1
[amitay/samba.git] / source3 / rpc_server / srv_spoolss_util.c
index c96c19b1be55c2cb9138bb67bb1ca664095d2e05..aea9a5a7027fabe33cb0186d299c14733e558909 100644 (file)
@@ -1603,6 +1603,7 @@ WERROR winreg_create_printer(TALLOC_CTX *mem_ctx,
 
        result = winreg_update_printer(tmp_ctx,
                                       server_info,
+                                      msg_ctx,
                                       sharename,
                                       info2_mask,
                                       info2,
@@ -1625,6 +1626,7 @@ done:
 
 WERROR winreg_update_printer(TALLOC_CTX *mem_ctx,
                             struct auth_serversupplied_info *server_info,
+                            struct messaging_context *msg_ctx,
                             const char *sharename,
                             uint32_t info2_mask,
                             struct spoolss_SetPrinterInfo2 *info2,
@@ -1657,7 +1659,7 @@ WERROR winreg_update_printer(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        "",
@@ -1867,6 +1869,7 @@ WERROR winreg_update_printer(TALLOC_CTX *mem_ctx,
                }
                result = winreg_set_printer_secdesc(tmp_ctx,
                                                    server_info,
+                                                   msg_ctx,
                                                    sharename,
                                                    secdesc);
                if (!W_ERROR_IS_OK(result)) {
@@ -1955,6 +1958,7 @@ done:
 
 WERROR winreg_get_printer(TALLOC_CTX *mem_ctx,
                          struct auth_serversupplied_info *server_info,
+                         struct messaging_context *msg_ctx,
                          const char *servername,
                          const char *printer,
                          struct spoolss_PrinterInfo2 **pinfo2)
@@ -1987,7 +1991,7 @@ WERROR winreg_get_printer(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        "",
@@ -2219,6 +2223,7 @@ WERROR winreg_get_printer(TALLOC_CTX *mem_ctx,
 
        result = winreg_get_printer_secdesc(info2,
                                            server_info,
+                                           msg_ctx,
                                            printer,
                                            &info2->secdesc);
        if (!W_ERROR_IS_OK(result)) {
@@ -2251,6 +2256,7 @@ done:
 
 WERROR winreg_get_printer_secdesc(TALLOC_CTX *mem_ctx,
                                  struct auth_serversupplied_info *server_info,
+                                 struct messaging_context *msg_ctx,
                                  const char *sharename,
                                  struct spoolss_security_descriptor **psecdesc)
 {
@@ -2280,7 +2286,7 @@ WERROR winreg_get_printer_secdesc(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        "",
@@ -2407,6 +2413,7 @@ done:
 
 WERROR winreg_set_printer_secdesc(TALLOC_CTX *mem_ctx,
                                  struct auth_serversupplied_info *server_info,
+                                 struct messaging_context *msg_ctx,
                                  const char *sharename,
                                  const struct spoolss_security_descriptor *secdesc)
 {
@@ -2445,6 +2452,7 @@ WERROR winreg_set_printer_secdesc(TALLOC_CTX *mem_ctx,
 
                result = winreg_get_printer_secdesc(tmp_ctx,
                                                    server_info,
+                                                   msg_ctx,
                                                    sharename,
                                                    &old_secdesc);
                if (!W_ERROR_IS_OK(result)) {
@@ -2489,7 +2497,7 @@ WERROR winreg_set_printer_secdesc(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        "",
@@ -2532,6 +2540,7 @@ done:
 /* Set printer data over the winreg pipe. */
 WERROR winreg_set_printer_dataex(TALLOC_CTX *mem_ctx,
                                 struct auth_serversupplied_info *server_info,
+                                struct messaging_context *msg_ctx,
                                 const char *printer,
                                 const char *key,
                                 const char *value,
@@ -2566,7 +2575,7 @@ WERROR winreg_set_printer_dataex(TALLOC_CTX *mem_ctx,
                        key, value, access_mask, printer));
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -2617,6 +2626,7 @@ done:
 /* Get printer data over a winreg pipe. */
 WERROR winreg_get_printer_dataex(TALLOC_CTX *mem_ctx,
                                 struct auth_serversupplied_info *server_info,
+                                struct messaging_context *msg_ctx,
                                 const char *printer,
                                 const char *key,
                                 const char *value,
@@ -2653,7 +2663,7 @@ WERROR winreg_get_printer_dataex(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -2742,6 +2752,7 @@ done:
 /* Enumerate on the values of a given key and provide the data. */
 WERROR winreg_enum_printer_dataex(TALLOC_CTX *mem_ctx,
                                  struct auth_serversupplied_info *server_info,
+                                 struct messaging_context *msg_ctx,
                                  const char *printer,
                                  const char *key,
                                  uint32_t *pnum_values,
@@ -2771,7 +2782,7 @@ WERROR winreg_enum_printer_dataex(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -2819,6 +2830,7 @@ done:
 /* Delete printer data over a winreg pipe. */
 WERROR winreg_delete_printer_dataex(TALLOC_CTX *mem_ctx,
                                    struct auth_serversupplied_info *server_info,
+                                   struct messaging_context *msg_ctx,
                                    const char *printer,
                                    const char *key,
                                    const char *value)
@@ -2849,7 +2861,7 @@ WERROR winreg_delete_printer_dataex(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -2897,6 +2909,7 @@ done:
 /* Enumerate on the subkeys of a given key and provide the data. */
 WERROR winreg_enum_printer_key(TALLOC_CTX *mem_ctx,
                               struct auth_serversupplied_info *server_info,
+                              struct messaging_context *msg_ctx,
                               const char *printer,
                               const char *key,
                               uint32_t *pnum_subkeys,
@@ -2929,7 +2942,7 @@ WERROR winreg_enum_printer_key(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -2977,6 +2990,7 @@ done:
 /* Delete a key with subkeys of a given printer. */
 WERROR winreg_delete_printer_key(TALLOC_CTX *mem_ctx,
                                 struct auth_serversupplied_info *server_info,
+                                struct messaging_context *msg_ctx,
                                 const char *printer,
                                 const char *key)
 {
@@ -3001,7 +3015,7 @@ WERROR winreg_delete_printer_key(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        key,
@@ -3065,6 +3079,7 @@ done:
 
 WERROR winreg_printer_update_changeid(TALLOC_CTX *mem_ctx,
                                      struct auth_serversupplied_info *server_info,
+                                     struct messaging_context *msg_ctx,
                                      const char *printer)
 {
        uint32_t access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
@@ -3090,7 +3105,7 @@ WERROR winreg_printer_update_changeid(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        "",
@@ -3130,6 +3145,7 @@ done:
 
 WERROR winreg_printer_get_changeid(TALLOC_CTX *mem_ctx,
                                   struct auth_serversupplied_info *server_info,
+                                  struct messaging_context *msg_ctx,
                                   const char *printer,
                                   uint32_t *pchangeid)
 {
@@ -3157,7 +3173,7 @@ WERROR winreg_printer_get_changeid(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        path,
                                        "",
@@ -3210,6 +3226,7 @@ done:
 
 WERROR winreg_printer_addform1(TALLOC_CTX *mem_ctx,
                               struct auth_serversupplied_info *server_info,
+                              struct messaging_context *msg_ctx,
                               struct spoolss_AddFormInfo1 *form)
 {
        uint32_t access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
@@ -3234,7 +3251,7 @@ WERROR winreg_printer_addform1(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        TOP_LEVEL_CONTROL_FORMS_KEY,
                                        "",
@@ -3248,7 +3265,8 @@ WERROR winreg_printer_addform1(TALLOC_CTX *mem_ctx,
                goto done;
        }
 
-       result = winreg_printer_enumforms1(tmp_ctx, server_info, &num_info, &info);
+       result = winreg_printer_enumforms1(tmp_ctx, server_info, msg_ctx,
+                                          &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)));
@@ -3311,6 +3329,7 @@ done:
 
 WERROR winreg_printer_enumforms1(TALLOC_CTX *mem_ctx,
                                 struct auth_serversupplied_info *server_info,
+                                struct messaging_context *msg_ctx,
                                 uint32_t *pnum_info,
                                 union spoolss_FormInfo **pinfo)
 {
@@ -3335,7 +3354,7 @@ WERROR winreg_printer_enumforms1(TALLOC_CTX *mem_ctx,
 
        result = winreg_printer_openkey(tmp_ctx,
                                        server_info,
-                                       smbd_messaging_context(),
+                                       msg_ctx,
                                        &winreg_pipe,
                                        TOP_LEVEL_CONTROL_FORMS_KEY,
                                        "",