s3: Lift the smbd_messaging_context from check_published_printers
authorVolker Lendecke <vl@samba.org>
Sun, 8 Aug 2010 12:37:47 +0000 (14:37 +0200)
committerVolker Lendecke <vl@samba.org>
Sun, 8 Aug 2010 14:03:25 +0000 (16:03 +0200)
source3/include/nt_printing.h
source3/printing/nt_printing.c
source3/printing/nt_printing_ads.c

index 31d85a8e7bb6b353a925916c11a16047371b2b10..97f70faf3909928abfed0713b15e151959bc66b9 100644 (file)
@@ -252,7 +252,7 @@ bool is_printer_published(TALLOC_CTX *mem_ctx,
                          char *servername, char *printer, struct GUID *guid,
                          struct spoolss_PrinterInfo2 **info2);
 
-WERROR check_published_printers(void);
+WERROR check_published_printers(struct messaging_context *msg_ctx);
 
 bool driver_info_ctr_to_info8(struct spoolss_AddDriverInfoCtr *r,
                              struct spoolss_DriverInfo8 *_info8);
index c44a0ec2c797468b14bad6c122560b1d8154047b..0b23a9729e1b3a183aaeff8a8f239d2846c9a810 100644 (file)
@@ -96,7 +96,7 @@ bool nt_printing_init(struct messaging_context *msg_ctx)
           msgs.  This is done in serverid_register() */
 
        if ( lp_security() == SEC_ADS ) {
-               win_rc = check_published_printers();
+               win_rc = check_published_printers(msg_ctx);
                if (!W_ERROR_IS_OK(win_rc))
                        DEBUG(0, ("nt_printing_init: error checking published printers: %s\n", win_errstr(win_rc)));
        }
index e981aca5e8a4ce8cdef3ea7a2bf1fc0f5d5cd950..f0d568b8bf04bfe0a3ed415497d919580ba25ece 100644 (file)
@@ -311,7 +311,7 @@ done:
        return win_rc;
 }
 
-WERROR check_published_printers(void)
+WERROR check_published_printers(struct messaging_context *msg_ctx)
 {
        ADS_STATUS ads_rc;
        ADS_STRUCT *ads = NULL;
@@ -357,16 +357,15 @@ WERROR check_published_printers(void)
                        continue;
                }
 
-               result = winreg_get_printer(tmp_ctx, server_info,
-                                           smbd_messaging_context(), NULL,
-                                           lp_servicename(snum), &pinfo2);
+               result = winreg_get_printer(tmp_ctx, server_info, msg_ctx,
+                                           NULL, lp_servicename(snum),
+                                           &pinfo2);
                if (!W_ERROR_IS_OK(result)) {
                        continue;
                }
 
                if (pinfo2->attributes & PRINTER_ATTRIBUTE_PUBLISHED) {
-                       nt_printer_publish_ads(smbd_messaging_context(),
-                                              ads, pinfo2);
+                       nt_printer_publish_ads(msg_ctx, ads, pinfo2);
                }
 
                TALLOC_FREE(pinfo2);