annotate docs/rfcs/rfc2428.txt @ 497:e60a6ec4aa85

2004-7-12 Brian Masney <masneyb@gftp.org> * docs/rfcs/* - added RFCs that are used by this program
author masneyb
date Tue, 13 Jul 2004 01:35:15 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
497
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
1
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
2
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
3
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
4
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
5
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
6
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
7 Network Working Group M. Allman
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
8 Request for Comments: 2428 NASA Lewis/Sterling Software
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
9 Category: Standards Track S. Ostermann
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
10 Ohio University
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
11 C. Metz
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
12 The Inner Net
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
13 September 1998
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
14
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
15
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
16 FTP Extensions for IPv6 and NATs
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
17
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
18 Status of this Memo
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
19
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
20 This document specifies an Internet standards track protocol for the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
21 Internet community, and requests discussion and suggestions for
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
22 improvements. Please refer to the current edition of the "Internet
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
23 Official Protocol Standards" (STD 1) for the standardization state
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
24 and status of this protocol. Distribution of this memo is unlimited.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
25
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
26 Copyright Notice
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
27
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
28 Copyright (C) The Internet Society (1998). All Rights Reserved.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
29
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
30 Abstract
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
31
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
32 The specification for the File Transfer Protocol assumes that the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
33 underlying network protocol uses a 32-bit network address
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
34 (specifically IP version 4). With the deployment of version 6 of the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
35 Internet Protocol, network addresses will no longer be 32-bits. This
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
36 paper specifies extensions to FTP that will allow the protocol to
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
37 work over IPv4 and IPv6. In addition, the framework defined can
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
38 support additional network protocols in the future.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
39
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
40 1. Introduction
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
41
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
42 The keywords, such as MUST and SHOULD, found in this document are
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
43 used as defined in RFC 2119 [Bra97].
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
44
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
45 The File Transfer Protocol [PR85] only provides the ability to
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
46 communicate information about IPv4 data connections. FTP assumes
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
47 network addresses will be 32 bits in length. However, with the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
48 deployment of version 6 of the Internet Protocol [DH96] addresses
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
49 will no longer be 32 bits long. RFC 1639 [Pis94] specifies
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
50 extensions to FTP to enable its use over various network protocols.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
51 Unfortunately, the mechanism can fail in a multi-protocol
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
52 environment. During the transition between IPv4 and IPv6, FTP needs
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
53 the ability to negotiate the network protocol that will be used for
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
54 data transfer.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
55
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
56
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
57
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
58 Allman, et. al. Standards Track [Page 1]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
59
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
60 RFC 2428 FTP Extensions for IPv6 and NATs September 1998
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
61
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
62
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
63 This document provides a specification for a way that FTP can
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
64 communicate data connection endpoint information for network
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
65 protocols other than IPv4. In this specification, the FTP commands
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
66 PORT and PASV are replaced with EPRT and EPSV, respectively. This
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
67 document is organized as follows. Section 2 outlines the EPRT
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
68 command and Section 3 outlines the EPSV command. Section 4 defines
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
69 the utilization of these two new FTP commands. Section 5 briefly
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
70 presents security considerations. Finally, Section 6 provides
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
71 conclusions.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
72
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
73 2. The EPRT Command
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
74
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
75 The EPRT command allows for the specification of an extended address
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
76 for the data connection. The extended address MUST consist of the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
77 network protocol as well as the network and transport addresses. The
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
78 format of EPRT is:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
79
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
80 EPRT<space><d><net-prt><d><net-addr><d><tcp-port><d>
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
81
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
82 The EPRT command keyword MUST be followed by a single space (ASCII
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
83 32). Following the space, a delimiter character (<d>) MUST be
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
84 specified. The delimiter character MUST be one of the ASCII
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
85 characters in range 33-126 inclusive. The character "|" (ASCII 124)
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
86 is recommended unless it coincides with a character needed to encode
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
87 the network address.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
88
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
89 The <net-prt> argument MUST be an address family number defined by
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
90 IANA in the latest Assigned Numbers RFC (RFC 1700 [RP94] as of the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
91 writing of this document). This number indicates the protocol to be
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
92 used (and, implicitly, the address length). This document will use
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
93 two of address family numbers from [RP94] as examples, according to
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
94 the following table:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
95
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
96 AF Number Protocol
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
97 --------- --------
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
98 1 Internet Protocol, Version 4 [Pos81a]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
99 2 Internet Protocol, Version 6 [DH96]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
100
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
101 The <net-addr> is a protocol specific string representation of the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
102 network address. For the two address families specified above (AF
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
103 Number 1 and 2), addresses MUST be in the following format:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
104
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
105 AF Number Address Format Example
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
106 --------- -------------- -------
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
107 1 dotted decimal 132.235.1.2
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
108 2 IPv6 string 1080::8:800:200C:417A
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
109 representations
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
110 defined in [HD96]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
111
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
112
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
113
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
114 Allman, et. al. Standards Track [Page 2]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
115
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
116 RFC 2428 FTP Extensions for IPv6 and NATs September 1998
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
117
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
118
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
119 The <tcp-port> argument must be the string representation of the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
120 number of the TCP port on which the host is listening for the data
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
121 connection.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
122
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
123 The following are sample EPRT commands:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
124
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
125 EPRT |1|132.235.1.2|6275|
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
126
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
127 EPRT |2|1080::8:800:200C:417A|5282|
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
128
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
129 The first command specifies that the server should use IPv4 to open a
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
130 data connection to the host "132.235.1.2" on TCP port 6275. The
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
131 second command specifies that the server should use the IPv6 network
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
132 protocol and the network address "1080::8:800:200C:417A" to open a
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
133 TCP data connection on port 5282.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
134
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
135 Upon receipt of a valid EPRT command, the server MUST return a code
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
136 of 200 (Command OK). The standard negative error code 500 and 501
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
137 [PR85] are sufficient to handle most errors (e.g., syntax errors)
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
138 involving the EPRT command. However, an additional error code is
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
139 needed. The response code 522 indicates that the server does not
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
140 support the requested network protocol. The interpretation of this
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
141 new error code is:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
142
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
143 5yz Negative Completion
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
144 x2z Connections
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
145 xy2 Extended Port Failure - unknown network protocol
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
146
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
147 The text portion of the response MUST indicate which network
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
148 protocols the server does support. If the network protocol is
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
149 unsupported, the format of the response string MUST be:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
150
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
151 <text stating that the network protocol is unsupported> \
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
152 (prot1,prot2,...,protn)
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
153
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
154 Both the numeric code specified above and the protocol information
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
155 between the characters '(' and ')' are intended for the software
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
156 automata receiving the response; the textual message between the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
157 numeric code and the '(' is intended for the human user and can be
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
158 any arbitrary text, but MUST NOT include the characters '(' and ')'.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
159 In the above case, the text SHOULD indicate that the network protocol
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
160 in the EPRT command is not supported by the server. The list of
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
161 protocols inside the parenthesis MUST be a comma separated list of
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
162 address family numbers. Two example response strings follow:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
163
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
164 Network protocol not supported, use (1)
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
165
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
166 Network protocol not supported, use (1,2)
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
167
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
168
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
169
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
170 Allman, et. al. Standards Track [Page 3]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
171
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
172 RFC 2428 FTP Extensions for IPv6 and NATs September 1998
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
173
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
174
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
175 3. The EPSV Command
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
176
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
177 The EPSV command requests that a server listen on a data port and
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
178 wait for a connection. The EPSV command takes an optional argument.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
179 The response to this command includes only the TCP port number of the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
180 listening connection. The format of the response, however, is
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
181 similar to the argument of the EPRT command. This allows the same
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
182 parsing routines to be used for both commands. In addition, the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
183 format leaves a place holder for the network protocol and/or network
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
184 address, which may be needed in the EPSV response in the future. The
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
185 response code for entering passive mode using an extended address
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
186 MUST be 229. The interpretation of this code, according to [PR85]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
187 is:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
188
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
189 2yz Positive Completion
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
190 x2z Connections
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
191 xy9 Extended Passive Mode Entered
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
192
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
193 The text returned in response to the EPSV command MUST be:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
194
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
195 <text indicating server is entering extended passive mode> \
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
196 (<d><d><d><tcp-port><d>)
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
197
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
198 The portion of the string enclosed in parentheses MUST be the exact
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
199 string needed by the EPRT command to open the data connection, as
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
200 specified above.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
201
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
202 The first two fields contained in the parenthesis MUST be blank. The
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
203 third field MUST be the string representation of the TCP port number
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
204 on which the server is listening for a data connection. The network
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
205 protocol used by the data connection will be the same network
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
206 protocol used by the control connection. In addition, the network
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
207 address used to establish the data connection will be the same
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
208 network address used for the control connection. An example response
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
209 string follows:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
210
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
211 Entering Extended Passive Mode (|||6446|)
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
212
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
213 The standard negative error codes 500 and 501 are sufficient to
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
214 handle all errors involving the EPSV command (e.g., syntax errors).
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
215
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
216 When the EPSV command is issued with no argument, the server will
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
217 choose the network protocol for the data connection based on the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
218 protocol used for the control connection. However, in the case of
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
219 proxy FTP, this protocol might not be appropriate for communication
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
220 between the two servers. Therefore, the client needs to be able to
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
221 request a specific protocol. If the server returns a protocol that
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
222 is not supported by the host that will be connecting to the port, the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
223
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
224
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
225
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
226 Allman, et. al. Standards Track [Page 4]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
227
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
228 RFC 2428 FTP Extensions for IPv6 and NATs September 1998
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
229
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
230
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
231 client MUST issue an ABOR (abort) command to allow the server to
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
232 close down the listening connection. The client can then send an
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
233 EPSV command requesting the use of a specific network protocol, as
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
234 follows:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
235
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
236 EPSV<space><net-prt>
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
237
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
238 If the requested protocol is supported by the server, it SHOULD use
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
239 the protocol. If not, the server MUST return the 522 error messages
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
240 as outlined in section 2.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
241
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
242 Finally, the EPSV command can be used with the argument "ALL" to
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
243 inform Network Address Translators that the EPRT command (as well as
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
244 other data commands) will no longer be used. An example of this
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
245 command follows:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
246
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
247 EPSV<space>ALL
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
248
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
249 Upon receipt of an EPSV ALL command, the server MUST reject all data
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
250 connection setup commands other than EPSV (i.e., EPRT, PORT, PASV, et
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
251 al.). This use of the EPSV command is further explained in section
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
252 4.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
253
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
254 4. Command Usage
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
255
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
256 For all FTP transfers where the control and data connection(s) are
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
257 being established between the same two machines, the EPSV command
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
258 MUST be used. Using the EPSV command benefits performance of
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
259 transfers that traverse firewalls or Network Address Translators
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
260 (NATs). RFC 1579 [Bel94] recommends using the passive command when
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
261 behind firewalls since firewalls do not generally allow incoming
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
262 connections (which are required when using the PORT (EPRT) command).
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
263 In addition, using EPSV as defined in this document does not require
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
264 NATs to change the network address in the traffic as it is forwarded.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
265 The NAT would have to change the address if the EPRT command was
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
266 used. Finally, if the client issues an "EPSV ALL" command, NATs may
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
267 be able to put the connection on a "fast path" through the
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
268 translator, as the EPRT command will never be used and therefore,
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
269 translation of the data portion of the segments will never be needed.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
270 When a client only expects to do two-way FTP transfers, it SHOULD
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
271 issue this command as soon as possible. If a client later finds that
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
272 it must do a three-way FTP transfer after issuing an EPSV ALL
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
273 command, a new FTP session MUST be started.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
274
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
275
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
276
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
277
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
278
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
279
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
280
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
281
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
282 Allman, et. al. Standards Track [Page 5]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
283
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
284 RFC 2428 FTP Extensions for IPv6 and NATs September 1998
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
285
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
286
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
287 5. Security Issues
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
288
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
289 The authors do not believe that these changes to FTP introduce new
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
290 security problems. A companion Work in Progress [AO98] is a more
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
291 general discussion of FTP security issues and techniques to reduce
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
292 these security problems.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
293
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
294 6. Conclusions
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
295
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
296 The extensions specified in this paper will enable FTP to operate
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
297 over a variety of network protocols.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
298
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
299 References
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
300
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
301 [AO98] Allman, M., and S. Ostermann, "FTP Security
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
302 Considerations", Work in Progress.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
303
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
304 [Bel94] Bellovin, S., "Firewall-Friendly FTP", RFC 1579, February
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
305 1994.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
306
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
307 [Bra97] Bradner, S., "Key words for use in RFCs to Indicate
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
308 Requirement Levels", BCP 14, RFC 2119, March 1997.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
309
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
310 [DH96] Deering, S., and R. Hinden, "Internet Protocol, Version 6
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
311 (IPv6) Specification", RFC 1883, December 1995.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
312
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
313 [HD96] Hinden, R., and S. Deering, "IP Version 6 Addressing
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
314 Architecture", RFC 2373, July 1998.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
315
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
316 [Pis94] Piscitello, D., "FTP Operation Over Big Address Records
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
317 (FOOBAR)", RFC 1639, June 1994.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
318
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
319 [Pos81a] Postel, J., "Internet Protocol", STD 5, RFC 791, September
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
320 1981.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
321
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
322 [Pos81b] Postel, J., "Transmission Control Protocol", STD 7, RFC 793,
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
323 September 1981.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
324
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
325 [PR85] Postel, J., and J. Reynolds, "File Transfer Protocol (FTP)",
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
326 STD 9, RFC 959, October 1985.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
327
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
328 [RP94] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
329 1700, October 1994. See also:
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
330 http://www.iana.org/numbers.html
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
331
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
332
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
333
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
334
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
335
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
336
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
337
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
338 Allman, et. al. Standards Track [Page 6]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
339
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
340 RFC 2428 FTP Extensions for IPv6 and NATs September 1998
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
341
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
342
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
343 Authors' Addresses
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
344
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
345 Mark Allman
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
346 NASA Lewis Research Center/Sterling Software
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
347 21000 Brookpark Rd. MS 54-2
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
348 Cleveland, OH 44135
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
349
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
350 Phone: (216) 433-6586
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
351 EMail: mallman@lerc.nasa.gov
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
352 http://gigahertz.lerc.nasa.gov/~mallman/
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
353
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
354
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
355 Shawn Ostermann
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
356 School of Electrical Engineering and Computer Science
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
357 Ohio University
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
358 416 Morton Hall
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
359 Athens, OH 45701
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
360
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
361 Phone: (740) 593-1234
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
362 EMail: ostermann@cs.ohiou.edu
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
363
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
364
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
365 Craig Metz
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
366 The Inner Net
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
367 Box 10314-1954
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
368 Blacksburg, VA 24062-0314
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
369
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
370 Phone: (DSN) 754-8590
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
371 EMail: cmetz@inner.net
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
372
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
373
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
374
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
375
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
376
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
377
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
378
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
379
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
380
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
381
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
382
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
383
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
384
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
385
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
386
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
387
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
388
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
389
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
390
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
391
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
392
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
393
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
394 Allman, et. al. Standards Track [Page 7]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
395
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
396 RFC 2428 FTP Extensions for IPv6 and NATs September 1998
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
397
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
398
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
399 Full Copyright Statement
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
400
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
401 Copyright (C) The Internet Society (1998). All Rights Reserved.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
402
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
403 This document and translations of it may be copied and furnished to
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
404 others, and derivative works that comment on or otherwise explain it
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
405 or assist in its implementation may be prepared, copied, published
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
406 and distributed, in whole or in part, without restriction of any
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
407 kind, provided that the above copyright notice and this paragraph are
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
408 included on all such copies and derivative works. However, this
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
409 document itself may not be modified in any way, such as by removing
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
410 the copyright notice or references to the Internet Society or other
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
411 Internet organizations, except as needed for the purpose of
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
412 developing Internet standards in which case the procedures for
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
413 copyrights defined in the Internet Standards process must be
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
414 followed, or as required to translate it into languages other than
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
415 English.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
416
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
417 The limited permissions granted above are perpetual and will not be
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
418 revoked by the Internet Society or its successors or assigns.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
419
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
420 This document and the information contained herein is provided on an
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
421 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
422 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
423 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
424 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
425 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
426
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
427
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
428
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
429
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
430
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
431
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
432
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
433
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
434
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
435
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
436
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
437
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
438
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
439
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
440
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
441
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
442
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
443
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
444
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
445
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
446
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
447
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
448
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
449
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
450 Allman, et. al. Standards Track [Page 8]
e60a6ec4aa85 2004-7-12 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
451