svn commit: samba r21047 - in branches: SAMBA_3_0/source/rpc_server
SAMBA_3_0_24/source/rpc_server
jra at samba.org
jra at samba.org
Mon Jan 29 22:51:44 GMT 2007
Author: jra
Date: 2007-01-29 22:51:44 +0000 (Mon, 29 Jan 2007)
New Revision: 21047
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21047
Log:
Hand marshalling hack from Martin Zielinski <mz at seh.de>
to allow Vista to upload printer drivers (it wants level 8
which we don't support yet). Downgrade in the same way
that Windows servers do.
Jeremy.
Modified:
branches/SAMBA_3_0/source/rpc_server/srv_spoolss.c
branches/SAMBA_3_0_24/source/rpc_server/srv_spoolss.c
Changeset:
Modified: branches/SAMBA_3_0/source/rpc_server/srv_spoolss.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_spoolss.c 2007-01-29 21:15:25 UTC (rev 21046)
+++ branches/SAMBA_3_0/source/rpc_server/srv_spoolss.c 2007-01-29 22:51:44 UTC (rev 21047)
@@ -1477,6 +1477,15 @@
ZERO_STRUCT(r_u);
if(!spoolss_io_q_addprinterdriverex("", &q_u, data, 0)) {
+ if (q_u.level != 3 && q_u.level != 6) {
+ /* Clever hack from Martin Zielinski <mz at seh.de>
+ * to allow downgrade from level 8 (Vista).
+ */
+ DEBUG(3,("api_spoolss_addprinterdriverex: unknown SPOOL_Q_ADDPRINTERDRIVEREX level %u.\n",
+ (unsigned int)q_u.level ));
+ setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_INVALID_TAG));
+ return True;
+ }
DEBUG(0,("spoolss_io_q_addprinterdriverex: unable to unmarshall SPOOL_Q_ADDPRINTERDRIVEREX.\n"));
return False;
}
Modified: branches/SAMBA_3_0_24/source/rpc_server/srv_spoolss.c
===================================================================
--- branches/SAMBA_3_0_24/source/rpc_server/srv_spoolss.c 2007-01-29 21:15:25 UTC (rev 21046)
+++ branches/SAMBA_3_0_24/source/rpc_server/srv_spoolss.c 2007-01-29 22:51:44 UTC (rev 21047)
@@ -1477,6 +1477,15 @@
ZERO_STRUCT(r_u);
if(!spoolss_io_q_addprinterdriverex("", &q_u, data, 0)) {
+ if (q_u.level != 3 && q_u.level != 6) {
+ /* Clever hack from Martin Zielinski <mz at seh.de>
+ * to allow downgrade from level 8 (Vista).
+ */
+ DEBUG(3,("api_spoolss_addprinterdriverex: unknown SPOOL_Q_ADDPRINTERDRIVEREX level %u.\n",
+ (unsigned int)q_u.level ));
+ setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_INVALID_TAG));
+ return True;
+ }
DEBUG(0,("spoolss_io_q_addprinterdriverex: unable to unmarshall SPOOL_Q_ADDPRINTERDRIVEREX.\n"));
return False;
}
More information about the samba-cvs
mailing list