The branch, master has been updated via d17a6f0 s3-spoolss: Strip off ", DrvConvert" and ",LocalOnly" in OpenPrinterEx as seen from Win7 clients. from 455bbd5 s3-spoolss: Fixed print job access.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit d17a6f049386ebb8c1418837802dac069d7866e4 Author: Günther Deschner <g...@samba.org> Date: Fri Oct 1 22:52:33 2010 +0200 s3-spoolss: Strip off ", DrvConvert" and ",LocalOnly" in OpenPrinterEx as seen from Win7 clients. These suffixes and their meaning are not documented (yet). Guenther ----------------------------------------------------------------------- Summary of changes: source3/rpc_server/srv_spoolss_nt.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 07733bd..d79c931 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -547,6 +547,7 @@ static bool set_printer_hnd_name(TALLOC_CTX *mem_ctx, bool found = false; struct spoolss_PrinterInfo2 *info2 = NULL; WERROR result; + char *p; /* * Hopefully nobody names his printers like this. Maybe \ or , @@ -585,6 +586,18 @@ static bool set_printer_hnd_name(TALLOC_CTX *mem_ctx, DEBUGADD(5, ("searching for [%s]\n", aprinter)); + if ((p = strchr(aprinter, ',')) != NULL) { + if (*p == ' ') + p++; + if (strnequal(p+1, "DrvConvert", strlen("DrvConvert")) || + strnequal(p+1, " DrvConvert", strlen(" DrvConvert"))) { + *p = '\0'; + } else if (strnequal(p+1, "LocalOnly", strlen("LocalOnly")) || + strnequal(p+1, " LocalOnly", strlen(" LocalOnly"))) { + *p = '\0'; + } + } + /* check for the Port Monitor Interface */ if ( strequal( aprinter, SPL_XCV_MONITOR_TCPMON ) ) { Printer->printer_type = SPLHND_PORTMON_TCP; -- Samba Shared Repository