diff options
author | Jeremy Allison <jra@samba.org> | 1998-11-19 22:37:33 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-11-19 22:37:33 +0000 |
commit | 1ef6d3bd63722afe9c376793a6ea72046d1a0602 (patch) | |
tree | 87019a755024f1de1c76115d7423848381133009 /source/smbd/ipc.c | |
parent | 36928da28ca84fa64cd7b0dd66cab879e307911c (diff) | |
download | samba-1ef6d3bd63722afe9c376793a6ea72046d1a0602.tar.gz |
Sync up with 2.0 code.
Added HPUX autoconf changes.
Added "gross hack" printer code.
Jeremy.
Diffstat (limited to 'source/smbd/ipc.c')
-rw-r--r-- | source/smbd/ipc.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/smbd/ipc.c b/source/smbd/ipc.c index d5ff7ddf28e..41892504adc 100644 --- a/source/smbd/ipc.c +++ b/source/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; |