summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1415.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1415.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1415.txt')
-rw-r--r--doc/rfc/rfc1415.txt3251
1 files changed, 3251 insertions, 0 deletions
diff --git a/doc/rfc/rfc1415.txt b/doc/rfc/rfc1415.txt
new file mode 100644
index 0000000..ac15e33
--- /dev/null
+++ b/doc/rfc/rfc1415.txt
@@ -0,0 +1,3251 @@
+
+
+
+
+
+
+Network Working Group J. Mindel
+Request for Comments: 1415 R. Slaski
+ Open Networks, Inc.
+ January 1993
+
+
+ FTP-FTAM Gateway Specification
+
+Status of the Memo
+
+ This RFC specifies an IAB standards track protocol for the Internet
+ community, and requests discussion and suggestions for improvements.
+ Please refer to the current edition of the "IAB Official Protocol
+ Standards" for the standardization state and status of this protocol.
+ Distribution of this memo is unlimited.
+
+Abstract
+
+ This memo describes a dual protocol stack application layer gateway
+ that performs protocol translation, in an interactive environment,
+ between the FTP and FTAM file transfer protocols.
+
+ Two key assumptions are made: 1) POSIX file naming conventions and
+ hierarchical organization, rather than proprietary conventions are in
+ use; and 2) X.500 Directory Services are available.
+
+Acknowledgments
+
+ The authors of this RFC would like to express their appreciation to
+ the individuals and organizations that participated in the
+ implementation of the FTP-FTAM Application Layer Gateway and its
+ fielding on the MILNET. Implementation credits go to Mr. John Scott,
+ formerly of the MITRE Corporation, while fielding credits are
+ extended to James Graham and R. Greg Lavender of Open Networks, Inc.
+ (formerly NetWorks One) and Robert Cooney of the Naval Computer and
+ Telecommunications Station (NCTS) Washington. Dr. Marshall Rose is
+ to be commended for recognizing the importance of the FTP-FTAM
+ gateway and promulgating it as a part of the ISO Development
+ Environment (ISODE). The following individuals have provided
+ valuable editorial comments: Larry Friedman, Donna Vincent and
+ Michael Resnick of Digital Equipment Corporation; Robert Cooney of
+ NCTS; and S.E. Hardcastle-Kille of University College London. Funding
+ of the FTP-FTAM Gateway Request for Comments effort was provided by
+ Open Networks Inc. and the Defense Information Systems Agency (DISA),
+ formerly the Defense Communications Agency. DISA sponsors include
+ Len Tabacchi, George Bradshaw, Tom Clarke, and Betsy Turner.
+
+
+
+
+
+Mindel & Slaski [Page 1]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+Table of Contents
+
+ 1. Introduction..................................................2
+ 1.1. Relationship to Other Work ................................3
+ 1.2. Overview of Gateway Operation .............................4
+ 2. Gateway Architecture..........................................6
+ 3. Network Naming and Addressing.................................8
+ 4. Use of the Gateway Services...................................9
+ 4.1. FTP-Initiated Gateway Service .............................9
+ 4.2. FTAM-Initiated Gateway Service ...........................11
+ 4.3. Summary of Usage .........................................12
+ 5. Gateway State Variables and Transitions......................13
+ 5.1. FTP-Initiated Gateway Service ............................14
+ 5.2. FTAM-Initiated Gateway Service ...........................16
+ 6. Document Type Support........................................18
+ 6.1. Notes on NBS-9 ...........................................18
+ 7. Functional Comparison of FTP and FTAM........................19
+ 7.1. Loss of Functionality ....................................20
+ 8. Mapping of Protocol Functions and Representations.............20
+ 8.1. FTP-Initiated Gateway Service .............................22
+ 8.2. FTAM-Initiated Gateway Service ............................38
+ 9. Mapping between FTP Reply Codes and FTAM Parameters...........47
+ 9.1. FTP Reply Codes to FTAM Parameters ........................48
+ 9.2. FTAM Parameters to FTP Reply Codes ........................50
+ 9.3. Future Mapping Problem ....................................54
+ 9.4. Error Handling ............................................54
+ 10. Implementation and Configuration Guidelines..................54
+ 10.1. Robustness ...............................................54
+ 10.2. Well-Known TCP/IP Port ...................................55
+ 10.3. Gateway Listener Processes ...............................55
+ 10.4. Implementation Testing ...................................55
+ 10.5. POSIX File Naming and Organization .......................55
+ 11. Security Considerations......................................55
+ 12. References...................................................56
+ 13. Authors' Addresses...........................................58
+
+1. Introduction
+
+ The TCP/IP and OSI protocol suites will coexist in the Internet
+ community for several years to come. As more and more OSI hosts are
+ fielded on the Internet, the requirement for gateways between the two
+ protocol suites becomes more pressing.
+
+ This specification describes an application layer gateway providing
+ interoperability between the TCP/IP File Transfer Protocol (FTP) and
+ the OSI File Transfer, Access, and Management (FTAM) protocol. The
+ proposed application layer gateway is based on a bi-directional set
+ of mappings between the FTP and FTAM protocols. Since the protocols
+
+
+
+Mindel & Slaski [Page 2]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ have quite different command structures, the mappings between them
+ are not one-to-one. This paper assumes knowledge of the File
+ Transfer Protocol (FTP) [RFC959] and the File Transfer, Access, and
+ Management Protocol (FTAM) [ISO8571-1,2,3,4,5].
+
+ Two important goals of the mappings are to:
+
+ Provide FTP users with as much emulated FTP capability on an
+ FTAM Responder as possible, and
+
+ Provide FTAM users with as much emulated FTAM capability on an
+ FTP Server as possible.
+
+ Though it is anticipated that the application layer gateway will be
+ implemented on full protocol suites of both TCP/IP and OSI, at least
+ one implementation of such a gateway (included in the ISO Development
+ Environment) can be configured to operate FTAM over either OSI or
+ TCP/IP lower-layer services.
+
+1.1. Relationship to Other Work
+
+ Ideas presented in this specification are based on lessons learned in
+ fielding the gateway on the MILNET, operational at NCTS Washington
+ D.C. since 1989, and on the efforts of M. A. Wallace et al. of the
+ National Institute of Standards and Technology (NIST) [NIST86]. In
+ 1986, NIST published a design document for an FTP-FTAM gateway.
+ Since that time, at least one implementation (for a subset of the FTP
+ and FTAM protocols) of the gateway has been developed [MITRE87] and
+ is included with the ISODE. This implementation is based on the NIST
+ protocol translator gateway design [NIST86].
+
+ This document's contribution to the advancement of the FTP-FTAM
+ gateway concept is to:
+
+ * Enhance the user interaction capability provided by the ISODE
+ implementation of the FTP-FTAM application layer gateway.
+
+ * Clarify and enhance the mappings (FTP to FTAM, FTAM to FTP)
+ documented by NIST.
+
+ * Provide guidelines for fielding the FTP-FTAM application layer
+ gateway on the Internet so that it is useful as an Internet
+ resource.
+
+ * Produce a formal specification for the FTP-FTAM gateway suitable
+ for implementors to use in building additional FTP-FTAM
+ gateways.
+
+
+
+
+Mindel & Slaski [Page 3]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ * Provide a formal specification for organizations wishing to
+ procure FTP-FTAM gateways.
+
+1.2. Overview of Gateway Operation
+
+ The gateway provides a virtual end-to-end application file transfer
+ service. As data is sent via FTP, the gateway immediately maps the
+ requested function to FTAM and passes it to the FTAM host. In a
+ similar fashion, but using a different set of mappings, an FTAM
+ request is sent to the gateway, immediately mapped to an FTP
+ function, and passed along to the FTP host.
+
+ In FTP, the two parties involved in a file transfer are the Client
+ and Server. The Client is responsible for initiating a connection to
+ the Server. Once the connection is established, all service requests
+ originate from the Client. The FTP-FTAM gateway does not support the
+ FTP three node model.
+
+ In FTAM, the two parties involved in a file transfer are the
+ Initiator and Responder. The Initiator is responsible for initiating
+ a connection to the Responder. Once the connection is established,
+ either the Initiator or Responder may issue service requests to the
+ other.
+
+ The FTP-FTAM gateway provides two sets of services:
+
+ 1. FTP-Initiated Gateway Services
+
+ Utilized when an FTP Client contacts the FTP-FTAM gateway to
+ instigate a file transfer with an FTAM Responder.
+
+ 2. FTAM-Initiated Gateway Services
+
+ Utilized when an FTAM Initiator contacts the FTP-FTAM
+ gateway to instigate a file transfer with an FTP Server.
+
+ The gateway services' names were selected to identify the roles that
+ the FTP-FTAM gateway plays when performing file transfers. For
+ example, when a file transfer is instigated by an FTP Client, it
+ contacts the FTP Server portion of the gateway, which maps protocol
+ information to the FTAM Initiator portion of the gateway, which in
+ turn contacts the remote FTAM Responder. This example scenario uses
+ the FTP-Initiated Gateway Services.
+
+ Figure 1 illustrates the perspective of the application process in
+ the FTP-Initiated service. Figure 2 illustrates that of the FTAM-
+ Initiated service.
+
+
+
+
+Mindel & Slaski [Page 4]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ TCP Host OSI Host
+
+ +--------------+ +------------------+
+
+ | FTP Client | | FTAM Responder |
+
+ +--------------+ +------------------+
+
+ | |
+
+ | |
+
+ | |
+
+ | FTP-FTAM Gateway |
+
+ | +--------------------------------+ |
+
+ +-- | FTP Server FTAM Initiator | --+
+
+ +--------------------------------+
+
+
+ Figure 1 - FTP-Initiated Gateway Service
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mindel & Slaski [Page 5]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ TCP Host OSI Host
+
+ +--------------+ +------------------+
+
+ | FTP Server | | FTAM Initiator |
+
+ +--------------+ +------------------+
+
+ | |
+
+ | |
+
+ | |
+
+ | |
+
+ | FTP-FTAM Gateway |
+
+ | +--------------------------------+ |
+
+ +-- | FTP Client FTAM Responder | --+
+
+ +--------------------------------+
+
+ Figure 2 - FTAM-Initiated Gateway Service
+
+2. Gateway Architecture
+
+ The gateway architecture, termed a protocol translator [NIST86], is
+ depicted in Figure 3. It implements TCP/IP and OSI protocol stacks
+ with an application level process providing the link between the two.
+ The link between FTP and FTAM is defined by two sets of protocol
+ mappings, one each for the FTP-Initiated and FTAM-Initiated service
+ sets.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mindel & Slaski [Page 6]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ +------------+ +-------------+
+
+ | FTP Host | | FTAM Host |
+
+ +------------+ +-------------+
+
+ | |
+
+ | |
+
+ | |
+
+ | |
+
+ | +---------------------------------+ |
+
+ | | FTP - FTAM | |
+
+ | | Gateway Application | |
+
+ | |---------------------------------| |
+
+ | | FTP | FTAM | |
+
+ | |----------------+----------------| |
+
+ | | TCP/IP | TP4/et al | |
+
+ | +---------------------------------+ |
+
+ | /|\ /|\ |
+
+ | | | |
+
+ +------------+ +-------------+
+
+
+
+ Figure 3 - Gateway Protocol Stack
+
+ A fundamental aspect of this gateway architecture is that data is
+ mapped and transmitted immediately; i.e., no transferred file need
+ ever reside on the gateway file system. In the context of this
+ document, the term "filesystem" refers to the file access and
+ maintenance mechanisms provided by the operating system. This lack
+ of gateway filesystem interaction helps speed up the end-to-end data
+ transfer. Another speed-enhancing feature of this architecture is
+ that both the FTP and FTAM network connections can operate
+
+
+
+Mindel & Slaski [Page 7]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ simultaneously. Additional advantages include:
+
+ 1. FTP and FTAM hosts require no modification to utilize gateway
+ services.
+
+ 2. Users require no knowledge of the other protocol.
+
+ 3. Gateway access control is not impaired (since users cannot
+ directly access the gateway filesystem).
+
+ 4. No additional filesystem space is required on the gateway.
+
+ 5. Interactive nature of protocols is preserved.
+
+ 6. Users become aware of fatal errors immediately.
+
+ Disadvantages of this design include the initial coding effort
+ required to develop the gateway and the subsequent re-coding efforts
+ required to keep it current.
+
+3. Network Naming and Addressing
+
+ The network naming and addressing schemes used by FTP (Domain Names
+ (DN), IP Addresses) and FTAM (Distinguished Names, Presentation
+ Addresses) are quite different. This issue is quite apparent when a
+ user of one protocol needs to identify a destination host of the
+ other protocol.
+
+ In the TCP/IP naming and addressing scheme, the identity of the FTP
+ Server is its DN and its IP address [RFC1101]. To initiate a
+ connection to an FTP Server, the FTP Client looks up a DN in either
+ the Domain Name System (DNS) or static host table and obtains an IP
+ address.
+
+ In the OSI naming and addressing scheme, the identity of the FTAM
+ Responder service is its Distinguished Name in the OSI Directory
+ (X.500 or static table) and its Presentation address. The
+ Distinguished Name is an authoritative description of the service. A
+ Presentation address consists of a Presentation selector, a session
+ selector, a transport selector, and a network address. To initiate a
+ connection to an FTAM Responder, the FTAM Initiator contacts the OSI
+ Directory, presents the Distinguished Name of the desired FTAM
+ Responder and asks for the Presentation address attribute associated
+ with that name.
+
+ An alternative to the direct use of Distinguished Names is to use
+ "User Friendly Naming", as defined in [Kille92]. Gateway support for
+ "User Friendly Naming" is recommended, but not required.
+
+
+
+Mindel & Slaski [Page 8]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+4. Use of the Gateway Services
+
+4.1. FTP-Initiated Gateway Service
+
+ The FTP Client uses the FTP-Initiated gateway service to utilize the
+ resources of an FTAM Responder.
+
+ To initiate a file transfer from an FTP Client, the Client connects
+ to the FTP-Initiated gateway service via TCP/IP. The gateway then
+ establishes a connection, via OSI, to the FTAM Responder. At this
+ point, the user can initiate file transfer operations.
+
+ The FTP Client is responsible for providing the gateway with an
+ authoritative Distinguished Name, or a User Friendly Name, of the
+ desired OSI filestore. It is the responsibility of the gateway to
+ resolve this Distinguished Name, or User Friendly Name, to its
+ corresponding Presentation address.
+
+ The logon sequence taken by an FTP Client when initiating a file
+ transfer with an FTAM Responder is given below:
+
+ % ftp gateway
+ ftp> site Distinguished-Name-of-FTAM Responder
+ ftp> user username
+ ftp> pass password
+
+ The "ftp gateway" command initiates the connection between the FTP
+ Client and the gateway. Once connected to the gateway, the FTP
+ Client should identify the desired FTAM Responder service via the
+ Responder's Distinguished Name, or User Friendly Name, which is
+ resolved by an algorithm running on the Directory Services provider.
+ This information is sent via a "site Distinguished-Name-of-FTAM
+ Responder" or "site UFN-of-FTAM Responder" command.
+
+ Upon receipt of a Distinguished Name or a User Friendly Name, it is
+ the gateway's responsibility to resolve it to the Presentation
+ Address associated with that name. This resolution is done by
+ contacting the OSI Directory (X.500 or local static table) and
+ presenting the Distinguished Name or User Friendly Name. Once the
+ Presentation address is obtained, the gateway can attempt a
+ connection with the ultimate destination file transfer service
+ represented by this Presentation address.
+
+ The userid is passed via the "user username" command, and the
+ password is passed via the "pass password". If the FTAM Responder
+ requires a password, a password prompt should appear after issuing
+ the "user username" command. It is anticipated that stronger
+ authentication mechanisms will be required for DoD gateways in the
+
+
+
+Mindel & Slaski [Page 9]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ future.
+
+ Using a specific example, suppose an FTAM Responder has the following
+ Distinguished Name:
+
+ CountryName = "US"
+ Organization = "Open Networks"
+ OrganizationalUnit = "Network Services"
+ CommonName = "netwrx1"
+ CommonName = "FTAM service"
+
+ and the FTP-FTAM gateway is available at "washdc1-osigw.navy.mil".
+
+ The FTP user action will appear as:
+
+ % ftp washdc1-osigw.navy.mil
+ ftp> site "c=US@o=Open Networks@ou=Network Services@cn=netwrx1
+ @cn=FTAM service"
+ ftp> user mindel
+ ftp> pass ***********
+
+ The "ftp washdc1-osigw.navy.mil" command initiates the connection
+ between the FTP Client and the FTP-FTAM gateway at the Washington
+ Navy Yard, Washington D.C. Once connected, the OSI filestore at Open
+ Networks is identified via its Distinguished Name, "@c=US@o=Open
+ Networks@ou=Network Services@cn=netwrx1@cn=FTAM service".
+ Alternatively, a User Friendly Name, such as:
+
+ "netwrx1, Open Networks, us"
+
+ can be specified, enabling the following FTP user action:
+
+ % ftp washdc1-osigw.navy.mil
+ ftp> site "netwrx1, Open Networks, us"
+ ftp> user mindel
+ ftp> pass ***********
+
+ As this example indicates, use of an intermediate gateway is not
+ transparent. To partially alleviate this awkwardness, the gateway
+ can be made more transparent through the registration of the FTAM
+ host in the DNS using the address of the gateway [RFC1279].
+
+ An example will clarify this point. Suppose that the "netwrx1, Open
+ Networks, us" FTAM host is registered in the TCP/IP DNS with the DN
+ of "ftam-service.netwrx1.com" and the IP address of the "washdc1-
+ osigw.navy.mil" gateway. In this example, the following set of user
+ actions is required:
+
+
+
+
+Mindel & Slaski [Page 10]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ % ftp ftam-service.netwrx1.com
+ ftp> user mindel
+ ftp> pass ***********
+
+ Since the "ftam-service.netwrx1.com" really points to the gateway
+ address, the first command will connect the FTP Client to the
+ gateway. The gateway will then use the name (using [RFC1279]) to
+ determine where the actual FTAM host is resident. Gateway support
+ for RFC1279 is recommended, but not required.
+
+4.2. FTAM-Initiated Gateway Service
+
+ The FTAM Initiator uses the FTAM-Initiated gateway service to utilize
+ the resources of an FTP Server.
+
+ To initiate a file transfer from an FTAM Initiator, the Initiator
+ connects to the FTAM-Initiated gateway service via OSI. The gateway
+ then establishes a connection, via TCP/IP, to the FTP Server. At
+ this point, the user can initiate file transfer operations.
+
+ The FTAM Initiator is responsible for providing the gateway with an
+ authoritative DN of the desired TCP/IP filestore. It is the
+ responsibility of the gateway to resolve this DN to its corresponding
+ IP address.
+
+ The logon sequence taken by an FTAM Initiator when initiating a file
+ transfer with an FTP Server is given below:
+
+ % ftam gateway
+ ftam> user username@DNS-string
+ ftam> pass password
+
+ The "ftam gateway" command initiates the connection between the FTAM
+ Initiator and the gateway. Once connected, userid and TCP/IP
+ filestore are identified in the "username@DNS-string" argument to the
+ user command. If the FTP Server requires a password, a password
+ prompt should appear after issuing the user command.
+
+ The gateway should incorporate the BIND Resolver functionality so
+ that upon receipt of a Domain Name, the Gateway FTP Client can
+ resolve it via the distributed Domain Name System.
+
+ Using a specific example, suppose that a FTP Server has the following
+ Domain Name: "ftp-service.netwrx1.com" and an FTP-FTAM gateway is
+ available at:
+
+
+
+
+
+
+Mindel & Slaski [Page 11]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ CountryName = "US"
+ Organization = "GOV"
+ OrganizationalUnit = "DOD"
+ OrganizationalUnit = "DISA"
+ Locality = "Washington Navy Yard"
+ CommonName = "wnyosi7"
+
+ The FTAM user action will appear as:
+
+ % ftam @c=US@o=GOV@ou=DOD@ou=DISA@l=Washington Navy Yard
+ @cn=wnyosi7
+ ftam> user mindel@ftp-service.netwrx1.com
+ ftam> pass ***********
+
+ Alternatively, a User Friendly Name could be used rather than the
+ Distinguished Name.
+
+ As mentioned in the previous section, "Use of the FTP-Initiated
+ Gateway Service", use of an intermediate gateway is not transparent.
+ The gateway can be made more transparent through the registration of
+ the FTP host in the X.500 OSI Directory. By querying the X.500 OSI
+ Directory, the gateway can identify where the actual host is
+ resident.
+
+ For example, suppose that the FTP Server in the previous example
+ ("ftp-service.netwrx1.com") is registered in the X.500 Directory with
+ the following Distinguished Name:
+
+ CountryName = "US"
+ Organization = "Open Networks"
+ OrganizationalUnit = "Network Services"
+ CommonName = "netwrx1"
+ CommonName = "FTP service"
+
+ and the Presentation Address of the FTP-FTAM gateway. This approach,
+ described in [RFC1279], would permit the following user interactions:
+
+ % ftam @c=US@o=Open Networks@ou=Network Services
+ @cn=netwrx1@cn=FTP Service"
+ ftam> user mindel
+ ftam> pass ***********
+
+4.3. Summary of Usage
+
+ As shown in the discussions of the FTP-Initiated and FTAM-Initiated
+ Gateway Services, the gateway user does not have access to the
+ gateway filesystem; he merely makes use of the gateway logon
+ procedure to specify the ultimate destination userid and password.
+
+
+
+Mindel & Slaski [Page 12]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ Two methods of interaction with the gateway were described. In the
+ former, the user must:
+
+ 1. Be aware that a gateway is required to reach the
+ destination FTP or FTAM host.
+
+ 2. Determine which gateway is most appropriate for their
+ respective source-destination pair.
+
+ 3. Explicitly connect to the gateway host prior to connecting
+ to the destination host.
+
+ Needless to say, the exchange of files between FTP and FTAM hosts
+ requires more effort than that required for the exchange of files
+ between a pair of hosts utilizing the same file transfer protocol.
+
+ The latter, more transparent method does not necessarily require that
+ the user determine which gateway is most appropriate for their
+ respective source-destination pair. In fact, filestore service
+ providers are registered using the address of a predetermined
+ gateway. With this approach, the user:
+
+ 1. Must be aware that a gateway is required to reach the
+ destination FTP or FTAM host.
+
+ 2. Need not determine which gateway is most appropriate to
+ access their ultimate destination host.
+
+ 3. Need not explicitly connect to the gateway prior to
+ connecting to the destination FTP or FTAM host.
+
+5. Gateway State Variables and Transitions
+
+ As described, the FTP-FTAM gateway provides two sets of services:
+ FTP-Initiated and FTAM-Initiated. Each service has its own mutually
+ exclusive set of state variables and transitions that
+ deterministically define the actions of the gateway. Gateway support
+ for these state variables and transitions is required.
+
+ For conciseness in this discussion, FTP-Initiated will be abbreviated
+ with "FTP-I", and FTAM-Initiated will be abbreviated with "FTAM-I".
+
+ Concerning error conditions, if a connection is dropped when the
+ gateway is in any state other than FTP-I:Initial-State or FTAM-
+ I:Initial-State, then the gateway will issue a fatal error message to
+ the host with the remaining connection, and then drop that
+ connection. If the remaining host is an FTP Client, then the gateway
+ will send an ABOR, QUIT, and 426 reply code (Connection closed,
+
+
+
+Mindel & Slaski [Page 13]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ transfer aborted). If it is an FTAM Initiator, then the gateway will
+ send an F-P-ABORT with a <Diagnostic> value with identifier 1011
+ (Lower layer failure), as well as any known <Further Details>.
+
+ Other error conditions are not addressed in this discussion.
+
+5.1. FTP-Initiated Gateway Service
+
+ The set of state variables for the FTP-Initiated Gateway service
+ follow:
+
+ State Variable State Definition
+ ----------------------------------------------------------------
+
+ FTP-I:Initial-State Initial state of FTP-Initiated Gateway
+ service.
+
+ Gateway is waiting for an FTP Client to
+ issue a USER command in order to
+ proceed with connection establishment
+ with remote FTAM Responder. If SITE or
+ ACCT commands are sent while waiting
+ for USER command, save arguments for
+ subsequent use.
+
+ FTP-I:Wait-for-PASS Gateway has already received USER
+ command from FTP Client, as well as
+ userid and destination host DN.
+ Gateway is waiting for the FTAM
+ Responder logon password.
+
+ FTP-I:Wait-for-PAddress Gateway has already received PASS
+ command from FTP Client. Gateway is
+ resolving the provided FTAM Responder's
+ address to a Presentation Address. The
+ provided address may be a Distinguished
+ Name, User Friendly Name, or Domain
+ Name. Resolution will typically be
+ done using X.500 directory services.
+
+ FTP-I:Wait-for-Connection Gateway has initiated a connection to
+ the FTAM Responder and is waiting for
+ notification as to whether or not the
+ logon is successful.
+
+ FTP-I:Wait-for-ClientCmd Connection exists between FTP Client
+ and FTAM Responder. Gateway is waiting
+ for next command or response from FTP
+
+
+
+Mindel & Slaski [Page 14]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ Client. Commands and responses are
+ mapped as they are received.
+
+ FTP-I:Wait-for-RespondrCmd Connection exists between FTP Client
+ and FTAM Responder. Gateway is waiting
+ for next command or response from FTAM
+ Responder. Commands and responses are
+ mapped as they are received.
+
+ Each of the possible state transitions is provided in the remainder
+ of Section 5.1. For each state transition, the actions causing the
+ transition are listed.
+
+5.1.1. FTP-I:Initial-State --> FTP-I:Initial-State
+
+ 1. Gateway receives SITE or ACCT command from FTP Client.
+ SITE argument includes Distinguish Name of FTAM Responder.
+
+5.1.2. FTP-I:Initial-State --> FTP-I:Wait-for-PASS
+
+ 1. Gateway receives USER command from FTP Client. Arguments
+ include Distinguished Name of FTAM Responder and userid on
+ FTAM responder.
+
+5.1.3. FTP-I:Wait-for-PASS --> FTP-I:Wait-for-PAddress
+
+ 1. Gateway receives PASS command from FTP Client.
+
+5.1.4. FTP-I:Wait-for-PAddress --> FTP-I:Wait-for-Connection
+
+ 1. Gateway resolves received Distinguished Name, User Friendly
+ Name, or Domain Name of FTAM Responder to OSI Presentation
+ address.
+ 2. Gateway sends F-INITIALIZE to FTAM Responder with
+ Presentation Address in <Called Presentation Address>,
+ userid in <Initiator Identity>, and password in <Filestore
+ Password>.
+
+5.1.5. FTP-I:Wait-for-Connection --> FTP-I:Wait-for-NextMapping
+
+ 1. Gateway receives <State Result> of "Success" .
+ 2. Gateway sends 230 reply code (User Logged In) to FTP
+ Client.
+
+5.1.6. FTP-I:Wait-for-ClientCmd --> FTP-I:Wait-for-RespondrCmd
+
+ 1. Gateway receives command or response from FTP Client and
+ maps it to FTAM protocol, as defined in section 8.1.
+
+
+
+Mindel & Slaski [Page 15]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+5.1.7. FTP-I:Wait-for-RespondrCmd --> FTP-I:Wait-for-ClientCmd
+
+ 1. Gateway receives command or response from FTAM Responder
+ and maps it to FTP protocol, as defined in section 8.1.
+
+5.1.8. FTP-I:Wait-for-ClientCmd --> FTP-I:Wait-for-USER
+
+ 1. Gateway receives QUIT command from FTP Client; maps QUIT as
+ per Section 8.1.
+
+5.2. FTAM-Initiated Gateway Service
+
+ The set of state variables for the FTAM-Initiated Gateway service
+ follow:
+
+ State Variable State Definition
+ ----------------------------------------------------------------
+
+ FTAM-I:Initial-State Initial state of FTAM-Initiated Gateway
+ Service.
+
+ Gateway is waiting for an FTAM
+ Initiator to issue an F-INITIALIZE
+ command in order to proceed with
+ connection establishment with remote
+ FTP Server.
+
+ FTAM-I:Wait-for-IPAddress Gateway has already received F-
+ INITIALIZE from FTAM Initiator.
+ Gateway is resolving the provided FTP
+ Server's address to an IP address. The
+ provided address may be a Domain Name,
+ Distinguished Name, or User Friendly
+ Name.
+
+ FTAM-I:Wait-for-Connection Gateway has initiated a connection to
+ the FTP Server and is waiting for
+ notification as to whether or not the
+ logon is successful.
+
+ FTAM-I:Wait-for-InitiatrCmd Connection exists between FTAM
+ Initiator and FTP Server. Gateway is
+ waiting for next command or response
+ from FTAM Initiator. Commands and
+ responses are mapped as they are
+ received.
+
+
+
+
+
+Mindel & Slaski [Page 16]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ FTP-I:Wait-for-ServerCmd Connection exists between FTAM
+ Initiator and FTP Server. Gateway is
+ waiting for next command or response
+ from FTP Server. Commands and
+ responses are mapped as they are
+ received.
+
+ Each of the possible state transitions is provided in the remainder
+ of Section 5.2. For each state transition, the actions causing the
+ transition are listed.
+
+5.2.1. FTAM-I:Initial-State --> FTAM-I:Wait-for-IPAddress
+
+ 1. Gateway receives F-INITIALIZE from FTAM Initiator. Domain
+ Name of FTP Server is either in <Responding Presentation
+ Address> or in the "@host" portion of the <Initiator
+ Identity> parameter. The userid is in <Initiator
+ Identity>, and password is in <Filestore Password>
+ parameter.
+
+5.2.2. FTAM-I:Wait-for-IPAddress --> FTAM-I:Wait-for-Connection
+
+ 1. Gateway resolves received Domain Name, Distinguished Name,
+ or User Friendly Name of FTP Server to IP address.
+ 2. Gateway sends USER to FTP Server.
+ 3. Gateway sends PASS to FTP Server.
+
+5.2.3. FTAM-I:Wait-for-Connection --> FTAM-I:Wait-for-NextMapping
+
+ 1. Gateway receives 230 reply code (User Logged In) from FTP
+ Server.
+ 2. Gateway sends <State Result> of "Success" to FTAM
+ Initiator.
+
+5.2.4 FTAM-I:Wait-for-InitiatrCmd --> FTAM-I:Wait-for-ServerCmd
+
+ 1. Gateway receives command or response from FTAM Initiator
+ and maps it to FTP protocol, as defined in section 8.2.
+
+5.2.5. FTAM-I:Wait-for-ServerCmd --> FTAM-I:Wait-for-InitiatrCmd
+
+ 1. Gateway receives command or response from FTP Server and
+ maps it to FTAM protocol, as defined in section 8.2.
+
+5.2.6. FTAM-I:Wait-for-InitiatrCmd --> FTAM-I:Wait-for-INITIALIZE
+
+ 1. Gateway receives F-CLOSE primitive from FTAM Initiator;
+ maps F-CLOSE as per Section 8.2.
+
+
+
+Mindel & Slaski [Page 17]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+6. Document Type Support
+
+ The set of FTAM document types supported by the FTP-FTAM gateway is a
+ subset of the document types identified in the Stable Implementation
+ Agreements for Open Systems Interconnection Protocols: Part 9 - FTAM
+ Phase 2, produced by the March 1992 Open Systems Environment
+ Implementors' Workshop [NIST92]. This subset was chosen for its
+ equivalence to those document types supported by FTP. The set
+ includes:
+
+ FTAM-1 "ISO FTAM Unstructured text file
+
+ FTAM-3 "ISO FTAM Unstructured binary file
+
+ NBS-9 "NBS-9 FTAM File directory file"
+
+ FTAM document types map to FTP document types as follows:
+
+ FTAM <-> FTP
+ ----------------------------------
+
+ FTAM-1 <-> ASCII
+
+ FTAM-3 <-> 8 bit binary
+
+ NBS-9 <-> Directory
+
+ Gateway support for FTAM-1 and FTAM-2 is required, whereas support
+ for NBS-9 is recommended.
+
+6.1. Notes on NBS-9
+
+ NBS-9 is optional in GOSIP versions 1 and 2 [NIST91]. NBS-9 will be
+ superseded by its replacement when ISO/IEC ISP 10607-2 and ISO/IEC
+ ISP 10607-2/Amendment 1 are published [NIST92].
+
+ For conformance to NBS-9, an FTAM Responder is only required to
+ return the <Filename> file attribute, subject to local security and
+ access control. All other requested attributes need not be returned.
+
+ Systems supporting the NBS-9 document type shall make available an
+ NBS-9 document called 'DIRLIS'. This document can be used to obtain
+ a listing of files and their associated attributes from a remote
+ Filestore.
+
+
+
+
+
+
+
+Mindel & Slaski [Page 18]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+7. Functional Comparison of FTP and FTAM
+
+ A comprehensive comparison of the services offered by FTP and FTAM is
+ beyond the scope of this specification. What follows is an analysis
+ of several key points. Refer to [NIST 86a] and [ROSE90] for a more
+ complete discourse on this topic.
+
+ FTAM is not a superset of FTP; each protocol has functions that only
+ it performs. The set of FTAM functions is, however, larger than the
+ set of FTP functions.
+
+ FTP combines file management and file transfer into one protocol
+ engine, whereas FTAM separates management and transfer as they relate
+ to files.
+
+ The file transfer services of both FTP and FTAM expect a reliable
+ underlying end-to-end service. At a minimum, this service includes
+ the capability to transfer entire files between remote hosts and to
+ display remote filenames.
+
+ In addition to this basic file transfer service, FTAM supports the
+ capability to: access a few records from a file server, create a
+ network file system (similar to Sun's Network File System), handle
+ printing and spooling, and access remote database records. FTP does
+ not support these additional capabilities.
+
+ FTP uses TELNET services to set up a connection between the FTP
+ Client and FTP Server. A three-digit reply code followed by
+ explanatory text indicates the status of the preceding request and
+ provides diagnostic information explaining each transaction.
+
+ FTAM relies on the Association Control Service Element (ACSE) to
+ start and stop the network for network file interaction. Generally,
+ the ASCE establishes the application association and related
+ application context needed to support the FTAM protocol.
+
+ The FTAM protocol is modularized so as to keep the allowable number
+ of actions in any particular state relatively small. There are many
+ more possible sequences of FTP operations than possible sequences of
+ FTAM operations [NIST86].
+
+ Because FTAM is more robust than FTP, FTAM allows greater flexibility
+ for conveying information about files. FTAM deals only with aspects
+ of application processes, and leaves data representation and data
+ management facilities to other OSI service elements.
+
+ In contrast to the Client/Server model present in the FTP scheme,
+ FTAM is based on the Initiator/Responder model. The key distinction
+
+
+
+Mindel & Slaski [Page 19]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ is that once the FTAM Initiator has established a connection with a
+ remote host, either the Initiator or Responder can request services
+ of the other. In the FTP realm, the Client both initiates a
+ connection and requests all services.
+
+ The FTP Client knows the real properties of the remote host
+ filesystem. FTAM, in contrast, embraces a conceptual model of a
+ filesystem, labeled a virtual filestore model. The virtual filestore
+ is a collection of files, each of which has a name that uniquely
+ identifies it. Each file has a set of attributes, such as ownership
+ information and contents, which is the data associated with the file.
+ One file attribute is the <Contents Type> of the file, typically of
+ value "FTAM-1", "FTAM-3", or "NBS-9". The FTAM Initiator only knows
+ the properties of the corresponding Responder and virtual filestore,
+ not the real properties of the filesystem on the remote host.
+
+7.1. Loss of Functionality
+
+ As happens whenever two dissimilar protocols, or languages for that
+ matter, are translated, some loss of functionality is inevitable.
+ With reference to the FTP-FTAM gateway, several of the most blatant
+ losses of functionality are:
+
+ 1. Diagnostics passed between protocols may not be precisely
+ translated.
+
+ 2. The FTAM partial file (record) transfer may not be
+ supported.
+
+ 3. Some FTAM attributes are not supported by FTP.
+
+ The primary goal of the gateway protocol mappings are to minimize
+ this loss of functionality. As this gateway specification and
+ subsequent implementations evolve, means to partially overcome loss
+ of functionality may become more obvious. For example, the gateway
+ may be able to emulate file record transfers between FTAM Initiators
+ and FTP Servers.
+
+8. Mapping of Protocol Functions and Representations
+
+ The mappings presented are based upon the FTAM protocol
+ implementation as defined in Stable Implementation Agreements for
+ Open Systems Interconnection Protocols: Part 9 - FTAM Phase 2,
+ produced by the March 1992 Open Systems Environment Implementors'
+ Workshop [NIST92], and in [ISO8571-1], [ISO8571-2],[ISO8571-
+ 3],[ISO8571-4], and [ISO8571-5]. The FTP protocol as defined in
+ Request for Comments [RFC959]. The mappings are strongly influenced
+ by the work of M. A. Wallace et. al. at NIST [NIST86] and John Scott
+
+
+
+Mindel & Slaski [Page 20]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ at MITRE [MITRE87].
+
+ A key goal of the mappings presented in this document is to minimize
+ the loss of functionality between the two protocols. The specific
+ approach taken to implement the mappings is left to the discretion of
+ the gateway implementor. The focus of the protocol function and
+ representation mappings is on non-error encumbered processing. The
+ mapping of diagnostic and error messages is treated separately in
+ section 9.
+
+ At a minimum, the FTAM implementation in the FTP-FTAM gateway support
+ for Implementation Profiles T1 (Simple File Transfer) and M1
+ (Management), as defined in [NIST92], is required. These
+ Implementation Profiles correspond to the A/111 and A/13 Profiles of
+ Standards Promotion and Application Group in Europe, respectively
+ [NIST92].
+
+ At a minimum, the gateway support for the following is required:
+
+ ASCII and 8 bit binary file types. It should also support FTP
+ File Stream Mode.
+
+ The following FTAM document types: FTAM-1 (unstructured text
+ file), FTAM-3 (unstructured binary file), and NBS-9 (set of
+ directory entries).
+
+ POSIX file naming and organization conventions are assumed in these
+ mappings; i.e., files in the systems are assumed to be organized in a
+ hierarchical structure in which all of the non-terminal nodes are
+ directories and all of the terminal nodes are any other type of file.
+
+ The following terminology is used in the mapping specifications:
+
+ argument .......FTP Service Command argument, as used in [RFC959].
+
+ parameter ......FTAM Service Primitive parameters and attributes,
+ as enumerated in Tables 6, 50, and 51 of [ISO8571-
+ 3].
+
+ The following notation is used in the mapping specifications:
+
+ Arguments and parameters are enclosed in angle brackets; e.g.,
+ <Action Result>
+
+ Values of arguments and parameters are enclosed in quotation
+ marks; e.g., "Success"
+
+
+
+
+
+Mindel & Slaski [Page 21]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ FTP Service Commands and FTAM Primitives are in uppercase; e.g., F-
+ INITIALIZE
+
+8.1. FTP-Initiated Gateway Service
+
+ The protocol mapping between FTP and FTAM may be one-to-zero (i.e.,
+ not mappable), one-to-one, or one-to-many.
+
+ The general steps taken by the FTP-FTAM gateway to provide the FTP-
+ Initiated service are:
+
+ 1. Accept an FTP Client request at the FTP Server side of the
+ gateway service.
+
+ 2. Map the request to the (set of) corresponding FTAM
+ Initiator function(s).
+
+ 3. Acting as an FTAM Initiator, send the FTAM Initiator
+ function(s) to the FTAM Responder.
+
+ 4. Accept information returned to the FTAM Initiator side of
+ the gateway. This information originated at the FTAM
+ Responder.
+
+ 5. Map this returned information to the protocol form
+ understood by the FTP Server side of the gateway.
+
+ 6. Send this returned information from the FTP Server side of
+ the gateway to the FTP Client.
+
+ For each FTP protocol function, the FTAM protocol functions required
+ to map it are identified:
+
+ FTP FTAM
+
+ ------------------------------------------------------------------
+
+ ABOR F-BEGIN-GROUP, F-CANCEL, F-CLOSE, F-DESELECT, F-END-GROUP
+
+ ACCT F-INITIALIZE,
+
+ ALLO none
+
+ APPE F-BEGIN-GROUP, F-CLOSE, F-CREATE, F-DATA, F-DATA-END, F-
+ DESELECT, F-END-GROUP, F-OPEN, F-READ-ATTRIBUTES, F-SELECT,
+ F-TRANSFER-END, F-WRITE
+
+ CDUP F-BEGIN-GROUP, F-DESELECT, F-END-GROUP, F-SELECT
+
+
+
+Mindel & Slaski [Page 22]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ CWD F-BEGIN-GROUP, F-END-GROUP, F-DESELECT, F-SELECT
+
+ DELE F-BEGIN-GROUP, F-DELETE, F-END-GROUP, F-SELECT
+
+ HELP none
+
+ LIST F-BEGIN-GROUP, F-CLOSE, F-DATA, F-DATA-END, F-DESELECT, F-
+ END-GROUP, F-OPEN, F-READ, F-READ-ATTRIBUTES, F-SELECT, F-
+ TRANSFER-END
+
+ MKD none
+
+ MODE none
+
+ NLST F-BEGIN-GROUP, F-CLOSE, F-DATA, F-DATA-END, F-DESELECT, F-
+ END-GROUP, F-OPEN, F-READ, F-SELECT, F-TRANSFER-END
+
+ NOOP none
+
+ PASS F-INITIALIZE
+
+ PASV none
+
+ PORT none
+
+ PWD F-BEGIN-GROUP, F-DESELECT, F-END-GROUP, F-READ-ATTRIBUTES,
+ F-SELECT
+
+ QUIT F-P-ABORT or F-U-ABORT, F-TERMINATE
+
+ REIN F-BEGIN-GROUP, F-CANCEL, F-CLOSE, F-DESELECT, F-END-GROUP
+
+ REST F-CHECK, F-RESTART
+
+ RETR F-BEGIN-GROUP, F-CLOSE, F-DATA, F-DATA-END, F-DESELECT, F-
+ END-GROUP, F-OPEN, F-READ, F-SELECT, F-TRANSFER-END
+
+ RMD none
+
+ RNFR F-BEGIN-GROUP, F-DESELECT, F-END-GROUP, F-SELECT
+
+ RNTO F-BEGIN-GROUP, F-CHANGE-ATTRIBUTES, F-DESELECT, F-END-
+ GROUP, F-SELECT
+
+ SITE F-INITIALIZE
+
+ SMNT none
+
+
+
+
+Mindel & Slaski [Page 23]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ STAT none
+
+ STOR F-BEGIN-GROUP,F-CLOSE, F-CREATE, F-DATA, F-DATA-END, F-
+ DESELECT, F-END-GROUP, F-OPEN, F-READ-ATTRIBUTES, F-SELECT,
+ F-TRANSFER-END, F-WRITE
+
+ STOU F-BEGIN-GROUP, F-CLOSE, F-CREATE, F-DATA, F-DATA-END, F-
+ DESELECT, F-END-GROUP, F-OPEN, F-READ-ATTRIBUTES, F-SELECT,
+ F-TRANSFER-END, F-WRITE
+
+ STRU none
+
+ TYPE none
+
+ USER F-INITIALIZE
+
+ The remainder of this section presents detailed mapping procedures
+ for each of the FTP protocol functions. Gateway support for these
+ mappings is required.
+
+8.1.1. ABOR
+
+ 1. Send F-CANCEL to FTAM Responder.
+ 2. Send the following grouped request to the FTAM Responder.
+ F-BEGIN-GROUP
+ F-CLOSE
+ F-DESELECT
+ F-END-GROUP
+ 3. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ codes to FTP Client.
+ 4. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+8.1.2. ACCT
+
+ 1. Set <Account> parameter value for issuing F-INITIALIZE to
+ FTAM Responder.
+ 2. If <Called Presentation Address>, <Initiator Identity>, and
+ <Filestore Password> parameters are available, attempt
+ connection with FTAM Responder;
+ Otherwise wait for additional ACCT commands.
+ 3. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ codes to FTP Client.
+ 4. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+
+
+
+Mindel & Slaski [Page 24]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ FTAM Responder.
+
+ Note:
+ a. The ACCT command will be effective with the next PASS
+ command.
+
+8.1.3. ALLO
+
+ 1. Return a 200 reply code to FTP Client.
+
+8.1.4. APPE
+
+ 1. Save current pathname by appending saved CWD string with
+ <pathname> argument. If no saved CWD string, proceed to
+ step 12.
+ 2. Send the following grouped request to FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-READ-ATTRIBUTES
+ Save <Contents Type> parameter value
+ F-DESELECT
+ F-END-GROUP
+ 3. If the <Contents Type> parameter value returned with the
+ F-READ-ATTRIBUTES has a value of "NBS-9", proceed to step
+ 12.
+ 4. Send the following grouped request to the FTAM responder.
+ F-BEGIN-GROUP
+ F-CREATE
+ Set the <Override> parameter in the F-CREATE to
+ "Select Old File".
+ F-OPEN
+ F-END-GROUP
+ 5. If the file existed, set the <Contents Type> parameter in
+ the F-CREATE to match that returned by the
+ F-READ-ATTRIBUTES.
+ 6. If the file did not exist and no previous FTP TYPE "Image"
+ command was issued, then set the <Contents Type> parameter
+ to "FTAM-1";
+ Otherwise, set the <Contents Type> parameter to "FTAM-3".
+ 7. Send F-WRITE, with <Bulk Data Transfer Specification, FADU
+ Operation> parameter set to "File Extend", to FTAM
+ Responder.
+ 8. Loop reading data from FTP data connection, sending the
+ data in F-DATA PDUs until end-of-file on the FTP
+ connection.
+ 9. Send F-DATA-END to FTAM Responder.
+ 10. Send F-TRANSFER-END to FTAM Responder.
+ 11. Send the following grouped request to the FTAM Responder.
+
+
+
+Mindel & Slaski [Page 25]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ F-BEGIN-GROUP
+ F-CLOSE
+ F-DESELECT
+ F-END-GROUP
+ 12. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 13. Translate FTP Client reply codes to equivalent FTAM
+ <Action Result> and <Diagnostic> parameters and send
+ parameters to FTAM Responder.
+
+ Note:
+ a. <pathname> argument is assumed to be a filename, relative
+ to the currently saved CWD.
+ b. CWD of the FTAM system must be defined prior to issuance of
+ APPE.
+
+8.1.5. CDUP
+
+ 1. Determine parent directory from saved CWD string. If no
+ saved CWD string, proceed to step 4.
+ 2. Set <Contents Type> parameter to "NBS-9".
+ 3. Send the following grouped request to FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-DESELECT
+ F-END-GROUP
+ 4. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 5. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Note:
+ a. A POSIX file organization is assumed; i.e., files in the
+ systems are organized in a hierarchical structure in which
+ all of the non-terminal nodes are directories and all of
+ the terminal nodes are any other type of file.
+ b. If the parent directory does not exist, the current working
+ directory remains unchanged.
+ c. CWD of the FTAM system must be defined prior to issuance of
+ CDUP.
+
+8.1.6. CWD
+
+ 1. Save <pathname> argument as CWD string.
+ 2. Set <Contents Type> parameter to "NBS-9".
+
+
+
+Mindel & Slaski [Page 26]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ 3. Send the following grouped request to FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-DESELECT
+ F-END-GROUP
+ 4. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 5. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Note:
+ a. The <pathname> argument is assumed to be an absolute
+ directory specification.
+ b. If the specified directory does not exist, the current
+ working directory remains unchanged.
+ c. Saved CWD string is used in other FTP-to-FTAM mappings,
+ such as APPE.
+
+8.1.7. DELE
+
+ 1. Save current pathname by appending saved CWD string with
+ <pathname> argument. If no saved CWD string, proceed to
+ step 3.
+ 2. Send the following grouped request to FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-DELETE
+ F-END-GROUP
+ 3. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 4. Translate FTP Client reply codes to equivalent FTAM
+ parameters and send parameters to FTAM Responder.
+
+ Note:
+ a. <pathname> argument is assumed to be a filename, relative
+ to the currently saved CWD.
+ b. CWD of the FTAM system must be defined prior to issuance of
+ DELE.
+
+8.1.8. HELP
+
+ 1. If no <string> argument is provided, send helpful
+ information about the implementation of the gateway to the
+ FTP Client. If an argument is provided, send more specific
+ information.
+
+
+
+Mindel & Slaski [Page 27]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ 2. Return the FTP reply code 214 to the FTP Client.
+
+8.1.9. LIST
+
+ 1. If <pathname> argument is provided, proceed to step 3.
+ 2. Save current pathname by appending saved CWD string with
+ <pathname> argument; If no saved CWD string, proceed to
+ step 11.
+ 3. Send the following grouped request to the FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-READ-ATTRIBUTES
+ Save <Filename>, <Contents Type>, <Data/Time of Last
+ Modification>, and <Filesize> parameters
+ F-DESELECT
+ F-END-GROUP
+ 4. If the <Contents Type> parameter of the F-READ-ATTRIBUTES
+ is not "NBS-9", then return the <Filename>, <Contents
+ Type>, <Date/Time of Last Modification>, and <Filesize>
+ parameter values, obtained with the previous
+ F-READ-ATTRIBUTES, to the FTP data connection;
+ and proceed to step 8.
+ 5. Send the following grouped request to the FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-OPEN
+ F-END-GROUP
+ 6. Send F-READ to FTAM Responder.
+ 7. Loop reading F-DATA until F-DATA-END. As data is received,
+ write the <Filename>, <Permitted Actions>, <Contents Type>,
+ and <Date/Time of Last Modification> parameter values from
+ the PDU to the FTP data connection.
+ 8. Send F-TRANSFER-END to FTAM Responder.
+ 9. Send the following grouped request to the FTAM responder.
+ F-BEGIN-GROUP
+ F-CLOSE
+ F-DESELECT
+ F-END-GROUP
+ 10. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 11. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Note:
+ a. Assume the <pathname> argument is relative to the saved
+ CWD, whether filename or directory specification.
+
+
+
+Mindel & Slaski [Page 28]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ b. CWD of the FTAM system must be defined prior to issuance of
+ LIST.
+ c. Transfers over data connection should be in ASCII.
+ e. If list of files with full directory/file specification is
+ received from FTAM Responder, then gateway should parse
+ list to strip off directory portion.
+
+8.1.10. MKD
+
+ 1. Return a 502 reply code (Command not implemented) to the
+ FTP Client.
+
+ Note:
+ a. As indicated in the NIST Stable Implementation Agreements
+ for FTAM [NIST92], creation or deletion of NBS-9 files is
+ outside the scope of the agreements.
+
+8.1.11. MODE
+
+ 1. If <argument> is "Stream", return 200 reply code to FTP
+ Client; Otherwise return a 504 reply code (Command not
+ implemented for that parameter).
+
+8.1.12. NLST
+
+ 1. If <pathname> argument is provided, use <pathname> argument
+ as <Filename> parameter value in F-SELECT issued in step 3.
+ 2. If no argument is provided, use saved CWD value as
+ <Filename> parameter value in F-SELECT issued in step 3; If
+ no CWD string is saved and no argument is provided, proceed
+ to step 9.
+ 3. Set <Contents Type> parameter to "NBS-9".
+ 4. Send the following grouped request to the FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-OPEN
+ F-END-GROUP
+ 5. Send F-READ to FTAM Responder.
+ 6. Loop reading F-DATA until F-DATA-END. As data is received,
+ write the filenames and other useful information from the
+ PDU to the FTP data connection.
+ 7. Send F-TRANSFER-END to FTAM Responder.
+ 8. Send the following grouped request to the FTAM responder.
+ F-BEGIN-GROUP
+ F-CLOSE
+ F-DESELECT
+ F-END-GROUP
+ 9. Translate FTAM Responder <Action Result> and <Diagnostic>
+
+
+
+Mindel & Slaski [Page 29]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 10. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Note:
+ a. As per RFC 959 (FTP), the NLST <pathname> argument is a
+ directory.
+ b. Assume the argument is relative to the saved CWD, whether
+ filename or directory specification.
+ c. CWD of the FTAM system must be defined prior to issuance of
+ NLST.
+ d. Transfers over data connection should be in ASCII.
+ e. Gateway should parse full directory/file specifications
+ received from FTAM Responder to strip off directory
+ portion. This is required to support the "FTP multiple
+ get" function that pipes NLST output to the STOR command.
+
+8.1.13. NOOP
+
+ 1. Return a 200 reply code to FTP Client.
+
+8.1.14. PASS
+
+ 1. Set <Filestore Password> parameter for F-INITIALIZE.
+ 2. If <Called Presentation Address>, <User Identity>, and
+ <Filestore Password> are available, issue F- INITIALIZE to
+ FTAM Responder.
+ 3. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 4. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+8.1.15. PASV
+
+ 1. Wait for data transfer on default data port or data port
+ specified by PORT command.
+ 2. Return a 200 reply code to FTP Client.
+
+8.1.16. PORT
+
+ 1. Return a 200 reply code to FTP Client.
+
+
+
+
+
+
+Mindel & Slaski [Page 30]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+8.1.17. PWD
+
+ 1. If there is a saved CWD string, return it to the FTP client
+ and proceed to step 4.
+ 2. Set <Contents Type> attribute to "NBS-9".
+ 3. Send the following grouped request to FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-READ-ATTRIBUTES
+ F-DESELECT
+ F-END-GROUP
+ 4. Return the current directory name to the FTP client.
+ 5. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 6. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+8.1.18. QUIT
+
+ 1. If user is not logged in, proceed to step 5.
+ 2. If file transfer is in progress, send F-P-ABORT or
+ F-U-ABORT to FTAM Responder.
+ 3. If file transfer is not in progress, send and F-TERMINATE
+ to FTAM Responder.
+ 4. Return charge information to FTP Client.
+ 5. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 6. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+8.1.19. REIN
+
+ 1. Flush all I/O and account information.
+ 2. Allow all transfers in progress to be completed.
+ 3. Set all parameters to default values.
+ 4. Send F-CANCEL to FTAM Responder.
+ 5. Send the following grouped request to FTAM Responder.
+ F-BEGIN-GROUP
+ F-CLOSE
+ F-DESELECT
+ F-END-GROUP
+ 6. Leave the control connection open.
+ 7. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+
+
+
+Mindel & Slaski [Page 31]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ code(s) to FTP Client.
+ 8. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Note:
+ a. Typically followed by a USER command.
+
+8.1.20. REST
+
+ 1. Send F-CHECK to FTAM Responder.
+ 2. Send F-RESTART to FTAM Responder.
+ 3. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 4. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Notes:
+ a. Will only have affect on FTAM Responder if the restart
+ functional unit is negotiated on F-INITIALIZE.
+ b. Refer to ISO 8571-3 for additional subtleties of FTAM
+ checkpoint and restart.
+
+8.1.21. RETR
+
+ 1. Save current pathname by appending saved CWD string with
+ <pathname> argument. If no saved CWD string, proceed to
+ step 9.
+ 2. Set <Contents Type> parameter to appropriate type of file.
+ 3. Send the following grouped request to the FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-OPEN
+ F-END-GROUP
+ 4. If file does not exist, proceed to step 9.
+ 5. Send F-READ to FTAM Responder.
+ 6. Loop reading F-DATA until F-DATA-END. As data is received,
+ write it to the FTP data connection.
+ 7. Send F-TRANSFER-END to FTAM Responder.
+ 8. Send the following grouped request to the FTAM Responder.
+ F-BEGIN-GROUP
+ F-CLOSE
+ F-DESELECT
+ F-END-GROUP
+ 9. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+
+
+
+Mindel & Slaski [Page 32]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ code(s) to FTP Client.
+ 10. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Note:
+ a. <pathname> argument is assumed to be a filename, relative
+ to the currently saved CWD.
+ b. CWD of the FTAM system must be defined prior to issuance of
+ RETR.
+
+8.1.22. RMD
+
+ 1. Return a 502 reply code (Command not implemented) to the
+ FTP Client.
+
+ Note:
+ a. As indicated in the NIST Stable Implementation Agreements
+ for FTAM [NIST92], creation or deletion of NBS-9 files is
+ outside the scope of the agreements.
+
+8.1.23. RNFR
+
+ 1. Save current pathname by appending saved CWD string with
+ <pathname> argument. If no saved CWD string, proceed to
+ step 3.
+ 2. Send the following grouped request to the FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ Get <Filename> parameter value from RNFR <pathname>
+ argument.
+ F-DESELECT
+ F-END-GROUP
+ 3. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 4. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Note:
+ a. <pathname> argument is assumed to be a filename, relative
+ to the currently saved CWD.
+ b. Together with RNTO, this command causes a file to be
+ renamed.
+ c. CWD of the FTAM system must be defined prior to issuance of
+ RNFR.
+
+
+
+
+Mindel & Slaski [Page 33]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+8.1.24. RNTO
+
+ 1. Save current pathname by appending saved CWD string with
+ <pathname> argument. If no saved CWD string, proceed to
+ step 3.
+ 2. Send the following grouped request to the FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-CHANGE-ATTRIBUTES
+ Get <Filename> parameter from arguments provided by
+ RNTO and previous RNFR.
+ F-DESELECT
+ F-END-GROUP
+ 3. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 4. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Note:
+ a. <pathname> argument is assumed to be a filename, relative
+ to the currently saved CWD.
+ b. Together with RNFR, this command causes a file to be
+ renamed.
+ c. CWD of the FTAM system must be defined prior to issuance of
+ RNTO.
+
+8.1.25. SITE
+
+ 1. Save the specified destination address information.
+ 2. Set the <Called Presentation Address> parameter value equal
+ to the <string> argument. This parameter will be used when
+ the F-INITIALIZE is sent to the FTAM Responder.
+ 3. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 4. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Note:
+ a. The <string> argument to the SITE command may include a
+ Distinguished Name or a User Friendly Name.
+
+
+
+
+
+
+
+Mindel & Slaski [Page 34]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+8.1.26. SMNT
+
+ 1. Return a 502 reply code to FTP Client.
+
+ Note:
+ a. Argument is ignored.
+
+8.1.27. STAT
+
+ 1. Provide the gateway session status to the FTP Client.
+ 2. Return a 211 reply code to FTP Client.
+
+ Note:
+ a. Argument is ignored.
+
+8.1.28. STOR
+
+ 1. Save current pathname by appending saved CWD string with
+ <pathname> argument. If no saved CWD string, proceed to
+ step 11.
+ 2. Send the following grouped request to FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-READ-ATTRIBUTES
+ Save <Contents Type> parameter value
+ F-DESELECT
+ F-END-GROUP
+ 3. If the <Contents Type> parameter returned with the F-READ-
+ ATTRIBUTES indicates a directory, proceed to step 11.
+ 4. Send the following grouped request to the FTAM responder.
+ F-BEGIN-GROUP
+ F-CREATE
+ Set the <Override> parameter in the F-CREATE to
+ "Delete and create with new attributes.".
+ F-OPEN
+ F-END-GROUP
+ 5. If the file existed, set the <Contents Type> parameter in
+ the F-CREATE to match the F-READ-ATTRIBUTES. If the file
+ did not exist, set the <Contents Type> parameter to
+ "FTAM-1". If TYPE "Image" was previously requested, set
+ the <Contents Type> parameter to "FTAM-3".
+ 6. Send F-WRITE, with <Bulk Data Transfer Specification, FADU
+ Operation> parameter set to "File Extend", to FTAM Responder.
+ 7. Loop reading data from FTP data connection, sending the
+ data in F-DATA PDUs until end-of-file on the FTP
+ connection.
+ 8. Send F-DATA-END to FTAM Responder.
+ 9. Send F-TRANSFER-END to FTAM Responder.
+
+
+
+Mindel & Slaski [Page 35]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ 10. Send the following grouped request to the FTAM Responder.
+ F-BEGIN-GROUP
+ F-CLOSE
+ F-DESELECT
+ F-END-GROUP
+ 11. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 12. Translate FTP Client reply codes to equivalent FTAM
+ <Action Result> and <Diagnostic> parameters and send
+ parameters to FTAM Responder.
+
+ Note:
+ a. <pathname> argument is assumed to be a filename, relative
+ to the currently saved CWD.
+ b. CWD of the FTAM system must be defined prior to issuance of
+ STOR.
+
+8.1.29. STOU
+
+ 1. Save current pathname by appending saved CWD string with
+ <pathname> argument. If no saved CWD string, proceed to
+ step 11.
+ 2. Send the following grouped request to FTAM Responder.
+ F-BEGIN-GROUP
+ F-SELECT
+ F-READ-ATTRIBUTES
+ Save <Contents Type> parameter value
+ F-DESELECT
+ F-END-GROUP
+ 3. If the file already exists, proceed to step 12.
+ 4. If the <Contents Type> parameter returned with the F-READ-
+ ATTRIBUTES indicates a directory, proceed to step 11.
+ 5. Send the following grouped request to the FTAM responder.
+ F-BEGIN-GROUP
+ F-CREATE
+ Set the <Override> parameter in the F-CREATE to
+ "Delete and create with new attributes.".
+ F-OPEN
+ F-END-GROUP
+ 6. If the file existed, set the <Contents Type> parameter in
+ the F-CREATE to match the F-READ-ATTRIBUTES. If the file
+ did not exist, set the <Contents Type> parameter to
+ "FTAM-1". If TYPE "Image" was previously requested, set
+ the <Contents Type> parameter to "FTAM-3".
+ 7. Send F-WRITE, with <Bulk Data Transfer Specification, FADU
+ Operation> parameter set to "File Extend", to FTAM Responder.
+ 8. Loop reading data from FTP data connection, sending the
+
+
+
+Mindel & Slaski [Page 36]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ data in F-DATA PDUs until end-of-file on the FTP
+ connection.
+ 9. Send F-DATA-END to FTAM Responder.
+ 10. Send F-TRANSFER-END to FTAM Responder.
+ 11. Send the following grouped request to the FTAM Responder.
+ F-BEGIN-GROUP
+ F-CLOSE
+ F-DESELECT
+ F-END-GROUP
+ 12. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 13. Translate FTP Client reply codes to equivalent FTAM
+ <Action Result> and <Diagnostic> parameters and send
+ parameters to FTAM Responder.
+
+ Note:
+ a. <pathname> argument is assumed to be a filename, relative
+ to the currently saved CWD.
+ b. Same as STOR, except the name of the created file must be
+ unique in that directory.
+ c. CWD of the FTAM system must be defined prior to issuance of
+ STOU.
+
+8.1.30. STRU
+
+ 1. If <structure code> argument is not "File", return 504
+ reply code to FTP Client; Otherwise return 200 reply code
+ to FTP Client.
+
+8.1.31. SYST
+
+ 1. Return 502 reply code to FTP client.
+
+8.1.32. TYPE
+
+ 1. If no <type code> argument is provided, set <Contents Type>
+ parameter equal to "FTAM-1".
+ 2. If argument is provided, and equal to "ASCII", set <Contents
+ Type> parameter to "FTAM-1".
+ 3. If argument is provided, and equal to "Image", set <Contents
+ Type> parameter to "FTAM-3".
+ 4. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 5. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+
+
+Mindel & Slaski [Page 37]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ Note:
+ a. Default to ASCII if no <type code> argument is provided.
+
+8.1.33. USER
+
+ 1. Set <Initiator Identity> parameter for issuing F-INITIALIZE
+ to FTAM Responder.
+ 2. If the destination address was specified in the Domain Name
+ used to attach to the gateway, use it to set the value of
+ the <Called Presentation Address> parameter of the
+ to-be-issued F-INITIALIZE command.
+ 3. If the destination address is not known, check if it was
+ specified in a previously issued SITE command. If
+ available, set <Called Presentation Address> parameter for
+ issuing F-INITIALIZE to FTAM Responder.
+ 4. If the destination address is still not available, check if
+ it is encoded in the user identity (e.g., user@host). If
+ encoded, set <Called Presentation Address> parameter for
+ issuing F-INITIALIZE to FTAM Responder using the "host"
+ portion.
+ 5. If no destination address is available, proceed to step 7.
+ 6. Prompt user for password.
+ 7. Translate FTAM Responder <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply code(s) and send reply
+ code(s) to FTP Client.
+ 8. Translate FTP Client reply codes to equivalent FTAM <Action
+ Result> and <Diagnostic> parameters and send parameters to
+ FTAM Responder.
+
+ Note:
+ a. A USER command should be acceptable in any state.
+ b. Multiple mechanisms are available for specifying the
+ destination address: 1) Domain Name used in connecting to
+ gateway (see section 4, Use of Gateway Services); 2) SITE
+ command argument; and 3) user@host format.
+
+8.2. FTAM-Initiated Gateway Service
+
+ The protocol mapping between FTP and FTAM may be one-to-zero (i.e.,
+ not mappable), one-to-one, or one-to-many.
+
+ The general steps taken by the FTP-FTAM gateway to provide the FTAM-
+ Initiated service are:
+
+ 1. Accept an FTAM Initiator request at the FTAM Responder side
+ of the gateway.
+
+ 2. Map the request to the (set of) corresponding FTP Client
+
+
+
+Mindel & Slaski [Page 38]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ function(s).
+
+ 3. Acting as an FTP Client, send the FTP Client function(s) to
+ the FTP Server.
+
+ 4. Accept information returned to the FTP Client side of the
+ gateway. This information originated at the FTP Server.
+
+ 5. Map this returned information to a form understood by the
+ FTAM Responder side of the gateway.
+
+ 6. Send this returned information from the FTAM Responder side
+ of the gateway to the FTAM Initiator.
+
+ For each FTAM protocol function, the FTP protocol functions required
+ to map it are identified:
+
+ FTAM FTP
+
+ -----------------------------------------------------------------
+
+ F-BEGIN-GROUP none
+
+ F-CANCEL ABOR
+
+ F-CHANGE-ATTRIBUTE RNFR, RNTO
+
+ F-CHECK none
+
+ F-CLOSE none
+
+ F-CREATE STOR
+
+ F-DATA ALLO, STOR or RETR or APPE
+
+ F-DATA-END none
+
+ F-DELETE DELE
+
+ F-DESELECT none
+
+ F-END-GROUP STAT
+
+ F-ERASE DELE
+
+ F-INITIALIZE ACCT, PASS, USER
+
+ F-LOCATE none
+
+
+
+Mindel & Slaski [Page 39]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ F-OPEN MODE, STRU, TYPE
+
+ F-READ MODE, NLST, RETR, TYPE
+
+ F-READ-ATTRIBUTE LIST
+
+ F-RECOVER REST
+
+ F-RESTART ABOR, REST
+
+ F-SELECT LIST
+
+ F-TERMINATE QUIT
+
+ F-TRANSFER none
+
+ F-P-ABORT QUIT
+
+ F-U-ABORT QUIT
+
+ F-WRITE APPE or STOR, NOOP
+
+ The remainder of this section presents detailed mapping procedures
+ for each of the FTAM protocol functions. Where appropriate, each
+ FTAM service primitive is followed by those parameters that are
+ relevant to the mapping. Gateway support for these mappings is
+ required.
+
+8.2.1. F-BEGIN-GROUP REQ
+
+ 1. Send F-BEGIN-GROUP RESP PDU to FTAM Initiator signifying
+ that processes are available to handle concatenated
+ requests.
+
+8.2.2. F-CANCEL REQ
+
+ 1. Close FTP data connection.
+ 2. Send ABOR to FTP Server.
+ 3. Translate FTP Server reply code to equivalent FTAM
+ Responder action and diagnostic parameters and send
+ parameters to FTAM Initiator via F-CANCEL RESP PDU.
+ 4. Translate FTAM Initiator action and diagnostic parameters
+ to equivalent FTP reply codes and send reply codes to FTP
+ Server.
+
+ Note:
+ a. F-U-ABORT REQ is a viable alternative to F-CANCEL REQ.
+ b. Note that since ABOR is not implemented by all FTP Servers,
+
+
+
+Mindel & Slaski [Page 40]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ the remote file may be corrupted, though accessible.
+
+8.2.3. F-CHANGE-ATTRIBUTE REQ
+
+ 1. Get original filename from <Filename> parameter and send it
+ with an RNFR to the FTP Server.
+ 2. Get new filename from <Filename> parameter and send it with
+ an RNTO to the FTP Server.
+ 3. Translate FTP Server reply code to equivalent FTAM
+ Responder action and diagnostic parameters and send
+ parameters to FTAM Initiator via F-CHANGE-ATTRIBUTE RESP
+ PDU.
+ 4. Translate FTAM Initiator action and diagnostic parameters
+ to equivalent FTP reply codes and send reply codes to FTP
+ Server.
+
+ Note:
+ a. Allow for processing an arbitrary number attributes at one
+ time.
+ b. Allow for responses of "Attribute currently unavailable for
+ change" and "Attribute not currently supported".
+ c. At a minimum, support the <Filename>, <Permitted Actions>,
+ and <Contents Type> parameters.
+
+8.2.4. F-CHECK REQ
+
+ 1. Send an F-CHECK RESP PDU to the FTAM Initiator.
+
+8.2.5. F-CLOSE REQ
+
+ 1. Send F-CLOSE RESP PDU , with <Action Result> parameter
+ value of "Success", to FTAM Initiator.
+
+ Note:
+ a. If an error had occurred during transfer, it would have
+ been noted before the F-CLOSE REQ.
+
+8.2.6. F-CREATE REQ
+
+ 1. Send STOR and zero data bytes to FTP Server.
+ 2. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator.
+ 3. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+
+
+
+
+Mindel & Slaski [Page 41]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+8.2.7. F-DATA PDU
+
+ 1. If necessary, send ALLO command to FTP Server.
+ 2. Depending on whether reading or writing, send STOR, RETR,
+ or APPE command to FTP Server.
+ 3. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator.
+ 4. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+ Note:
+ a. The use of an FTP command may be unnecessary. Sending the
+ data on the data connection may be adequate.
+
+8.2.8. F-DATA-END REQ
+
+ 1. Close the data connection.
+ 2. Save mandatory Diagnostic parameter for later use.
+ 3. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator.
+ 4. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+8.2.9. F-DELETE REQ
+
+ 1. Send DELE to FTP server.
+ 2. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator via F-DELETE RESP PDU.
+ 3. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+8.2.10. F-DESELECT REQ
+
+ 1. Return F-DESELECT RESP PDU, with <Action Result> parameter
+ value of "Success", to FTAM Initiator.
+
+8.2.11. F-END-GROUP REQ
+
+ 1. Send STAT command sequence to FTP Server.
+ 2. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic>
+ parameters and send parameters to FTAM Initiator via F-END
+
+
+
+Mindel & Slaski [Page 42]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ GROUP RESP.
+ 3. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+8.2.12. F-ERASE REQ
+
+ 1. Send DELE to FTP Server.
+ 2. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator via F-ERASE RESP PDU.
+ 3. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+8.2.13. F-INITIALIZE REQ
+
+ 1. Establish initial area for activity attributes.
+ 2. Save <Responding Presentation Address>, <Initiator
+ Identity>, and <Filestore Password> parameter values
+ received from FTAM Initiator.
+ 3. If the destination address was specified in the
+ Distinguished Name (or User Friendly Name) used to attach
+ to the gateway, save it as the ultimate destination
+ address.
+ 4. If the ultimate destination address is not yet known, look
+ at the "@host" portion of the <Initiator Identity>
+ parameter for the ultimate destination parameter.
+ 5. If the ultimate destination address is still not known,
+ check if it is available in the <Responding Presentation
+ Address> parameter.
+ 6. Get userid from <Initiator Identity> and send it with USER
+ command to FTP Server.
+ 7. Get password from <Filestore Password> and send it with
+ PASS command to FTP Server.
+ 8. If necessary, send ACCT command to FTP Server.
+ 9. Negotiate acceptance of mandatory functional units, service
+ classes, service types, presentation contexts, and
+ attribute groups.
+ 10. Accept context management functional unit passed by
+ Presentation service provider.
+ 11. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator via F-INIT RESP PDU.
+ 12. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+
+
+
+Mindel & Slaski [Page 43]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ Note:
+ a. Multiple mechanisms are available for specifying the
+ destination address: 1) Distinguished Name, or User
+ Friendly Name, used in connecting to the gateway (see
+ section 4, Use of Gateway Services); 2) user@host format;
+ and 3) Inclusion as <Responding Presentation Address>
+ parameter value.
+
+8.2.14. F-LOCATE REQ
+
+ Note:
+ a. Not supported since FTAM-1 and FTAM-3 don't support this
+ primitive.
+
+8.2.15. F-OPEN REQ
+
+ 1. Get <Contents Type> and <Processing Mode> parameter values
+ from FTAM Initiator.
+ 2. Send TYPE command to FTP Server.
+ 3. Send MODE command to FTP Server.
+ 4. Send STRU command to FTP Server.
+ 5. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic>
+ parameters and send parameters to FTAM Initiator via F-OPEN
+ RESP PDU.
+ 6. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+ Note:
+ a. Establishes definite value for presentation context name
+ parameter for this data transfer.
+ b. Assumes that the <Requested Access> parameter is permitted.
+
+8.2.16. F-READ REQ
+
+ 1. If requested file type and file mode are different than
+ current settings, send TYPE and MODE to FTP Server.
+ 2. If <Contents Type> is FTAM-1 or FTAM-3, then send RETR to
+ FTP Server.
+ 3. If <Contents Type> is "NBS-9", then send NLST to FTP
+ Server.
+ 4. If reply code from FTP Server is 1xx, open FTP data
+ connection and loop until End-of-File is read on FTP data
+ connection. Inside loop, read block from FTP data
+ connection, format FTAM DATA PDU, and send FTAM PDU to FTAM
+ Initiator. At End-of-File on FTP data connection, send
+ F-DATA-END and return.
+
+
+
+Mindel & Slaski [Page 44]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ 5. If reply code from FTP Server is not 1xx, send F-CANCEL REQ
+ to FTAM Initiator.
+ 6. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator via F-READ RESP PDU.
+ 7. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+ Note:
+ a. To send NLST response, TYPE must be ASCII.
+
+8.2.17. F-READ-ATTRIBUTE REQ
+
+ 1. Send LIST to FTP Server.
+ 2. Translate returned information into the <Filename>,
+ <Contents Type>, and <Permitted Actions> parameter values
+ and return them to the FTAM Initiator.
+ 3. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator via F-READ-ATTRIBUTE RESP
+ PDU.
+ 4. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+8.2.18. F-RECOVER REQ
+
+ 1. Send REST command to FTP Server.
+ 2. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator.
+ 3. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+ Note:
+ a. Regime recovery is only possible if the <Recovery
+ Functional Unit> parameter was negotiated previously by an
+ F-INITIALIZE.
+
+8.2.19. F-RESTART REQ
+
+ 1. To interrupt any bulk data transfer in progress, send ABOR
+ to FTP Server.
+ 2. To negotiate the point at which data transfer is to be
+ restarted, get <Checkpoint Identifier> parameter from FTAM
+ Initiator and send it with REST to FTP Server.
+
+
+
+Mindel & Slaski [Page 45]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ 3. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator via F-RESTART RESP PDU.
+ 4. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+8.2.20. F-SELECT REQ
+
+ 1. Get <Filename> parameter and send with LIST command to FTP
+ Server to determine whether or not the file exists.
+ 2. If file exists, compare the POSIX file access rights with
+ the <Requested Access> parameter sent by the FTAM
+ Initiator. If the access rights match, return <Action
+ Result> parameter value of "Success", otherwise return
+ <Action Result> parameter value of "Failure".
+ 3. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator via F-SELECT RESP PDU.
+ 4. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+ Note:
+ a. The specified file is binary/text file if one record is
+ received or is a directory file if multiple records are
+ received.
+
+8.2.21. F-TERMINATE REQ
+
+ 1. Send QUIT to FTP Server.
+ 2. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator via F-TERMINATE RESP PDU.
+ 3. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+8.2.22. F-TRANSFER-END
+
+ 1. Get <Action Result> parameter value from last F-DATA-END
+ and return it to FTAM Initiator as <Action Result>
+ parameter of this F-TRANSFER-END.
+
+8.2.23. F-P-ABORT REQ
+
+ 1. Send QUIT to FTP Server.
+ 2. Return <Action Result> parameter value of "Permanent Error"
+
+
+
+Mindel & Slaski [Page 46]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ to FTAM Initiator.
+ 3. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator.
+ 4. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+8.2.24. F-U-ABORT REQ
+
+ 1. Send QUIT to FTP Server.
+ 2. Return <Action Result> parameter value of "Permanent Error"
+ to FTAM Initiator.
+ 3. Translate FTP Server reply code to equivalent FTAM
+ Responder <Action Result> and <Diagnostic> parameters and
+ send parameters to FTAM Initiator.
+ 4. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+8.3. F-WRITE REQ
+
+ 1. Save bulk transfer specification parameter from PDU.
+ 2. Send NOOP to FTP Server to receive status information.
+ 3. If the <Bulk Data Transfer Specification, FADU Operation>
+ parameter has a value of "File Extend", then send an APPE
+ to the FTP Server, otherwise send a STOR to the FTP Server.
+ 4. If reply code from FTP Server is 200, then accept FTP data
+ connection; otherwise send F-CANCEL REQ to FTAM Initiator.
+ 5. Translate FTP Server reply code to equivalent FTAM Responder
+ <Action Result> and <Diagnostic> parameters and send
+ parameters to FTAM Initiator.
+ 6. Translate FTAM Initiator <Action Result> and <Diagnostic>
+ parameters to equivalent FTP reply codes and send reply
+ codes to FTP Server.
+
+9. Mapping between FTP Reply Codes and FTAM Parameters
+
+ The focus of the protocol function and representation mappings,
+ presented in the previous sections, is on non-error encumbered
+ processing. Though appropriate responses are designated in many
+ cases, it is intended that a more thorough use of responses will be
+ incorporated into gateway implementations.
+
+ The purpose of this section is to provide a set of mappings between
+ FTAM responses (<Action Result> and <Diagnostic>) and FTP responses
+ (reply codes).
+
+
+
+
+Mindel & Slaski [Page 47]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ The <Action Result> parameter of the FTAM File Service primitives
+ conveys information which summarizes that available in the
+ <Diagnostic> parameter. The value is never less than the most severe
+ diagnostic value. The valid values of this parameter are "Success",
+ "Transient Error", and "Permanent Error". The FTP response text
+ should be supplied in the <Further Details> field of the
+ <Diagnostics> sequence in the FTAM response and abort messages.
+
+ An FTAM <Action Result> "Success" may be accompanied by a
+ <Diagnostic> with value of "Informative Error Type". These "Success"
+ diagnostic messages are associated with error type 0 in the table
+ below (and in [ISO8571-3]). Error type 1 indicates a transient
+ error, while type 2 indicates a permanent error.
+
+ An FTP reply consists of a three digit number followed by some text.
+ The number is defined as a 3-digit code, each digit of which has a
+ special significance. The first digit conveys approximately the same
+ information as the FTAM <Action Result> parameter; i.e., positive,
+ transient negative, or permanent negative.
+
+ The FTP specification document [RFC959] explicitly states that the
+ list of reply codes should not be expanded beyond that which is
+ presented in [RFC959]. This requirement is adhered to in the
+ mappings presented in this document.
+
+9.1. FTP Reply Codes to FTAM Parameters
+
+ This section presents the set of mappings between FTP reply codes and
+ their equivalent FTAM action and diagnostic parameters. Gateway
+ support for these mappings is recommended, but not required. The
+ following abbreviations are used for FTAM action parameter values:
+
+ trans = transient error
+ perman = permanent error
+
+ FTP Reply |FTAM Diagnostic
+ |
+ |
+ Code Text |Result Type Id
+ ---------------------------------------------+------------------
+ 110 Restart marker reply |success 0 0
+ 120 Service ready in nnn minutes |success 0 0
+ 125 Data connection open, transfer |
+ starting |success 0 0
+ 150 File status okay; about to open |
+ data connection |success 0 0
+ 200 Command okay |success 0 0
+ 202 Command not implemented; |
+
+
+
+Mindel & Slaski [Page 48]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ superfluous |success 0 0
+ 211 System status, or system help |
+ reply |success 0 0
+ 212 Directory status |success 0 0
+ 213 File status |success 0 0
+ 214 Help message |success 0 0
+ 215 NAME system type |success 0 0
+ 220 Service ready for new user |success 0 0
+ 221 Service closing control connection |success 0 0
+ 225 Data connection; no transfer in |
+ progress |success 0 0
+ 226 Closing data connection |success 0 0
+ 227 Entering passive mode (h1,h2,..) |success 0 0
+ 230 User logged in, proceed |success 0 0
+ 250 Requested file action okay, |
+ completed |success 0 0
+ 257 "PATHNAME" created |success 0 0
+ 331 User name okay, need password |success 0 0
+ 332 Need account for logon |success 0 0
+ 350 Requested file action pending |
+ further information |success 0 0
+ 421 Service not available, closing |
+ control connection |trans 1 1
+ 425 Can't open data connection |trans 1 3
+ 426 Connection closed, transfer |
+ aborted |trans 1 1014
+ 450 Requested file action not taken, |
+ file unavailable (e.g., file busy) |trans 1 5041
+ 451 Requested file action aborted, |
+ local error in processing |trans 1 5028
+ 452 Requested action not taken, |
+ insufficient storage space |trans 1 9
+ 500 Syntax error, command unrecognized |perman 2 5015
+ 501 Syntax error in parameters or |
+ arguments |perman 2 4004
+ 502 Command not implemented |perman 2 5016
+ 503 Bad sequence of commands |perman 2 1015
+ 504 Command not implemented for that |
+ parameter |perman 2 4003
+ 530 Not logged in |perman 2 2020
+ 532 Need account for storing files |perman 2 2008
+ 550 Requested action not taken; file |
+ unavailable (e.g., file not found, |
+ no access) |perman 2 3013
+ 551 Requested action aborted, page |
+ type |perman 2 5002
+ 552 Requested file action aborted, |
+ exceeded storage allocation |perman 2 9
+
+
+
+Mindel & Slaski [Page 49]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ 553 Requested file action not taken, |
+ file name not allowed |perman 2 3024
+
+9.2. FTAM Parameters to FTP Reply Codes
+
+ This section presents the set of mappings between FTAM diagnostic
+ parameters and their equivalent FTP reply codes. Gateway support for
+ these mappings is recommended, but not required. As previously
+ mentioned, type 0 is an informative error type that may be returned
+ with a "Success" action result, type 1 is a transient error type, and
+ type 2 is a permanent error type.
+
+
+ FTAM Diagnostic |FTP Reply Code
+ |
+ Type Id Reason |
+ --------------------------------------------------+--------
+ |
+ 1,2 0 No reason | 421
+ 0 1 Responder error | 211
+ 1,2 1 Responder error | 421
+ 1,2 2 System shutdown | 421
+ 0 3 FTAM mgmt problem, unspecific | 211
+ 1,2 3 FTAM mgmt problem, unspecific | 425
+ 0 4 FTAM mgmt, bad account | 221
+ 2 4 FTAM mgmt, bad account | 532
+ 0 5 FTAM mgmt, security not passed | 211
+ 2 5 FTAM mgmt, security not passed | 530
+ 0 6 Delay may be encountered | 211
+ 0 7 Initiator error, unspecific | 211
+ 1,2 7 Initiator error, unspecific | 421
+ 0 8 Subsequent error | 211
+ 1,2 8 Subsequent error | 421
+ 0 9 Temporal insufficiency of resources| 211
+ 1,2 9 Temporal insufficiency of resources| 452
+ 1,2 10 Access req. violates VFS security | 550
+ 1,2 11 Access req. violates local security| 550
+ 2 1000 Conflicting parameter values | 504
+ 2 1001 Unsupported parameter values | 504
+ 2 1002 Mandatory parameter not set | 504
+ 2 1003 Unsupported parameter | 504
+ 2 1004 Duplicated parameter | 504
+ 2 1005 Illegal parameter type | 504
+ 2 1006 Unsupported parameter types | 504
+ 2 1007 FTAM protocol err., unspecific | 426
+ 2 1008 FTAM protocol err., procedure err | 426
+ 2 1009 FTAM protocol err., funct. unit err| 426
+ 2 1010 FTAM protocol err., corruption err.| 426
+
+
+
+Mindel & Slaski [Page 50]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ 2 1011 Lower layer failure | 426
+ 1,2 1012 Lower layer addressing error | 426
+ 1,2 1013 Timeout | 426
+ 1,2 1014 System shutdown | 426
+ 2 1015 Illegal grouping sequence | 503
+ 2 1016 Grouping threshold violation | 503
+ 2 1017 Inconsistent PDU request | 503
+ 2 2000 Association with user not allowed | 532
+ 2 2002 Unsupported service class | 504
+ 0 2003 Unsupported functional unit | 211
+ 2 2003 Unsupported functional unit | 502
+ 0 2004 Attribute group error, unspecific | 211
+ 1,2 2004 Attribute group error, unspecific | 504
+ 2 2005 Attribute group not supported | 504
+ 0 2006 Attribute group not allowed | 211
+ 2 2006 Attribute group not allowed | 504
+ 0 2007 Bad account | 211
+ 2 2007 Bad account | 532
+ 0 2008 Association management, unspecific | 211
+ 1,2 2008 Association management, unspecific | 532
+ 2 2009 Association management, bad address| 532
+ 1,2 2010 Association management, bad account| 532
+ 0 2011 Checkpoint window error, too large | 211
+ 2 2011 Checkpoint window error, too large | 426
+ 0 2012 Checkpoint window error, too small | 211
+ 2 2012 Checkpoint window error, too small | 426
+ 0 2013 Checkpoint window error, unsupp. | 211
+ 2 2013 Checkpoint window error, unsupp. | 504
+ 0 2014 Communications QoS not supported | 211
+ 1,2 2014 Communications QoS not supported | 504
+ 2 2015 Initiator identity unacceptable | 532
+ 0 2016 Context management refused | 211
+ 0 2017 Rollback not available | 211
+ 0 2018 Contents type list cut by |
+ responder | 211
+ 0 2019 Contents type list by |
+ Presentation Service | 211
+ 2 2020 Invalid filestore password | 530
+ 2 2021 Incompatible service classes | 530
+ 1,2 3000 Filename not found | 550
+ 1,2 3001 Selection attributes not matched | 550
+ 2 3002 Initial attributes not possible | 550
+ 2 3003 Bad attribute name | 550
+ 1,2 3004 Non-existent file | 550
+ 1,2 3005 File already exists | 553
+ 1,2 3006 File cannot be created | 553
+ 1,2 3007 File cannot be deleted | 553
+ 0 3008 Concurrency control not available | 211
+
+
+
+Mindel & Slaski [Page 51]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ 2 3008 Concurrency control not available | 503
+ 0 3009 Concurrency control not supported | 211
+ 2 3009 Concurrency control not supported | 502
+ 0 3010 Concurrency control not possible | 211
+ 2 3010 Concurrency control not possible | 503
+ 0 3011 More restrictive lock | 211
+ 1 3011 More restrictive lock | 450
+ 1,2 3012 File busy | 450
+ 1,2 3013 File not available | 450
+ 0 3014 Access control not available | 211
+ 1,2 3014 Access control not available | 503
+ 0 3015 Access control not supported | 211
+ 1,2 3015 Access control not supported | 502
+ 0 3016 Access control inconsistent | 211
+ 1,2 3016 Access control inconsistent | 503
+ 0 3017 Filename truncated | 211
+ 0 3018 Initial attributes altered | 211
+ 1,2 3019 Bad account | 532
+ 0 3020 Override selected existing file | 211
+ 0 3021 Override deleted and recreated | 211
+ 0 3022 Create override deleted and |
+ recreate file with new attributes | 211
+ 1,2 3023 Create override, not possible | 553
+ 1,2 3024 Ambiguous file specification | 553
+ 2 3025 Invalid create password | 550
+ 2 3026 Invalid delete password on override| 550
+ 2 3027 Bad attribute value | 550
+ 2 3028 Requested access violation | 550
+ 2 3029 Functional unit not available for | 550
+ requested access |
+ 0 3030 File created but not selected | 211
+ 1 3030 Invalid create password | 550
+ 0 4000 Attribute non-existent | 211
+ 1,2 4000 Attribute non-existent | 501
+ 1,2 4001 Attribute cannot be read | 504
+ 1,2 4002 Attribute cannot be changed | 504
+ 1,2 4003 Attribute not supported | 504
+ 2 4004 Bad attribute name | 501
+ 2 4005 Bad attribute value | 501
+ 0 4006 Attribute partially supported | 211
+ 0 4007 Additional set attribute value |
+ not distinct | 211
+ 1,2 5000 Bad FADU, unspecific | 550
+ 2 5001 Bad FADU, size error | 501
+ 2 5002 Bad FADU, type error | 551
+ 2 5003 Bad FADU, poorly specified | 501
+ 2 5004 Bad FADU, bad location | 550
+ 0 5005 FADU does not exist | 550
+
+
+
+Mindel & Slaski [Page 52]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ 1 5005 FADU does not exist | 550
+ 0 5006 FADU not available, unspecific | 550
+ 1,2 5006 FADU not available, unspecific | 550
+ 1,2 5007 FADU not available for reading | 550
+ 1,2 5008 FADU not available for writing | 550
+ 1,2 5009 FADU not available for location | 550
+ 1,2 5010 FADU not available for erasure | 550
+ 1,2 5011 FADU cannot be inserted | 550
+ 1,2 5012 FADU cannot be replaced | 550
+ 0 5013 FADU cannot be located | 550
+ 1,2 5013 FADU cannot be located | 550
+ 2 5014 Bad data element type | 550
+ 1,2 5015 Operation not available | 500
+ 1,2 5016 Operation not supported | 502
+ 0 5017 Operation inconsistent | 211
+ 2 5017 Operation inconsistent | 503
+ 0 5018 Concurrency control not available | 211
+ 1,2 5018 Concurrency control not available | 503
+ 0 5019 Concurrency control not supported | 211
+ 2 5019 Concurrency control not supported | 502
+ 0 5020 Concurrency control inconsistent | 211
+ 2 5020 Concurrency control inconsistent | 503
+ 0 5021 Processing mode not available | 211
+ 1,2 5021 Processing mode not available | 503
+ 0 5022 Processing mode not supported | 211
+ 2 5022 Processing mode not supported | 504
+ 0 5023 Processing mode inconsistent | 211
+ 2 5023 Processing mode inconsistent | 503
+ 0 5024 Access context not available | 211
+ 2 5024 Access context not available | 503
+ 0 5025 Access context not supported | 211
+ 2 5025 Access context not supported | 504
+ 1,2 5026 Bad write, unspecific | 550
+ 1,2 5027 Bad read, unspecific | 550
+ 0 5028 Local failure, unspecific | 211
+ 1,2 5028 Local failure, unspecific | 451
+ 0 5029 Local failure, filespace exhausted | 211
+ 1,2 5029 Local failure, filespace exhausted | 552
+ 0 5030 Local failure, data corrupted | 211
+ 1,2 5030 Local failure, data corrupted | 451
+ 0 5031 Local failure, data corrupted | 211
+ 1,2 5031 Local failure, data corrupted | 451
+ 2 5032 Future file size exceeded | 451
+ 0 5034 Future file size increased | 211
+ 0 5035 Functional unit invalid in |
+ processing mode | 211
+ 2 5035 Functional unit invalid in |
+ processing mode | 503
+
+
+
+Mindel & Slaski [Page 53]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ 0 5036 Contents type inconsistent | 211
+ 2 5036 Contents type inconsistent | 503
+ 0 5037 Contents type simplified | 211
+ 0 5038 Duplicate FADU name | 211
+ 1,2 5039 Damage to select/open regime | 553
+ 1,2 5040 FADU locking not available on file | 450
+ 1,2 5041 FADU locked by another user | 450
+
+9.3. Future Mapping Problem
+
+ At some point in the future, the FTAM <Responding Presentation
+ Address> parameter may be used for purposes other than the current
+ use of passing the final destination address in the FTAM-Initiated
+ gateway service [NIST86]. If this happens, the destination address
+ will have to be passed in another location, such as in the "@host"
+ portion of the <Initiator Identity>. Currently, the FTP-FTAM gateway
+ specification permits either mechanism for storage of the ultimate
+ destination address.
+
+9.4. Error Handling
+
+ The minimal acceptable solution for FTAM-Initiated service errors is
+ to map FTP failures to FTAM "Unrecoverable error" and return the FTP
+ diagnostic string in the FTAM <Further Details> field. Similarly for
+ FTP-Initiated service errors, the minimal acceptable solution is to
+ return reply code 221, "Service closing control connection, Logged
+ out if appropriate". While this minimal solution is acceptable, the
+ recommended approach for Gateway developers is to implement the
+ mappings presented in Section 9.1, FTP Reply Codes to FTAM
+ Parameters, and Section 9.2, FTAM Parameters to FTP Reply Codes.
+
+10. Implementation and Configuration Guidelines
+
+ The intent of this specification is to specify the required
+ characteristics and functions of an FTP-FTAM gateway. The specific
+ approach taken to realize these specifications in an operational
+ gateway are left to the discretion of the implementor. We do take
+ the liberty, however, of suggesting several ideas concerning the
+ configuration and implementation of such gateways.
+
+10.1. Robustness
+
+ The gateway should be robust enough to handle situations where a
+ subset of the FTP and/or FTAM protocols are implemented on a host.
+
+ The gateway should support multiple concurrent FTP and FTAM
+ connections.
+
+
+
+
+Mindel & Slaski [Page 54]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ These are requirements for gateway implementations.
+
+10.2. Well-Known TCP/IP Port
+
+ It is recommended that the FTP-Initiated gateway process listen on
+ TCP/IP port 21, the well-known port for FTP listener processes. As
+ the gateway computer is primarily intended to provide gateway
+ services, use of this port will alleviate the need for gateway users
+ to specify the desired port when they connect to the gateway. The
+ standard FTP server listener process can then be moved to another
+ port that is known to those users (e.g., System Administrators)
+ requiring FTP-to-FTP access to the gateway computer.
+
+10.3. Gateway Listener Processes
+
+ To simplify the administrative overhead on the gateway computer
+ system, it is recommended that the FTP-Initiated service and FTAM-
+ Initiated gateway listener processes be merged into a single
+ executable module. This single daemon will act as the one and only
+ gateway listener processes. As connections were established with
+ hosts, other processes would be created.
+
+10.4. Implementation Testing
+
+ To assist in the development and evaluation of FTP-FTAM gateway
+ prototypes, NIST has developed a test system to evaluate a gateway's
+ conformance to the protocol standards [NIST88].
+
+10.5. POSIX File Naming and Organization
+
+ The OSI profiles do not define a standard manner for an FTAM
+ Responder to return file names.
+
+ To avoid unnecessary complexity, proprietary file systems are not
+ addressed in these mappings. Gateway support for POSIX file naming
+ and organization conventions is required; i.e., files are assumed to
+ be organized in a hierarchical structure in which all of the non-
+ terminal nodes are directories and all of the terminal nodes are any
+ other type of file.
+
+11. Security Considerations
+
+ The gateway system may place the burden of authentication on the
+ destination system. However, the gateway must accommodate the
+ passing through of all authentication parameters. The authentication
+ parameters of each protocol are applied at the destination and no
+ additional parameters are needed for authentication at the gateway.
+ As such, no gateway password file is required to support gateway
+
+
+
+Mindel & Slaski [Page 55]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ functions.
+
+ It is anticipated that the requirement for a strong authentication
+ mechanism will soon replace the most currently used, userid and
+ password mechanism. The U.S. National Security Agency (NSA) has
+ already prototyped and has plans field a Message Secure Protocol
+ (MSP) as part of the Defense Message System (DMS) Program which will
+ soon become the Department of Defense (DoD) mandatory messaging
+ system. MSP utilizes a public key encryption-like mechanism which
+ will be used to authenticate users and allow signed operations. The
+ current philosophy is to use this same mechanism for all
+ authentication and access control situations, such as logging onto
+ remote hosts or gateways. Detailed specifications for Pre-MSP, used
+ in the unclassified though sensitive arena, are scheduled to be
+ published in the first quarter of 1993. The requirement for gateways
+ to process PMSP and MSP strong authentication mechanisms will be part
+ of all future DoD procurements.
+
+12. References
+
+ [ISO8571-1] Information processing systems - Open Systems
+ Interconnection - File Transfer, Access and
+ Management, Part 1: General Introduction, International
+ Standards Organization for Standards, First Edition,
+ October 1988.
+
+ [ISO8571-2] Information processing systems - Open Systems
+ Interconnection - File Transfer, Access and Management,
+ Part 2: Virtual Filestore Definition, International
+ Standards Organization for Standards, First Edition,
+ October 1988.
+
+ [ISO8571-3] Information processing systems - Open Systems
+ Interconnection - File Transfer, Access and Management,
+ Part 3: File Service Definition, International Standards
+ Organization for Standards, First Edition, October 1988.
+
+ [ISO8571-4] Information processing systems - Open Systems
+ Interconnection - File Transfer, Access and Management,
+ Part 4: File Protocol Specification, International
+ Standards Organization for Standards, First Edition,
+ October 1988.
+
+ [ISO8571-5] Information processing systems - Open Systems
+ Interconnection - File Transfer, Access and Management,
+ Part 5: Protocol Implementation Conformance Statement,
+ International Standards Organization for Standards,
+ First Edition.
+
+
+
+Mindel & Slaski [Page 56]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+ [KILLE92] Hardcastle-Kille, S., "Using the OSI Directory to achieve
+ User Friendly Naming", OSI-DS 24 (v1.1), October 1992.
+
+ [MITRE87] Scott, J., "An FTP/FTAM Application Bridge, An FTAM/FTAM
+ (MTR-87W00186)", The MITRE Corporation, July 1987.
+
+ [NETWRX90a] Mindel, J., "Gateway Technical Specification" Open
+ Networks, Inc. (formerly NetWorks One), 28 February 1990.
+
+ [NETWRX90b] Mindel, J., "FTP Gateway User's Guide", Open
+ Networks, Inc. (formerly NetWorks One), 28 February 1990.
+
+ [NIST86] Wallace, M, et. al., "A Gateway Architecture Between FTP
+ and FTAM (ICST/SNA86-6)", National Institute of Standards
+ and Technology, U.S. Department of Commerce, July 1986.
+
+ [NIST88] A Test System for Implementations of FTAM/FTP Gateways:
+ Final Report Part 1, National Institute of Standards and
+ Technology, U.S. Chamber of Commerce, October 1988.
+
+ [NIST91] CSL Bulletin: File Transfer, Access, and Management,
+ National Institute of Standards and Technology, U.S.
+ Chamber of Commerce, July 1991.
+
+ [NIST92] Stable Implementation Agreements for Open Systems
+ Interconnection Protocols: Part 9 - FTAM Phase 2, Output
+ from the March 1992 Open Systems Environment Implementors'
+ Workshop (OIW), March 1992.
+
+ [RFC959] Postel, J., and J. Reynolds, "File Transfer Protocol
+ (FTP), STD 9, RFC 959, USC/Information Sciences Institute,
+ October 1985.
+
+ [RFC1101] Mockapetris, P., "DNS Encoding of Network Names and other
+ Types", RFC 1101, USC/Information Sciences Institute,
+ April 1989.
+
+ [RFC1279] Hardcastle-Kille, S., "X.500 and Domain", RFC 1279,
+ University College London, November 1991.
+
+ [ROSE90] Rose, M., "The Open Book: A Practical Perspective on OSI",
+ Prentice-Hall Inc., 1990.
+
+
+
+
+
+
+
+
+
+Mindel & Slaski [Page 57]
+
+RFC 1415 FTP-FTAM Gateway Specification January 1993
+
+
+13. Authors' Addresses
+
+ Joshua L. Mindel
+ Open Networks, Inc.
+ 11490 Commerce Park Dr., Suite 205
+ Reston, Virginia 22091 USA
+
+ Phone: (703) 648-0013
+ Email: mindel@netwrx1.nw1.com
+
+
+ Robert L. Slaski
+ Open Networks, Inc.
+ 11490 Commerce Park Dr., Suite 205
+ Reston, Virginia 22091 USA
+
+ Phone: (703) 648-0013
+ Email: slaski@netwrx1.nw1.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mindel & Slaski [Page 58]
+ \ No newline at end of file