summaryrefslogtreecommitdiff
path: root/source3/smbd/ipc.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-11-19 22:37:33 +0000
committerJeremy Allison <jra@samba.org>1998-11-19 22:37:33 +0000
commit17590be23d342259578d87c3d9310824863a5137 (patch)
treedbefbb9bbb006b3b330876d40ec32292b27a893a /source3/smbd/ipc.c
parentd174f2ce57279404632a35684d2dc90b76cbddab (diff)
downloadsamba-17590be23d342259578d87c3d9310824863a5137.tar.gz
samba-17590be23d342259578d87c3d9310824863a5137.tar.bz2
samba-17590be23d342259578d87c3d9310824863a5137.zip
Sync up with 2.0 code.
Added HPUX autoconf changes. Added "gross hack" printer code. Jeremy. (This used to be commit 1ef6d3bd63722afe9c376793a6ea72046d1a0602)
Diffstat (limited to 'source3/smbd/ipc.c')
-rw-r--r--source3/smbd/ipc.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c
index d5ff7ddf28..41892504ad 100644
--- a/source3/smbd/ipc.c
+++ b/source3/smbd/ipc.c
@@ -842,6 +842,26 @@ static BOOL api_DosPrintQGetInfo(connection_struct *conn,
if (init_package(&desc,1,count)) {
desc.subcount = count;
fill_printq_info(conn,snum,uLevel,&desc,count,queue,&status);
+ } else if(uLevel == 0) {
+ /*
+ * This is a *disgusting* hack.
+ * This is *so* bad that even I'm embarrassed (and I
+ * have no shame). Here's the deal :
+ * Until we get the correct SPOOLSS code into smbd
+ * then when we're running with NT SMB support then
+ * NT makes this call with a level of zero, and then
+ * immediately follows it with an open request to
+ * the \\SRVSVC pipe. If we allow that open to
+ * succeed then NT barfs when it cannot open the
+ * \\SPOOLSS pipe immediately after and continually
+ * whines saying "Printer name is invalid" forever
+ * after. If we cause *JUST THIS NEXT OPEN* of \\SRVSVC
+ * to fail, then NT downgrades to using the downlevel code
+ * and everything works as well as before. I hate
+ * myself for adding this code.... JRA.
+ */
+
+ fail_next_srvsvc_open();
}
*rdata_len = desc.usedlen;