Problem Overview: On newer versions of smbclient, when attempting to generate a tarball from a remote DFS share, it fails with one NT_STATUS_OBJECT_PATH_NOT_FOUND error per file. Client Environment: smbclient is running on Fedora Core 5 and the same behavior has been witnessed on Redhat 9 and Fedora Core 4. The problem I am reporting affects at least versions 3.0.14, 3.0.21b and 3.0.22 but does NOT affect 3.0.1. I do not currently have access to other versions. Server Environment: snapper is a Windows Server 2003 machine, with a dfs share at \\snapper\dfs. dfs is linked to the local drive F:\dfs, and the dfs share does not have any referrals to other remote shares linked into the dfs (yes, this means that dfs is probably overkill here :-) So, \\snapper\dfs\home\staff\fran in the example below is local to snapper, on the F: drive, in the directory F:\dfs\home\staff\fran. Details: # smbclient \\\\snapper\\dfs mypassword -U Administrator -E -W CISWINNET -D home\\staff\\fran -d0 -Tqca /tmp/test.tar fails with the following output: ----------------------------------- # smbclient -V Version 3.0.22-1.fc5 # smbclient \\\\snapper\\dfs mypassword -U Administrator -E -W CISWINNET -D home\\staff\\fran -d0 -Tqca /tmp/test.tar Domain=[CISWINNET] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2] NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\2004 LRF Summary FINAL.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\2004 LRF Summary Revised.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\2005 LRF FINAL.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\2005 LRF First Draft.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\2005 LRF Proposal Revised.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\2005 LRF Proposal Test for Printing.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\2005 LRF Proposal With 2004 Summary Revised.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\2005 LRF Proposal With 2004 Summary.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\laptopandproj.jpg (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\laptopandprojsmall.jpg (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\locknetics.jpg (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\newcomputer.jpg (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\rackservers.jpg (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\rackserverssmall.jpg (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\~$05 LRF FINAL.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\~$05 LRF Proposal Revised.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\~$05 LRF Proposal Test for Printing.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\~$05 LRF Proposal With 2004 Summary Revised.doc (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\2005 LRF\~WRL0003.tmp (\home\staff\fran\2005 LRF\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\CS640\Backup of CS640 Final.wbk (\home\staff\fran\CS640\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\CS640\CS640 Final.doc (\home\staff\fran\CS640\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\gigabit.vsd (\home\staff\fran\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\NetworkWiring.xls (\home\staff\fran\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\NetworkWiringBackup.xls (\home\staff\fran\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \home\staff\fran\wiring.vsd (\home\staff\fran\) tar: dumped 2 files and directories Total bytes written: 0 ----------------------------------------- Those files represent the entire contents of that directory so it is seeing that the files are there, it just cannot open/retrieve them. Contrast this to the same command on 3.0.1: -------------------- # smbclient -V Version 3.0.1 # smbclient \\\\snapper\\dfs mypassword -U Administrator -E -W CISWINNET -D home\\staff\\fran -d0 -Tqca /tmp/test.tar [2006/05/04 16:07:28, 0] client/clitar.c:process_tar(1433) tar: dumped 27 files and directories [2006/05/04 16:07:28, 0] client/clitar.c:process_tar(1434) Total bytes written: 6813184 --------------------- -d10 output of the 3.0.22 version is at the URL I filed...let me know if you want ethereal output and I will see if I can set it up to grab the conversation with ethereal.
Created attachment 1889 [details] -d10 debug output from smbclient version 3.0.22 Here is the same -d10 output that is at the URL (did not know I would get an opportunity to attach files after I submitted the bug report).
Created attachment 1908 [details] proposed patch from Nicholas N. <nucke@mail.ru> please test and let me know if this solves your problems.
(In reply to comment #2) > Created an attachment (id=1908) [edit] > proposed patch from Nicholas N. <nucke@mail.ru> > > please test and let me know if this solves your problems. > Hi Nicholas, The patch you presented doesn't seem to do the trick. I've tested this against 3.0.22 sources. It seems that paths to files on the share are still not correctly formed: # ./smbclient '\\server\share' -N -c "put /tmp/backup.tgz test.tgz" Domain=[mydomain] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2] NT_STATUS_FILE_IS_A_DIRECTORY opening remote file \test.tgz # ./smbclient '\\server\share' -N -c "rm test.tgz" Domain=[mydomain] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2] NT_STATUS_FILE_IS_A_DIRECTORY deleting remote file \test.tgz # ./smbclient '\\server\share' -N -D some\\path -d0 -Tqca test.tar Domain=[mydomain] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2] NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \some\path\gif\1.gif (\some\path\gif\) NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \some\path\jpeg\1.jpg (\some\path\jpeg\) ... ps.: debug output shows split_dfs_path: nodepath=\server\SHARE Kind regards
I tested the version 3.0.25a, and the bug seems to be resolved. I used FuseSMB for the test. FuseSMB is linked with libsmbclient, and version 3.0.23d and 3.0.24 have the bug, but it works fine with 3.0.25a.
Thanks for the update.