Skip to content

Instantly share code, notes, and snippets.

@robinrodricks
Created September 13, 2019 10:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robinrodricks/9631f9fad3c0fc4c667adfd09bd98762 to your computer and use it in GitHub Desktop.
Save robinrodricks/9631f9fad3c0fc4c667adfd09bd98762 to your computer and use it in GitHub Desktop.
HGFTP Release Notes

April, 2006
>
This file contains the release notes for HGFTP V3.2.;
It describes any features, restrictions, changes,
9
or additions made to the HGFTP software in this
@
release, and includes information that is not provided,
elsewhere in the HGFTP manual set.
=
Revision/Update Information: This is a new manual.
A
Operating System and Version: OpenVMS VAX V5.0 or later
=
OpenVMS Alpha V1.5 or
-
later
2
Software Version: HGFTP V3.2

Hunter Goatley

"
________________________
15 April 2006
=
Permission is granted to copy and redistribute this
*
document for no commercial gain.
?
The information in this document is subject to change
9
without notice and should not be construed as a
=
commitment by Hunter Goatley. The authors assume no
?
responsibility for any errors that may appear in this

document.
=
DISCLAIMER: The software described in this document
:
is provided "as is." No guarantee is made by the?
authors as to the suitability, reliability, security,
6
usefulness, or performance of this software.
;
The following are trademarks of Digital Equipment

Corporation:
>
AXP VAX DEC OpenVMSA
VMS UCX VAXcluster VMScluster
7
MultiNet is a registered trademark of Process

Software, LLC.
:
TCPware is a trademark of Process Software, LLC.

__________>
Copyright ©2006 Hunter Goatley. All Rights Reserved.

A
_______________________________________________________

Contents
A
_______________________________________________________
A
CHAPTER 1 INSTALLATION NOTES 1-1
A
_________________________________________________
A
1.1 COMMANDS 1-1
A
_________________________________________________
A
1.2 ON-LINE HELP 1-1
A
_______________________________________________________
A
CHAPTER 2 NEW FEATURES AND BUG FIXES 2-1
A
_________________________________________________
9
2.1 NEW FEATURES AND BUG FIXES IN HGFTP
A
V3.2 2-1
A
_________________________________________________
9
2.2 NEW FEATURES AND BUG FIXES IN HGFTP
A
V3.1 2-2
A
_________________________________________________
9
2.3 NEW FEATURES AND BUG FIXES IN HGFTP
A
V3.0-1 2-3
A
_________________________________________________
9
2.4 NEW FEATURES AND BUG FIXES IN HGFTP
A
V3.0 2-4
A
iii



Contents
A
_______________________________________________________
1
CHAPTER 3 RELEASE NOTE INFORMATION FOR
A
PREVIOUS RELEASES 3-1
A
_________________________________________________
9
3.1 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.7 3-1
A
_________________________________________________
9
3.2 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.6-5 3-3
A
_________________________________________________
9
3.3 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.6-4 3-3
A
_________________________________________________
9
3.4 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.6-3 3-3
A
_________________________________________________
9
3.5 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.6-2 3-4
A
_________________________________________________
9
3.6 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.6-1 3-5
A
_________________________________________________
9
3.7 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.6 3-6
A
_________________________________________________
9
3.8 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.5-4 3-6
A
_________________________________________________
9
3.9 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.5-3 3-6
iv

A
Contents
A
_________________________________________________
9
3.10 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.5-2 3-8
A
_________________________________________________
9
3.11 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.5-1 3-8
A
_________________________________________________
9
3.12 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.5 3-9
A
_________________________________________________
9
3.13 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.4 3-10
A
_________________________________________________
9
3.14 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.3-1 3-11
A
_________________________________________________
9
3.15 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.3 3-11
A
_________________________________________________
9
3.16 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.2-6 3-12
A
_________________________________________________
9
3.17 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.2-5 3-12
A
_________________________________________________
9
3.18 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.2-4 3-12
A
_________________________________________________
9
3.19 NEW FEATURES AND BUG FIXES IN HGFTP
A
V2.2-3 3-13
A
v



Contents
A
_________________________________________________
A
3.20 BUG FIXES IN HGFTP V2.2-2 3-13
A
_________________________________________________
A
3.21 BUG FIXES IN HGFTP V2.2-1 3-13
A
_________________________________________________
A
3.22 NEW FEATURES IN HGFTP V2.2 3-14
A
_________________________________________________
A
3.23 BUGS FIXED IN HGFTP V2.2 3-15
A
_________________________________________________
5
3.24 NEW FEATURES AND BUG FIXES FROM
A
PREVIOUS RELEASES 3-16
A
_______________________________________________________
A
CHAPTER 4 KNOWN BUGS AND RESTRICTIONS 4-1
A
_______________________________________________________
A
CHAPTER 5 PROBLEM REPORTS 5-1
A
_________________________________________________
A
5.1 INFO-MADGOAT@MADGOAT.COM 5-1
A
_________________________________________________
A
5.2 MADGOAT-ANNOUNCE@MADGOAT.COM 5-1
A
_________________________________________________
A
5.3 MADGOAT-BUGS@MADGOAT.COM 5-1
A
_________________________________________________
A
5.4 MADGOAT-REGISTER@MADGOAT.COM 5-2
vi

A
_______________________________________________________

1 Installation Notes
?
This chapter contains items of interest pertaining to
$
the installation of HGFTP.
9
HGFTP consists of both an FTP client and an FTP
;
server. It requires the NETLIB library for TCP/IP
:
support. Both the client and server support STRU=
VMS, which means that VMS files transferred between
=
a client and server that both support STRU VMS will
%
retain all file attributes.
L
__________________________________________________________________

1.1 Commands
@
The command used to invoke the HGFTP client can either@
be defined as a foreign symbol or added to the system->
wide DCL command tables (SYS$LIBRARY:DCLTABLES.EXE).:
When the latter method is chosen, the command is;
available to all users on the system (though file
:
protections and privileges may prevent them from!
executing the program).
=
The installation gives you the option of adding the
;
FTP command to the DCL command tables. Since most
?
TCP/IP vendors also supply an FTP command, adding the
=
HGFTP command will replace the vendor's definition.
L
__________________________________________________________________

1.2 On-line Help
?
During the installation, you will be given the option
:
of installing the help files for HGFTP client in>
one of the system help libraries. The system default>
help library is SYS$SYSROOT:[SYSHLP]HELPLIB.HLB. The<
installation procedure will give you the option of
A
1-1



Installation Notes
=
installing the help files in other libraries (those
=
defined by the logicals HLP$LIBRARY, HLP$LIBRARY_1,

etc.).
:
You may wish to insert the help files in a local?
library pointed to by one of the HLP$LIBRARY logicals
:
to avoid cluttering the normal VMS help library.
>
The on-line help files can be found in the directory
HG_ROOT:[HELP].
1-2


A
_______________________________________________________
$
2 New Features and Bug Fixes
@
HGFTP V3.2 includes the following new features and bug&
fixes over earlier versions.
L
__________________________________________________________________
2
2.1 New Features and Bug fixes in HGFTP V3.2
A
o The ALIAS ADD and ALIAS MODIFY commands in the HGFTP
?
client now accept /PORT=port and /[NO]PASV for the

stored aliases.
>
Note: Previous versions of HGFTP did not properly?
initialize the alias flags, and it's possible that
=
some existing aliases may now show bogus PORT or
<
PASV information. The client attempts to detect;
these cases, but may not be successful 100% of
=
the time. If you find that a defined ALIAS shows
=
bogus port or PASV info, simply use ALIAS MODIFY
@
to specify the correct /PORT or /PASV setting. That=
will correct the problem (and properly leave the
+
flags set for future updates).
=
o The HGFTP client and server now support the MDTM
?
(MoDification TiMe) command. This command displays
?
the modification time for a specified file. (NOTE:
A
The modification time displayed is a GMT time value.
;
No attempt is made to determine whether or not
?
daylight savings was in effect on the modification
?
date, so the GMT time returned by the HGFTP server
=
in response to the MDTM command may be off by an
<
hour from the actual GMT time when the file was
modified.)
>
o The commands SET WINDOW_SIZE and SHOW WINDOW_SIZE3
are now supported by the HGFTP client.
A
2-1


$
New Features and Bug Fixes
=
o The NETLIB component has been upgraded to NETLIB
?
V2.4 for Alpha and IA64. The last released version
A
of NETLIB for VAX is V2.3D; this version is included
with HGFTP for VAX.
L
__________________________________________________________________
2
2.2 New Features and Bug fixes in HGFTP V3.1
>
o The HGFTP Listener has been enhanced to allow the@
acceptance and rejection of connections based on IP@
address. The logicals HG_FTP_ACCEPT_IP_LIST and HG_<
FTP_REJECT_IP_LIST (both defined in the HG_FTP_;
NAME_TABLE) specify the IP addresses to accept
>
and reject, respectively. The following rules are)
applied with these logicals:
;
1 If neither logical is defined, access is not

restricted.
9
2 If only the ACCEPT logical is defined, all
=
connections are rejected unless the IP address
>
is included in the equivalence for the logical.
9
3 If only the REJECT logical is defined, all
=
connections are accepted unless the IP address
>
is included in the equivalence for the logical.
;
4 If both logicals are defined, only specified
;
ACCEPT addresses are accepted. If an address
9
is accepted because it matches a specified
<
network, the listener will check to make sure8
the particular IP address is not rejected
explicitly.

Examples:
2-2


A
New Features and Bug Fixes
B
$ create/name_table/attr=super/exec-I
_$ /parent=LNM$SYSTEM_DIRECTORY/nolog-
Q
_$ /prot=(s:rwed,o:rwed,w:r) HG_FTP_NAME_TABLE
E
$ DEFINE/EXEC/TABLE=HG_FTP_NAME_TABLE -
U
_$ HG_FTP_ACCEPT_IP_LIST "10.1.2.3","224.32.32.34",-
7
_$ "66.170.199.220/29"
6
In this example, only connections from IP=
addresses 10.1.2.3, 224.32.32.34, and the subnet
<
66.170.199.220 would be allowed to connect. The:
"/29" specifies that there are 29 significant:
bits in the address (meaning a subnet mask of
255.255.255.248).
A
o BLOCK mode transfers are broken (and have been since
=
before HGFTP V2.0), so the HGFTP server has been
<
modified to disallow BLOCK mode transfers. This=
change allows the Opera web browser to work with
2
HGFTP running in UNIX-emulation mode.
@
o The HGFTP server was modified to return a 504 ``bad>
parameter'' error instead of a 501 ``bad syntax''6
error when an invalid mode was specified.
@
o In previous V3.x releases, the HGFTP client did not=
preserve the case of the file specification when
@
/URL is specified. This problem has been corrected.
L
__________________________________________________________________
4
2.3 New Features and Bug fixes in HGFTP V3.0-1
=
o The HGFTP server has been modified once again to
>
try to support the web browsers of the world. The@
support for rooted directories has been improved to>
work with recent versions of IE and Netscape when,
UNIX-emulation mode is enabled.
A
o The HGFTP client now supports the /PASV command-line
@
qualifier to make passive mode the default for file
transfers.
A
2-3


$
New Features and Bug Fixes
<
o Coincidentally, a month after /PASV support was:
added, a DCL ECO from Compaq adds /PASSIVE to>
COPY/FTP and DIR/FTP. HGFTP now supports that new-
qualifier on those commands too.
8
o The HGFTP server will now ignore UNIX-style>
qualifiers on the LIST/NLST commands. Many stupid?
GUI FTP clients assume the remote server is a UNIX
;
system and will incorrectly send commands such
>
as ``LIST -aL''. HGFTP now ignores any characters!
prefixed with ``-''.
<
o A subtle bug in the encoding of alias passwords@
that occurred when the password was longer than the?
host name has been fixed. Stored aliases that meet
>
this criteria will most likely need to be REMOVEd>
and ADDed again to get the proper encoding of the
password.
9
o The commands ON ERROR CONTINUE and ON SEVERE
@
CONTINUE have been added to the HGFTP client. These?
commands were documented in previous releases, but
$
were, in fact, missing.
;
o Several issues that prevented successful local
>
compilation from the sources without modification!
have been corrected.
L
__________________________________________________________________
2
2.4 New Features and Bug fixes in HGFTP V3.0
;
o The official name of this software package has
:
been changed from "MadGoat FTP" to "HGFTP" to:
more properly identify the primary author and>
maintainer of the software. MadGoat Software (the;
corporation) has never had anything to do with
>
MGFTP; its development and maintenance since 19958
has been solely the work of Hunter Goatley.
2-4


A
New Features and Bug Fixes
>
o The parsing of FTP URLs (specified using the /URL@
qualifier added in V2.7) has been modified to treat?
all file specifications ending in "/" as directory
A
specifications, which causes the client to leave the
>
user at the FTP prompt, after having issued a CWD?
command to move to the specified remote directory.
=
o Support for alternate ports in FTP URLs has been
?
added to the HGFTP client. The accepted URL format

is now:
N
ftp://[username[:password]@]host.domain[:port]/[directory/[file]]
9
o The file FTP.CLD has been relocated from the
<
executable directory to HG_ROOT:[COM] to better5
support dual-architecture installations.
A
2-5


A
_______________________________________________________
8
3 Release Note Information for Previous Releases
>
The following sections detail the release history of>
HGFTP from V2.0 through V2.7. They are included here3
for supplementary documentation purposes.
L
__________________________________________________________________
2
3.1 New Features and Bug fixes in HGFTP V2.7
:
o The HGFTP client has been modified to support;
the use of FTP URLs on the command line. A new
>
qualifier, /URL, causes the HGFTP client to treat=
the specified parameter as a URL that is used to
<
make the FTP connection. The URL format that is
acceptable is:
G
ftp://[username[:password]@]host.domain/[directory/[file]]
@
The URL must quoted and must end in either a "/" or>
a filename. If a filename is supplied, the client>
will automatically issue a GET/TYPE=IMAGE for the@
specified file. If a directory name is provided but>
the filename is omitted, or if both the directory;
and filename are omitted, the client will make
;
the connection based on the supplied host and,
>
if present, username and password information and?
enter interactive mode, automatically CDing to the
>
specified directory. If the username is supplied,A
but a password is omitted, the user will be prompted
<
to enter the password. If both the username and=
password are omitted, an anonymous connection is

established.
3
The following examples are valid URLs:
3
o ftp://username:password@host.domain/
A
3-1


8
Release Note Information for Previous Releases
1
o ftp://username@host.domain/subdir/
0
o ftp://host.domain/subdir/file.ext
>
A real life example to download the HGFTP kit is:
`
$ ftp/url "ftp://ftp.process.com/vms-freeware/fileserv/mgftp.zip"
8
o The HGFTP server has been modified to allow9
wildcarded file specifications for RNFR/RNTO
5
commands (rename a file). As long as the
>
specifications are acceptable to LIB$RENAME_FILE,,
they will be accepted by HGFTP.
9
o The HGFTP client was modified to prevent the
?
estimated time remaining display shown by pressing
7
CTRL-A when transferring a file from being
?
overwritten by the hash marks enabled with the SET

HASH command.
;
o The HGFTP listener was modified to support the
<
definition of interface-specific local hostname?
via a logical name in the HG_FTP_NAME_TABLE of the

form:
.
HG_FTP_LOCAL_HOSTNAME_xx_xx_xx_xx
=
where "xx_xx_xx_xx" is the interface IP address.
?
This lets a node support several different virtual
>
servers, with each having its own system name, if
desired.
A
o The HGFTP client ALIAS ADD and ALIAS MODIFY commands
?
would sometimes not encrypt the specified password
@
correctly, resulting in incorrect decryptions. This(
problem has been corrected.
5
o NETLIB V2.3B is now packaged with HGFTP.
3-2


A
Release Note Information for Previous Releases
L
__________________________________________________________________
4
3.2 New Features and Bug fixes in HGFTP V2.6-5
@
o Some users did not like installing the HGFTP client;
with SYSPRV for UCX, so the code that sets the
@
buffer sizes was modified to just ignore any errors5
that occur when trying to set the sizes.
>
A global symbol, HGFTP_UCX_SYSPRV_INSTALL, can be=
defined in HG_ROOT:[COM]FTP_LOGICALS.COM to tell
=
FTP_STARTUP.COM whether or not the client should
;
be installed with SYSPRV. The default value of
?
this symbol is "1"; setting it to "0" will prevent
/
installing the client with SYSPRV.
L
__________________________________________________________________
4
3.3 New Features and Bug fixes in HGFTP V2.6-4
=
o The setting of the window size was failing under
@
UCX for non-privileged users because setting buffer?
sizes is considered a privileged operation by UCX.
>
The HGFTP client can now be installed with SYSPRV<
safely to allow this to work for non-privileged<
users. In previous versions, the client did not0
allow for being installed securely.
5
o NETLIB V2.2G is now packaged with HGFTP.
L
__________________________________________________________________
4
3.4 New Features and Bug fixes in HGFTP V2.6-3
;
o The default window size used by HGFTP has been
<
increased from 6144 bytes to 17520. This change?
should speed up file transfers over some links, in
A
some cases dramatically. For example, transfers over
A
an ISDN may be twice as fast as in previous versions

of HGFTP.
A
3-3


8
Release Note Information for Previous Releases
A
A new logical, HG_FTP_WINDOW_SIZE, has been added to
@
allow the default window size to be overridden. The>
logical can be defined in any logical name table,9
allowing users to override a system default.
;
o Previous versions of HGFTP did not set the DCL
@
symbol $STATUS when COPY/FTP was used and it failed?
for whatever reason. This has been corrected. Note
A
that DIR/FTP may or may not set an error exit status
A
if a file does not exist-some servers, including the
@
HGFTP server, do not return an error for a DIR of a,
non-existent file, for example.
@
o When HGFTP was invoked via DIR/FTP, the case of the?
specified filename was not preserved. This problem
has been corrected.
L
__________________________________________________________________
4
3.5 New Features and Bug fixes in HGFTP V2.6-2
>
o Previous versions of HGFTP could be configured to@
limit the number of active FTP connections, but the?
startup procedures did not implement it correctly.
=
Even when correctly set up, the FTP listener did
;
not return a valid response (it returned a 421
<
error string, but it wasn't properly terminated?
by a carriage-return/linefeed combination, causing
=
most clients to not see the error message). This
(
problem has been corrected.
=
o Added support for a new logical, HG_FTP_MAXIMUM_
?
SERVERS, the value of which is a number specifying
>
the maximum number of FTP connections that can be)
established at any one time.
@
o The HGFTP client was modified to report most errors=
back to DCL when /ERROR=EXIT or ON ERROR EXIT is
;
used, allowing command procedures to check for
;
errors by checking the value of the DCL symbol
=
$STATUS. Not all errors are passed on correctly;
8
this will be corrected in a future release.
3-4


A
Release Note Information for Previous Releases
2
o Added support for new reply logicals:
?
o HG_FTP_220_REPLY - the greeting displayed by the
.
listener when a client connects
:
o HG_FTP_221_REPLY - the message displayed by9
the listener and the server when closing a

connection
<
The values of these logicals can be either text?
strings or a string of the form "@file.ext", which
7
causes the specified file to be displayed.
9
o The LDIR command did not handle invalid file
>
specifications properly, resulting in an infinite?
loop of displayed error messages. This problem has

been corrected.
L
__________________________________________________________________
4
3.6 New Features and Bug fixes in HGFTP V2.6-1
A
o Added support for the SIZE command to the client and

server.
=
o Modified the routine to transfer a file from the
@
network to the local disk to issue the SIZE command?
before the transfer. If the remote server supports
;
SIZE, the client will use the size returned as
:
the initial allocation quantity when the file=
is created, reducing the need to extend the file
,
repeatedly during the transfer.
A
3-5


8
Release Note Information for Previous Releases
L
__________________________________________________________________
2
3.7 New Features and Bug fixes in HGFTP V2.6
6
o Increased the throughput performance when=
transferring files from the network to the local
=
disk. Previous versions of the server and client
8
wrote binary files out one block at a time,@
resulting in a severe performance penalty. In V2.6,?
the data is written in 127-block chunks per write.
?
This change has resulted in transfers from the net
@
to the local disk that are 2 to 6 times faster than
previous versions.
L
__________________________________________________________________
4
3.8 New Features and Bug fixes in HGFTP V2.5-4
=
o The HGFTP server did not work well with "cluster
A
aliases" implemented by MultiNet and TCPware because
=
it didn't specify the cluster alias when binding
?
sockets for the data connections. This problem has

been corrected.
@
o The HGFTP server would generate an access violation@
if connections to an account were rejected with the@
REJECT logical. This didn't cause any problems withA
the session, as the accvio happened during the image
?
rundown, but it did leave an accvio message in the
=
FTP_SERVER.LOG for the account. This problem has

been corrected.
L
__________________________________________________________________
4
3.9 New Features and Bug fixes in HGFTP V2.5-3
?
o The HGFTP binaries for OpenVMS Alpha were produced
?
using the Compaq BLISS-32E V1.8 compiler. Previous
;
versions were produced using V1.3. This should
-
result in better optimized code.
?
o The HG_FTP_ACTIVITY log file now includes messages
A
about successful file transfers, which can be useful
%
in gathering statistics.
3-6


A
Release Note Information for Previous Releases
?
In previous versions of HGFTP, those messages were
:
only generated for the messages STORed by the;
server, and the message was actually generated
;
before the file was actually transferred. Now,
=
messages are generated for all file transfers by
@
the server. The messages are now created at the end@
of the transfer, giving accurate delivery times via3
the record timestamps in the log file.
:
o The DCL commands DIR/FTP and COPY/FTP did not=
properly handle remote file specs that containede?
spaces in the file or directory name. This probleml
has been corrected.
?
o The HGFTP server now plays better with PC browsersl@
(specifically, Netscape and Internet Explorer) when>
the UNIX directory listing emulation is used. The<
following changes were made to accomodate these
browsers:
=
o Netscape is actually smart enough to recognize
<
that it's talking to a VMS system by checking;
the output generated in response to the SYSTn>
command. Unfortunately, when UNIX emulation was>
in effect, this caused Netscape to misinterpret9
the directory listing and display only theo=
returned file names. Now, when the logical HG_l>
FTP_HIDE_VMS_SYST is defined and UNIX emulation>
is in effect, the SYST response includes spaces:
to disguise the fact that it's a VMS system?
running HGFTP. This causes Netscape to interpretu>
the file names and display file information for
each file listed.
0
o When presented with a URL such as@
"ftp://user:pass@node/dir/", both Netscape and IE>
will issue the command "CWD /DIR/". In previous@
versions of HGFTP, this would try to access [DIR]<
and not the expected [.DIR]. This problem has=
been fixed. Now, "CWD /DIR/" is interpreted ase>
"CD [.DIR]" for non-ANONYMOUS logins and as "CD+
[DIR]" for ANONYMOUS logins.
A
3-7_
_
8
Release Note Information for Previous Releases
A
o In previous versions of HGFTP running on versions of A
VMS prior to V7.2, issuing the command "ls -l" would_?
result in the server shutting down the connection. ?
This problem has been corrected (though "-l" still_A
doesn't have any special meaning as it does for some 
UNIX FTP servers).
>
o The HGFTP listener now truncates usernames at the<
first invalid character. This change allows the;
server to ignore usernames set up for firewall_
access.
<
o In previous versions of HGFTP, the client SPAWNA
command incorrectly translated the command parameter =
to lowercase. This problem has been corrected so 2
that the normal DCL case rules apply.
A
o The client commands LCD and LLS (local DIR and local
?
LS) are not documented, but are present. They will_)
be documented in HGFTP V2.6.D
L
__________________________________________________________________
4
3.10 New Features and Bug fixes in HGFTP V2.5-2
:
o The HGFTP client did not handle some types of:
connection failures properly, resulting in IP7
devices (BG:, INET:) not getting released.
>
o The HGFTP client now shows the full expanded file*
name on file transfer errors.
L
__________________________________________________________________
4
3.11 New Features and Bug fixes in HGFTP V2.5-1
A
o A logic error in setting the end-of-file byte caused_>
the last block of a file to be lost when the lastA
block transferred was a full 512 bytes. This problem 
has been fixed.
3-8 

A
Release Note Information for Previous Releases.
L
__________________________________________________________________
2
3.12 New Features and Bug fixes in HGFTP V2.5
>
o Passive mode support in the HGFTP server has been<
reworked to work properly with more clients. InA
previous versions, the server assumed clients worked_@
like the HGFTP client did in passive mode: the PASV?
command was sent, the passive connection was made, 9
and then the file transfer command was sent._
=
However, many FTP clients actually send the PASV.?
command and the file transfer command (LIST, STOR,2>
etc.) before establishing the passive connection.=
With such clients, a race condition existed that :
would sometimes cause the server to close the?
connection without transferring some or all of the 
data.
?
In HGFTP V2.5, the server now handles passive modeT4
properly for both types of connections.
<
o In previous versions of HGFTP, connections that:
failed to log in for whatever reason (invalid=
password, invalid account, etc.) and immediately 9
exited the FTP session would cause the HGFTP A
Listener to die with an access violation. The access ?
violation occurred when the listener tried to send =
the reply code to the client; it didn't check to <
be sure the the connection still existed before@
attempting to send the reply code. This problem has
been fixed.
>
o When transferring a binary file from a UNIX or NT=
system, HGFTP pads the final block with nulls to @
make an even 512-byte block. There was code presentA
to set the first-free-byte field in the file header, =
but that code didn't work, which meant that when <
the file was transferred back to the UNIX or NT?
system, it would have grown in size to include theX?
padded nulls added by HGFTP. This problem has been ?
fixed; the actual size of the file is now properly_!
maintained by HGFTP.
A
3-94

8
Release Note Information for Previous Releases
@
o In HGFTP V2.4, the listener could not be started onA
multiple nodes of a cluster because the log file was A
locked by the first process started. The FTP_STARTUP_>
command procedure now defines a node-specific log,
file for each listener process.
L
__________________________________________________________________
2
3.13 New Features and Bug fixes in HGFTP V2.4
>
o In HGFTP V2.2, the client and server were changed8
to translate the UNIX directory spec "/" to@
"SYS$DISK:[000000]". While this is the more correct:
behavior for anonymous logins, it was usuallyA
incorrect for non-anonymous accounts. The client and A
server will now translate "/" to "SYS$DISK:[000000]" ?
for anonymous logins, and to "SYS$LOGIN:" for non- 
anonymous logins.
>
o In previous versions of HGFTP, the HGFTP Listener;
was unable to do remote hostname lookups afterA<
a connection was established when running underA
MultiNet and Pathway. This version of HGFTP uses the @
UCX-emulation provided by each to do the DNS lookup?
so that the name of the remote host can be written_
to the log files.
?
o On UCX and TCPware systems, defining HG_FTP_LOCAL__=
HOSTNAME had no effect, because the listener did ?
a second lookup of the host name. This problem has 
been fixed.
@
o The HGFTP Listener no longer creates a new activity>
log file each time it starts. Instead, it appends*
records to the existing file.
?
o The HG_FTP_ACTIVITY log file now includes messages A
about successful file transfers, which can be useful %
in gathering statistics.X
@
o The activity log now differentiates between servers=
and anonymous servers with the label "ANONYMOUS-_
Server".

3-10
B
A
Release Note Information for Previous Releases_
;
o The FTP_SERVER.EXE image is now installed withS>
NETMBX and TMPMBX, in addition to SYSPRV and PHY_>
IO. Previously, it was assumed that the ANONYMOUS4
account had at least NETMBX and TMPMBX.
A
o Several memory leaks in the HGFTP Listener have been A
fixed. The leaks could eventually have caused to the 6
listener to die with an access violation.
L
__________________________________________________________________
4
3.14 New Features and Bug fixes in HGFTP V2.3-1
?
o When doing UNIX ls emulation, resource identifiers-@
as owners weren't handled properly, resulting in an>
invalid display. This problem has been corrected.
L
__________________________________________________________________
2
3.15 New Features and Bug fixes in HGFTP V2.3
A
o The HGFTP Server can now generate directory listings >
in a UNIX-style format, for greater compatibility?
with browsers that think the world only runs UNIX.i?
When the logical HG_FTP_DO_UNIX_LS is defined, theaA
HGFTP server will produce directory listings similarl@
to those generated by UNIX servers if the specified<
path is in a UNIX-style format. By equating the?
logical with the value "ALWAYS", you can force the ;
server to always generate UNIX-style listings.
:
o The HGFTP Listener now checks for the logical:
HG_FTP_LOCAL_HOSTNAME. If that's defined, the=
equivalence string is used as the system name in @
the 220 greeting displayed to the client. A genericA
name like "ftp.madgoat.com" can be displayed insteade'
of the actual system name.m
=
o The HGFTP client ATTACH command now supports theo
/PARENT qualifier.d
A
3-11n

8
Release Note Information for Previous Releases
L
__________________________________________________________________
4
3.16 New Features and Bug fixes in HGFTP V2.2-6
?
o The HGFTP Server now accepts subdirectory names insA
the Netscape string "CD [.~user.subdir]" format. See]=
the notes for V2.2-5 below for more information.u
L
__________________________________________________________________
4
3.17 New Features and Bug fixes in HGFTP V2.2-5
<
o The HGFTP Server has been modified to check for<
the existence of the logical HG_FTP_ALLOW_PRIV_@
PORT. If that logical is defined /SYSTEM/EXEC, then<
privileged ports will be accepted on the server?
PORT commands. (See the changes made in V2.2-2 forS3
information about this security risk.)n
A
o Netscape tries to be helpful and converts references
=
to "CD ~user" to "CD [.~user]". The HGFTP Server
@
now recognizes this special case and converts it to
"~user".
@
o In previous versions of HGFTP V2.2, pressing CTRL-A?
could generate a "divide by zero fault" if no datae<
had been transferred yet. This problem has been
corrected._
L
__________________________________________________________________
4
3.18 New Features and Bug fixes in HGFTP V2.2-4
;
o To protect systems against the CERT FTP Bounce
6
attack, the HGFTP server no longer allows=
connections to 3rd-party machines via the server 
PORT command.

3-12
s
A
Release Note Information for Previous Releasest
L
__________________________________________________________________
4
3.19 New Features and Bug fixes in HGFTP V2.2-3
?
o Pressing CTRL-A while transferring a file will noweA
show the estimated time remaining for a transfer (ifs>
the total file size is known, meaning on all PUTs=
and on GETs transferred via STRU VMS or when the 0
total file size can be determined).
@
o Timezone support in the FTP server has been updatedA
to include support for the SYS$TIMEZONE_DIFFERENTIAL(
logical.e
?
o The HGFTP server didn't properly transfer "Stream" ?
format files in BINARY mode (it forced those filesh=
to ASCII mode). This problem has been corrected.,
L
__________________________________________________________________
#
3.20 Bug fixes in HGFTP V2.2-2
A
o The HGFTP client did not support the /PORT qualifierd?
on the OPEN command, though it did support it fromN?
the DCL command line. The OPEN command now accepts
:
/PORT=value to specify an alternate FTP port.
@
o A potential security hole existed in the FTP server>
that could have allowed attackers to gain illegal=
access to RSH/RLOGIN ports. The server no longer
=
accepts port numbers lower than 1024 on the PORTu
command.
A
o Another CMUIP access violation in the HGFTP listener_
has been fixed.
L
__________________________________________________________________
#
3.21 Bug fixes in HGFTP V2.2-1
9
o The HGFTP listener would die with a "Network
A
partner disconnected logical link" error under CMUIP ?
whenever an FTP session disconnected. This problem
has been corrected.
A
3-13o
g
l
8
Release Note Information for Previous Releases
L
__________________________________________________________________
$
3.22 New Features in HGFTP V2.2
;
o Support has been added for NETLIB V2. Previouss<
versions of HGFTP worked with NETLIB V2 via the=
V1 compatibility routines in NETLIB V2. However, @
an incompatibility between those routines and HGFTP=
would sometimes cause the HGFTP listener to exito>
when some connections timed out. This problem has
been corrected.
?
o Support has been added for passive-mode transfers.c?
Passive-mode transfers are typically used when theh?
FTP client and server are separated by a firewall. A
The client now includes the commands SET PASSIVE and ?
SHOW PASSIVE, and the server now supports the PASV 
command.N
>
o The command procedure FTP_GET_CONNECTION_INFO.COM@
now receives the local host name and IP address, in?
addition to the remote host name and address. This >
feature may be useful to sites with machines that%
have multiple addresses.I
<
o The HGFTP client now supports being called from?
COPY/FTP and DIR/FTP. All qualifiers are supported 8
except COPY/FTP/FDL. When HGFTP is started,8
the logicals OPENVMS$FTP and OPENVMS$FTPDIR=
(used by COPY/FTP and DIR/FTP, respectively) are @
automatically defined to point to the HGFTP client.
8
o The HGFTP Server now supports the directory<
specification "~username" to access the default6
login directory for a user on the system.
>
o By defining the logical HG_FTP_TILDE_ANONDIR, you>
can allow users on the local system to make files;
accessible to anonymous FTP users from specialO=
subdirectories under their login directories. IfN@
the logical is not defined, anonymous FTP users are3
not allowed to use the "~user" format.i

3-14

t
A
Release Note Information for Previous Releases
@
For example, you can define the logical to be equal>
to "AFTP". Once defined, users can create [.AFTP];
subdirectories. Anonymous FTP users could then_@
access files in each user's anonymous FTP directory0
by using a command like "CD ~USER".
A
This support provides anonymous FTP access analogous
=
to the serving of user-based World-Wide Web HTMLe
pages.t
7
o The HGFTP client includes the new commandsw>
DEFINE/KEY, DELETE/KEY, and SHOW KEY that let youA
define keys to execute commands. DEFINE/KEY commands <
can be placed in an initialization file to have@
them defined automatically when users run the HGFTP
client.
8
o The HGFTP client commands PUT/RECURSIVE and;
MPUT/RECURSIVE work now. Though /RECURSIVE wasi<
documented in previous versions, it was ignored;
by the client. It now will cause the specified/;
subdirectory tree to be recreated and properlya*
populated on the remote node.
>
o The output displayed when transferring a file andA
pressing CTRL-A or CTRL-T now shows the total numberc)
of blocks to be transferred.
L
__________________________________________________________________
"
3.23 Bugs Fixed in HGFTP V2.2
<
o The HGFTP client qualifier /QUIET disabled most@
messages, but still allowed replies from the remoteA
system to be displayed. /QUIET/NOREPLY now prohibitsh<
the display of all messages, including replies.
A
o The CTRL-A and CTRL-T transfer status display in thea@
HGFTP client didn't work if HGFTP was executed from>
within a command procedure. This problem has been
corrected.
A
3-15e
n
e
8
Release Note Information for Previous Releases
A
o Several obscure bugs in the HGFTP Listener have beenm?
corrected. These bugs would occasionally cause the 6
listener to die with an access violation.
A
o In previous versions of HGFTP, the client and serverd;
would translate the UNIX directory spec "/" to ?
"SYS$LOGIN:". The spec is now correctly translateda>
to "SYS$DISK:[000000]" when it appears by itself.
>
o A bug in the calculation of the percentage in theA
CTRL-A status line could cause incorrect percentages >
to be displayed when transferring extremely large4
files. This problem has been corrected.
8
o The FTP client commands GET and PUT did not>
correctly handle the global /RETAIN setting. This(
problem has been corrected.
L
__________________________________________________________________
;
3.24 New Features and Bug Fixes from Previous Releasese
@
The following new features and bug fixes were added in
V2.1-2.
6
o The FTP listener will now send connection>
information (the remote host name and IP address)=
to be read by the LOGIN.COM of a server process. :
This information can be read by executing HG_>
ROOT:[COM]FTP_GET_CONNECTION_INFO.COM, which will>
set the global symbols HOST_NAME and HOST_IP with*
the host name and IP address.
?
Note: The remote host name will not be returned if <
the underlying TCP/IP transport on the server's?
system is Multinet or WIN/TCP. The IP address will &
be returned in its place.
=
o Added the HG_FTP_WILD_VERSION logical name which_;
controls the default filespec for the LIST FTPr>
server command. If HG_FTP_WILD_VERSION is definedA
as "T" or "Y", then a default filespec of *.*;* willh?
be used, i.e., all versions of the files requestedu

3-16

_
A
Release Note Information for Previous Releases1
=
will be displayed. Otherwise, the normal defaulti+
filespec of *.*; will be used.
>
o Fixed a bug that caused LIST and NLST commands to?
never complete in some cases under CMU-Tek TCP/IP.s
<
o Fixed a bug in the FTP client's error handling.;
Errors that were detected before executing anyp<
commands were causing an infinite loop of error
messages.
?
o Fixed the FTP client's /VERIFY output. This outputr<
was being lost when SYS$OUTPUT was redefined to
point to a file.a
@
The following new features and bug fixes were added in
V2.1-1.
;
o Support for listening to a port other than thet=
default FTP port (21) was added to FTP_LISTENER. A
The HG_FTP_LISTENER_PORT logical name may be used toa@
specify an alternate port. This logical name should*
be defined /SYSTEM/EXECUTIVE.
A
o Fixed a bug in the handling of HG_FTP_DIRS values ofeA
the form "dev:[000000...]." Directory specificationsr(
of this form will now work.
@
o Stream LF files were being sent "as is" during STRU<
F, TYPE A transfers (instead of being sent as a?
series of CR/LF delimited lines). This problem has 
been corrected.
@
The following new features and bug fixes were added in
V2.1.
A
o The FTP client now allows the user to define aliasess?
for remote hosts. In addition to the host name, an
>
alias entry may include remote login information.
A
3-17 

8
Release Note Information for Previous Releases
A
o Wildcarded directory names are now supported for the <
HG_FTP_DIRS and HG_FTP_user_DIRS logical names.:
For example, the following are now acceptable=
directory values: DISK:[*...], DISK:[DIR*.SUB%], $
and DISK:[DIR.SUB*...].
;
o The HG_FTP_QUOTE_PATHNAME logical was added to :
control whether the pathname is quoted in 257>
replies. 257 replies are sent for the PWD and MKD*
server commands. For example:
"
>PWDO
<257 "SYS$SYSROOT:[SYSHLP]" is current directory.
?
The quotes in the reply are not recognized by somea=
FTP clients. They can be disabled, on a per-userr?
basis, by defining HG_FTP_QUOTE_PATHNAME as "F" or 
"N".x
:
o A bug that caused the FTP server to sometimes>
disconnect during LIST and NLST commands has been
corrected.e
A
o The FTP server's installed privileges were remainingL:
enabled if they were authorized for the user.?
Installed privileged are now disabled if they were '
not enabled at login time.
@
The following new features and bug fixes were added in
V2.0-3.i
A
o NETMBX privilege is now enabled before attempting toeA
connect to a remote host. Previously, the FTP client_=
did not enable it, so installing the client with "
NETMBX had no effect.
;
o Some FTP clients do not switch from STRU O VMSn?
before attempting a directory listing, which would =
cause the FTP server to complain about the STRU.i;
This restriction has been removed from the FTPt
server.
>
o Nested command procedure calls are now supported.

3-18
:
M
A
Release Note Information for Previous Releases
A
o The speed of local and remote directory listings waso
improved.
@
o The FTP client will now prompt for a username afterA
connecting to a remote host if HG_FTP_USER_PROMPT is_
defined._
<
o The FTP server will now display the contents ofA
.MESSAGE files if present when changing directories.n
@
The following new features and bug fixes were added in
V2.0-2.z
@
o A bug that caused the HG_FTP_ANONYMOUS_DIRS logical>
to be ignored has been corrected. Previously, the?
logical was ignored if the FTP log files could notn
be created.
>
o If the remote host name exceeded 28 characters in=
length, the FTP client would not accept commands 4
from the user. This has been corrected.
@
o The two-line opening greeting from the FTP listenerA
has been changed to a single line to allow Mosaic to
+
work with MadGoat FTP servers.7
@
o The LOGIN and USER commands were modified to accept<
/ACCOUNT as a qualifier instead of a parameter.
@
The following new features and bug fixes were added in
V2.0-1.
>
o A bug in the installation procedure prevented the?
installation of both sources and executables. ThisI
has been corrected.
<
o FTP_STARTUP.COM now starts NETLIB, if it hasn't"
already been started.
A
o A bug in the client that caused access violations onb9
CTRL-C for some commands has been corrected.
<
o The HELP command was looking for the wrong help@
library. This has been corrected. (It worked if the.
HG_FTP_HELP logical was defined.)
A
3-19t

/
8
Release Note Information for Previous Releases
=
o The client command PUT would sometimes fail withr@
"record too large for user's buffer" when Stream_LF=
files were transferred. This has been corrected.i
9
HGFTP V2.0 was the first release of the MadGoata8
Software version of the FTP client and server.
<
HGFTP began life as the FTP client and server that9
were distributed with CMU-Tek TCP/IP, a mostly-x=
free TCP/IP implementation written by Tektronix ando?
Carnegie-Mellon University and supported by CMU. When @
the code was made freely available, support was picked8
up primarily by Henry Miller and John Clement.
>
HGFTP is based on John and Henry's CMU FTP V3.1. The@
MadGoat version works with the NETLIB TCP/IP Interface@
Library. The NETLIB port was done by Darrell Burkhead,=
who based some of the changes on a much earlier UCXr@
port (known as CRUX) done by Matt Madison. The OpenVMS0
Alpha port was done by Hunter Goatley.
?
NETLIB V2.2F is included with the HGFTP distribution.e9
NETLIB is written by Matt Madison and is also as#
MadGoat Software product.d
9
HGFTP is currently maintained by Hunter Goatleyi#
(goathunter@goatley.com).
7
The HGFTP software contains numerous changes, ;
enhancements, and bug fixes over the original CMU 
version.

3-20

A
_______________________________________________________o
%
4 Known Bugs and Restrictions
@
This chapter describes the known bugs and restrictions
of HGFTP V3.2.
A
o When using CTRL-C to abort an action, the FTP clientH@
may or may not properly reset the STRU setting. For=
example, when connected to a server that supportL;
STRU VMS, the client switches to STRU FILE for :
directory listings and automatically switches@
back to STRU VMS when the command has completed. IF?
CTRL-C is used to abort the listing, the structure =
setting may not be reset to STRU VMS, though the <
remote server is reset. To correct this, simplyA
issue the SET STRUCTURE VMS command before any othero
command.s
@
o When PUTting to a remote server and you specify the>
same file name as the source and destination file=
names, the case of the destination name is lost. A
The case is maintained as long as the file names are 
different.
>
o The HGFTP server cannot determine the remote hostA
name for logging purposes when the underlying TCP/IP >
transport is MultiNet or WIN/TCP. This is because<
of an AST implementation conflict between these-
transports and the HGFTP server.
>
The only effect is that FTP_SERVER.LOG files will<
show only the numeric IP address for the remote
host.
=
o If you are running HGFTP under CMU-Tek, you will ?
need to make sure that the MAXBUF SYSGEN parameter %
is set to at least 8300._
A
4-1x
i
G
%
Known Bugs and Restrictionsu
?
o If you are running HGFTP under DEC TCP/IP Services :
for VMS v3.1, you may need to define a couple;
of logical names by hand. UCX$INET_HOST should <
be defined as the hostname of the local system;;
UCX$INET_DOMAIN should be defined as the local ?
domain name. Combining UCX$INET_HOST and UCX$INET_s@
DOMAIN should make the FQDN (Fully Qualified Domain=
Name) for the local system. For example, with an ?
FQDN of wkuvx1.wku.edu, you could define UCX$INET__;
HOST as wkuvx1 and UCX$INET_DOMAIN as wku.edu.
A
If UCX$INET_HOST and UCX$INET_DOMAIN are not defined @
correctly, you will need to redefine them at system?
startup. They should be defined /SYSTEM/EXECUTIVE_ 
MODE.
4-2e

A
_______________________________________________________n

5 Problem Reportsj
>
MadGoat Software has set up the following electronic:
mailing lists for discussions and support of its
products.
L
__________________________________________________________________
"
5.1 Info-MadGoat@MadGoat.com
>
Discussion of MadGoat Software products by users and?
MadGoat developers. To subscribe, send a mail message
to:d
6
Info-MadGoat-Request@MadGoat.com
?
with the word SUBSCRIBE in the first line of the body 
of the message.e
L
__________________________________________________________________
&
5.2 MadGoat-Announce@MadGoat.com
=
Announcements of new releases and new products from 8
MadGoat. To subscribe, send a mail message to:
8
MadGoat-Announce-Request@MadGoat.com
?
with the word SUBSCRIBE in the first line of the bodyr
of the message.
L
__________________________________________________________________
"
5.3 MadGoat-Bugs@MadGoat.com
8
Address for reporting bugs in MadGoat Software>
products. Please include the name of the package and>
version in the subject header of the message, so the?
report can be more easily directed to the appropriatet
developer.
A
5-1r
r
i

Problem Reports
L
__________________________________________________________________
&
5.4 MadGoat-Register@MadGoat.com
?
Address for registering your use of MadGoat Software. 6
Registration of your installation is at your@
discretion and is used by MadGoat Software only to the>
determine the size of the user base for each product4
and the future directions of the products.
8
To register, simply mail a message to MadGoat->
Register@MadGoat.com with the following information:

Installer's namet%
Company name and address
?
System(s) on which the MadGoat software is running (
Which products you're using;
Any comments and/or suggestions you might havea
@
Also, you can find the MadGoat Software web page using,
the URL "http://www.madgoat.com/".
5-2M
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment