diff options
author | Arvid Requate <requate@univention.de> | 2013-11-21 12:35:20 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2013-11-22 11:52:05 +0100 |
commit | 4cfd6597bceeb0ef10d14bb7a48badd2264e85a6 (patch) | |
tree | 23293c05ee371908ddb8e00cebf624a8ce543ac7 | |
parent | d984e764073df34729e5410026d6fa618699126f (diff) | |
download | samba-4cfd6597bceeb0ef10d14bb7a48badd2264e85a6.tar.gz |
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>
(cherry picked from commit b2815b4c8c3e436a79fb7f07be285a417fd6e8cb)
-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 2f1f7c432cc..8372c43fbaf 100644 --- a/source3/rpc_server/spoolss/srv_spoolss_nt.c +++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c @@ -5769,7 +5769,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; } |