rfc4644.txt 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788
  1. Network Working Group J. Vinocur
  2. Request for Comments: 4644 Cornell University
  3. Updates: 2980 K. Murchison
  4. Category: Standards Track Carnegie Mellon University
  5. October 2006
  6. Network News Transfer Protocol (NNTP) Extension for Streaming Feeds
  7. Status of This Memo
  8. This document specifies an Internet standards track protocol for the
  9. Internet community, and requests discussion and suggestions for
  10. improvements. Please refer to the current edition of the "Internet
  11. Official Protocol Standards" (STD 1) for the standardization state
  12. and status of this protocol. Distribution of this memo is unlimited.
  13. Copyright Notice
  14. Copyright (C) The Internet Society (2006).
  15. Abstract
  16. This memo defines an extension to the Network News Transfer Protocol
  17. (NNTP) to provide asynchronous (otherwise known as "streaming")
  18. transfer of articles. This allows servers to transfer articles to
  19. other servers with much greater efficiency.
  20. This document updates and formalizes the CHECK and TAKETHIS commands
  21. specified in RFC 2980 and deprecates the MODE STREAM command.
  22. Table of Contents
  23. 1. Introduction ....................................................2
  24. 1.1. Conventions Used in this Document ..........................2
  25. 2. The STREAMING Extension .........................................3
  26. 2.1. Streaming Article Transfer .................................3
  27. 2.2. Advertising the STREAMING Extension ........................4
  28. 2.3. MODE STREAM Command ........................................5
  29. 2.3.1. Usage ...............................................5
  30. 2.3.2. Description .........................................5
  31. 2.3.3. Examples ............................................5
  32. 2.4. CHECK Command ..............................................6
  33. 2.4.1. Usage ...............................................6
  34. 2.4.2. Description .........................................6
  35. 2.4.3. Examples ............................................6
  36. 2.5. TAKETHIS Command ...........................................7
  37. Vinocur & Murchison Standards Track [Page 1]
  38. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  39. 2.5.1. Usage ...............................................7
  40. 2.5.2. Description .........................................7
  41. 2.5.3. Examples ............................................8
  42. 3. Augmented BNF Syntax for the STREAMING Extension ................9
  43. 3.1. Commands ...................................................9
  44. 3.2. Command Datastream .........................................9
  45. 3.3. Responses .................................................10
  46. 3.4. Capability Entries ........................................10
  47. 4. Summary of Response Codes ......................................10
  48. 5. Security Considerations ........................................11
  49. 6. IANA Considerations ............................................11
  50. 7. Acknowledgements ...............................................12
  51. 8. References .....................................................12
  52. 8.1. Normative References ......................................12
  53. 8.2. Informative References ....................................12
  54. 1. Introduction
  55. According to the NNTP specification [NNTP], a peer uses the IHAVE
  56. command to query whether a server wants a particular article.
  57. Because the IHAVE command cannot be pipelined, the need to stop and
  58. wait for the remote end's response greatly restricts the throughput
  59. that can be achieved.
  60. The ad-hoc CHECK and TAKETHIS commands, originally documented in
  61. [NNTP-COMMON], provide an alternative method of peer-to-peer article
  62. transfer that permits a more effective use of network bandwidth. Due
  63. to their proven usefulness and wide deployment, they are formalized
  64. in this specification.
  65. The ad-hoc MODE STREAM command, also documented in [NNTP-COMMON], is
  66. deprecated by this specification, but due to its ubiquity is
  67. documented here for backwards compatibility.
  68. 1.1. Conventions Used in this Document
  69. The notational conventions used in this document are the same as
  70. those in [NNTP] and any term not defined in this document has the
  71. same meaning as in that one.
  72. The key words "REQUIRED", "MUST", "MUST NOT", "SHOULD", "SHOULD NOT",
  73. "MAY", and "OPTIONAL" in this document are to be interpreted as
  74. described in "Key words for use in RFCs to Indicate Requirement
  75. Levels" [KEYWORDS].
  76. Vinocur & Murchison Standards Track [Page 2]
  77. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  78. This document assumes you familiarity with NNTP [NNTP]. In general,
  79. the connections described below are from one peer to another, but we
  80. will continue to use "client" to mean the initiator of the NNTP
  81. connection, and "server" to mean the other endpoint.
  82. In the examples, commands from the client are indicated with [C], and
  83. responses from the server are indicated with [S].
  84. 2. The STREAMING Extension
  85. This extension provides three new commands: MODE STREAM, CHECK, and
  86. TAKETHIS. The capability label for this extension is STREAMING.
  87. 2.1. Streaming Article Transfer
  88. The STREAMING extension provides the same functionality as the IHAVE
  89. command ([NNTP] section 6.3.2) but splits the query and transfer
  90. functionality into the CHECK and TAKETHIS commands respectively.
  91. This allows the CHECK and TAKETHIS commands to be pipelined ([NNTP]
  92. section 3.5) and provides for "streaming" article transfer.
  93. A streaming client will often pipeline many CHECK commands and use
  94. the responses to construct a list of articles to be sent by a
  95. pipelined sequence of TAKETHIS commands, thus increasing the fraction
  96. of time spent transferring articles. The CHECK and TAKETHIS commands
  97. utilize distinct response codes so that these commands can be
  98. intermingled in a pipeline and the response to any single command can
  99. be definitively identified by the client.
  100. The client MAY send articles via TAKETHIS without first querying the
  101. server with CHECK. The client SHOULD NOT send every article in this
  102. fashion unless explicitly configured to do so by the site
  103. administrator based on out-of-band information. However, the client
  104. MAY use an adaptive strategy where it initially sends CHECK commands
  105. for all articles, but switches to using TAKETHIS without CHECK if
  106. most articles are being accepted (over 95% acceptance might be a
  107. reasonable metric in some configurations). If the client uses such a
  108. strategy, it SHOULD also switch back to using CHECK on all articles
  109. if the acceptance rate ever falls much below the threshold.
  110. Vinocur & Murchison Standards Track [Page 3]
  111. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  112. 2.2. Advertising the STREAMING Extension
  113. A server supporting the streaming commands described in this document
  114. will advertise the "STREAMING" capability label in response to the
  115. CAPABILITIES command ([NNTP] section 5.2). The server MUST continue
  116. to advertise this capability after a client has issued the MODE
  117. STREAM command. This capability MAY be advertised both before and
  118. after any use of the MODE READER command ([NNTP] section 5.3), with
  119. the same semantics.
  120. Example of a client using CAPABILITIES and MODE STREAM on a mode-
  121. switching server:
  122. [C] CAPABILITIES
  123. [S] 101 Capability list:
  124. [S] VERSION 2
  125. [S] MODE-READER
  126. [S] IHAVE
  127. [S] LIST ACTIVE
  128. [S] STREAMING
  129. [S] .
  130. [C] MODE STREAM
  131. [S] 203 Streaming permitted
  132. [C] CAPABILITIES
  133. [S] 101 Capability list:
  134. [S] VERSION 2
  135. [S] MODE-READER
  136. [S] IHAVE
  137. [S] LIST ACTIVE
  138. [S] STREAMING
  139. [S] .
  140. [C] MODE READER
  141. [S] 200 Posting allowed
  142. [C] CAPABILITIES
  143. [S] 101 Capability list:
  144. [S] VERSION 2
  145. [S] READER
  146. [S] POST
  147. [S] LIST ACTIVE NEWSGROUPS HEADERS
  148. [S] HDR
  149. [S] .
  150. Vinocur & Murchison Standards Track [Page 4]
  151. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  152. 2.3. MODE STREAM Command
  153. Historically this command was used by a client to discover if a
  154. server supported the CHECK and TAKETHIS commands. This command is
  155. deprecated in favor of the CAPABILITIES discovery command and is only
  156. provided here for compatibility with legacy implementations
  157. [NNTP-COMMON] of these transport commands.
  158. New clients SHOULD use the CAPABILITIES command to check a server for
  159. support of the STREAMING extension but MAY use the MODE STREAM
  160. command for backwards compatibility with legacy servers that don't
  161. support the CAPABILITIES discovery command. Servers MUST accept the
  162. MODE STREAM command for backwards compatibility with legacy clients
  163. that don't use the CAPABILITIES discovery command.
  164. NOTE: This command may be removed from a future version of this
  165. specification, therefore clients are urged to transition to the
  166. CAPABILITIES command wherever possible.
  167. 2.3.1. Usage
  168. Syntax
  169. MODE STREAM
  170. Responses
  171. 203 Streaming permitted
  172. 2.3.2. Description
  173. If a server supports this extension, it MUST return a 203 response to
  174. the MODE STREAM command (or 501 if an argument is given). The MODE
  175. STREAM command MUST NOT affect the server state in any way (that is,
  176. it is not a mode change despite the name), therefore this command MAY
  177. be pipelined. A server MUST NOT require that the MODE STREAM command
  178. be issued by the client before accepting the CHECK or TAKETHIS
  179. commands.
  180. 2.3.3. Examples
  181. Example of a client checking the ability to stream articles on a
  182. server which does not support this extension:
  183. [C] MODE STREAM
  184. [S] 501 Unknown MODE variant
  185. Example of a client checking the ability to stream articles on a
  186. server which supports this extension:
  187. Vinocur & Murchison Standards Track [Page 5]
  188. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  189. [C] MODE STREAM
  190. [S] 203 Streaming permitted
  191. 2.4. CHECK Command
  192. 2.4.1. Usage
  193. Syntax
  194. CHECK message-id
  195. Responses
  196. 238 message-id Send article to be transferred
  197. 431 message-id Transfer not possible; try again later
  198. 438 message-id Article not wanted
  199. Parameters
  200. message-id = Article message-id
  201. The first parameter of the 238, 431, and 438 responses MUST be the
  202. message-id provided by the client as the parameter to CHECK.
  203. 2.4.2. Description
  204. The CHECK command informs the server that the client has an article
  205. with the specified message-id. If the server desires a copy of that
  206. article, a 238 response MUST be returned, indicating that the client
  207. may send the article using the TAKETHIS command. If the server does
  208. not want the article (if, for example, the server already has a copy
  209. of it), a 438 response MUST be returned, indicating that the article
  210. is not wanted. Finally, if the article isn't wanted immediately but
  211. the client should retry later if possible (if, for example, another
  212. client has offered to send the same article to the server), a 431
  213. response MUST be returned.
  214. NOTE: The responses to CHECK are advisory; the server MUST NOT rely
  215. on the client to behave as requested by these responses.
  216. 2.4.3. Examples
  217. Example of a client checking whether the server would like a set of
  218. articles and getting a mixture of responses:
  219. [C] CHECK <i.am.an.article.you.will.want@example.com>
  220. [S] 238 <i.am.an.article.you.will.want@example.com>
  221. [C] CHECK <i.am.an.article.you.have@example.com>
  222. [S] 438 <i.am.an.article.you.have@example.com>
  223. [C] CHECK <i.am.an.article.you.defer@example.com>
  224. [S] 431 <i.am.an.article.you.defer@example.com>
  225. Vinocur & Murchison Standards Track [Page 6]
  226. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  227. Example of pipelining the CHECK commands in the previous example:
  228. [C] CHECK <i.am.an.article.you.will.want@example.com>
  229. [C] CHECK <i.am.an.article.you.have@example.com>
  230. [C] CHECK <i.am.an.article.you.defer@example.com>
  231. [S] 238 <i.am.an.article.you.will.want@example.com>
  232. [S] 438 <i.am.an.article.you.have@example.com>
  233. [S] 431 <i.am.an.article.you.defer@example.com>
  234. 2.5. TAKETHIS Command
  235. 2.5.1. Usage
  236. A client MUST NOT use this command unless the server advertises the
  237. STREAMING capability or returns a 203 response to the MODE STREAM
  238. command.
  239. Syntax
  240. TAKETHIS message-id
  241. Responses
  242. 239 message-id Article transferred OK
  243. 439 message-id Transfer rejected; do not retry
  244. Parameters
  245. message-id = Article message-id
  246. The first parameter of the 239 and 439 responses MUST be the
  247. message-id provided by the client as the parameter to TAKETHIS.
  248. 2.5.2. Description
  249. The TAKETHIS command is used to send an article with the specified
  250. message-id to the server. The article is sent immediately following
  251. the CRLF at the end of the TAKETHIS command line. The client MUST
  252. send the entire article, including headers and body, to the server as
  253. a multi-line data block ([NNTP] section 3.1.1). Thus, a single dot
  254. (".") on a line indicates the end of the text, and lines starting
  255. with a dot in the original text have that dot doubled during
  256. transmission. The server MUST return either a 239 response,
  257. indicating that the article was successfully transferred, or a 439
  258. response, indicating that the article was rejected. If the server
  259. encounters a temporary error that prevents it from processing the
  260. article but does not want to reject the article, it MUST reply with a
  261. 400 response to the client and close the connection.
  262. This function differs from the POST command in that it is intended
  263. for use in transferring already-posted articles between hosts. It
  264. Vinocur & Murchison Standards Track [Page 7]
  265. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  266. SHOULD NOT be used when the client is a personal news-reading
  267. program, since use of this command indicates that the article has
  268. already been posted at another site and is simply being forwarded
  269. from another host. However, despite this, the server MAY elect not
  270. to post or forward the article if, after further examination of the
  271. article, it deems it inappropriate to do so. Reasons for such
  272. subsequent rejection of an article may include problems such as
  273. inappropriate newsgroups or distributions, disk space limitations,
  274. article lengths, garbled headers, and the like. These are typically
  275. restrictions enforced by the server host's news software and not
  276. necessarily by the NNTP server itself.
  277. The client SHOULD NOT assume that the article has been successfully
  278. transferred unless it receives an affirmative response from the
  279. server. A lack of response (such as a dropped network connection or
  280. a network timeout) or a 400 response SHOULD be treated as a temporary
  281. failure and cause the transfer to be tried again later if possible.
  282. Because some news server software may not immediately be able to
  283. determine whether an article is suitable for posting or forwarding,
  284. an NNTP server MAY acknowledge the successful transfer of the article
  285. (with a 239 response) but later silently discard it.
  286. 2.5.3. Examples
  287. Example of streaming two articles to another site (the first article
  288. is accepted and the second is rejected):
  289. [C] TAKETHIS <i.am.an.article.you.will.want@example.com>
  290. [C] Path: pathost!demo!somewhere!not-for-mail
  291. [C] From: "Demo User" <nobody@example.com>
  292. [C] Newsgroups: misc.test
  293. [C] Subject: I am just a test article
  294. [C] Date: 6 Oct 1998 04:38:40 -0500
  295. [C] Organization: An Example Com, San Jose, CA
  296. [C] Message-ID: <i.am.an.article.you.will.want@example.com>
  297. [C]
  298. [C] This is just a test article.
  299. [C] .
  300. [C] TAKETHIS <i.am.an.article.you.have@example.com>
  301. [C] Path: pathost!demo!somewhere!not-for-mail
  302. [C] From: "Demo User" <nobody@example.com>
  303. [C] Newsgroups: misc.test
  304. [C] Subject: I am just a test article
  305. [C] Date: 6 Oct 1998 04:38:40 -0500
  306. [C] Organization: An Example Com, San Jose, CA
  307. [C] Message-ID: <i.am.an.article.you.have@example.com>
  308. [C]
  309. Vinocur & Murchison Standards Track [Page 8]
  310. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  311. [C] This is just a test article.
  312. [C] .
  313. [S] 239 <i.am.an.article.you.will.want@example.com>
  314. [S] 439 <i.am.an.article.you.have@example.com>
  315. Example of sending an article to a site where the transfer fails:
  316. [C] TAKETHIS <i.am.an.article.you.will.want@example.com>
  317. [C] Path: pathost!demo!somewhere!not-for-mail
  318. [C] From: "Demo User" <nobody@example.com>
  319. [C] Newsgroups: misc.test
  320. [C] Subject: I am just a test article
  321. [C] Date: 6 Oct 1998 04:38:40 -0500
  322. [C] Organization: An Example Com, San Jose, CA
  323. [C] Message-ID: <i.am.an.article.you.will.want@example.com>
  324. [C]
  325. [C] This is just a test article.
  326. [C] .
  327. [S] 400 Service temporarily unavailable
  328. [Server closes connection.]
  329. 3. Augmented BNF Syntax for the STREAMING Extension
  330. This section describes the formal syntax of the STREAMING extension
  331. using ABNF [ABNF]. It extends the syntax in section 9 of [NNTP], and
  332. non-terminals not defined in this document are defined there. The
  333. [NNTP] ABNF should be imported first before attempting to validate
  334. these rules.
  335. 3.1. Commands
  336. This syntax extends the non-terminal "command", which represents an
  337. NNTP command.
  338. command =/ check-command /
  339. mode-stream-command /
  340. takethis-command
  341. check-command = "CHECK" WS message-id
  342. mode-stream-command = "MODE" WS "STREAM"
  343. takethis-command = "TAKETHIS" WS message-id
  344. 3.2. Command Datastream
  345. This syntax extends the non-terminal "command-datastream", which
  346. represents the further material sent by the client in the case of
  347. streaming commands.
  348. Vinocur & Murchison Standards Track [Page 9]
  349. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  350. command-datastream =/ takethis-datastream
  351. takethis-datastream = encoded-article
  352. 3.3. Responses
  353. This syntax extends the non-terminal "initial-response-content",
  354. which represents an initial response line sent by the server.
  355. initial-response-content =/ response-238-content /
  356. response-239-content /
  357. response-431-content /
  358. response-438-content /
  359. response-439-content
  360. response-238-content = "238" SP message-id
  361. response-239-content = "239" SP message-id
  362. response-431-content = "431" SP message-id
  363. response-438-content = "438" SP message-id
  364. response-439-content = "439" SP message-id
  365. 3.4. Capability Entries
  366. This syntax extends the non-terminal "capability-entry", which
  367. represents a capability that may be advertised by the server.
  368. capability-entry =/ streaming-capability
  369. streaming-capability = "STREAMING"
  370. 4. Summary of Response Codes
  371. This section contains a list of each new response code defined in
  372. this document and indicates whether it is multi-line, which commands
  373. can generate it, what arguments it has, and what its meaning is.
  374. Response code 203
  375. Generated by: MODE STREAM
  376. Meaning: streaming permitted.
  377. Response code 238
  378. Generated by: CHECK
  379. 1 argument: message-id
  380. Meaning: send article to be transferred.
  381. Vinocur & Murchison Standards Track [Page 10]
  382. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  383. Response code 239
  384. Generated by: TAKETHIS
  385. 1 argument: message-id
  386. Meaning: article transferred OK.
  387. Response code 431
  388. Generated by: CHECK
  389. 1 argument: message-id
  390. Meaning: transfer not possible; try again later.
  391. Response code 438
  392. Generated by: CHECK
  393. 1 argument: message-id
  394. Meaning: article not wanted.
  395. Response code 439
  396. Generated by: TAKETHIS
  397. 1 argument: message-id
  398. Meaning: transfer rejected; do not retry.
  399. 5. Security Considerations
  400. No new security considerations are introduced by this extension,
  401. beyond those already described in the core specification [NNTP].
  402. 6. IANA Considerations
  403. This section gives a formal definition of the STREAMING extension as
  404. required by Section 3.3.3 of [NNTP] for the IANA registry.
  405. o The STREAMING extension provides for streaming transfer of
  406. articles.
  407. o The capability label for this extension is "STREAMING".
  408. o The capability label has no arguments.
  409. o The extension defines three new commands, MODE STREAM, CHECK, and
  410. TAKETHIS, whose behavior, arguments, and responses are defined in
  411. Sections 2.3, 2.4, and 2.5 respectively.
  412. o The extension does not associate any new responses with pre-
  413. existing NNTP commands.
  414. o The extension does not affect the behavior of a server or client
  415. other than via the new commands.
  416. Vinocur & Murchison Standards Track [Page 11]
  417. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  418. o The extension does not affect the maximum length of commands or
  419. initial response lines.
  420. o The extension does not alter pipelining, and the MODE STREAM,
  421. CHECK, and TAKETHIS commands can be pipelined.
  422. o Use of this extension does not alter the capabilities list.
  423. o The extension does not cause any pre-existing command to produce a
  424. 401, 480, or 483 response.
  425. o Use of the MODE READER command on a mode-switching server may
  426. disable this extension.
  427. o Published Specification: This document.
  428. o Contact for Further Information: Authors of this document.
  429. o Change Controller: IESG <iesg@ietf.org>.
  430. 7. Acknowledgements
  431. This document is based heavily on the relevant sections of RFC 2980
  432. [NNTP-COMMON], by Stan Barber.
  433. Special acknowledgement also goes to Russ Allbery, Clive Feather,
  434. Andrew Gierth, and others who commented privately on intermediate
  435. revisions of this document, as well as the members of the IETF NNTP
  436. Working Group for continual (yet sporadic) insight in discussion.
  437. 8. References
  438. 8.1. Normative References
  439. [ABNF] Crocker, D., Ed. and P. Overell, "Augmented BNF for
  440. Syntax Specifications: ABNF", RFC 4234, October 2005.
  441. [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
  442. Requirement Levels", BCP 14, RFC 2119, March 1997.
  443. [NNTP] Feather, C., "Network News Transfer Protocol (NNTP)",
  444. RFC 3977, October 2006.
  445. 8.2. Informative References
  446. [NNTP-COMMON] Barber, S., "Common NNTP Extensions", RFC 2980, October
  447. 2000.
  448. Vinocur & Murchison Standards Track [Page 12]
  449. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  450. Authors' Addresses
  451. Jeffrey M. Vinocur
  452. Department of Computer Science
  453. Upson Hall
  454. Cornell University
  455. Ithaca, NY 14853
  456. EMail: vinocur@cs.cornell.edu
  457. Kenneth Murchison
  458. Carnegie Mellon University
  459. 5000 Forbes Avenue
  460. Cyert Hall 285
  461. Pittsburgh, PA 15213 USA
  462. EMail: murch@andrew.cmu.edu
  463. Vinocur & Murchison Standards Track [Page 13]
  464. RFC 4644 NNTP Extension for Streaming Feeds October 2006
  465. Full Copyright Statement
  466. Copyright (C) The Internet Society (2006).
  467. This document is subject to the rights, licenses and restrictions
  468. contained in BCP 78, and except as set forth therein, the authors
  469. retain all their rights.
  470. This document and the information contained herein are provided on an
  471. "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
  472. OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
  473. ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
  474. INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
  475. INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
  476. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  477. Intellectual Property
  478. The IETF takes no position regarding the validity or scope of any
  479. Intellectual Property Rights or other rights that might be claimed to
  480. pertain to the implementation or use of the technology described in
  481. this document or the extent to which any license under such rights
  482. might or might not be available; nor does it represent that it has
  483. made any independent effort to identify any such rights. Information
  484. on the procedures with respect to rights in RFC documents can be
  485. found in BCP 78 and BCP 79.
  486. Copies of IPR disclosures made to the IETF Secretariat and any
  487. assurances of licenses to be made available, or the result of an
  488. attempt made to obtain a general license or permission for the use of
  489. such proprietary rights by implementers or users of this
  490. specification can be obtained from the IETF on-line IPR repository at
  491. http://www.ietf.org/ipr.
  492. The IETF invites any interested party to bring to its attention any
  493. copyrights, patents or patent applications, or other proprietary
  494. rights that may cover technology that may be required to implement
  495. this standard. Please address the information to the IETF at ietf-
  496. ipr@ietf.org.
  497. Acknowledgement
  498. Funding for the RFC Editor function is provided by the IETF
  499. Administrative Support Activity (IASA).
  500. Vinocur & Murchison Standards Track [Page 14]