[SCM] Samba Shared Repository - branch v3-6-test updated

Karolin Seeger kseeger at samba.org
Wed Jan 23 01:12:20 MST 2013


The branch, v3-6-test has been updated
       via  ae0cf58 BUG 9474: Downgrade v4 printer driver requests to v3.
       via  93a1d4e spoolss: add SPOOLSS_DRIVER_VERSION_2012 (4) define to IDL.
      from  069f102 BUG 9378: Add extra attributes for AD printer publishing.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit ae0cf58a75874541c4c9b8b29a2b1fc45928be69
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jan 18 00:22:31 2013 +0100

    BUG 9474: Downgrade v4 printer driver requests to v3.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    
    Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
    Autobuild-Date(master): Mon Jan 21 16:11:02 CET 2013 on sn-devel-104
    (cherry picked from commit 58fadf2f48a2a409b4ee98fdc0166c7f801a7629)

commit 93a1d4ee4685305e0060e9d5c8028c96ff83257d
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jan 7 15:14:30 2013 +0100

    spoolss: add SPOOLSS_DRIVER_VERSION_2012 (4) define to IDL.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    (cherry picked from commit 638ed90620e3c6a35ef56a11c612c13d6b7d6ff5)

-----------------------------------------------------------------------

Summary of changes:
 librpc/idl/spoolss.idl                      |    3 ++-
 source3/rpc_server/spoolss/srv_spoolss_nt.c |    9 ++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl
index d888a79..4f706e2 100644
--- a/librpc/idl/spoolss.idl
+++ b/librpc/idl/spoolss.idl
@@ -1303,7 +1303,8 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor")
 		SPOOLSS_DRIVER_VERSION_9X	= 0,
 		SPOOLSS_DRIVER_VERSION_NT35	= 1,
 		SPOOLSS_DRIVER_VERSION_NT4	= 2,
-		SPOOLSS_DRIVER_VERSION_200X	= 3
+		SPOOLSS_DRIVER_VERSION_200X	= 3,
+		SPOOLSS_DRIVER_VERSION_2012	= 4
 	} spoolss_DriverOSVersion;
 
 	typedef struct {
diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c
index a5579c2..c511fd0 100644
--- a/source3/rpc_server/spoolss/srv_spoolss_nt.c
+++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c
@@ -5609,6 +5609,7 @@ WERROR _spoolss_GetPrinterDriver2(struct pipes_struct *p,
 {
 	struct printer_handle *printer;
 	WERROR result;
+	uint32_t version = r->in.client_major_version;
 
 	int snum;
 
@@ -5633,13 +5634,19 @@ WERROR _spoolss_GetPrinterDriver2(struct pipes_struct *p,
 		return WERR_BADFID;
 	}
 
+	if (r->in.client_major_version == SPOOLSS_DRIVER_VERSION_2012) {
+		DEBUG(3,("_spoolss_GetPrinterDriver2: v4 driver requested, "
+			"downgrading to v3\n"));
+		version = SPOOLSS_DRIVER_VERSION_200X;
+	}
+
 	result = construct_printer_driver_info_level(p->mem_ctx,
 						     get_session_info_system(),
 						     p->msg_ctx,
 						     r->in.level, r->out.info,
 						     snum, printer->servername,
 						     r->in.architecture,
-						     r->in.client_major_version);
+						     version);
 	if (!W_ERROR_IS_OK(result)) {
 		TALLOC_FREE(r->out.info);
 		return result;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list