? 3_0-receive_smb_raw-01.patch ? client_oplocks.txt ? libsmb/smb_signing.c.works ? rpc_server/srv_lsa_nt.c.mod ? smbd/.ipc.c.swp Index: libsmb/errormap.c =================================================================== RCS file: /data/cvs/samba/source/libsmb/errormap.c,v retrieving revision 1.15.2.8 diff -u -r1.15.2.8 errormap.c --- libsmb/errormap.c 8 Oct 2003 23:21:36 -0000 1.15.2.8 +++ libsmb/errormap.c 21 Oct 2003 23:13:00 -0000 @@ -98,6 +98,10 @@ */ {ERRDOS, ERRnoaccess, NT_STATUS_ACCESS_DENIED}, {ERRDOS, 111, NT_STATUS_BUFFER_TOO_SMALL}, +/* + * Not an official error, as only bit 0x80000000, not bits 0xC0000000 are set. + */ + {ERRDOS, ERRmoredata, STATUS_BUFFER_OVERFLOW}, {ERRDOS, ERRbadfid, NT_STATUS_OBJECT_TYPE_MISMATCH}, {ERRHRD, ERRgeneral, NT_STATUS_NONCONTINUABLE_EXCEPTION}, {ERRHRD, ERRgeneral, NT_STATUS_INVALID_DISPOSITION}, Index: smbd/ipc.c =================================================================== RCS file: /data/cvs/samba/source/smbd/ipc.c,v retrieving revision 1.180.2.12 diff -u -r1.180.2.12 ipc.c --- smbd/ipc.c 17 Oct 2003 21:19:15 -0000 1.180.2.12 +++ smbd/ipc.c 21 Oct 2003 23:13:00 -0000 @@ -96,7 +96,7 @@ 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 @@ 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); }