hanu
When I paste a FTP URL with escaped spaces into the global queue, the escaped
spaces in the last component of the URL path will not be unescaped. In other
words, when SmartFTP sends the file or directory name to the remote FTP server,
it sends '%20' instead of a space as part of the file name. Note, that this only
happens with the last component of the path. Spaces in directory names in front
of that last component are unescaped correctly. Also note that this may happen
for other escaped characters as well and that it may only happen when the last
component contains a dot.
Example (confidential information was Xed out):
When pasting this URL
ftp://user:password@XXX.XXX.XXX.XX/home ... spaces.txt
into the global queue, the transfer will fail and the following will be logged
(the directory 'dir with spaces' does indeed exist and in that directory there
is file a file called 'file with spaces.txt'):
Resolving host name XXX.XXX.XXX.XX...
Connecting to (XXX.XXX.XXX.XX) -> IP: XXX.XXX.XXX.XX PORT: 21
Connected to (XXX.XXX.XXX.XX) -> Time = 3095ms
Socket connected waiting for login sequence.
220 ProFTPD FTP Server ready.
USER user
331 Password required for user.
PASS (hidden)
230 User user logged in.
SYST
215 UNIX Type: L8
FEAT
500 FEAT not understood.
REST 100
350 Restarting at 100. Send STORE or RETRIEVE to initiate transfer.
REST 0
350 Restarting at 0. Send STORE or RETRIEVE to initiate transfer.
PWD
257 "/home/user" is current directory.
CWD /home/user/mainwebsite_html/dir with spaces
250 CWD command successful.
PWD
257 "/var/www/html/dir with spaces" is current directory.
CWD /home/user/mainwebsite_html/dir with spaces
250 CWD command successful.
PWD
257 "/var/www/html/dir with spaces" is current directory.
SIZE file%20with%20spaces.txt
550 file%20with%20spaces.txt: Forbidden command argument
CWD /home/user/mainwebsite_html/dir with spaces/file%20with%20spaces.txt
550 /home/user/mainwebsite_html/dir with spaces/file%20with%20spaces.txt: Forbidden command argument
This is the [[[SYSINFO][/SYSINFO]][/[SYSINFO][/SYSINFO]]][/[[SYSINFO][/SYSINFO]][/[SYSINFO][/SYSINFO]]]
+- System -----------------------------
Microsoft Windows XP Professional
Service Pack 1 (Build 2600)
CPU Speed : 1598 MHz
Total Memory : 1047792 KB
Free Memory : 382088 KB
+- SmartFTP ---------------------------
Version : 1.0.981.37
Time Stamp : 2004-03-15 11:56:43
+- Application DLL --------------------
controls.dll : 1.6.981.37
ftpapi.dll : 2.0.981.37
language.dll : 1.0.981.37
reseng.dll : 1.3.981.37
smarthook.dll : 1.0.2.1
+- System DLL -------------------------
shell32.dll : 6.00.2800.1233 (xpsp2.030604-1804)
shlwapi.dll : 6.00.2800.1400
comctl32.dll : 6.0 (xpsp1.020828-1920)
riched20.dll : 5.30.23.1211
schannel.dll : 5.1.2600.1106 (xpsp1.020828-1920)
+- Internet Explorer ------------------
Version : 6.0.2800.1106
+- Winsock ----------------------------
Winsock : 2.2
spaces in the last component of the URL path will not be unescaped. In other
words, when SmartFTP sends the file or directory name to the remote FTP server,
it sends '%20' instead of a space as part of the file name. Note, that this only
happens with the last component of the path. Spaces in directory names in front
of that last component are unescaped correctly. Also note that this may happen
for other escaped characters as well and that it may only happen when the last
component contains a dot.
Example (confidential information was Xed out):
When pasting this URL
ftp://user:password@XXX.XXX.XXX.XX/home ... spaces.txt
into the global queue, the transfer will fail and the following will be logged
(the directory 'dir with spaces' does indeed exist and in that directory there
is file a file called 'file with spaces.txt'):
Resolving host name XXX.XXX.XXX.XX...
Connecting to (XXX.XXX.XXX.XX) -> IP: XXX.XXX.XXX.XX PORT: 21
Connected to (XXX.XXX.XXX.XX) -> Time = 3095ms
Socket connected waiting for login sequence.
220 ProFTPD FTP Server ready.
USER user
331 Password required for user.
PASS (hidden)
230 User user logged in.
SYST
215 UNIX Type: L8
FEAT
500 FEAT not understood.
REST 100
350 Restarting at 100. Send STORE or RETRIEVE to initiate transfer.
REST 0
350 Restarting at 0. Send STORE or RETRIEVE to initiate transfer.
PWD
257 "/home/user" is current directory.
CWD /home/user/mainwebsite_html/dir with spaces
250 CWD command successful.
PWD
257 "/var/www/html/dir with spaces" is current directory.
CWD /home/user/mainwebsite_html/dir with spaces
250 CWD command successful.
PWD
257 "/var/www/html/dir with spaces" is current directory.
SIZE file%20with%20spaces.txt
550 file%20with%20spaces.txt: Forbidden command argument
CWD /home/user/mainwebsite_html/dir with spaces/file%20with%20spaces.txt
550 /home/user/mainwebsite_html/dir with spaces/file%20with%20spaces.txt: Forbidden command argument
This is the [[[SYSINFO][/SYSINFO]][/[SYSINFO][/SYSINFO]]][/[[SYSINFO][/SYSINFO]][/[SYSINFO][/SYSINFO]]]
+- System -----------------------------
Microsoft Windows XP Professional
Service Pack 1 (Build 2600)
CPU Speed : 1598 MHz
Total Memory : 1047792 KB
Free Memory : 382088 KB
+- SmartFTP ---------------------------
Version : 1.0.981.37
Time Stamp : 2004-03-15 11:56:43
+- Application DLL --------------------
controls.dll : 1.6.981.37
ftpapi.dll : 2.0.981.37
language.dll : 1.0.981.37
reseng.dll : 1.3.981.37
smarthook.dll : 1.0.2.1
+- System DLL -------------------------
shell32.dll : 6.00.2800.1233 (xpsp2.030604-1804)
shlwapi.dll : 6.00.2800.1400
comctl32.dll : 6.0 (xpsp1.020828-1920)
riched20.dll : 5.30.23.1211
schannel.dll : 5.1.2600.1106 (xpsp1.020828-1920)
+- Internet Explorer ------------------
Version : 6.0.2800.1106
+- Winsock ----------------------------
Winsock : 2.2