Problem copying files from Win2k Novell client to Samba (repost)

Jeremy Allison jra at samba.org
Thu Jun 6 18:14:02 GMT 2002


On Thu, Jun 06, 2002 at 12:40:46PM -0400, Dan Barrett wrote:
> The problem I reported would occur with Samba 2.2.4, but not 2.2.2.  set_sd() in 2.2.4 returns False if the sd_len passed by the client is 0.  This would be okay, except Novell clients apparently set sd_len=0. 
> 
> To fix the novell problem, I changed set_sd() to return True, not False if sd_len==0.  I never got a response on why this code was added to 2.2.4.
> 
> -Dan Barrett
> 
> static BOOL set_sd(files_struct *fsp, char *data, uint32 sd_len, uint32 security_info_sent, int *pdef_class,uint32 *pdef_code)
> {
> 	prs_struct pd;
> 	SEC_DESC *psd = NULL;
> 	TALLOC_CTX *mem_ctx;
> 	BOOL ret;
> 
> 
> 	/* Stock Samba fails if sd_len==0, but some Novell client copies pass SMB requests with valid EA info, but no SD.  We want to allow these types of opens.*/  
> 	if (sd_len == 0) {
> 		DEBUG(5,("set_sd: sd_len==0. Allowing anyway.\n"));
> 		*pdef_class = 0;
> 		*pdef_code = 0;
> 		return True;
> 	}

In what SMB calls do the Novell clients set sd_len == 0 ?
I can see allowing this in the NT_TRANSACT_CREATE call
(which is the same as NTcreateAndX but supposedly with SD
info as well), but not in the nt_transact_set_security_desc
call, whose whole purpose is to set SD's.

Can you give me some more info (ASAP if I'm going to get
this fixed for 2.2.5 please).

Jeremy.




More information about the samba-technical mailing list