Globus Toolkit® 3.2 GridFTP Release Notes
GridFTP is a Pre-WS component that provides a high-performance, secure, reliable data transfer protocol optimized for high-bandwidth wide-area networks. The GridFTP protocol is based on FTP, the highly-popular Internet file transfer protocol.
The 3.2 release includes contain important bug fixes and improvements on existing functionality. Improvements include support for platform independent, machine parseable, file info (MLST and MLSD commands), a new checksum command (cksm), support for the Unix chmod command, and support for file globbing and directory moves, i.e. globus-url-copy is no longer restricted to a single file. globus-url-copy also now has command line options for all the equivalent client library functionality.
Wufptd based server, tools, and libraries
Bug Fixes
- 555 chmod functionality in GridFTP library?
- 798 modification_time function uses assumes MDTM result is in local time zone
- 1045 Assertion eof_cb_ent != GLOBUS_NULL failed in file globus_ftp_control_data.c
- 1268 need passive mode for directory listings when using ftp_client library
- 1306 "reached end of file" error
- 1309 multiple file FTP's seem to hang
- 1365 >4GB file transfers broken with '-p N'
- 1398 GridFTP server v1.10 hangs on zero-length partial file retreive
- 1449 memory leak in ftp_client
- 1534 LIST commands shouldn't use active connections
- 1600 GridFTP doesn't work in the background
- 1617 MLSD behaves badly on inaccessible files
- 1648 3.2beta globus-url-copy unnecessarily noisy
Server Updates
- MLST: machine parsable single file info over control channel
- MLSD: machine parsable directory listings over data channel
- OPTS MLST: set the information that you wish to receive via the MLST/MLSD commands
- CKSM: get a checksum (currently only MD5 is supported) of full or partial file.
Client Updates
- ftp:
- globus_ftp_client_mlst
- globus_ftp_client_machine_list (mlsd)
- globus_ftp_client_cksm
- globus_ftp_client_chmod
- gass copy:
- globus_gass_copy_glob_expand_url: expand a file or ftp url with wildcards into a list of matching urls
- globus_gass_copy_mkdir: create a directory from file or ftp url
Globus-url-copy Changes
New features/options are marked by **:
globus-url-copy [options] <sourceURL> <destURL>
globus-url-copy [options] -f <filename>
** <sourceURL> may contain wildcard characters * ? and [ ] character ranges
in the filename only.
** Any url specifying a directory must end with a forward slash '/'
** If <sourceURL> is a directory, all files within that directory will
be copied.
** <destURL> must be a directory if multiple files are being copied.
** Note: If the ftp server from the source url does not support the MLSD
command, this client will attempt to transfer subdirectories as
files, resulting in an error. Recursion is not possible in this
case, but you can use the -c (continue on errors) option in order
to transfer the regular files from the top level directory.
**GridFTP servers prior to version 1.17 (Globus Toolkit 3.2)
do not support MLSD.
OPTIONS
-help | -usage
Print help
-version
Print the version of this program
-versions
Print the versions of all modules that this program uses
-c | -continue-on-error
Do not die after any errors. By default, program will exit after
most errors.
-a | -ascii
Convert the file to/from ASCII format to/from local file format
-b | -binary
Do not apply any conversion to the files. *default*
** -f <filename>
Read a list of url pairs from filename. Each line should contain
<sourceURL> <destURL>
Enclose URLs with spaces in double qoutes (").
Blank lines and lines beginning with # will be ignored.
** -r | -recurse
Copy files in subdirectories
** -fast
Recommended when using GridFTP servers. Use MODE E for all data
transfers, including reusing data channels between list and transfer
operations.
** -q | -quiet
Suppress all output for successful operation
** -v | -verbose
Display urls being transferred
-vb | -verbose-perf
During the transfer, display the number of bytes transferred
and the transfer rate per second. Show urls being transferred
-dbg | -debugftp
Debug ftp connections. Prints control channel communication
to stderr
** -rst | -restart
Restart failed ftp operations.
** -rst-retries <retries>
The maximum number of times to retry the operation before giving
up on the transfer. Use 0 for infinite. Default is 5.
** -rst-interval <seconds>
The interval in seconds to wait after a failure before retrying
the transfer. Use 0 for an exponential backoff. Default is 0.
** -rst-timeout <seconds>
Maximum time after a failure to keep retrying. Use 0 for no
timeout. Default is 0.
** -rp | -relative-paths
The path portion of ftp urls will be interpereted as relative to the
user's starting directory on the server. By default, all paths are
root-relative. When this flag is set, the path portion of the ftp url
must start with %2F if it designates a root-relative path.
-s <subject> | -subject <subject>
Use this subject to match with both the source and dest servers
-ss <subject> | -source-subject <subject>
Use this subject to match with the source server
-ds <subject> | -dest-subject <subject>
Use this subject to match with the destionation server
-tcp-bs <size> | -tcp-buffer-size <size>
specify the size (in bytes) of the buffer to be used by the
underlying ftp data channels
-bs <block size> | -block-size <block size>
specify the size (in bytes) of the buffer to be used by the
underlying transfer methods
-p <parallelism> | -parallel <parallelism>
specify the number of parallel data connections should be used.
-notpt | -no-third-party-transfers
turn third-party transfers off (on by default)
-nodcau | -no-data-channel-authentication
turn off data channel authentication for ftp transfers
** -dcsafe | -data-channel-safe
set data channel protection mode to SAFE
** -dcpriv | -data-channel-private
set data channel protection mode to PRIVATE
** -off | -partial-offset
offset for partial ftp file transfers, defaults to 0
** -len | -partial-length
length for partial ftp file transfers, used only for the source url,
defaults the full file.