My systems: rh61, 2.2.14 + smbfs-nls.patch. I refer to 2.0.7pre3 as 2.0.7 === 1) "ls" of an empty dir 1a) 1.9.18 doing "ls" to an empty samba dir: smb: \> ls 49550 blocks of size 16384. 33754 blocks available 1b) 2.0.7 doing "ls" to an empty samba dir: smb: \> ls ERRDOS - ERRbadfile (File not found.) listing \* <====== 49550 blocks of size 16384. 33754 blocks available 1c) dir listing compatibility with win9x/nt When connecting with smbclient to a win share, the . and .. dir are showed in the top share too, even if .. obviously cannot be cd'ed into. I know . and .. in the topshare are useless, but if win does this way... If samba did like win9x/nt do, then the error at point ii) would go away automatically. === 2) putting just 1 of 2 dirs. I have a linux dir with dir1/file1 dir2/file2 I cannot find a way to connect to another smb server share and transferring just the dir1 with the file(s) within. smb: \> recurse directory recursion is now on smb: \> prompt prompting is now off smb: \> mask * smb: \> put dir1 dir1 does not exist smb: \> mput dir1 (dir1 is transferred without file1, no output) smb: \> mput dir* (dir1 and dir2 transferred without files, no output) smb: \> mput * (dir1 and dir2 transferred with files, output to screen) putting file dir1/file1 as \dir1\file1 (0.781235 kb/s) (average 0.78125 kb/s) putting file dir2/file2 as \dir2\file2 (1.46481 kb/s) (average 1.08507 kb/s) smb: \> I think "mput dir1" should do it, right? === 3) no output when transferring empty dirs "put" of empty dirs gives no output to the screen, even if the dirs are actually transferred, this causes confusion: smb: \> prompt prompting is now off smb: \> mput emptydir smb: \> recurse directory recursion is now on smb: \> mput emptydir smb: \> The 2nd mput really transfers the dir, the 1st does not, but the output is the same for both. === 4) smbclient does not output anymore the line with "security=share" or "security=user" or "connected as guest security=user" after commands as "smbclient '\\srv\shr'" like 1.9.18 did. I think it was useful. -- giulioo@pobox.com
Giulio Orsero wrote:> > 1c) dir listing compatibility with win9x/nt > When connecting with smbclient to a win share, the . and .. dir are > showed in the top share too, even if .. obviously cannot be cd'ed into. > I know . and .. in the topshare are useless, but if win does this way... > If samba did like win9x/nt do, then the error at point ii) would go away > automatically.I've found & fixed the code in Samba that was explicitly not doing this on the root of a share. It looks like it was an agressive optimisation when returning directory lists. smbclient now works correctly with this. Here's the patch against 2.0.7pre3. Jeremy. ---------------------cut here-------------------------------------- Index: smbd/trans2.c ==================================================================RCS file: /data/cvs/samba/source/smbd/trans2.c,v retrieving revision 1.105.2.22.2.10 diff -u -r1.105.2.22.2.10 trans2.c --- trans2.c 2000/03/28 02:38:30 1.105.2.22.2.10 +++ trans2.c 2000/04/04 01:08:49 @@ -320,9 +320,6 @@ uint32 len; time_t mdate=0, adate=0, cdate=0; char *nameptr; - BOOL isrootdir = (strequal(conn->dirpath,"./") || - strequal(conn->dirpath,".") || - strequal(conn->dirpath,"/")); BOOL was_8_3; int nt_extmode; /* Used for NT connections instead of mode */ BOOL needslash = ( conn->dirpath[strlen(conn->dirpath) -1] != '/'); @@ -395,9 +392,6 @@ if (dont_descend && !isdots) continue; - if (isrootdir && isdots) - continue; - pstrcpy(pathreal,conn->dirpath); if(needslash) pstrcat(pathreal,"/"); ---------------------cut here-------------------------------------- -- -------------------------------------------------------- Buying an operating system without source is like buying a self-assembly Space Shuttle with no instructions. --------------------------------------------------------
Maybe Matching Threads
- smbclient mask command seems not to work the same way with recurse ON for mget and mput
- mput/mget misbehavior
- smbclient mask command seems not to work the same way with recurse ON for mget and mput
- smbclient mask command seems not to work the same way with recurse ON for mget and mput
- Samba - Amiga, smbclient recurs problem