From 41817985ff0d5cb173b0f446b4cd4abe2798aa54 Mon Sep 17 00:00:00 2001 From: mountford Date: Mon, 18 Jul 2016 08:22:02 -0700 Subject: [PATCH] RDAP: Implement new status codes The RDAP community is adding new values to the list of valid status codes, so that all EPP status codes can map to corresponding RDAP ones. The RDAP code has been updated accordingly. For more information, see https://tools.ietf.org/html/draft-ietf-regext-epp-rdap-status-mapping-01. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127718882 --- .../registry/rdap/RdapJsonFormatter.java | 53 ++++++++++++++----- .../registry/rdap/testdata/rdap_domain.json | 8 +-- .../rdap/testdata/rdap_domain_unicode.json | 8 +-- .../rdap/testdata/rdap_multiple_domains.json | 16 +++--- .../rdap/testdata/rdapjson_domain_full.json | 8 +-- .../rdapjson_domain_no_nameservers.json | 8 +-- 6 files changed, 64 insertions(+), 37 deletions(-) diff --git a/java/google/registry/rdap/RdapJsonFormatter.java b/java/google/registry/rdap/RdapJsonFormatter.java index d439b8d02..263fb1c07 100644 --- a/java/google/registry/rdap/RdapJsonFormatter.java +++ b/java/google/registry/rdap/RdapJsonFormatter.java @@ -85,8 +85,9 @@ public class RdapJsonFormatter { static final String NOTICES = "notices"; private static final String REMARKS = "remarks"; - /** Status values specified in RFC 7483 § 10.2.2. */ private enum RdapStatus { + + // Status values specified in RFC 7483 § 10.2.2. VALIDATED("validated"), RENEW_PROHIBITED("renew prohibited"), UPDATE_PROHIBITED("update prohibited"), @@ -104,7 +105,26 @@ public class RdapJsonFormatter { PENDING_RENEW("pending renew"), PENDING_TRANSFER("pending transfer"), PENDING_UPDATE("pending update"), - PENDING_DELETE("pending delete"); + PENDING_DELETE("pending delete"), + + // Additional status values defined in + // https://tools.ietf.org/html/draft-ietf-regext-epp-rdap-status-mapping-01. + ADD_PERIOD("add period"), + AUTO_RENEW_PERIOD("auto renew period"), + CLIENT_DELETE_PROHIBITED("client delete prohibited"), + CLIENT_HOLD("client hold"), + CLIENT_RENEW_PROHIBITED("client renew prohibited"), + CLIENT_TRANSFER_PROHIBITED("client transfer prohibited"), + CLIENT_UPDATE_PROHIBITED("client update prohibited"), + PENDING_RESTORE("pending restore"), + REDEMPTION_PERIOD("redemption period"), + RENEW_PERIOD("renew period"), + SERVER_DELETE_PROHIBITED("server deleted prohibited"), + SERVER_RENEW_PROHIBITED("server renew prohibited"), + SERVER_TRANSFER_PROHIBITED("server transfer prohibited"), + SERVER_UPDATE_PROHIBITED("server update prohibited"), + SERVER_HOLD("server hold"), + TRANSFER_PERIOD("transfer period"); /** Value as it appears in RDAP messages. */ private final String rfc7483String; @@ -123,23 +143,30 @@ public class RdapJsonFormatter { private static final ImmutableMap statusToRdapStatusMap = Maps.immutableEnumMap( new ImmutableMap.Builder() - .put(StatusValue.CLIENT_DELETE_PROHIBITED, RdapStatus.DELETE_PROHIBITED) - .put(StatusValue.CLIENT_HOLD, RdapStatus.INACTIVE) - .put(StatusValue.CLIENT_RENEW_PROHIBITED, RdapStatus.RENEW_PROHIBITED) - .put(StatusValue.CLIENT_TRANSFER_PROHIBITED, RdapStatus.TRANSFER_PROHIBITED) - .put(StatusValue.CLIENT_UPDATE_PROHIBITED, RdapStatus.UPDATE_PROHIBITED) + // StatusValue.ADD_PERIOD not defined in our system + // StatusValue.AUTO_RENEW_PERIOD not defined in our system + .put(StatusValue.CLIENT_DELETE_PROHIBITED, RdapStatus.CLIENT_DELETE_PROHIBITED) + .put(StatusValue.CLIENT_HOLD, RdapStatus.CLIENT_HOLD) + .put(StatusValue.CLIENT_RENEW_PROHIBITED, RdapStatus.CLIENT_RENEW_PROHIBITED) + .put(StatusValue.CLIENT_TRANSFER_PROHIBITED, RdapStatus.CLIENT_TRANSFER_PROHIBITED) + .put(StatusValue.CLIENT_UPDATE_PROHIBITED, RdapStatus.CLIENT_UPDATE_PROHIBITED) .put(StatusValue.INACTIVE, RdapStatus.INACTIVE) .put(StatusValue.LINKED, RdapStatus.ASSOCIATED) .put(StatusValue.OK, RdapStatus.ACTIVE) .put(StatusValue.PENDING_CREATE, RdapStatus.PENDING_CREATE) .put(StatusValue.PENDING_DELETE, RdapStatus.PENDING_DELETE) + // StatusValue.PENDING_RENEW not defined in our system + // StatusValue.PENDING_RESTORE not defined in our system .put(StatusValue.PENDING_TRANSFER, RdapStatus.PENDING_TRANSFER) .put(StatusValue.PENDING_UPDATE, RdapStatus.PENDING_UPDATE) - .put(StatusValue.SERVER_DELETE_PROHIBITED, RdapStatus.DELETE_PROHIBITED) - .put(StatusValue.SERVER_HOLD, RdapStatus.INACTIVE) - .put(StatusValue.SERVER_RENEW_PROHIBITED, RdapStatus.RENEW_PROHIBITED) - .put(StatusValue.SERVER_TRANSFER_PROHIBITED, RdapStatus.TRANSFER_PROHIBITED) - .put(StatusValue.SERVER_UPDATE_PROHIBITED, RdapStatus.UPDATE_PROHIBITED) + // StatusValue.REDEMPTION_PERIOD not defined in our system + // StatusValue.RENEW_PERIOD not defined in our system + .put(StatusValue.SERVER_DELETE_PROHIBITED, RdapStatus.SERVER_DELETE_PROHIBITED) + .put(StatusValue.SERVER_HOLD, RdapStatus.SERVER_HOLD) + .put(StatusValue.SERVER_RENEW_PROHIBITED, RdapStatus.SERVER_RENEW_PROHIBITED) + .put(StatusValue.SERVER_TRANSFER_PROHIBITED, RdapStatus.SERVER_TRANSFER_PROHIBITED) + .put(StatusValue.SERVER_UPDATE_PROHIBITED, RdapStatus.SERVER_UPDATE_PROHIBITED) + // StatusValue.TRANSFER_PERIOD not defined in our system .build()); /** Role values specified in RFC 7483 § 10.2.4. */ @@ -189,7 +216,7 @@ public class RdapJsonFormatter { } } - /** Map of EPP status values to the RDAP equivalents. */ + /** Map of EPP event values to the RDAP equivalents. */ private static final ImmutableMap historyEntryTypeToRdapEventActionMap = Maps.immutableEnumMap( diff --git a/javatests/google/registry/rdap/testdata/rdap_domain.json b/javatests/google/registry/rdap/testdata/rdap_domain.json index 8ab26c32c..c8441b57e 100644 --- a/javatests/google/registry/rdap/testdata/rdap_domain.json +++ b/javatests/google/registry/rdap/testdata/rdap_domain.json @@ -1,9 +1,9 @@ { "status": [ - "delete prohibited", - "renew prohibited", - "transfer prohibited", - "update prohibited" + "client delete prohibited", + "client renew prohibited", + "client transfer prohibited", + "server update prohibited" ], "handle": "%HANDLE%", "links": [ diff --git a/javatests/google/registry/rdap/testdata/rdap_domain_unicode.json b/javatests/google/registry/rdap/testdata/rdap_domain_unicode.json index d97e09edb..e6787e609 100644 --- a/javatests/google/registry/rdap/testdata/rdap_domain_unicode.json +++ b/javatests/google/registry/rdap/testdata/rdap_domain_unicode.json @@ -1,9 +1,9 @@ { "status": [ - "delete prohibited", - "renew prohibited", - "transfer prohibited", - "update prohibited" + "client delete prohibited", + "client renew prohibited", + "client transfer prohibited", + "server update prohibited" ], "unicodeName": "%NAME%", "handle": "%HANDLE%", diff --git a/javatests/google/registry/rdap/testdata/rdap_multiple_domains.json b/javatests/google/registry/rdap/testdata/rdap_multiple_domains.json index a8f24a0f9..35b480286 100644 --- a/javatests/google/registry/rdap/testdata/rdap_multiple_domains.json +++ b/javatests/google/registry/rdap/testdata/rdap_multiple_domains.json @@ -2,10 +2,10 @@ "domainSearchResults": [ { "status": [ - "delete prohibited", - "renew prohibited", - "transfer prohibited", - "update prohibited" + "client delete prohibited", + "client renew prohibited", + "client transfer prohibited", + "server update prohibited" ], "handle": "21-EXAMPLE", "links": [ @@ -361,10 +361,10 @@ }, { "status": [ - "delete prohibited", - "renew prohibited", - "transfer prohibited", - "update prohibited" + "client delete prohibited", + "client renew prohibited", + "client transfer prohibited", + "server update prohibited" ], "handle": "C-LOL", "links": [ diff --git a/javatests/google/registry/rdap/testdata/rdapjson_domain_full.json b/javatests/google/registry/rdap/testdata/rdapjson_domain_full.json index 85fb8e076..6befaae8e 100644 --- a/javatests/google/registry/rdap/testdata/rdapjson_domain_full.json +++ b/javatests/google/registry/rdap/testdata/rdapjson_domain_full.json @@ -5,10 +5,10 @@ "unicodeName" : "cat.みんな", "status" : [ - "delete prohibited", - "renew prohibited", - "transfer prohibited", - "update prohibited" + "client delete prohibited", + "client renew prohibited", + "client transfer prohibited", + "server update prohibited" ], "links" : [ diff --git a/javatests/google/registry/rdap/testdata/rdapjson_domain_no_nameservers.json b/javatests/google/registry/rdap/testdata/rdapjson_domain_no_nameservers.json index 49469ca72..fe91a0ee7 100644 --- a/javatests/google/registry/rdap/testdata/rdapjson_domain_no_nameservers.json +++ b/javatests/google/registry/rdap/testdata/rdapjson_domain_no_nameservers.json @@ -5,11 +5,11 @@ "unicodeName" : "fish.みんな", "status" : [ - "delete prohibited", + "client delete prohibited", + "client renew prohibited", + "client transfer prohibited", "inactive", - "renew prohibited", - "transfer prohibited", - "update prohibited" + "server update prohibited" ], "links" : [