RFC 8056
Extensible Provisioning Protocol (EPP) and Registration Data Access Protocol (RDAP) Status Mapping
RFC 8056 π
Extensible Provisioning Protocol (EPP) and Registration Data Access Protocol (RDAP) Status Mapping
- Written by: J. Gould, VeriSign, Inc. π
- Category: Standards Track β¨
- Date: January 2017 π
- ISSN: 2070-1721
- Obsoletes / Updates: the header doesn't list anything this one obsoletes or updates π¦
Abstract β¨
okay so this doc is all about mapping EPP statuses to RDAP statuses πΈ EPP is the Extensible Provisioning Protocol and RDAP is the Registration Data Access Protocol, and they don't always line up perfectly. This doc finds the gaps in the mapping and registers new RDAP statuses to fill them, so that every EPP status in the EPP RFCs is supported in RDAP. it's giving completeness π
Status of This Memo
this one's an Internet Standards Track document π§
it's a product of the Internet Engineering Task Force (IETF) π It represents the consensus of the IETF community, it got public review, and the Internet Engineering Steering Group (IESG) approved it for publication. If you want more on Internet Standards, check out Section 2 of RFC 7841.
for the current status of this document, any errata, and how to send feedback, look at http://www.rfc-editor.org/info/rfc8056 π₯
Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. π
this doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they were in effect on the publication date. please actually read these, they spell out your rights and restrictions for this doc π If you extract Code Components from this document, they must include the Simplified BSD License text described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License.
Table of Contents π
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Conventions Used in This Document . . . . . . . . . . . . 2
2. EPP-to-RDAP Status Mapping . . . . . . . . . . . . . . . . . 2
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
3.1. JSON Values Registry . . . . . . . . . . . . . . . . . . 6
4. Security Considerations . . . . . . . . . . . . . . . . . . . 10
5. Normative References . . . . . . . . . . . . . . . . . . . . 10
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 11
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction π¦
okay, the intro. This doc maps the statuses defined in the EPP RFCs to the list of statuses registered for RDAP in the "RDAP JSON Values" registry [rdap-json-values].
The "RDAP JSON Values" registry is described in Section 10.2 of [RFC7483] and lives in the "RDAP JSON Values" registry [rdap-json-values].
The EPP statuses used as the source for the mapping come from Section 2.3 of the Extensible Provisioning Protocol (EPP) Domain Name Mapping [RFC5731], Section 2.3 of "Extensible Provisioning Protocol (EPP) Host Mapping" [RFC5732], Section 2.2 of "Extensible Provisioning Protocol (EPP) Contact Mapping" [RFC5733], and Section 3.1 of "Domain Registry Grace Period Mapping for the Extensible Provisioning Protocol (EPP)" [RFC3915].
the big rule here: each EPP status MUST map to a single RDAP status π That's how data in the Domain Name Registries (DNRs) that use EPP can be presented accurately in RDAP. no cap, it's non-negotiable β¨
1.1. Conventions Used in This Document
the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be read as described in RFC 2119 [RFC2119] π
2. EPP-to-RDAP Status Mapping πΈ
here's the list of EPP statuses from the EPP RFCs ([RFC5731], [RFC5732], [RFC5733], and [RFC3915]) mapped to the RDAP statuses in the "RDAP JSON Values" registry [rdap-json-values]. The format is <EPP Status> '=' <RDAP Status>, and if the <RDAP Status> is blank, that means there's a gap in the mapping π
addPeriod =
autoRenewPeriod =
clientDeleteProhibited =
clientHold =
clientRenewProhibited =
clientTransferProhibited =
clientUpdateProhibited =
inactive = inactive
linked = associated
ok = active
pendingCreate = pending create
pendingDelete = pending delete
pendingRenew = pending renew
pendingRestore =
pendingTransfer = pending transfer
pendingUpdate = pending update
redemptionPeriod =
renewPeriod =
serverDeleteProhibited =
serverRenewProhibited =
serverTransferProhibited =
serverUpdateProhibited =
serverHold =
transferPeriod =
the RDAP JSON Values registry [rdap-json-values] does have a set of prohibited statuses, including "renew prohibited", "update prohibited", "transfer prohibited", and "delete prohibited" π But those don't directly map to the EPP prohibited statuses. EPP has status codes that tell apart "prohibited because of server policy" from "prohibited because the client asked for it." that distinction needs to survive in RDAP π
each EPP status that doesn't map directly to an RDAP status is described below. Every one includes a proposed new RDAP status value and a description. The RDAP status value comes from the EPP status value by taking the EPP "camelCase" name, lowercasing it, and putting a space between word boundaries π§
addPeriodβadd period: a grace period given right after the object is first registered. If the client deletes the object during this period, the server gives the client a credit for the cost of the registration. πautoRenewPeriodβauto renew period: a grace period given after an object's registration period expires and the server renews it automatically. If the client deletes the object during this period, the server gives the client a credit for the cost of the auto renewal. πclientDeleteProhibitedβclient delete prohibited: the client asked that requests to delete the object MUST be rejected. πclientHoldβclient hold: the client asked that the DNS delegation information MUST NOT be published for the object. πclientRenewProhibitedβclient renew prohibited: the client asked that requests to renew the object MUST be rejected. πclientTransferProhibitedβclient transfer prohibited: the client asked that requests to transfer the object MUST be rejected. πclientUpdateProhibitedβclient update prohibited: the client asked that requests to update the object (other than to remove this status) MUST be rejected. πpendingRestoreβpending restore: the object is in the middle of being restored after it was in the redemption period state. β»οΈredemptionPeriodβredemption period: a delete has been received, but the object hasn't been purged yet, because there's still a chance to restore the object and abort the deletion. πͺrenewPeriodβrenew period: a grace period given after the client explicitly extends (renews) an object's registration period. If the client deletes the object during this period, the server gives the client a credit for the cost of the renewal. πΈserverDeleteProhibitedβserver delete prohibited: the server set the status so that requests to delete the object MUST be rejected. πserverRenewProhibitedβserver renew prohibited: the server set the status so that requests to renew the object MUST be rejected. πserverTransferProhibitedβserver transfer prohibited: the server set the status so that requests to transfer the object MUST be rejected. πserverUpdateProhibitedβserver update prohibited: the server set the status so that requests to update the object (other than to remove this status) MUST be rejected. πserverHoldβserver hold: the server set the status so that DNS delegation information MUST NOT be published for the object. πtransferPeriodβtransfer period: a grace period given after an object's registration sponsorship is successfully transferred from one client to another. If the client deletes the object during this period, the server gives the client a credit for the cost of the transfer. π
once you register the new RDAP statuses, the mapping looks like this β¨
addPeriod = add period
autoRenewPeriod = auto renew period
clientDeleteProhibited = client delete prohibited
clientHold = client hold
clientRenewProhibited = client renew prohibited
clientTransferProhibited = client transfer prohibited
clientUpdateProhibited = client update prohibited
inactive = inactive
linked = associated
ok = active
pendingCreate = pending create
pendingDelete = pending delete
pendingRenew = pending renew
pendingRestore = pending restore
pendingTransfer = pending transfer
pendingUpdate = pending update
redemptionPeriod = redemption period
renewPeriod = renew period
serverDeleteProhibited = server delete prohibited
serverRenewProhibited = server renew prohibited
serverTransferProhibited = server transfer prohibited
serverUpdateProhibited = server update prohibited
serverHold = server hold
transferPeriod = transfer period
3. IANA Considerations β¨
3.1. JSON Values Registry π
okay so the IANA went and registered a bunch of values in the "RDAP JSON Values" registry from [RFC7483] π
each one is a status with a little description and a note about which EPP status it maps to. here's the full lineup, bestie β¨
The first batch is the grace period crew πΈ
Value: add period
Type: status
Description: This grace period is provided after the initial
registration of the object. If the object is deleted by the
client during this period, the server provides a credit to the
client for the cost of the registration. This maps to the Domain
Registry Grace Period Mapping for the Extensible Provisioning
Protocol (EPP) [RFC3915] 'addPeriod' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: auto renew period
Type: status
Description: This grace period is provided after an object
registration period expires and is extended (renewed)
automatically by the server. If the object is deleted by the
client during this period, the server provides a credit to the
client for the cost of the auto renewal. This maps to the Domain
Registry Grace Period Mapping for the Extensible Provisioning
Protocol (EPP) [RFC3915] 'autoRenewPeriod' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
next up are the client-side locks π the client is the one asking for these, and the wording is strict here
Value: client delete prohibited
Type: status
Description: The client requested that requests to delete the
object MUST be rejected. This maps to the Extensible Provisioning
Protocol (EPP) Domain Name Mapping [RFC5731], Extensible
Provisioning Protocol (EPP) Host Mapping [RFC5732], and Extensible
Provisioning Protocol (EPP) Contact Mapping [RFC5733]
'clientDeleteProhibited' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: client hold
Type: status
Description: The client requested that the DNS delegation
information MUST NOT be published for the object. This maps to
the Extensible Provisioning Protocol (EPP) Domain Name Mapping
[RFC5731] 'clientHold' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: client renew prohibited
Type: status
Description: The client requested that requests to renew the
object MUST be rejected. This maps to the Extensible Provisioning
Protocol (EPP) Domain Name Mapping [RFC5731]
'clientRenewProhibited' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: client transfer prohibited
Type: status
Description: The client requested that requests to transfer the
object MUST be rejected. This maps to the Extensible Provisioning
Protocol (EPP) Domain Name Mapping [RFC5731] and Extensible
Provisioning Protocol (EPP) Contact Mapping [RFC5733]
'clientTransferProhibited' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: client update prohibited
Type: status
Description: The client requested that requests to update the
object (other than to remove this status) MUST be rejected. This
maps to the Extensible Provisioning Protocol (EPP) Domain Name
Mapping [RFC5731], Extensible Provisioning Protocol (EPP) Host
Mapping [RFC5732], and Extensible Provisioning Protocol (EPP)
Contact Mapping [RFC5733] 'clientUpdateProhibited' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
then we've got the restore and redemption vibes π
Value: pending restore
Type: status
Description: An object is in the process of being restored after
being in the redemption period state. This maps to the Domain
Registry Grace Period Mapping for the Extensible Provisioning
Protocol (EPP) [RFC3915] 'pendingRestore' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: redemption period
Type: status
Description: A delete has been received, but the object has not
yet been purged because an opportunity exists to restore the
object and abort the deletion process. This maps to the Domain
Registry Grace Period Mapping for the Extensible Provisioning
Protocol (EPP) [RFC3915] 'redemptionPeriod' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: renew period
Type: status
Description: This grace period is provided after an object
registration period is explicitly extended (renewed) by the
client. If the object is deleted by the client during this
period, the server provides a credit to the client for the cost of
the renewal. This maps to the Domain Registry Grace Period
Mapping for the Extensible Provisioning Protocol (EPP) [RFC3915]
'renewPeriod' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
now the server side gets a turn π₯οΈ these are the locks the server sets itself
Value: server delete prohibited
Type: status
Description: The server set the status so that requests to delete
the object MUST be rejected. This maps to the Extensible
Provisioning Protocol (EPP) Domain Name Mapping [RFC5731],
Extensible Provisioning Protocol (EPP) Host Mapping [RFC5732], and
Extensible Provisioning Protocol (EPP) Contact Mapping [RFC5733]
'serverDeleteProhibited' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: server renew prohibited
Type: status
Description: The server set the status so that requests to renew
the object MUST be rejected. This maps to the Extensible
Provisioning Protocol (EPP) Domain Name Mapping [RFC5731]
'serverRenewProhibited' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: server transfer prohibited
Type: status
Description: The server set the status so that requests to
transfer the object MUST be rejected. This maps to the Extensible
Provisioning Protocol (EPP) Domain Name Mapping [RFC5731] and
Extensible Provisioning Protocol (EPP) Contact Mapping [RFC5733]
'serverTransferProhibited' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: server update prohibited
Type: status
Description: The server set the status so that requests to update
the object (other than to remove this status) MUST be rejected.
This maps to the Extensible Provisioning Protocol (EPP) Domain
Name Mapping [RFC5731], Extensible Provisioning Protocol (EPP)
Host Mapping [RFC5732], and Extensible Provisioning Protocol (EPP)
Contact Mapping [RFC5733] 'serverUpdateProhibited' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: server hold
Type: status
Description: The server set the status so that DNS delegation
information MUST NOT be published for the object. This maps to
the Extensible Provisioning Protocol (EPP) Domain Name Mapping
[RFC5731] 'serverHold' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
and last but not least, the transfer period π¦
Value: transfer period
Type: status
Description: This grace period is provided after the successful
transfer of object registration sponsorship from one client to
another client. If the object is deleted by the client during
this period, the server provides a credit to the client for the
cost of the transfer. This maps to the Domain Registry Grace
Period Mapping for the Extensible Provisioning Protocol (EPP)
[RFC3915] 'transferPeriod' status.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
4. Security Considerations π
okay bestie, this one's serious π so the status values in this doc can be subject to server-side information disclosure policies, which means the server can restrict who gets to see them and only authorized clients get the tea π΅. if you're building something that needs this, you may wish to check out [RFC7481] for a description of the RDAP security services that can be used to implement those information disclosure policies π«Ά
5. Normative References π
these are the receipts π§Ύ every reference, with all its details:
[rdap-json-values]
IANA, "RDAP JSON Values",
<https://www.iana.org/assignments/rdap-json-values/>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC3915] Hollenbeck, S., "Domain Registry Grace Period Mapping for
the Extensible Provisioning Protocol (EPP)", RFC 3915,
DOI 10.17487/RFC3915, September 2004,
<http://www.rfc-editor.org/info/rfc3915>.
[RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)
Domain Name Mapping", STD 69, RFC 5731,
DOI 10.17487/RFC5731, August 2009,
<http://www.rfc-editor.org/info/rfc5731>.
[RFC5732] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)
Host Mapping", STD 69, RFC 5732, DOI 10.17487/RFC5732,
August 2009, <http://www.rfc-editor.org/info/rfc5732>.
[RFC5733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)
Contact Mapping", STD 69, RFC 5733, DOI 10.17487/RFC5733,
August 2009, <http://www.rfc-editor.org/info/rfc5733>.
[RFC7481] Hollenbeck, S. and N. Kong, "Security Services for the
Registration Data Access Protocol (RDAP)", RFC 7481,
DOI 10.17487/RFC7481, March 2015,
<http://www.rfc-editor.org/info/rfc7481>.
[RFC7483] Newton, A. and S. Hollenbeck, "JSON Responses for the
Registration Data Access Protocol (RDAP)", RFC 7483,
DOI 10.17487/RFC7483, March 2015,
<http://www.rfc-editor.org/info/rfc7483>.
Acknowledgements π«Ά
big thank-yous to Andrew Newton, Scott Hollenbeck, Jim Galvin, Gustavo Lozano, and Robert Sparks π their suggestions made it into the doc, which is so iconic of them β¨
Author's Address π
James Gould
VeriSign, Inc.
12061 Bluemont Way
Reston, VA 20190
United States of America
Email: jgould@verisign.com
URI: http://www.verisign.com
π¦ where this page comes from
- ietf: rfc8056 2017-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms