summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2013-05-29 10:43:33 +0200
committerAndreas Schneider <asn@cryptomilk.org>2013-06-03 14:10:07 +0200
commit002d1a44672c9b3247a68a86899ce6644b696a48 (patch)
treecdaf881c58c59513a91d75588407c97587c8989d /source3/include
parentf9b6b09e4e4e15257ce0a21caa46e26e119667d4 (diff)
downloadsamba-002d1a44672c9b3247a68a86899ce6644b696a48.tar.gz
samba-002d1a44672c9b3247a68a86899ce6644b696a48.tar.bz2
samba-002d1a44672c9b3247a68a86899ce6644b696a48.zip
Fix bug 9900: is_printer_published GUID retrieval
Samba currently always responds to GetPrinter(level = 7) requests with DSPRINT_UNPUBLISH, regardless of the AD publish status tracked via the PRINTER_ATTRIBUTE_PUBLISHED flag. This is due to erroneous "objectGUID" unmarshalling in is_printer_published(). This change splits "objectGUID" retrieval into a separate function, and adds a pull_reg_sz() call to correctly unmarshall the GUID. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/nt_printing.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/include/nt_printing.h b/source3/include/nt_printing.h
index 2243a3d095..2a0e8835df 100644
--- a/source3/include/nt_printing.h
+++ b/source3/include/nt_printing.h
@@ -132,6 +132,11 @@ bool print_access_check(const struct auth_session_info *server_info,
struct messaging_context *msg_ctx, int snum,
int access_type);
+WERROR nt_printer_guid_get(TALLOC_CTX *mem_ctx,
+ const struct auth_session_info *session_info,
+ struct messaging_context *msg_ctx,
+ const char *printer, struct GUID *guid);
+
WERROR nt_printer_publish(TALLOC_CTX *mem_ctx,
const struct auth_session_info *server_info,
struct messaging_context *msg_ctx,
@@ -143,7 +148,6 @@ bool is_printer_published(TALLOC_CTX *mem_ctx,
struct messaging_context *msg_ctx,
const char *servername,
const char *printer,
- struct GUID *guid,
struct spoolss_PrinterInfo2 **info2);
WERROR check_published_printers(struct messaging_context *msg_ctx);