[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-2208-g3fc1ab2

Jeremy Allison jra at samba.org
Thu Apr 24 21:05:19 GMT 2008


The branch, v3-2-test has been updated
       via  3fc1ab210b8772ee9f867499c0b1a7bb4bcdd285 (commit)
      from  d8b2ff3c8769e8da9c21dec483e6edb7aa2d00f3 (commit)

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


- Log -----------------------------------------------------------------
commit 3fc1ab210b8772ee9f867499c0b1a7bb4bcdd285
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Apr 24 14:04:47 2008 -0700

    The first of Martin Zielinski <mz at seh.de> Vista printing patches.
    Jerry will test and should get into 3.2 final (and the next 3.0.x
    release).
    Jeremy.

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

Summary of changes:
 source/rpc_parse/parse_spoolss.c   |    7 ++++++-
 source/rpc_server/srv_spoolss_nt.c |    9 ++++++---
 2 files changed, 12 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/rpc_parse/parse_spoolss.c b/source/rpc_parse/parse_spoolss.c
index bf7166b..ec6d442 100644
--- a/source/rpc_parse/parse_spoolss.c
+++ b/source/rpc_parse/parse_spoolss.c
@@ -2129,7 +2129,12 @@ static bool smb_io_reldevmode(const char *desc, RPC_BUFFER *buffer, int depth, D
 		}
 		
 		buffer->string_at_end -= ((*devmode)->size + (*devmode)->driverextra);
-		
+
+		/* mz:  we have to align the device mode for VISTA */
+		if (buffer->string_at_end % 4) {
+			buffer->string_at_end += 4 - (buffer->string_at_end % 4);
+		}
+
 		if(!prs_set_offset(ps, buffer->string_at_end))
 			return False;
 		
diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c
index 4c5fcf5..a7b477e 100644
--- a/source/rpc_server/srv_spoolss_nt.c
+++ b/source/rpc_server/srv_spoolss_nt.c
@@ -9626,13 +9626,16 @@ WERROR _spoolss_enumprinterdataex(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATAEX *q_
 
 	/* copy data into the reply */
 
-	r_u->ctr.size        	= r_u->needed;
+	/* mz: Vista x64 returns 0x6f7 (The stub received bad data), if the
+	   response buffer size is != the offered buffer size
+
+		r_u->ctr.size           = r_u->needed;
+	*/
+	r_u->ctr.size           = in_size;
 
 	r_u->ctr.size_of_array 	= r_u->returned;
 	r_u->ctr.values 	= enum_values;
 
-
-
 done:
 	if ( printer )
 	free_a_printer(&printer, 2);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list