Moving some QVFB stuff out of the configure script and into .pro files
[qt-netbsd.git] / tests / auto / qftp / rfc3252.txt
blobb80c61bf0a1dc4bf28d25901114632c05fd88d1c
7 Network Working Group                                         H. Kennedy
8 Request for Comments: 3252                                      Mimezine
9 Category: Informational                                     1 April 2002
12                  Binary Lexical Octet Ad-hoc Transport
14 Status of this Memo
16    This memo provides information for the Internet community.  It does
17    not specify an Internet standard of any kind.  Distribution of this
18    memo is unlimited.
20 Copyright Notice
22    Copyright (C) The Internet Society (2002).  All Rights Reserved.
24 Abstract
26    This document defines a reformulation of IP and two transport layer
27    protocols (TCP and UDP) as XML applications.
29 1.   Introduction
31 1.1. Overview
33    This document describes the Binary Lexical Octet Ad-hoc Transport
34    (BLOAT): a reformulation of a widely-deployed network-layer protocol
35    (IP [RFC791]), and two associated transport layer protocols (TCP
36    [RFC793] and UDP [RFC768]) as XML [XML] applications.  It also
37    describes methods for transporting BLOAT over Ethernet and IEEE 802
38    networks as well as encapsulating BLOAT in IP for gatewaying BLOAT
39    across the public Internet.
41 1.2. Motivation
43    The wild popularity of XML as a basis for application-level protocols
44    such as the Blocks Extensible Exchange Protocol [RFC3080], the Simple
45    Object Access Protocol [SOAP], and Jabber [JABBER] prompted
46    investigation into the possibility of extending the use of XML in the
47    protocol stack.  Using XML at both the transport and network layer in
48    addition to the application layer would provide for an amazing amount
49    of power and flexibility while removing dependencies on proprietary
50    and hard-to-understand binary protocols.  This protocol unification
51    would also allow applications to use a single XML parser for all
52    aspects of their operation, eliminating developer time spent figuring
53    out the intricacies of each new protocol, and moving the hard work of
58 Kennedy                      Informational                      [Page 1]
60 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
63    parsing to the XML toolset.  The use of XML also mitigates concerns
64    over "network vs. host" byte ordering which is at the root of many
65    network application bugs.
67 1.3. Relation to Existing Protocols
69    The reformulations specified in this RFC follow as closely as
70    possible the spirit of the RFCs on which they are based, and so MAY
71    contain elements or attributes that would not be needed in a pure
72    reworking (e.g. length attributes, which are implicit in XML.)
74    The layering of network and transport protocols are maintained in
75    this RFC despite the optimizations that could be made if the line
76    were somewhat blurred (i.e. merging TCP and IP into a single, larger
77    element in the DTD) in order to foster future use of this protocol as
78    a basis for reformulating other protocols (such as ICMP.)
80    Other than the encoding, the behavioral aspects of each of the
81    existing protocols remain unchanged.  Routing, address spaces, TCP
82    congestion control, etc. behave as specified in the extant standards.
83    Adapting to new standards and experimental algorithm heuristics for
84    improving performance will become much easier once the move to BLOAT
85    has been completed.
87 1.4. Requirement Levels
89    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
90    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
91    document are to be interpreted as described in BCP 14, RFC 2119
92    [RFC2119].
94 2.   IPoXML
96    This protocol MUST be implemented to be compliant with this RFC.
97    IPoXML is the root protocol REQUIRED for effective use of TCPoXML
98    (section 3.) and higher-level application protocols.
100    The DTD for this document type can be found in section 7.1.
102    The routing of IPoXML can be easily implemented on hosts with an XML
103    parser, as the regular structure lends itself handily to parsing and
104    validation of the document/datagram and then processing the
105    destination address, TTL, and checksum before sending it on to its
106    next-hop.
108    The reformulation of IPv4 was chosen over IPv6 [RFC2460] due to the
109    wider deployment of IPv4 and the fact that implementing IPv6 as XML
110    would have exceeded the 1500 byte Ethernet MTU.
114 Kennedy                      Informational                      [Page 2]
116 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
119    All BLOAT implementations MUST use - and specify - the UTF-8 encoding
120    of RFC 2279 [RFC2279].  All BLOAT document/datagrams MUST be well-
121    formed and include the XMLDecl.
123 2.1. IP Description
125    A number of items have changed (for the better) from the original IP
126    specification.  Bit-masks, where present have been converted into
127    human-readable values.  IP addresses are listed in their dotted-
128    decimal notation [RFC1123].  Length and checksum values are present
129    as decimal integers.
131    To calculate the length and checksum fields of the IP element, a
132    canonicalized form of the element MUST be used.  The canonical form
133    SHALL have no whitespace (including newline characters) between
134    elements and only one space character between attributes.  There
135    SHALL NOT be a space following the last attribute in an element.
137    An iterative method SHOULD be used to calculate checksums, as the
138    length field will vary based on the size of the checksum.
140    The payload element bears special attention.  Due to the character
141    set restrictions of XML, the payload of IP datagrams (which MAY
142    contain arbitrary data) MUST be encoded for transport. This RFC
143    REQUIRES the contents of the payload to be encoded in the base-64
144    encoding of RFC 2045 [RFC2045], but removes the requirement that the
145    encoded output MUST be wrapped on 76-character lines.
170 Kennedy                      Informational                      [Page 3]
172 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
175 2.2. Example Datagram
177    The following is an example IPoXML datagram with an empty payload:
179    <?xml version="1.0" encoding="UTF-8"?>
180    <!DOCTYPE ip PUBLIC "-//IETF//DTD BLOAT 1.0 IP//EN" "bloat.dtd">
181    <ip>
182    <header length="474">
183    <version value="4"/>
184    <tos precedence="Routine" delay="Normal" throughput="Normal"
185         relibility="Normal" reserved="0"/>
186    <total.length value="461"/>
187    <id value="1"/>
188    <flags reserved="0" df="dont" mf="last"/>
189    <offset value="0"/>
190    <ttl value="255"/>
191    <protocol value="6"/>
192    <checksum value="8707"/>
193    <source address="10.0.0.22"/>
194    <destination address="10.0.0.1"/>
195    <options>
196    <end copied="0" class="0" number="0"/>
197    </options>
198    <padding pad="0"/>
199    </header>
200    <payload>
201    </payload>
202    </ip>
204 3.   TCPoXML
206    This protocol MUST be implemented to be compliant with this RFC.  The
207    DTD for this document type can be found in section 7.2.
209 3.1. TCP Description
211    A number of items have changed from the original TCP specification.
212    Bit-masks, where present have been converted into human-readable
213    values.  Length and checksum and port values are present as decimal
214    integers.
216    To calculate the length and checksum fields of the TCP element, a
217    canonicalized form of the element MUST be used as in section 2.1.
219    An iterative method SHOULD be used to calculate checksums as in
220    section 2.1.
222    The payload element MUST be encoded as in section 2.1.
226 Kennedy                      Informational                      [Page 4]
228 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
231    The TCP offset element was expanded to a maximum of 255 from 16 to
232    allow for the increased size of the header in XML.
234    TCPoXML datagrams encapsulated by IPoXML MAY omit the <?xml?> header
235    as well as the <!DOCTYPE> declaration.
237 3.2. Example Datagram
239    The following is an example TCPoXML datagram with an empty payload:
241    <?xml version="1.0" encoding="UTF-8"?>
242    <!DOCTYPE tcp PUBLIC "-//IETF//DTD BLOAT 1.0 TCP//EN" "bloat.dtd">
243    <tcp>
244    <tcp.header>
245    <src port="31415"/>
246    <dest port="42424"/>
247    <sequence number="322622954"/>
248    <acknowledgement number="689715995"/>
249    <offset number=""/>
250    <reserved value="0"/>
251    <control syn="1" ack="1"/>
252    <window size="1"/>
253    <urgent pointer="0"/>
254    <checksum value="2988"/>
255    <tcp.options>
256    <tcp.end kind="0"/>
257    </tcp.options>
258    <padding pad="0"/>
259    </tcp.header>
260    <payload>
261    </payload>
262    </tcp>
264 4.   UDPoXML
266    This protocol MUST be implemented to be compliant with this RFC.  The
267    DTD for this document type can be found in section 7.3.
269 4.1. UDP Description
271    A number of items have changed from the original UDP specification.
272    Bit-masks, where present have been converted into human-readable
273    values.  Length and checksum and port values are present as decimal
274    integers.
282 Kennedy                      Informational                      [Page 5]
284 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
287    To calculate the length and checksum fields of the UDP element, a
288    canonicalized form of the element MUST be used as in section 2.1.  An
289    iterative method SHOULD be used to calculate checksums as in section
290    2.1.
292    The payload element MUST be encoded as in section 2.1.
294    UDPoXML datagrams encapsulated by IPoXML MAY omit the <?xml?> header
295    as well as the <!DOCTYPE> declaration.
297 4.2. Example Datagram
299    The following is an example UDPoXML datagram with an empty payload:
301    <?xml version="1.0" encoding="UTF-8"?>
302    <!DOCTYPE udp PUBLIC "-//IETF//DTD BLOAT 1.0 UDP//EN" "bloat.dtd">
303    <udp>
304    <udp.header>
305    <src port="31415"/>
306    <dest port="42424"/>
307    <udp.length value="143"/>
308    <checksum value="2988"/>
309    </udp.header>
310    <payload>
311    </payload>
312    </udp>
314 5.   Network Transport
316    This document provides for the transmission of BLOAT datagrams over
317    two common families of physical layer transport.  Future RFCs will
318    address additional transports as routing vendors catch up to the
319    specification, and we begin to see BLOAT routed across the Internet
320    backbone.
322 5.1. Ethernet
324    BLOAT is encapsulated in Ethernet datagrams as in [RFC894] with the
325    exception that the type field of the Ethernet frame MUST contain the
326    value 0xBEEF.  The first 5 octets of the Ethernet frame payload will
327    be 0x3c 3f 78 6d 6c ("<?xml".)
329 5.2. IEEE 802
331    BLOAT is encapsulated in IEEE 802 Networks as in [RFC1042] except
332    that the protocol type code for IPoXML is 0xBEEF.
338 Kennedy                      Informational                      [Page 6]
340 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
343 6. Gatewaying over IP
345    In order to facilitate the gradual introduction of BLOAT into the
346    public Internet, BLOAT MAY be encapsulated in IP as in [RFC2003] to
347    gateway between networks that run BLOAT natively on their LANs.
349 7. DTDs
351    The Transport DTDs (7.2. and 7.3.) build on the definitions in the
352    Network DTD (7.1.)
354    The DTDs are referenced by their PubidLiteral and SystemLiteral (from
355    [XML]) although it is understood that most IPoXML implementations
356    will not need to pull down the DTD, as it will normally be embedded
357    in the implementation, and presents something of a catch-22 if you
358    need to load part of your network protocol over the network.
360 7.1.  IPoXML DTD
362    <!--
363     DTD for IP over XML.
364     Refer to this DTD as:
366     <!DOCTYPE ip PUBLIC "-//IETF//DTD BLOAT 1.0 IP//EN" "bloat.dtd">
367    -->
368    <!--
369     DTD data types:
371       Digits      [0..9]+
373       Precedence  "NetworkControl | InternetworkControl |
374                    CRITIC | FlashOverride | Flash | Immediate |
375                    Priority | Routine"
377       IP4Addr     "dotted-decimal" notation of [RFC1123]
379       Class       [0..3]
381       Sec          "Unclassified | Confidential | EFTO | MMMM | PROG |
382                     Restricted | Secret | Top Secret | Reserved"
384       Compartments [0..65535]
386       Handling     [0..65535]
388       TCC          [0..16777216]
390    -->
394 Kennedy                      Informational                      [Page 7]
396 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
399    <!ENTITY % Digits "CDATA">
400    <!ENTITY % Precedence "CDATA">
401    <!ENTITY % IP4Addr "CDATA">
402    <!ENTITY % Class "CDATA">
403    <!ENTITY % Sec "CDATA">
404    <!ENTITY % Compartments "CDATA">
405    <!ENTITY % Handling "CDATA">
406    <!ENTITY % TCC "CDATA">
408    <!ELEMENT ip (header, payload)>
410    <!ELEMENT header (version, tos, total.length, id, flags, offset, ttl,
411                     protocol, checksum, source, destination, options,
412                     padding)>
413    <!-- length of header in 32-bit words -->
414    <!ATTLIST header
415              length %Digits; #REQUIRED>
417    <!ELEMENT version EMPTY>
418    <!-- ip version. SHOULD be "4" -->
419    <!ATTLIST version
420              value   %Digits;  #REQUIRED>
422    <!ELEMENT tos EMPTY>
423    <!ATTLIST tos
424              precedence   %Precedence;    #REQUIRED
425              delay    (normal | low)  #REQUIRED
426              throughput   (normal | high) #REQUIRED
427              relibility   (normal | high) #REQUIRED
428              reserved     CDATA #FIXED "0">
430    <!ELEMENT total.length EMPTY>
431    <!--
432     total length of datagram (header and payload) in octets, MUST be
433     less than 65,535 (and SHOULD be less than 1024 for IPoXML on local
434     ethernets).
435    -->
436    <!ATTLIST total.length
437              value %Digits; #REQUIRED>
439    <!ELEMENT id EMPTY>
440    <!-- 0 <= id <= 65,535  -->
441    <!ATTLIST id
442              value %Digits; #REQUIRED>
444    <!ELEMENT flags EMPTY>
445    <!-- df = don't fragment, mf = more fragments  -->
446    <!ATTLIST flags
450 Kennedy                      Informational                      [Page 8]
452 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
455           reserved CDATA  #FIXED "0"
456           df (may|dont)   #REQUIRED
457           mf (last|more)  #REQUIRED>
459    <!ELEMENT offset EMPTY>
460    <!-- 0 <= offset <= 8192 measured in 8 octet (64-bit) chunks -->
461    <!ATTLIST offset
462              value %Digits; #REQUIRED>
464    <!ELEMENT ttl EMPTY>
465    <!-- 0 <= ttl <= 255 -->
466    <!ATTLIST ttl
467              value %Digits; #REQUIRED>
469    <!ELEMENT protocol EMPTY>
470    <!-- 0 <= protocol <= 255 (per IANA) -->
471    <!ATTLIST protocol
472              value %Digits; #REQUIRED>
474    <!ELEMENT checksum EMPTY>
475    <!-- 0 <= checksum <= 65535 (over header only) -->
476    <!ATTLIST checksum
477              value %Digits; #REQUIRED>
479    <!ELEMENT source EMPTY>
480    <!ATTLIST source
481              address %IP4Addr; #REQUIRED>
483    <!ELEMENT destination EMPTY>
484    <!ATTLIST destination
485              address %IP4Addr; #REQUIRED>
487    <!ELEMENT options ( end | noop | security | loose | strict | record
488                      | stream | timestamp )*>
490    <!ELEMENT end EMPTY>
491    <!ATTLIST end
492              copied (0|1) #REQUIRED
493              class  CDATA #FIXED "0"
494              number CDATA #FIXED "0">
496    <!ELEMENT noop EMPTY>
497    <!ATTLIST noop
498              copied (0|1) #REQUIRED
499              class  CDATA #FIXED "0"
500              number CDATA #FIXED "1">
502    <!ELEMENT security EMPTY>
506 Kennedy                      Informational                      [Page 9]
508 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
511    <!ATTLIST security
512              copied CDATA #FIXED "1"
513              class  CDATA #FIXED "0"
514              number CDATA #FIXED "2"
515              length CDATA #FIXED "11"
516              security %Sec; #REQUIRED
517              compartments %Compartments; #REQUIRED
518              handling %Handling; #REQUIRED
519              tcc %TCC; #REQUIRED>
520    <!ELEMENT loose (hop)+>
521    <!ATTLIST loose
522              copied CDATA #FIXED "1"
523              class  CDATA #FIXED "0"
524              number CDATA #FIXED "3"
525              length %Digits; #REQUIRED
526              pointer %Digits; #REQUIRED>
528    <!ELEMENT hop EMPTY>
529    <!ATTLIST hop
530              address %IP4Addr; #REQUIRED>
532    <!ELEMENT strict (hop)+>
533    <!ATTLIST strict
534              copied CDATA #FIXED "1"
535              class  CDATA #FIXED "0"
536              number CDATA #FIXED "9"
537              length %Digits; #REQUIRED
538              pointer %Digits; #REQUIRED>
540    <!ELEMENT record (hop)+>
541    <!ATTLIST record
542              copied CDATA #FIXED "0"
543              class  CDATA #FIXED "0"
544              number CDATA #FIXED "7"
545              length %Digits; #REQUIRED
546              pointer %Digits; #REQUIRED>
548    <!ELEMENT stream EMPTY>
549    <!-- 0 <= id <= 65,535 -->
550    <!ATTLIST stream
551              copied CDATA #FIXED "1"
552              class  CDATA #FIXED "0"
553              number CDATA #FIXED "8"
554              length CDATA #FIXED "4"
555              id %Digits; #REQUIRED>
557    <!ELEMENT timestamp (tstamp)+>
558    <!-- 0 <= oflw <=15 -->
562 Kennedy                      Informational                     [Page 10]
564 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
567    <!ATTLIST timestamp
568              copied CDATA #FIXED "0"
569              class  CDATA #FIXED "2"
570              number CDATA #FIXED "4"
571              length %Digits;  #REQUIRED
572              pointer %Digits; #REQUIRED
573              oflw %Digits;    #REQUIRED
574              flag (0 | 1 | 3)  #REQUIRED>
576    <!ELEMENT tstamp EMPTY>
577    <!ATTLIST tstamp
578              time %Digits;   #REQUIRED
579              address %IP4Addr; #IMPLIED>
580    <!--
581        padding to bring header to 32-bit boundary.
582        pad MUST be "0"*
583     -->
584    <!ELEMENT padding EMPTY>
585    <!ATTLIST padding
586              pad CDATA #REQUIRED>
588    <!-- payload MUST be encoded as base-64 [RFC2045], as modified
589         by section 2.1 of this RFC -->
590    <!ELEMENT payload (CDATA)>
592 7.2.  TCPoXML DTD
594    <!--
595       DTD for TCP over XML.
596       Refer to this DTD as:
598       <!DOCTYPE tcp PUBLIC "-//IETF//DTD BLOAT 1.0 TCP//EN" "bloat.dtd">
599    -->
601    <!-- the pseudoheader is only included for checksum calculations -->
602    <!ELEMENT tcp (tcp.pseudoheader?, tcp.header, payload)>
604    <!ELEMENT tcp.header (src, dest, sequence, acknowledgement, offset,
605                          reserved, control, window, checksum, urgent,
606                          tcp.options, padding)>
608    <!ELEMENT src EMPTY>
609    <!-- 0 <= port <= 65,535 -->
610    <!ATTLIST src
611              port %Digits; #REQUIRED>
613    <!ELEMENT dest EMPTY>
614    <!-- 0 <= port <= 65,535 -->
618 Kennedy                      Informational                     [Page 11]
620 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
623    <!ATTLIST dest
624              port %Digits; #REQUIRED>
626    <!ELEMENT sequence EMPTY>
627    <!-- 0 <= number <= 4294967295 -->
628    <!ATTLIST sequence
629              number %Digits; #REQUIRED>
631    <!ELEMENT acknowledgement EMPTY>
632    <!-- 0 <= number <= 4294967295 -->
633    <!ATTLIST acknowledgement
634              number %Digits; #REQUIRED>
636    <!ELEMENT offset EMPTY>
637    <!-- 0 <= number <= 255 -->
638    <!ATTLIST offset
639              number %Digits; #REQUIRED>
641    <!ELEMENT reserved EMPTY>
642    <!ATTLIST reserved
643              value CDATA #FIXED "0">
645    <!ELEMENT control EMPTY>
646    <!ATTLIST control
647              urg (0|1) #IMPLIED
648              ack (0|1) #IMPLIED
649              psh (0|1) #IMPLIED
650              rst (0|1) #IMPLIED
651              syn (0|1) #IMPLIED
652              fin (0|1) #IMPLIED>
654    <!ELEMENT window EMPTY>
655    <!-- 0 <= size <= 65,535 -->
656    <!ATTLIST window
657              size %Digits; #REQUIRED>
659    <!--
660       checksum as in ip, but with
661       the following pseudo-header added into the tcp element:
662      -->
663    <!ELEMENT tcp.pseudoheader (source, destination, protocol,
664                                tcp.length)>
666    <!--
667       tcp header + data length in octets. does not include the size of
669       the pseudoheader.
670     -->
674 Kennedy                      Informational                     [Page 12]
676 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
679    <!ELEMENT tcp.length EMPTY>
680    <!ATTLIST tcp.length
681              value %Digits; #REQUIRED>
683    <!ELEMENT urgent EMPTY>
684    <!-- 0 <= pointer <= 65,535 -->
685    <!ATTLIST urgent
686              pointer %Digits; #REQUIRED>
688    <!ELEMENT tcp.options (tcp.end | tcp.noop | tcp.mss)+>
690    <!ELEMENT tcp.end EMPTY>
691    <!ATTLIST tcp.end
692              kind CDATA #FIXED "0">
694    <!ELEMENT tcp.noop EMPTY>
695    <!ATTLIST tcp.noop
696              kind CDATA #FIXED "1">
698    <!ELEMENT tcp.mss EMPTY>
699    <!ATTLIST tcp.mss
700              kind CDATA #FIXED "2"
701              length CDATA #FIXED "4"
702              size %Digits; #REQUIRED>
704 7.3.  UDPoXML DTD
706    <!--
707       DTD for UDP over XML.
708       Refer to this DTD as:
710       <!DOCTYPE udp PUBLIC "-//IETF//DTD BLOAT 1.0 UDP//EN" "bloat.dtd">
711    -->
713    <!ELEMENT udp (udp.pseudoheader?, udp.header, payload)>
715    <!ELEMENT udp.header (src, dest, udp.length, checksum)>
717    <!ELEMENT udp.pseudoheader (source, destination, protocol,
718                                udp.length)>
720    <!--
721       udp header + data length in octets. does not include the size of
722       the pseudoheader.
723     -->
724    <!ELEMENT udp.length EMPTY>
725    <!ATTLIST udp.length
726              value %Digits; #REQUIRED>
730 Kennedy                      Informational                     [Page 13]
732 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
735 8. Security Considerations
737    XML, as a subset of SGML, has the same security considerations as
738    specified in SGML Media Types [RFC1874].  Security considerations
739    that apply to IP, TCP and UDP also likely apply to BLOAT as it does
740    not attempt to correct for issues not related to message format.
742 9.   References
744    [JABBER]    Miller, J., "Jabber", draft-miller-jabber-00.txt,
745                February 2002. (Work in Progress)
747    [RFC768]    Postel, J., "User Datagram Protocol", STD 6, RFC 768,
748                August 1980.
750    [RFC791]    Postel, J., "Internet Protocol", STD 5, RFC 791,
751                September 1981.
753    [RFC793]    Postel, J., "Transmission Control Protocol", STD 7, RFC
754                793, September 1981.
756    [RFC894]    Hornig, C., "Standard for the Transmission of IP
757                Datagrams over Ethernet Networks.", RFC 894, April 1984.
759    [RFC1042]   Postel, J. and J. Reynolds, "Standard for the
760                Transmission of IP Datagrams Over IEEE 802 Networks", STD
761                43, RFC 1042, February 1988.
763    [RFC1123]   Braden, R., "Requirements for Internet Hosts -
764                Application and Support", RFC 1123, October 1989.
766    [RFC1874]   Levinson, E., "SGML Media Types", RFC 1874, December
767                1995.
769    [RFC2003]   Perkins, C., "IP Encapsulation within IP", RFC 2003,
770                October 1996.
772    [RFC2045]   Freed, N. and N. Borenstein, "Multipurpose Internet Mail
773                Extensions (MIME) Part One: Format of Internet Message
774                Bodies", RFC 2045, November 1996.
776    [RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
777                Requirement Levels", BCP 14, RFC 2119, March 1997.
779    [RFC2279]   Yergeau, F., "UTF-8, a transformation format of ISO
780                10646", RFC 2279, January 1998.
786 Kennedy                      Informational                     [Page 14]
788 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
791    [RFC2460]   Deering, S. and R. Hinden, "Internet Protocol, Version 6
792                (IPv6) Specification", RFC 2460, December 1998.
794    [RFC3080]   Rose, M., "The Blocks Extensible Exchange Protocol Core",
795                RFC 3080, March 2001.
797    [SOAP]      Box, D., Ehnebuske, D., Kakivaya, G., Layman, A.,
798                Mendelsohn, N., Nielsen, H. F., Thatte, S. Winer, D.,
799                "Simple Object Access Protocol (SOAP) 1.1" World Wide Web
800                Consortium Note, May 2000 http://www.w3.org/TR/SOAP/
802    [XML]       Bray, T., Paoli, J., Sperberg-McQueen, C. M., "Extensible
803                Markup Language (XML)" World Wide Web Consortium
804                Recommendation REC- xml-19980210.
805                http://www.w3.org/TR/1998/REC-xml-19980210
807 10.  Author's Address
809    Hugh Kennedy
810    Mimezine
811    1060 West Addison
812    Chicago, IL 60613
813    USA
815    EMail: kennedyh@engin.umich.edu
842 Kennedy                      Informational                     [Page 15]
844 RFC 3252         Binary Lexical Octet Ad-hoc Transport      1 April 2002
847 11.  Full Copyright Statement
849    Copyright (C) The Internet Society (2002).  All Rights Reserved.
851    This document and translations of it may be copied and furnished to
852    others, and derivative works that comment on or otherwise explain it
853    or assist in its implementation may be prepared, copied, published
854    and distributed, in whole or in part, without restriction of any
855    kind, provided that the above copyright notice and this paragraph are
856    included on all such copies and derivative works.  However, this
857    document itself may not be modified in any way, such as by removing
858    the copyright notice or references to the Internet Society or other
859    Internet organizations, except as needed for the purpose of
860    developing Internet standards in which case the procedures for
861    copyrights defined in the Internet Standards process must be
862    followed, or as required to translate it into languages other than
863    English.
865    The limited permissions granted above are perpetual and will not be
866    revoked by the Internet Society or its successors or assigns.
868    This document and the information contained herein is provided on an
869    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
870    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
871    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
872    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
873    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
875 Acknowledgement
877    Funding for the RFC Editor function is currently provided by the
878    Internet Society.
898 Kennedy                      Informational                     [Page 16]