summaryrefslogtreecommitdiff
path: root/source3/smbd/ipc.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-10-21 23:14:41 +0000
committerJeremy Allison <jra@samba.org>2003-10-21 23:14:41 +0000
commit5114dee2716f9703f2eee07a891d77a15f4b6a82 (patch)
tree8c5a9df2bbff19a62f52960d8fce3a56c9166228 /source3/smbd/ipc.c
parentf589164ed94d79161d0798296c325b81c5eadbc7 (diff)
downloadsamba-5114dee2716f9703f2eee07a891d77a15f4b6a82.tar.gz
samba-5114dee2716f9703f2eee07a891d77a15f4b6a82.tar.bz2
samba-5114dee2716f9703f2eee07a891d77a15f4b6a82.zip
Fix for bug #64, Win9x Nexus tools not working against Samba3.0. Missing
map in errormap for ERROR_MORE_DATA -> ERRDOS, ERRmoredata. Jeremy. (This used to be commit 7eaae388b35cb3d20cdd968b00d65c88fcee5878)
Diffstat (limited to 'source3/smbd/ipc.c')
-rw-r--r--source3/smbd/ipc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c
index bc828d2e8e..86d982b022 100644
--- a/source3/smbd/ipc.c
+++ b/source3/smbd/ipc.c
@@ -96,7 +96,7 @@ void send_trans_reply(char *outbuf,
align = ((this_lparam)%4);
if (buffer_too_large) {
- ERROR_NT(STATUS_BUFFER_OVERFLOW);
+ ERROR_BOTH(STATUS_BUFFER_OVERFLOW,ERRDOS,ERRmoredata);
}
set_message(outbuf,10,1+align+this_ldata+this_lparam,True);
@@ -281,6 +281,14 @@ static int api_fd_reply(connection_struct *conn,uint16 vuid,char *outbuf,
subcommand = ((int)setup[0]) & 0xFFFF;
if(!(p = get_rpc_pipe(pnum))) {
+ if (subcommand == TRANSACT_WAITNAMEDPIPEHANDLESTATE) {
+ /* Win9x does this call with a unicode pipe name, not a pnum. */
+ /* Just return success for now... */
+ DEBUG(3,("Got TRANSACT_WAITNAMEDPIPEHANDLESTATE on text pipe name\n"));
+ send_trans_reply(outbuf, NULL, 0, NULL, 0, False);
+ return -1;
+ }
+
DEBUG(1,("api_fd_reply: INVALID PIPE HANDLE: %x\n", pnum));
return api_no_reply(outbuf, mdrcnt);
}