draft-ietf-regext-org-ext-08.txt | draft-ietf-regext-org-ext-09.txt | |||
---|---|---|---|---|
Internet Engineering Task Force L. Zhou | Internet Engineering Task Force L. Zhou | |||
Internet-Draft CNNIC | Internet-Draft CNNIC | |||
Intended status: Standards Track N. Kong | Intended status: Standards Track N. Kong | |||
Expires: February 21, 2019 Consultant | Expires: February 25, 2019 Consultant | |||
J. Wei | J. Wei | |||
J. Yao | J. Yao | |||
CNNIC | CNNIC | |||
J. Gould | J. Gould | |||
Verisign, Inc. | Verisign, Inc. | |||
August 20, 2018 | August 24, 2018 | |||
Organization Extension for the Extensible Provisioning Protocol (EPP) | Organization Extension for the Extensible Provisioning Protocol (EPP) | |||
draft-ietf-regext-org-ext-08 | draft-ietf-regext-org-ext-09 | |||
Abstract | Abstract | |||
This document describes an extension to EPP object mappings, which is | This document describes an extension to EPP object mappings, which is | |||
designed to support assigning an organization to any existing object | designed to support assigning an organization to any existing object | |||
(domain, host, contact) as well as any future objects. | (domain, host, contact) as well as any future objects. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
skipping to change at page 1, line 38 ¶ | skipping to change at page 1, line 38 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | 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." | |||
This Internet-Draft will expire on February 21, 2019. | This Internet-Draft will expire on February 25, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 6, line 35 ¶ | skipping to change at page 6, line 35 ¶ | |||
S: <domain:crID>ClientY</domain:crID> | S: <domain:crID>ClientY</domain:crID> | |||
S: <domain:crDate>2015-02-06T04:01:21.0Z</domain:crDate> | S: <domain:crDate>2015-02-06T04:01:21.0Z</domain:crDate> | |||
S: <domain:exDate>2018-02-06T04:01:21.0Z</domain:exDate> | S: <domain:exDate>2018-02-06T04:01:21.0Z</domain:exDate> | |||
S: <domain:authInfo> | S: <domain:authInfo> | |||
S: <domain:pw>2fooBAR</domain:pw> | S: <domain:pw>2fooBAR</domain:pw> | |||
S: </domain:authInfo> | S: </domain:authInfo> | |||
S: </domain:infData> | S: </domain:infData> | |||
S: </resData> | S: </resData> | |||
S: <extension> | S: <extension> | |||
S: <orgext:infData | S: <orgext:infData | |||
S: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | S: xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"> | |||
S: <orgext:id role="reseller">myreseller</orgext:id> | S: <orgext:id role="reseller">myreseller</orgext:id> | |||
S: <orgext:id role="privacyproxy">myproxy</orgext:id> | S: <orgext:id role="privacyproxy">myproxy</orgext:id> | |||
S: </orgext:infData> | S: </orgext:infData> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ngcl-IvJjzMZc</clTRID> | S: <clTRID>ngcl-IvJjzMZc</clTRID> | |||
S: <svTRID>test142AWQONJZ</svTRID> | S: <svTRID>test142AWQONJZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
skipping to change at page 7, line 35 ¶ | skipping to change at page 7, line 35 ¶ | |||
S: <domain:crID>ClientY</domain:crID> | S: <domain:crID>ClientY</domain:crID> | |||
S: <domain:crDate>2015-02-06T04:01:21.0Z</domain:crDate> | S: <domain:crDate>2015-02-06T04:01:21.0Z</domain:crDate> | |||
S: <domain:exDate>2018-02-06T04:01:21.0Z</domain:exDate> | S: <domain:exDate>2018-02-06T04:01:21.0Z</domain:exDate> | |||
S: <domain:authInfo> | S: <domain:authInfo> | |||
S: <domain:pw>2fooBAR</domain:pw> | S: <domain:pw>2fooBAR</domain:pw> | |||
S: </domain:authInfo> | S: </domain:authInfo> | |||
S: </domain:infData> | S: </domain:infData> | |||
S: </resData> | S: </resData> | |||
S: <extension> | S: <extension> | |||
S: <orgext:infData | S: <orgext:infData | |||
S: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"/> | S: xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"/> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ngcl-IvJjzMZc</clTRID> | S: <clTRID>ngcl-IvJjzMZc</clTRID> | |||
S: <svTRID>test142AWQONJZ</svTRID> | S: <svTRID>test142AWQONJZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
An EPP error response MUST be returned if an <info> command cannot be | An EPP error response MUST be returned if an <info> command cannot be | |||
processed for any reason. | processed for any reason. | |||
skipping to change at page 9, line 27 ¶ | skipping to change at page 9, line 27 ¶ | |||
C: <domain:contact type="tech">sh8013</domain:contact> | C: <domain:contact type="tech">sh8013</domain:contact> | |||
C: <domain:contact type="billing">sh8013</domain:contact> | C: <domain:contact type="billing">sh8013</domain:contact> | |||
C: <domain:contact type="admin">sh8013</domain:contact> | C: <domain:contact type="admin">sh8013</domain:contact> | |||
C: <domain:authInfo> | C: <domain:authInfo> | |||
C: <domain:pw>fooBAR</domain:pw> | C: <domain:pw>fooBAR</domain:pw> | |||
C: </domain:authInfo> | C: </domain:authInfo> | |||
C: </domain:create> | C: </domain:create> | |||
C: </create> | C: </create> | |||
C: <extension> | C: <extension> | |||
C: <orgext:create | C: <orgext:create | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"> | |||
C: <orgext:id role="reseller">myreseller</orgext:id> | C: <orgext:id role="reseller">myreseller</orgext:id> | |||
C: </orgext:create> | C: </orgext:create> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Example <create> Command with multiple organizations: | Example <create> Command with multiple organizations: | |||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
skipping to change at page 10, line 27 ¶ | skipping to change at page 10, line 27 ¶ | |||
C: <domain:contact type="tech">sh8013</domain:contact> | C: <domain:contact type="tech">sh8013</domain:contact> | |||
C: <domain:contact type="billing">sh8013</domain:contact> | C: <domain:contact type="billing">sh8013</domain:contact> | |||
C: <domain:contact type="admin">sh8013</domain:contact> | C: <domain:contact type="admin">sh8013</domain:contact> | |||
C: <domain:authInfo> | C: <domain:authInfo> | |||
C: <domain:pw>fooBAR</domain:pw> | C: <domain:pw>fooBAR</domain:pw> | |||
C: </domain:authInfo> | C: </domain:authInfo> | |||
C: </domain:create> | C: </domain:create> | |||
C: </create> | C: </create> | |||
C: <extension> | C: <extension> | |||
C: <orgext:create | C: <orgext:create | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"> | |||
C: <orgext:id role="reseller">myreseller</orgext:id> | C: <orgext:id role="reseller">myreseller</orgext:id> | |||
C: <orgext:id role="privacyproxy">myproxy</orgext:id> | C: <orgext:id role="privacyproxy">myproxy</orgext:id> | |||
C: </orgext:create> | C: </orgext:create> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
When a <create> command has been processed successfully, the EPP | When a <create> command has been processed successfully, the EPP | |||
response is as described in the EPP object extension. | response is as described in the EPP object extension. | |||
skipping to change at page 11, line 38 ¶ | skipping to change at page 11, line 38 ¶ | |||
o An OPTIONAL <orgext:add> element that contains attribute values to | o An OPTIONAL <orgext:add> element that contains attribute values to | |||
be added to the object. | be added to the object. | |||
o An OPTIONAL <orgext:rem> element that contains attribute values to | o An OPTIONAL <orgext:rem> element that contains attribute values to | |||
be removed from the object. | be removed from the object. | |||
o An OPTIONAL <orgext:chg> element that contains attribute values to | o An OPTIONAL <orgext:chg> element that contains attribute values to | |||
be changed. | be changed. | |||
Exactly one <orgext:add>, <orgext:rem> or <orgext:chg> element MUST | At least one <orgext:add>, <orgext:rem> or <orgext:chg> element MUST | |||
be provided. The <orgext:add>, <orgext:rem> and <orgext:chg> | be provided. The <orgext:add>, <orgext:rem> and <orgext:chg> | |||
elements contain the following child element: | elements contain the following child element: | |||
o One or more <orgext:id> elements that contain the identifier of | o One or more <orgext:id> elements that contain the identifier of | |||
the organization. The "role" attribute is used to represent the | the organization. The "role" attribute is used to represent the | |||
relationship that the organization has to the object. See | relationship that the organization has to the object. See | |||
Section 7.3 in [ID.draft-ietf-regext-org] for a list of values. | Section 7.3 in [ID.draft-ietf-regext-org] for a list of values. | |||
Example <update> command, adding a reseller: | Example <update> command, adding a reseller: | |||
skipping to change at page 12, line 16 ¶ | skipping to change at page 12, line 16 ¶ | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <update> | C: <update> | |||
C: <domain:update | C: <domain:update | |||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
C: </domain:update> | C: </domain:update> | |||
C: </update> | C: </update> | |||
C: <extension> | C: <extension> | |||
C: <orgext:update | C: <orgext:update | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"> | |||
C: <orgext:add> | C: <orgext:add> | |||
C: <orgext:id role="reseller">myreseller</orgext:id> | C: <orgext:id role="reseller">myreseller</orgext:id> | |||
C: </orgext:add> | C: </orgext:add> | |||
C: </orgext:update> | C: </orgext:update> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Example <update> command, adding multiple organizations: | Example <update> command, adding multiple organizations: | |||
skipping to change at page 12, line 39 ¶ | skipping to change at page 12, line 39 ¶ | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <update> | C: <update> | |||
C: <domain:update | C: <domain:update | |||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
C: </domain:update> | C: </domain:update> | |||
C: </update> | C: </update> | |||
C: <extension> | C: <extension> | |||
C: <orgext:update | C: <orgext:update | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"> | |||
C: <orgext:add> | C: <orgext:add> | |||
C: <orgext:id role="reseller">myreseller</orgext:id> | C: <orgext:id role="reseller">myreseller</orgext:id> | |||
C: <orgext:id role="privacyproxy">myproxy</orgext:id> | C: <orgext:id role="privacyproxy">myproxy</orgext:id> | |||
C: </orgext:add> | C: </orgext:add> | |||
C: </orgext:update> | C: </orgext:update> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
skipping to change at page 13, line 16 ¶ | skipping to change at page 13, line 16 ¶ | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <update> | C: <update> | |||
C: <domain:update | C: <domain:update | |||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
C: </domain:update> | C: </domain:update> | |||
C: </update> | C: </update> | |||
C: <extension> | C: <extension> | |||
C: <orgext:update | C: <orgext:update | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"> | |||
C: <orgext:rem> | C: <orgext:rem> | |||
C: <orgext:id role="reseller"/> | C: <orgext:id role="reseller"/> | |||
C: </orgext:rem> | C: </orgext:rem> | |||
C: </orgext:update> | C: </orgext:update> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Example <update> command, removing multiple organizations: | Example <update> command, removing multiple organizations: | |||
skipping to change at page 13, line 39 ¶ | skipping to change at page 13, line 39 ¶ | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <update> | C: <update> | |||
C: <domain:update | C: <domain:update | |||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
C: </domain:update> | C: </domain:update> | |||
C: </update> | C: </update> | |||
C: <extension> | C: <extension> | |||
C: <orgext:update | C: <orgext:update | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"> | |||
C: <orgext:rem> | C: <orgext:rem> | |||
C: <orgext:id role="reseller"/> | C: <orgext:id role="reseller"/> | |||
C: <orgext:id role="privacyproxy"/> | C: <orgext:id role="privacyproxy"/> | |||
C: </orgext:rem> | C: </orgext:rem> | |||
C: </orgext:update> | C: </orgext:update> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
skipping to change at page 14, line 16 ¶ | skipping to change at page 14, line 16 ¶ | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <update> | C: <update> | |||
C: <domain:update | C: <domain:update | |||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
C: </domain:update> | C: </domain:update> | |||
C: </update> | C: </update> | |||
C: <extension> | C: <extension> | |||
C: <orgext:update | C: <orgext:update | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"> | |||
C: <orgext:chg> | C: <orgext:chg> | |||
C: <orgext:id role="reseller">myreseller</orgext:id> | C: <orgext:id role="reseller">myreseller</orgext:id> | |||
C: </orgext:chg> | C: </orgext:chg> | |||
C: </orgext:update> | C: </orgext:update> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Example <update> command, updating multiple organization identifiers: | Example <update> command, updating multiple organization identifiers: | |||
skipping to change at page 14, line 39 ¶ | skipping to change at page 14, line 39 ¶ | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <update> | C: <update> | |||
C: <domain:update | C: <domain:update | |||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
C: </domain:update> | C: </domain:update> | |||
C: </update> | C: </update> | |||
C: <extension> | C: <extension> | |||
C: <orgext:update | C: <orgext:update | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"> | |||
C: <orgext:chg> | C: <orgext:chg> | |||
C: <orgext:id role="reseller">myreseller</orgext:id> | C: <orgext:id role="reseller">myreseller</orgext:id> | |||
C: <orgext:id role="privacyproxy">myproxy</orgext:id> | C: <orgext:id role="privacyproxy">myproxy</orgext:id> | |||
C: </orgext:chg> | C: </orgext:chg> | |||
C: </orgext:update> | C: </orgext:update> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
skipping to change at page 15, line 35 ¶ | skipping to change at page 15, line 35 ¶ | |||
formal syntax presented here is a complete schema representation of | formal syntax presented here is a complete schema representation of | |||
the object mapping suitable for automated validation of EPP XML | the object mapping suitable for automated validation of EPP XML | |||
instances. The BEGIN and END tags are not part of the schema; they | instances. The BEGIN and END tags are not part of the schema; they | |||
are used to note the beginning and ending of the schema for URI | are used to note the beginning and ending of the schema for URI | |||
registration purposes. | registration purposes. | |||
BEGIN | BEGIN | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<schema | <schema | |||
targetNamespace="urn:ietf:params:xml:ns:orgext-1.0" | targetNamespace="urn:ietf:params:xml:ns:epp:orgext-1.0" | |||
xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0" | xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0" | |||
xmlns="http://www.w3.org/2001/XMLSchema" | xmlns="http://www.w3.org/2001/XMLSchema" | |||
elementFormDefault="qualified" | elementFormDefault="qualified" | |||
> | > | |||
<annotation> | <annotation> | |||
<documentation> | <documentation> | |||
Extensible Provisioning Protocol v1.0 | Extensible Provisioning Protocol v1.0 | |||
Organization Extension Schema v1.0 | Organization Extension Schema v1.0 | |||
</documentation> | </documentation> | |||
</annotation> | </annotation> | |||
skipping to change at page 24, line 25 ¶ | skipping to change at page 24, line 25 ¶ | |||
Organization WG document-07: | Organization WG document-07: | |||
* Updated "Abstraction". | * Updated "Abstraction". | |||
Organization WG document-08: | Organization WG document-08: | |||
* Updated error codes of <update> response. | * Updated error codes of <update> response. | |||
* Modified XML namespace and schema. | * Modified XML namespace and schema. | |||
Organization WG document-09: | ||||
* Modified XML namespace and schema. | ||||
* Changed "Exactly one" to "At least one" in section 4.2.5. | ||||
Authors' Addresses | Authors' Addresses | |||
Linlin Zhou | Linlin Zhou | |||
CNNIC | CNNIC | |||
4 South 4th Street, Zhongguancun, Haidian District | 4 South 4th Street, Zhongguancun, Haidian District | |||
Beijing, Beijing 100190 | Beijing, Beijing 100190 | |||
China | China | |||
Email: zhoulinlin@cnnic.cn | Email: zhoulinlin@cnnic.cn | |||
End of changes. 17 change blocks. | ||||
17 lines changed or deleted | 23 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |