draft-ietf-urn-net-procedures-02.txt   draft-ietf-urn-net-procedures-03.txt 
Network Working Group M. Mealling Network Working Group M. Mealling
Internet-Draft Network Solutions, Inc. Internet-Draft Network Solutions, Inc.
Category: Informational February 1999 Expires: August 1, 2000 R.D. Daniel
Expires: August 02, 1999 Metacode, Inc.
February 2000
Assignment Procedures for URI Resolution using DNS Assignment Procedures for URI Resolution using DNS
draft-ietf-urn-net-procedures-02.txt draft-ietf-urn-net-procedures-03.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as
Internet-Drafts. Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
To view the entire list of Internet-Draft Shadow Directories, see The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 02, 1999. This Internet-Draft will expire on August 1, 2000.
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract Abstract
RFC2168 defines a DNS resource record and an algorithm for using DNS RFCXXXX defines a how DNS is used as a Resolver Discovery System
as a registry for retrieving URI delegation rules (sometimes called database that contains URI delegation rules (sometimes called
resolution hints). That document specifies that the first step in resolution hints). That document specifies that the first step in
that algorithm is to append 'uri.net' to the URI scheme and retrieve that algorithm is to append 'URI.NET' to the URI scheme and retrieve
the NAPTR record for that domain-name. I.e., the first step in the NAPTR record for that domain-name. I.e., the first step in
resolving "http://foo.com/" would be to look up a NAPTR record for resolving "http://foo.com/" would be to look up a NAPTR record for
the domain "http.uri.net". URN resolution also follows a similar the domain "http.URI.NET". URN resolution also follows a similar
procedure but uses the 'urn.net' zone as its root. This document procedure but uses the 'URN.NET' zone as its root. This document
describes the procedures for inserting a new rule into the 'uri.net' describes the procedures for inserting a new rule into the 'URI.NET'
and 'urn.net' zones. and 'URN.NET' zones.
Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. URI Resolution vs URN Resolution . . . . . . . . . . . . . . . 3 2. URI Resolution vs URN Resolution . . . . . . . . . . . . . . 3
3. URI Registration Procedure . . . . . . . . . . . . . . . . . . 3 3. Registration Policies . . . . . . . . . . . . . . . . . . . 3
4. URN Registration Procedure . . . . . . . . . . . . . . . . . . 3 3.1 URI.NET Registration . . . . . . . . . . . . . . . . . . . . 3
5. Requirements on rules . . . . . . . . . . . . . . . . . . . . 3 3.1.1 Only Schemes in the IETF Tree Allowed . . . . . . . . . . . 3
6. Submission Procedure . . . . . . . . . . . . . . . . . . . . . 4 3.1.2 Scheme Registration Takes Precedence . . . . . . . . . . . . 3
7. Registration Template . . . . . . . . . . . . . . . . . . . . 5 3.1.3 NAPTR Registration May Accompany Scheme Registration . . . . 4
7.1 Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1.4 Registration or Changes after Scheme Registration . . . . . 4
7.2 Authority . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 URN.NET Registration . . . . . . . . . . . . . . . . . . . . 4
7.3 Records . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2.1 NID Registration Takes Precedence . . . . . . . . . . . . . 4
8. Example Template . . . . . . . . . . . . . . . . . . . . . . . 5 3.2.2 NAPTR Registration May Accompany NID Registration . . . . . 4
9. The URN Registration in the uri.net zone . . . . . . . . . . . 5 3.2.3 Registration or Changes after Scheme Registration . . . . . 4
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 4. Requirements on hints . . . . . . . . . . . . . . . . . . . 5
References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5. Submission Procedure . . . . . . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 7 6. Registration Template . . . . . . . . . . . . . . . . . . . 6
6.1 Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6.2 Authority . . . . . . . . . . . . . . . . . . . . . . . . . 6
6.3 Records . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7. Example Template . . . . . . . . . . . . . . . . . . . . . . 7
8. The URN Registration in the URI.NET zone . . . . . . . . . . 7
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 7
References . . . . . . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 8
Full Copyright Statement . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
This document defines the policies and procedures for inserting This document defines the policies and procedures for inserting
NAPTR records into the 'uri.net' and 'urn.net' zones for the purpose NAPTR records into the 'URI.NET' and 'URN.NET' zones for the purpose
of resolving URIs according to "Resolution of Uniform Resource of resolving URIs according to "Resolution of Uniform Resource
Identifiers using the Domain Name System", RFCXXXX[1], which is an Identifiers using the Domain Name System", RFCXXXX[1], which is an
application of the NAPTR DNS Resource Record defined in RFCXXXX[2]. application of the NAPTR DNS Resource Record defined in RFCXXXX[2].
2. URI Resolution vs URN Resolution 2. URI Resolution vs URN Resolution
RFCXXXX[1] defines how both URI resolution and URN[3] resolution RFCXXXX[1] defines how both URI resolution and URN[3] resolution
work. Specifically it says that all URIs rules are registered in work when DNS is used as the delegation rule (or hint) database.
'uri.net'. Since a URN is a URI it follows the same rules. Thus one Specifically it says that the initial instructions ('hints') for
of the rules in the 'uri.net' zone is the one for a URN. This rule DNS-based resolution of URIs are stored as resource records in the
states that the namespace id [4] is extracted, 'urn.net' is appended 'URI.NET' DNS zone.
to the end of the namespace id, and the next NAPTR record[2] is
retrieved.
3. URI Registration Procedure Since a URN is a kind of URI, a hint for resolution of the URI
prefix 'urn:' will also be stored in the 'URI.NET' zone. This rule
states that the namespace id[3] is extracted, 'URN.NET' is appended
to the end of the namespace id, and the result is used as the key
for retrieval of a subsequent NAPTR record[2].
At this time there is no set procedure for registering new URI 3. Registration Policies
schemes other than a published RFC. Due to this lack and the
existence of non-published schemes such as "about" and "res", there
is an IETF working group discussing how to deal with this problem.
Thus, at this time the only requirements for requesting an entry in
the uri.net zone is that the URI scheme be published or in use
somewhere and that it not conflict with an existing URI scheme.
When the IETF does standardize a set of procedures for vetting and The creation of a given URI scheme or URN namespace id (NID) follows
registering new URI schemes, the 'uri.net' registration procedures the appropriate registration documents for those spaces. URI schemes
MUST adhere to those procedures for determining if the URI scheme in follow "Registration Procedures for URL Scheme Names" (RFC
question is valid. 2717)[7]. URN namespace ids follow "URN Namespace Definition
Mechanisms" (RFC 2611)[6].
4. URN Registration Procedure 3.1 URI.NET Registration
RFCXXXX[6] defines the procedures for assignment of new URN 3.1.1 Only Schemes in the IETF Tree Allowed
namespace-ids. Since the 'urn.net' registration procedures only
deal with the namespace-id portion of the URN space, that document
is the sole determining document for what can be entered into the
urn.net zone for a URN.
5. Requirements on rules In order to be inserted into the URI.NET zone, the subsequent URI
scheme MUST be registered under the IETF URI tree. The requirements
for this tree are specified in [7].
3.1.2 Scheme Registration Takes Precedence
The registration of a NAPTR record for a URI scheme MUST NOT precede
proper registration of that scheme and publication of a stable
specification in accordance with [7]. The IESG or its designated
expert will review the request for
1. correctness and technical soundness
2. consistency with the published URI specification, and
3. to ensure that the NAPTR record for a DNS-based URI does not
delegate resolution of the URI to a party other than the holder
of the DNS name. This last rule is to insure that a given URI's
resolution hint doesn't hijack (inadvertently or otherwise)
network traffic for a given domain.
3.1.3 NAPTR Registration May Accompany Scheme Registration
A request for a URI.NET registration MAY accompany a request for a
URI scheme (in accordance with [7]), in which case both requests
will be reviewed simultaneously by IESG or its designated experts.
3.1.4 Registration or Changes after Scheme Registration
A request for a NAPTR record (or an request to change an existing
NAPTR record) MAY be submitted after the URI prefix has been
registered. If the specification for the URI prefix is controlled
by some other party than IETF, IESG will require approval from the
owner/maintainer of that specification before the registration will
be accepted. This is in addition to any technical review of the
NAPTR registration done by IESG or its designated experts.
3.2 URN.NET Registration
3.2.1 NID Registration Takes Precedence
The registration of a NAPTR record for a URN NID MUST NOT precede
proper registration of that NID and publication of a stable
specification in accordance with [6]. This is to prevent the
registration of a NAPTR record in URN.NET from circumventing the NID
registration process.
3.2.2 NAPTR Registration May Accompany NID Registration
A request for a URN.NET registration MAY accompany a request for a
NID (in accordance with [6]), in which case both requests will be
reviewed at the same time.
3.2.3 Registration or Changes after Scheme Registration
A request for a NAPTR record (or an request to change an existing
NAPTR record) MAY be submitted after the NID has been registered.
If the specification for the NID is controlled by some other party
than IETF, IESG will require approval from the owner/maintainer of
that specification before the registration will be accepted. This is
in addition to any technical review of the NAPTR registration done
by IESG or its designated experts.
Note that this applies to all NAPTR records for a particular NID,
even though a NAPTR record might affect only part of the URN space
assigned to an NID
4. Requirements on hints
Delegation of a namespace can happen in two ways. In the case of Delegation of a namespace can happen in two ways. In the case of
most URIs where the entity being delegated to is hard-coded into the most URIs, the key being delegated to is hard-coded into the
identifier itself, the syntax of where this is located is set. In identifier itself (i.e. a hostname in an HTTP URL). The syntax of
the case where the entity being delegated to is set in the rule, where this new key is located is predetermined by the syntax of the
that entity can change as the rule changes. scheme. In other cases, the new key can be part of the hint itself.
This is the functional equivalent of saying, "if this rule matches
then this is always the key."
In order to minimize the query load on the URI.NET and URN.NET
zones, it is anticipated that the resource records in those zones
will have extremely long "times to live" (TTLs), perhaps measured in
years.
Thus, for any URI prefix or URN namespace for which the resolution
hints are likely to change, the actual rule should be stored in some
other (less stable) DNS zone, and within URI.NET or URN.NET a stable
NAPTR record should be used to delegate queries to that less stable
zone.
One of the optimizations that the both the URI and URN registries
attempts to make is that any entry in that zone should have an
extremely long time to live. 'Extremely long' should be measured in
years if possible. Thus, any rule that can change must be delegated
out of the urn.net zone by a replacement rule in the NAPTR record.
For example, the 'foo' URN namespace has flexible rules for how For example, the 'foo' URN namespace has flexible rules for how
delegation takes place. Instead of putting those rules in the delegation takes place. Instead of putting those rules in the
urn.net zone, the entry instead punts those rules off to a URN.NET zone, the entry instead punts those rules off to a
nameserver that has a shorter time to live. The record in urn.net nameserver that has a shorter time to live. The record in URN.NET
would look like this: would look like this:
foo IN NAPTR 100 10 "" "" "" urn-resolver.foo.com. foo IN NAPTR 100 10 "" "" "" urn-resolver.foo.com.
Thus, when the client starts out in the resolution process, the Thus, when the client starts out in the resolution process, the
second step is to begin asking 'urn-resolver.foo.com' for the NAPTR first step will be to query foo.URN.NET to find the above record,
records that contain the resolution rules. The TTL at the root is the second step is to begin asking 'urn-resolver.foo.com' for the
very long. The TTL at the 'urn-resolver.foo.com' is much shorter. NAPTR records that contain the resolution rules. The TTL at the root
is very long. The TTL at the 'urn-resolver.foo.com' is much shorter.
Conversely, the 'http' URL scheme adheres to a particular syntax Conversely, the 'http' URL scheme adheres to a particular syntax
that specifies that the host to ask is specified in the URL in that specifies that the host to ask is specified in the URL in
question. Since this syntax does not change, that rule can be question. Since this syntax does not change, that rule can be
specified in the uri.net zone. The record would look like this: specified in the URI.NET zone. The record would look like this:
http IN NAPTR 100 100 "" "" "/http:\\/\\/([^\\/:]+)/\\2/i" . http IN NAPTR 100 100 "" "" "/http:\\/\\/([^\\/:]+)/\\2/i" .
Thus, the second step of resolution is to attempt to contact the Thus, the second step of resolution is to use the domain-name found
host contained in the URL itself. in the URL as the next key in the cycle. If, for example, that NAPTR
was terminal and contains some hostname in the replacement field,
then the client could contact that host in order to ask questions
about this particular URI.
6. Submission Procedure 5. Submission Procedure
Using the MIME Content-Type registration mechanism[5]as a model for Using the MIME Content-Type registration mechanism[5]as a model for
a successful registration mechanism, the 'uri.net' and 'urn.net' a successful registration mechanism, the 'URI.NET' and 'URN.NET'
procedures consist of a request template submitted to an open procedures consist of a request template submitted to an open
mailing list made up of interested parties. If no objections are mailing list made up of interested parties. If no objections are
made within a two week period, a representative of the registration made within a two week period, a representative of the registration
authority considers the submission to be accepted and enters that authority considers the submission to be accepted and enters that
submission into the nameserver. submission into the nameserver.
o Registrations for the 'uri.net' zone are sent to o Registrations for the 'URI.NET' zone are sent to
'register@uri.net'. 'register@URI.NET'.
o Registrations for the 'urn.net' zone are sent to o Registrations for the 'URN.NET' zone are sent to
'register@urn.net'. 'register@URN.NET'.
At this time the registration authority is expected to be the IANA. At this time the registration authority is expected to be the IANA.
Objections are restricted to those that point out impacts on the Objections are restricted to those that point out impacts on the
zone itself or to DNS in general. Objections to the URL scheme or to zone itself or to DNS in general. Objections to the URL scheme or to
the URN namespace-id are not allowed, as these should be raised in the URN namespace-id are not allowed, as these should be raised in
their respective forums. The logical conclusion of this is that ANY their respective forums. The logical conclusion of this is that ANY
sanctioned URL scheme or URN namespace MUST be allowed to be sanctioned URL scheme or URN namespace MUST be allowed to be
registered if it meets the requirements specified in this document registered if it meets the requirements specified in this document
as regards times to live and general impact to the DNS. as regards times to live and general impact to the DNS.
7. Registration Template 6. Registration Template
The template to be sent to the appropriate list MUST contain the The template to be sent to the appropriate list MUST contain the
following values: following values:
7.1 Key 6.1 Key
This is the URN NID or URL scheme, which is used as the domain This is the URN NID or URL scheme, which is used as the domain
portion of the DNS entry. It must be valid according to the portion of the DNS entry. It must be valid according to the
procedures specified in the URN namespace-id assignment document and procedures specified in the URN namespace-id assignment document and
any future standards for registering new URL schemes. any future standards for registering new URL schemes.
7.2 Authority 6.2 Authority
This is the authority doing the registration of the record. It must This is the authority doing the registration of the record. It must
be an authority recognized as either the IESG or any authority be an authority recognized as either the IESG or any authority
defined in the URN NID[6] or URL scheme registration[7] documents. defined in the URN NID[6] or URL scheme registration[7] documents.
7.3 Records 6.3 Records
The actual DNS records representing the rule set for the key. The The actual DNS records representing the rule set for the key. The
required values are Preference, Order, Flags, Services, Regex, and required values are Preference, Order, Flags, Services, Regex, and
Replacement as defined by RFCXXXX[2]. Replacement as defined by RFCXXXX[2].
8. Example Template 7. Example Template
To: register@urn.net To: register@URN.NET
From: joe@foo.com From: joe@foo.com
Key: foo Key: foo
Authority: Foo Technology, Inc as specified in RFCFOO Authority: Foo Technology, Inc as specified in RFCFOO
Record: foo IN NAPTR 100 100 "" "" "" urn.foo.com. Record: foo IN NAPTR 100 100 "" "" "" urn.foo.com.
9. The URN Registration in the uri.net zone 8. The URN Registration in the URI.NET zone
Since this document discusses the uri.net and urn.net zones and the Since this document discusses the URI.NET and URN.NET zones and the
URN rule that exists in the uri.net zone, it makes sense for the URN rule that exists in the URI.NET zone, it makes sense for the
regisration template for the URN URI rule to be specified here: registration template for the URN URI rule to be specified here:
To: register@uri.net To: register@URI.NET
From: The IETF URN Working Group From: The IETF URN Working Group
Key: urn Key: urn
Authority: RFC2141 Authority: RFC2141
Record: urn IN NAPTR 0 0 "" "" "/urn:([^:]+)/\\2/i" . Record: urn IN NAPTR 0 0 "" "" "/urn:([^:]+)/\\2/i" .
10. IANA Considerations 9. IANA Considerations
This document describes a mechanism for registering representations This document describes a mechanism for registering representations
of protocol items that have already been registered with some IETF of protocol items that have already been registered with some IETF
sanctioned agency (probably the IANA as well). This means that the sanctioned agency (probably the IANA as well). This means that the
IANA need not determine appropriateness of the underlying IANA need not determine appropriateness of the underlying
namespaces, since that is determined by another process. namespaces, since that is determined by another process.
The only real impact on the IANA will be The only real impact on the IANA will be
o to create and maintain (or designate some other entity to
o to maintain (or designate some other entity to maintain) a maintain) a primary nameserver for the URI.NET and URN.NET zones;
primary nameserver for the uri.net and urn.net zones; o to maintain the mailing lists "register@URI.NET" and
o to maintain the mailing lists "register@uri.net" and "register@URN.NET" as the forum for discussions of submissions;
"register@uri.net" as the forum for discussions of submissions;
and and
o to act as the party that determines if all objections have been o to act as the party that determines if all objections have been
noted and accommodated. noted and accommodated.
References References
[1] Mealling, M., Daniel, R., "Resolution of Uniform Resource [1] Mealling, M. and R. Daniel, "Resolution of Uniform Resource
Identifiers using the Domain Name System", November 1998. Identifiers using the Domain Name System", November 1998.
[2] Mealling, M., Daniel, R., "The Naming Authority Pointer (NAPTR) [2] Mealling, M. and R. Daniel, "The Naming Authority Pointer
DNS Resource Record", November 1998. (NAPTR) DNS Resource Record", November 1998.
[3] Moats, R., "URN Syntax", RFC 2141, May 1997. [3] Moats, R., "URN Syntax", RFC 2141, November 1998.
[4] Berners-Lee, T., Fielding, R., Masinter, L., "Uniform Resource [4] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform
Identifiers (URI): Generic Syntax", RFC 2396, August 1998. Resource Identifiers (URI): Generic Syntax", RFC 2396, August
1998.
[5] Freed, N., Klensin, J., Postel, J., "Multipurpose Internet Mail [5] Freed, N., Klensin, J. and J. Postel, "Multipurpose Internet
Extensions (MIME) Part Four: Registration Procedures", RFC Mail Extensions (MIME) Part Four: Registration Procedures", RFC
2048, November 1996. 2048, November 1996.
[6] Faltstrom, P., Iannella, R., Daigle, L., van Gulik, D., "URN [6] Faltstrom, P., Iannella, R., Daigle, L. and D. van Gulik, "URN
Namespace Definition Mechanisms", October 1998. Namespace Definition Mechanisms", RFC 2611, October 1998.
[7] Petke, R., King, I., "Registration Procedures for URL Scheme [7] Petke, R. and I. King, "Registration Procedures for URL Scheme
Names", January 1999. Names", RFC 2717, January 1999.
Author's Address Authors' Addresses
Michael Mealling Michael Mealling
Network Solutions, Inc. Network Solutions, Inc.
505 Huntmar Park Drive 505 Huntmar Park Drive
Herndon, VA 22070 Herndon, VA 22070
US US
Phone: +1 770 935 5492 Phone: (703) 742-0400
EMail: michaelm@netsol.com EMail: michaelm@netsol.com
URI: http://www.netsol.com
Ron
Metacode, Inc.
139 Townsend Street, Ste. 100
San Francisco, CA 94107
US
Phone: +1 415 222 0100
EMail: rdaniel@metacode.com
URI: http://www.metacode.com
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved. Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implmentation may be prepared, copied, published or assist in its implmentation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this are included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
skipping to change at line 293 skipping to change at page 9, line 32
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC editor function is currently provided by the
Internet Society.
 End of changes. 48 change blocks. 
113 lines changed or deleted 204 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/