summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2010-02-25 13:12:38 +0100
committerGünther Deschner <gd@samba.org>2010-02-25 14:35:41 +0100
commit10c8b0fb73d4976bb5f49d2a36780b89c85a8f60 (patch)
treeed64ce9514a7412e5b6d13eb553b93532a4bfd43 /source3/rpc_server
parentd6cb1cc85f466c0c61dcba122afd48e755e6881e (diff)
downloadsamba-10c8b0fb73d4976bb5f49d2a36780b89c85a8f60.tar.gz
samba-10c8b0fb73d4976bb5f49d2a36780b89c85a8f60.tar.bz2
samba-10c8b0fb73d4976bb5f49d2a36780b89c85a8f60.zip
s3-spoolss: Save entire devicemode.
found by RPC-SPOOLSS-PRINTER torture test. Guenther
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index a5484f8974..b978a5cc04 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -3651,23 +3651,20 @@ static WERROR convert_nt_devicemode(TALLOC_CTX *mem_ctx,
r->formname = talloc_strdup(mem_ctx, ntdevmode->formname);
W_ERROR_HAVE_NO_MEMORY(r->formname);
- /* all 0 below are values that have not been set in the old parsing/copy
- * function, maybe they should... - gd */
-
- r->logpixels = 0;
- r->bitsperpel = 0;
- r->pelswidth = 0;
- r->pelsheight = 0;
- r->displayflags = 0;
- r->displayfrequency = 0;
+ r->logpixels = ntdevmode->logpixels;
+ r->bitsperpel = ntdevmode->bitsperpel;
+ r->pelswidth = ntdevmode->pelswidth;
+ r->pelsheight = ntdevmode->pelsheight;
+ r->displayflags = ntdevmode->displayflags;
+ r->displayfrequency = ntdevmode->displayfrequency;
r->icmmethod = ntdevmode->icmmethod;
r->icmintent = ntdevmode->icmintent;
r->mediatype = ntdevmode->mediatype;
r->dithertype = ntdevmode->dithertype;
- r->reserved1 = 0;
- r->reserved2 = 0;
- r->panningwidth = 0;
- r->panningheight = 0;
+ r->reserved1 = ntdevmode->reserved1;
+ r->reserved2 = ntdevmode->reserved2;
+ r->panningwidth = ntdevmode->panningwidth;
+ r->panningheight = ntdevmode->panningheight;
if (ntdevmode->nt_dev_private != NULL) {
r->driverextra_data = data_blob_talloc(mem_ctx,