Internet Engineering Task Force (IETF)
Request for Comments: 8056
Category: Standards Track
ISSN: 2070-1721
J. Gould
VeriSign, Inc.
January 2017

Extensible Provisioning Protocol (EPP)

and Registration Data Access Protocol (RDAP) Status Mapping

Abstract

This document describes the mapping of the Extensible Provisioning Protocol (EPP) statuses with the statuses registered for use in the Registration Data Access Protocol (RDAP). This document identifies gaps in the mapping, and registers RDAP statuses to fill those gaps to ensure that all of the EPP statuses specified in RFCs are supported in RDAP.

Status of This Memo

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc8056.

Copyright Notice

Copyright © 2017 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided 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

This document maps the statuses defined in the Extensible Provisioning Protocol (EPP) RFCs to the list of statuses registered for use in the Registration Data Access Protocol (RDAP), in the "RDAP JSON Values" registry [rdap-json-values].

The "RDAP JSON Values" registry is described in Section 10.2 of [RFC7483] and is available in the "RDAP JSON Values" registry [rdap-json-values].

The EPP statuses used as the source of the mapping include 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].

Each EPP status MUST map to a single RDAP status to ensure that data in the Domain Name Registries (DNRs) that use EPP can be accurately presented in RDAP.

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 interpreted as described in RFC 2119 [RFC2119].

2. EPP-to-RDAP Status Mapping

Below is a list of EPP statuses from the EPP RFCs ([RFC5731], [RFC5732], [RFC5733], and [RFC3915]) mapped to the RDAP statuses registered in the "RDAP JSON Values" registry [rdap-json-values], with the format <EPP Status> '=' <RDAP Status>, where a blank <RDAP Status> indicates 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 these statuses do not directly map to the EPP prohibited statuses. EPP provides status codes that allow distinguishing the case that an action is prohibited because of server policy from the case that an action is prohibited because of a client request. The ability to make this distinction needs to be preserved in RDAP.

Each of the EPP status values that don't map directly to an RDAP status value is described below. Each EPP status value includes a proposed new RDAP status value and a description of the value. The RDAP status value is derived from the EPP status value by converting the EPP "camelCase" representation to lowercase with a space character inserted between word boundaries.

addPeriod = add period; 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.

autoRenewPeriod = auto renew period; 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.

clientDeleteProhibited = client delete prohibited; The client

requested that requests to delete the object MUST be rejected.

clientHold = client hold; The client requested that the DNS

delegation information MUST NOT be published for the object.

clientRenewProhibited = client renew prohibited; The client

requested that requests to renew the object MUST be rejected.

clientTransferProhibited = client transfer prohibited; The client

requested that requests to transfer the object MUST be rejected.

clientUpdateProhibited = client update prohibited; The client

requested that requests to update the object (other than to remove this status) MUST be rejected.

pendingRestore = pending restore; An object is in the process of

being restored after being in the redemption period state.

redemptionPeriod = redemption period; 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.

renewPeriod = renew period; 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.

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; 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.

The resulting mapping after registering the new RDAP statuses is:

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

The following values have been registered by the IANA in the "RDAP JSON Values" registry described in [RFC7483]:

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

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

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

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

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

The status values described in this document can be subject to server-side information disclosure policies that restrict display of the values to authorized clients. Implementers may wish to review [RFC7481] for a description of the RDAP security services that can be used to implement information disclosure policies.

5. Normative References

[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

Suggestions that have been incorporated into this document were provided by Andrew Newton, Scott Hollenbeck, Jim Galvin, Gustavo Lozano, and Robert Sparks.

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