From 8efa27cdbea926d55b4ae43884796910a2b0b85e Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 8 Aug 2010 10:34:00 +0200 Subject: s3: Lift the smbd_messaging_context from winreg_printer_update_changeid --- source3/rpc_server/srv_spoolss_nt.c | 7 +++++++ source3/rpc_server/srv_spoolss_util.c | 3 ++- source3/rpc_server/srv_spoolss_util.h | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 06c1e55f0d..c3da5544d6 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -1368,6 +1368,7 @@ void do_drv_upgrade_printer(struct messaging_context *msg, /* all we care about currently is the change_id */ result = winreg_printer_update_changeid(tmp_ctx, server_info, + msg, pinfo2->printername); if (!W_ERROR_IS_OK(result)) { @@ -7918,6 +7919,7 @@ WERROR _spoolss_AddForm(struct pipes_struct *p, status = winreg_printer_update_changeid(p->mem_ctx, p->server_info, + p->msg_ctx, lp_const_servicename(snum)); if (!W_ERROR_IS_OK(status)) { return status; @@ -7976,6 +7978,7 @@ WERROR _spoolss_DeleteForm(struct pipes_struct *p, status = winreg_printer_update_changeid(p->mem_ctx, p->server_info, + p->msg_ctx, lp_const_servicename(snum)); if (!W_ERROR_IS_OK(status)) { return status; @@ -8040,6 +8043,7 @@ WERROR _spoolss_SetForm(struct pipes_struct *p, status = winreg_printer_update_changeid(p->mem_ctx, p->server_info, + p->msg_ctx, lp_const_servicename(snum)); if (!W_ERROR_IS_OK(status)) { return status; @@ -8792,6 +8796,7 @@ WERROR _spoolss_SetPrinterDataEx(struct pipes_struct *p, result = winreg_printer_update_changeid(p->mem_ctx, p->server_info, + p->msg_ctx, lp_const_servicename(snum)); } @@ -8846,6 +8851,7 @@ WERROR _spoolss_DeletePrinterDataEx(struct pipes_struct *p, if (W_ERROR_IS_OK(status)) { status = winreg_printer_update_changeid(p->mem_ctx, p->server_info, + p->msg_ctx, printer); } @@ -8960,6 +8966,7 @@ WERROR _spoolss_DeletePrinterKey(struct pipes_struct *p, if (W_ERROR_IS_OK(status)) { status = winreg_printer_update_changeid(p->mem_ctx, p->server_info, + p->msg_ctx, printer); } diff --git a/source3/rpc_server/srv_spoolss_util.c b/source3/rpc_server/srv_spoolss_util.c index 3eaa759798..2f27c8d673 100644 --- a/source3/rpc_server/srv_spoolss_util.c +++ b/source3/rpc_server/srv_spoolss_util.c @@ -3079,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; @@ -3104,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, "", diff --git a/source3/rpc_server/srv_spoolss_util.h b/source3/rpc_server/srv_spoolss_util.h index 2283624ef8..efbdec40fe 100644 --- a/source3/rpc_server/srv_spoolss_util.h +++ b/source3/rpc_server/srv_spoolss_util.h @@ -364,6 +364,7 @@ WERROR winreg_delete_printer_key(TALLOC_CTX *mem_ctx, */ WERROR winreg_printer_update_changeid(TALLOC_CTX *mem_ctx, struct auth_serversupplied_info *server_info, + struct messaging_context *msg_ctx, const char *printer); /** -- cgit