|
RFC 959 File Transfer
Protocol
PASSWORD (PASS)
The argument
field is a Telnet string specifying the user's password. This command
must be immediately preceded by the user name command, and, for some
sites, completes the user's identification for access control. Since
password information is quite sensitive, it is desirable in general to
"mask" it or suppress typeout. It appears that the server has no
foolproof way to achieve this. It is therefore the responsibility of the
user-FTP process to hide the sensitive password information.
ACCOUNT (ACCT)
The argument field is a Telnet string identifying the user's account.
The command is not necessarily related to the USER command, as some
sites may require an account for login and others only for specific
access, such as storing files. In the latter case the command may arrive
at any time.
There are
reply codes to differentiate these cases for the automation: when account
information is required for login,
the response
to a successful PASSword command is reply code 332. On the other hand, if
account information is NOT required for login, the reply to a successful
PASSword command is 230; and if the account information is needed for a
command issued later in the dialogue, the server should return a 332 or
532 reply depending on whether it stores (pending receipt of the ACCounT
command) or discards the command, respectively.
CHANGE WORKING
DIRECTORY (CWD)
This command
allows the user to work with a different directory or dataset for file
storage or retrieval without altering his login or accounting
information. Transfer parameters are similarly unchanged. The argument
is a pathname specifying a directory or other system dependent file group
designator.
RFC 959 File Transfer
Protocol
syntaxes for
naming the parent directory. The reply codes shall be identical to the
reply codes of CWD. See Appendix II for further details.
STRUCTURE MOUNT
(SMNT)
This command
allows the user to mount a different file system data structure without
altering his login or accounting information.
Transfer parameters are similarly unchanged. The argument is a pathname
specifying a directory or other system dependent file group designator.
REINITIALIZE
(REIN)
This command
terminates a USER, flushing all I/O and account information, except to
allow any transfer in progress to be
completed.
All parameters are reset to the default settings and the control
connection is left open. This is identical to the state in which a user
finds himself immediately after the control connection is opened. A USER
command may be expected to follow.
LOGOUT (QUIT)
This command
terminates a USER and if file transfer is not in progress, the server
closes the control connection. If file transfer is in progress, the
connection will remain open for result response and the server will then
close it.
If the
user-process is transferring files for several USERs but does not wish to
close and then reopen connections for each, then the REIN command should
be used instead of QUIT.
An unexpected
close on the control connection will cause the server to take the
effective action of an abort (ABOR) and a logout (QUIT).
4.1.2. TRANSFER
PARAMETER COMMANDS
All data
transfer parameters have default values, and the commands specifying data
transfer parameters are required only if the default parameter values are
to be changed. The default value is the last specified value, or if no
value has been specified, the standard default value is as stated here.
This implies that the server must "remember" the applicable default
values. The commands may be in any order except that they must precede
the FTP service request.
RFC 959 File Transfer
Protocol
DATA PORT (PORT)
The argument
is a HOST-PORT specification for the data port to be used in data
connection. There are defaults for both the user and server data ports,
and under normal circumstances this command and its reply are not needed.
If this command is used, the argument is the concatenation of a 32-bit
internet host address and a 16-bit TCP port address.
This address
information is broken into 8-bit fields and the value of each field is
transmitted as a decimal number (in character string representation). The
fields are separated by commas. A port command would be:
PORT
h1,h2,h3,h4,p1,p2
where h1 is
the high order 8 bits of the internet host address.
PASSIVE (PASV)
This command
requests the server-DTP to "listen" on a data port
(which is not its default data port) and to wait for a connection rather
than initiate one upon receipt of a transfer command. The response to
this command includes the host and port address this server is listening
on.
REPRESENTATION
TYPE (TYPE)
The argument
specifies the representation type as described in the Section on Data
Representation and Storage. Several types take a second parameter. The
first parameter is denoted by a single Telnet character, as is the second
Format parameter for ASCII and EBCDIC; the second parameter for local byte
is a decimal integer to indicate Bytesize.
The
parameters are separated by a <SP> (Space, ASCII code 32).
The following
codes are assigned for type:
\ /
A - ASCII
| | N - Non-print
|-><-| T - Telnet format effectors
E -
EBCDIC| | C - Carriage Control (ASA)
/ \
I - Image
L <byte
size> - Local byte Byte size
RFC 959 File Transfer
Protocol
The default
representation type is ASCII Non-print. If the Format parameter is
changed, and later just the first argument is changed, Format then returns
to the Non-print default.
FILE STRUCTURE
(STRU)
The argument
is a single Telnet character code specifying file structure described in
the Section on Data Representation and Storage.
The following
codes are assigned for structure:
F - File
(no record structure)
R - Record
structure
P - Page
structure
The default
structure is File.
TRANSFER MODE
(MODE)
The argument
is a single Telnet character code specifying the data transfer modes
described in the Section on Transmission Modes.
The following
codes are assigned for transfer modes:
S - Stream
B - Block
C -
Compressed
The default
transfer mode is Stream.
4.1.3. FTP SERVICE
COMMANDS
The FTP service
commands define the file transfer or the file system function requested by
the user. The argument of an FTP service command will normally be a
pathname. The syntax of pathnames must conform to server site conventions
(with standard defaults pplicable), and the
language conventions of the control connection. The suggested default
handling is to use the last specified device, directory or file name, or
the standard default defined for local users.
The commands may be in any order except that a "rename from" command must
be followed by a "rename to" command and the restart command must be
followed by the interrupted service command (e.g., STOR or RETR). The
data, when transferred in response to FTP service.
RFC 959 File Transfer Protocol
commands, shall always be sent over the data connection, except
for certain informative replies. The following commands specify FTP
service requests:
RETRIEVE (RETR)
This command causes the server-DTP to transfer a copy of the
file, specified in the pathname, to the server- or user-DTP at the other
end of the data connection. The status and contents of the file at the
server site shall be unaffected.
STORE (STOR)
This command causes the server-DTP to accept the data
transferred via the data connection and to store the data as a file at the
server site. If the file specified in the pathname exists at the server
site, then its contents shall be replaced by the data being transferred.
A new file is created at the server site if the file specified in the
pathname does not already exist.
STORE UNIQUE (STOU)
This command behaves like STOR except that the resultant file
is to be created in the current directory under a name unique to that
directory. The 250 Transfer Started response must include the name
generated.
APPEND (with create) (APPE)
This command causes the server-DTP to accept the data
transferred via the data connection and to store the data in a file at the
server site. If the file specified in the pathname exists at the server
site, then the data shall be appended to that file; otherwise the file
specified in the pathname shall be created at the server site.
ALLOCATE (ALLO)
This command may be required by some servers to reserve
sufficient storage to accommodate the new file to be transferred. The
argument shall be a decimal integer representing the number of bytes
(using the logical byte
size) of storage to be reserved for the file.
|