Version 1.93 6/22/08 (BETA) - Fixed pbsz with 'prot c' against Globus GridFTP Server 2.1 - Changed the printing of the MOTD when connecting to only print for debug levels >= 1 - Added commandline options - Added extended block transfer, parallel data channels and striping - mkdir will not fail when the directory already exists if MLSx is supported - put -r will not fail when creating directories that already exist if MLSx is supported - Added the 'family' command for setting tape family with FTP services that support it - Added 'ALLO' during stores - Added the 'resume' command. Give it the last attempted file transfer or directory created during a failed recursive transfer and it will skip to that target when you re run the recursive transfer - Added recursive listing - Added cksum which will compare local and remote CRC's Version 1.92 6/02/08 (ALPHA) - Added stage/lstage commands which take multiple objects. This also suports recursion and regular expressions. - Added TCP window sizing - Added Control Channel keepalive - Added Data Channel Authentication and the command "dcau" - Added data channel encryption and the command "prot" - Added pbsz for changing the protection buffer size which is the maximum encrypted message size on the data channel - Added handling for PASV failure in third party transfers - Added support for the UBERFTP_ACTIVE_MODE environment variable - Added ascii transfers - Fixed a syntax error with pput (ESTO P) - Added a reconnect feature. If your connection has timed out or is dropped, the client will reconnect you and preform your operation. - Added retry. Set this to the number of times you would like to retry commands that fail with transient failures. - wait is now built into the client. This causes the client to attempt to stage a file before downloading it. - Added size/lsize to give you the size of remote objects KNOWN ISSUES (to be available/fixed in a future release) - No extended block transfer, parallel data channels or striping - No command line options - no list ordering - ls is not yet recursive - possible conversion errors between different size types Version 1.91 5/26/08 (ALPHA) - Added globbing to cat, cd, chmod, get, put, mget, mput, list, mkdir, pget, pput, rm and rmdir - Added recursion to chmod, get, put, mget, mput and rm - mget is now recursive. - Added transfer rates - Fixed an extra space in PORT/SPOR that may have caused some failures - Added ldir and versions commands - Commands to the remote service will now respond with "Not connected" until after a successful open. - Added ~ path expansion - Added 'cd -' capabilities - implemented pget/pput - manpage updated KNOWN ISSUES (to be available/fixed in a future release) - No dcau - No ascii transfers - No extended block transfer, parallel data channels or striping - No TCP window/buffer setting - No command line options - The environment variable UBERFTP_ACTIVE_MODE is not being used - No control channel keepalive - no list ordering - ls is not yet recursive - possible conversion errors between different size types Version 1.90 5/18/08 (ALPHA) - Rewrite of all the major subsystems - no longer dependent upon globus ftp control libraries, only requires the globus_gssapi_gsi library. - remove bget/bput and added 'retry' so all operations can recover - removed MSS authentication since it will be removed soon from NCSA's mass storage system. - Removed the -a option. Now the authentication mechanism is implied by the use a password - Now using MSLT/MLSD for recursive or globbing. The client will not perform these operations for systems that do not support it. - cat, mkdir, rmdir, chmod, rm can take multiple targets KNOWN ISSUES (to be available/fixed in a future release) - No dcau - No ascii transfers - No extended block transfer, parallel data channels or striping - No TCP window/buffer setting - No transfer rates - No command line options - The environment variable UBERFTP_ACTIVE_MODE is not being used - No control channel keepalive - pget/pput not implemented - no recursion or globbing - no list ordering - manpage not updated Version 1.27 02/8/08 - Fixed bug were passive addresses were interpretted as IPv6 addresses - Flush out error messages so that the appear inline Version 1.26 01/10/08 - Rework of recursive operations to fix some failures - Destination directory must exist when transferring files Version 1.25 07/24/07 - 'quote stage' is now handled within the client to avoid firewall timeouts. - 'quote sum' no longer uses firewall timeouts Version 1.24 04/27/07 - Fixed parsing for -c option - Fix in filelist.h, filelist.c and ftpSession.h to fix build with xlc on AIX. Version 1.23 02/16/07 - Fixes for OSX including how optind is reset and dealing with return values from strchr_r(). Version 1.22 10/23/06 - Username/password authentication added to the commandline and the open/lopen commands. - Username added to GSI authentication for advanced users that have multiple accounts that map to the same public key. - Enhanced help menus with much more detail on each command. - New keepalive issue added to data transfers to fix hanging issues related to some firewalls. The client will now send 'NOP' to the server if it suspects that a problem has occurred. This fix is related (and in some situations requires the fix for) globus bug 4735. - Added timeouts to fix server crash related hangs during data transfers. - Fixed hangs caused by bad third-party transfers. If a problem occurs with one service involved in the transfer, the connections are closed to prevent the client from haning. - Enhanced error reporting and handling. Fixed exit values for various commands. Expanded the GSI related error messages to include more details. Fixed the mput/mget return value for no match. Solved several memory leaks related to globus error objects and globus printable strings. - Added URL style command line transfers. So now you can specify source and destination from the command line using one of the prefixes gsiftp://, file: or mss://. Or you can put source/destinations pairs in a file and use the -f option. - Added the 'bugs' command to interactive mode which prints a short message about who to send bugs and feature requests to. - Added -m mode command line option to set the transfer mode to 'S' streams mode or 'E' extended block mode. - Added -versions command line option to print the version of all related globus libraries. - Added debug information to directory listings for problem debugging. - Rewrote the directory parsing to work with the Fermilab server. - Added the recursive feature to mput and mget. These functions also allow for multiple sources to be listed similar to the bput and bget functions. - Rewrote lrm when not connected to a local service so that error messages are printed instead of ignored. - Added the 'order' interactive command to change the order of directory listings to to name, size or type. - Added debug levels with differing amounts of output. This can be set from the command line using the -D option or from the debug interactive command. Version 1.21 08/29/06 - It fixes a couple bugs in 1.20 including the lls bug on mercury (in which you see no listing) and the lcd bug (which causes a core dump). Version 1.20 07/21/06 - Improved regular expressions. Version 1.19 only handled expressions in the last portion of the path. Version 1.20 allows the expression to be in any, or all, portions of the path. Added recursive listing and now you can use quotes and backslashes to work with file names with spaces. Version 1.19 03/15/06 - Includes a new recursive feature available with the rm, lrm, chmod, lchmod, get and put commands. Each of these commands accept the '-r' option to activate recursive mode. In recursive mode, get and put take directories as the source and destination rather than regular files. Be careful when using recursive in third-party transfers since a simple mistake such as incorrect permissions can cause the transfers to hang. This is a known deficiency in the FTP protocol which is exaggerated by the recursive feature. - Fixes a hanging bug associated with pattern matching that was found when using rmdir and mput. Version 1.18 10/14/05 - Fixed a segfault from improper use of vsnprintf() in SendCmd(). Version 1.17 09/21/05 - Added 'bye' as an alias to 'quit'. - It now handles bad PASV/SPAS responses which contain zero valid addresses. - Fixed the 'fixed-sized' buffers which truncated long commands and - long pathnames. Version 1.16 08/29/05 - Added support for third-party striping. Since the client is streams mode by default, you need to switch to extended block mode ('mode e' or 'parallel x'). If the transfer has more than one stripe, a message is printed informing you of how many stripes are being used. - ALLO is no longer sent on partial transfers. - Removed server messages during transfers and replaced it with a completion message that gives the time elapsed, data transferred and rate. - Fixed SIZE usage to handle non existent files. - The local file is truncated when using 'get' to fix the 'zero-length transfer not overwriting the local file' bug. Version 1.15 08/10/05 - Fixed the exit values for batch mode. If an error occurs, the client exits immediately with a value of 1. Otherwise it exits with a value of 0 once all commands have finished executing. Interactive mode always exits with a value of 0. Version 1.14 08/5/05 - rm/rmdir/lrm/lrmdir now handle regular expressions. These commands do not accept the unix command flags ie. '-f', '-r'. Be careful when using rm because it uses DELE which will delete files AND directories. Version 1.13 03/25/05 - Adds rename/lrename. - A new manpage is included. - Removed '-?' from the help menu because it doesn't work under tcsh. - Added a new environment variable UBERFTP_ACTIVE_MODE. If set, it defaults to ACTIVE rather than passive mode which is essential for good performance when using NCSA's mass storage system. - 'passive' no longer toggles passive/active modes, instead an 'active' command was added and each command sets (not toggles) the corresponding mode. - 'OPT RETR PARALLELISM' has been changed to 'OPTS RETR Parallelism' to work around a case sensitiviy bug in the Globus's beta striping gridftp server. Version 1.12 02/22/05 - Removes the 0 length local copy of a file when the user receives permission denied (if uberftp created the local copy). Version 1.11 09/9/04 - Accepts code 125 when opening a data connection. Version 1.10 08/25/04 - Fixes the strtoll() build problem on Tru64. Version 1.9 07/27/04 - Adds a fix for tcpbuf. Version 1.8 07/26/04 - 'tcpbuf ' will set the TCP buffer size. Version 1.7 06/25/04 - ALLO support was added. - username/password was removed. - The -H option on the commandline or to open/lopen is optional so users can now specify 'uberftp mss.ncsa.uiuc.edu' which connects to mass storage using GSI on port 2811. - 15 minute timeouts form the Globus gridftp server are now handled correctly. Version 1.6 05/6/04 - UberFtp now defaults to passive streams mode to avoid firewall issues. If you issue 'parallel x' where x >= 2, or perform third-party transfers, the client will use an active data connection. It will also failover to active if the service denies passive mode. This change will also be more efficient then the previous versions where it used extended block mode on a single data channel. Version 1.5 04/22/04 - Fixes build problems on AIX 5.x. Version 1.4 04/1/04 - Fixes a build problem with Globus Toolkit 3.2 Beta. Version 1.3 12/8/03 - Includes improved handling of directory listing commands. Now all options given to 'ls' are passed to the remote service. Note: this is not supported by all FTP implementations and this change only affects those implementations that can handle this feature. Version 1.2 12/8/03 - Fixes a build problem on Solaris and a typo in a help message. Version 1.1 11/17/03 - Fixes pget/pput offsets, removes '\r' from LIST output, removed pthr requirement, fixed crash caused when remote server sends empty responses. Version 1.0 11/11/03 - Version 1.0 is available for download. Version ALPHA_8_7 10/1/03 - Added a rate message after completed transfers - Fix for the put bug - Added the new command blksize which allows you to set the buffer and block size used in data transfers. Version ALPHA_8_6 09/24/03 - Head on over to the downloads section.