1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

Fix for bug #64, Win9x Nexus tools not working against Samba3.0. Missing

map in errormap for ERROR_MORE_DATA -> ERRDOS, ERRmoredata.
Jeremy.
This commit is contained in:
Jeremy Allison 0001-01-01 00:00:00 +00:00
parent 06aa434c3f
commit 7eaae388b3
2 changed files with 13 additions and 1 deletions

View File

@ -98,6 +98,10 @@ static const struct {
*/
{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},

View File

@ -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);
}