[Samba] Samba3+ldapsam+Win9x userlist, Bug596?! sniffing info

Jeremy Allison jra at samba.org
Thu Oct 23 20:49:09 GMT 2003


On Thu, Oct 23, 2003 at 11:37:29AM +0200, jean-marc pouchoulon wrote:
> >Thereby sorry for being impolite :-(, but at present I'm running samba
> >3.0.1pre1 with ldapsam in the production servers, >and Win9x clients
> couldn't get list of users and groups from Samba DCs (Bug596). I have 3
> >choices:
> >- -- Switch back to 2.2.7 (not very nice:-(, I would need group support
> for policy)
> >- -- Switch to tdbsam with fam/rsync/ssh-ing password and group
> mappings (very ugly and error prone :-()
> >- -- Wait, in hope of a solution/workaround
> >Please give me an advice, which one could harm less.
> 
> >Thanks for not shooting me for bore you with my problems.
> 
> 	Same questions for me ( luckily the xp client works in my basic
> conf but I have needs from my win98's users).
> 	
> 	I can see with ethereal that after the groups name will be
> return by the server.
> 	After there is a 'SMB Transaction Response, Error: General
> failure'	

I just fixed this in CVS. Here is the patch.

===================================================================
RCS file: /cvsroot/samba/source/smbd/ipc.c,v
retrieving revision 1.180.2.12
retrieving revision 1.180.2.13
diff -u -r1.180.2.12 -r1.180.2.13
--- samba/source/smbd/ipc.c	2003/10/17 21:19:15	1.180.2.12
+++ samba/source/smbd/ipc.c	2003/10/21 23:14:41	1.180.2.13
@@ -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);
 	}




More information about the samba mailing list