Code:
v7.5.3 Release Notes:
1) Files in \System:
Changed : ioFTPD.[exe,pdb] - Version 7.5.3.0.
2) Files in \etc:
Changed : Default.vfs - comments/documentation changed.
*** Incompatible changes/defaults:
3) The minimum supported operating system is now Windows XP. A few new
features are not available on Windows 2000 and it's so old there isn't any
point in trying to keep support for it.
4) You may no longer use relative paths for directories you wish to mount in
.vfs files. These already generated a "VFS WARNING:" message about the
entry but continued to work previously. Now this is officially unsupported
as it breaks some dir caching logic and the entries will be skipped and a
"VFS ERROR:" messaged generated to the error logfile.
5) New files/directories will now go to the FIRST directory listed in the .vfs
file for the mountpoint, the old behavior was to use the last dir. This
is a side effect of a bugfix below and duplicating the old behavior would
add extra complexity and generate a performance hit.
*** Bug Fixes:
6) Fixed a bug with uploading to directories whose path doesn't exist on
the last merged/raided directory listed in the .vfs file. This is now
fixed, but per #3 above the new behavior is to use the FIRST directory
whose existing paths allow the new entry. I.e. suppose you had these 2
.vfs entries:
"C:\Games" /Games
"D:\Games2" /Games
And these real directories:
C:\Games\Favorites
C:\Games\New
D:\Games2\New
D:\Games2\New\Test
D:\Games2\Old
New files or directories will be created thus:
/Games/New/A -> C:\Games\New\A
/Games/New/Test/B -> D:\Games2\New\Test\B
/Games/Favorites/C -> C:\Games\Favorites\C
/Games/Old/D -> D:\Games2\Old\D
7) Fixed a bug with NTFS junctions on remotely mounted drives, or windows
shares, not showing up. For the moment these NTFS junctions will always
act like NTFS_Reparse_Method = IGNORE because the logic to detect shared
folders and to reverse paths doesn't know how to handle non-local paths.
This may be fixed in a future release.
8) Fixed a bug where trying to create a directory that already exists would
result in the OnNewDir script being called before failing.
9) Fixed a bug with detecting the loader lock and/or the winsock library
getting stuck. For debugging purposes I increased the 60 second
timeout to 60000 and forgot to reset it before releasing the code for
at least a few of the last releases. I remember noting to undo the
change but I guess I mistook 60000 for milliseconds which is what most
time calculations use so I thought it looked correct... This effectively
disabled the deadlock detection mechanism! The server now determines
if a debugger is attached and if so it records an entry in the debug
logfile but doesn't try to exit else it's new timeout is 60 seconds.
10) Fixed a bug where the server assumed external user/group modules wouldn't
block. This is obviously not always true and it was therefore possible
that the server could end up with all worker threads being used up trying
to access users or groups and get stuck for a while.
11) Fixed a bug where DELAY=TRUE preloading was done before the value for
NTFS_Reparse_Method was set so preloaded directories that contained
reparse points (NTFS junctions/symlinks) wouldn't show up as symlinks if
NTFS_Reprase_Method was set to SYMLINK until the directory was updated
in the cache.
12) Fixed a bug with the server's response to the ABOR command. It was
possible for it to return an immediate "226 ABOR command successful" reply
if the server had finished the transfer and closed the connection, but
before it had replied with the normal 226/426 reply. The server will now
wait to return the "226 ABOR command successful" message until after the
normal reply which may not be instantly generated if the zipscript is
processing an upload.
13) Fixed a number of potential bugs in the way async socket activity is
reported by re-writing a number of pieces of logic. Let's see if this
fixes some things or if this entire method of doing things needs to be
changed. New Debug.log output for interesting cases added, not all
messages indicate errors!
14) Fixed yet another bug where the built-in default Port_Deny_Host settings
were improperly setup.