smbclient with mput bug
mohamed.kalai
mohamed.kalai at wanadoo.fr
Wed Jul 5 23:37:19 GMT 2000
There is a problem with the mput command under smbclient, if you use the directory recursion ( default mode, however recurse off works well);
cause client.c source uses the parameter maxdepth with the UNIX cmd find
parameter which doesn't exist as far as I know on IRIX, HPUX and Solaris.
Here's the faulty part of client.c:
static void cmd_mput(void)
{
pstring lname;
pstring rname;
fstring buf;
char *p=buf;
while (next_token(NULL,p,NULL,sizeof(buf))) {
SMB_STRUCT_STAT st;
pstring cmd;
pstring tmpname;
FILE *f;
slprintf(tmpname,sizeof(pstring)-1,
"%s/ls.smb.%d",tmpdir(),(int)getpid());
if (recurse)
slprintf(cmd,sizeof(pstring)-1,
"find . -name \"%s\" -print > %s",p,tmpname);
else
slprintf(cmd,sizeof(pstring)-1,
"find . -maxdepth 1 -name \"%s\" -print > %s",p,tmpname);
system(cmd);
It's seems easy to modify the cmd value, but I'd prefer to know if
there is somebody who has already dealt whith this bug
and how.
Thanks in advance.
M. KALAI
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the samba
mailing list