diff options
author | Arvid Requate <requate@univention.de> | 2013-11-21 12:35:20 +0100 |
---|---|---|
committer | David Disseldorp <ddiss@samba.org> | 2013-11-21 12:35:20 +0100 |
commit | b2815b4c8c3e436a79fb7f07be285a417fd6e8cb (patch) | |
tree | dffcd8d05517af9a1d95e232475d4f49d8fb37f4 | |
parent | 979d9dbbb709c99c77b02fbc7429a0d0472ac2f4 (diff) | |
download | samba-b2815b4c8c3e436a79fb7f07be285a417fd6e8cb.tar.gz samba-b2815b4c8c3e436a79fb7f07be285a417fd6e8cb.tar.xz samba-b2815b4c8c3e436a79fb7f07be285a417fd6e8cb.zip |
spoolss: accept XPS_PASS datatype used by Windows 8
The new v4 driver model used in Windows 8 declares print jobs
intended to bypass the XPS processing layer by setting datatype to
"XPS_PASS" instead of "RAW".
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10267
Reviewed-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
-rw-r--r-- | source3/rpc_server/spoolss/srv_spoolss_nt.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c index 7154cb4419..150b6ca0ad 100644 --- a/source3/rpc_server/spoolss/srv_spoolss_nt.c +++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c @@ -5802,7 +5802,13 @@ WERROR _spoolss_StartDocPrinter(struct pipes_struct *p, */ if (info_1->datatype) { - if (strcmp(info_1->datatype, "RAW") != 0) { + /* + * The v4 driver model used in Windows 8 declares print jobs + * intended to bypass the XPS processing layer by setting + * datatype to "XPS_PASS" instead of "RAW". + */ + if ((strcmp(info_1->datatype, "RAW") != 0) + && (strcmp(info_1->datatype, "XPS_PASS") != 0)) { *r->out.job_id = 0; return WERR_INVALID_DATATYPE; } |