Bug 33197

Summary: printing not possible with windows8 (8.1) if client-side printer drivers are used
Product: UCS Reporter: Felix Botner <botner>
Component: Samba4Assignee: Felix Botner <botner>
Status: CLOSED FIXED QA Contact: Arvid Requate <requate>
Severity: normal    
Priority: P5 CC: gohmann, jmm, requate
Version: UNSTABLE   
Target Milestone: UCS 3.2-0-errata   
Hardware: Other   
OS: Linux   
URL: https://bugzilla.samba.org/show_bug.cgi?id=10267
What kind of report is it?: --- What type of bug is this?: ---
Who will be affected by this bug?: --- How will those affected feel about the bug?: ---
User Pain: Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional):
Max CVSS v3 score:
Attachments: log.smbd
error_log (cups)
samba level 10 logs
windows8_printer_driver_v4_XPS_PASS.patch
windows8_printer_driver_v4_XPS_PASS.patch

Description Felix Botner univentionstaff 2013-11-07 14:09:43 CET
UCS 3.2 (AND UCS 3.1) with univention-samba4. Added a printer (file:/ protocol) in UCS and configured this printer on joined windows clients (8 and 8.1). The printer is available for printing and printing seems to work (no errors in windows), but on the printserver, there is nothing.
Comment 1 Felix Botner univentionstaff 2013-11-07 14:14:19 CET
works on win7 and winxpsp3
Comment 2 Felix Botner univentionstaff 2013-11-07 14:28:11 CET
Created attachment 5577 [details]
log.smbd
Comment 3 Felix Botner univentionstaff 2013-11-07 14:28:29 CET
Created attachment 5578 [details]
error_log (cups)
Comment 4 Felix Botner univentionstaff 2013-11-08 12:35:28 CET
the same happens with UCS 3.1
Comment 5 Arvid Requate univentionstaff 2013-11-11 15:38:43 CET
Created attachment 5600 [details]
samba level 10 logs

The logs show "WERR_INVALID_DATATYPE" due to Windows 8 sending data of type "XPS_PASS" instead of "RAW". The message might originate from line 5748 of source3/rpc_server/spoolss/srv_spoolss_nt.c .

The issue might be caused by the v4 printer drivers of windows 8 (see e.g. http://support.microsoft.com/kb/2779300 , which seems to be a different issue though). The behaviour of Windows 8 is a bit surprising as the Windows 8.1 registry shows:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\,,MEMBER43,printer7  -> Datatype: RAW
Comment 6 Arvid Requate univentionstaff 2013-11-13 16:13:32 CET
Created attachment 5624 [details]
windows8_printer_driver_v4_XPS_PASS.patch

Maybe this patch is enough, untested.

I also guess that printing would work with an "old" (v3) printer driver installed from an inf file (instead of one from the windows8 native driver list). I would bet a drink, anyone to try?
Comment 7 Arvid Requate univentionstaff 2013-11-13 20:39:21 CET
Created attachment 5628 [details]
windows8_printer_driver_v4_XPS_PASS.patch

The attached patch fixed the problem in my test domain.
Comment 8 Arvid Requate univentionstaff 2013-11-14 10:53:29 CET
Patch sent upstream for review.
Comment 9 Felix Botner univentionstaff 2013-11-20 16:04:17 CET
patch applied 

2013-11-20-samba.yaml
samba in ucs_3.2-0-errata3.2-0
Comment 10 Arvid Requate univentionstaff 2013-12-11 14:55:43 CET
Verified:
 * Print jobs send from a windows 8.1 client to a printer share accessed with client side drivers now actually passed by Samba to the CUPS backend.
 * Advisory OK.
Comment 11 Moritz Muehlenhoff univentionstaff 2013-12-12 11:30:16 CET
http://errata.univention.de/ucs/3.2/7.html