summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-01-31 21:33:45 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:17:37 -0500
commitd18a3f8b72f0f4cf0aa5b599f36ce3f4125adac3 (patch)
tree9f334029bede5c57f63c4a49063707a7780390b3 /source
parentfbab8e4ba93325f68353ee345a257a5445d78e67 (diff)
downloadsamba-d18a3f8b72f0f4cf0aa5b599f36ce3f4125adac3.tar.gz
samba-d18a3f8b72f0f4cf0aa5b599f36ce3f4125adac3.tar.xz
samba-d18a3f8b72f0f4cf0aa5b599f36ce3f4125adac3.zip
r21100: Add the RPC hack fix to adddriver as well as adddriverex.
Thanks to Martin Zielinski <mz@seh.de>. Jeremy.
Diffstat (limited to 'source')
-rwxr-xr-xsource/rpc_server/srv_spoolss.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/rpc_server/srv_spoolss.c b/source/rpc_server/srv_spoolss.c
index dcc357f8040..c9ff9697e0a 100755
--- a/source/rpc_server/srv_spoolss.c
+++ b/source/rpc_server/srv_spoolss.c
@@ -910,6 +910,15 @@ static BOOL api_spoolss_addprinterdriver(pipes_struct *p)
ZERO_STRUCT(r_u);
if(!spoolss_io_q_addprinterdriver("", &q_u, data, 0)) {
+ if (q_u.level != 3 && q_u.level != 6) {
+ /* Clever hack from Martin Zielinski <mz@seh.de>
+ * to allow downgrade from level 8 (Vista).
+ */
+ DEBUG(3,("api_spoolss_addprinterdriver: unknown SPOOL_Q_ADDPRINTERDRIVER 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_addprinterdriver: unable to unmarshall SPOOL_Q_ADDPRINTERDRIVER.\n"));
return False;
}