RDAP: Use IANA identifier as the registrar handle

According to the ICAAN operation profile:

2.1.7. Registries MUST support lookup for entities with the registrar role within other objects using the handle (as described in 3.1.5 of RFC7482). The handle of the entity with the registrar role MUST be equal to IANA Registrar ID. The entity with the registrar role in the RDAP response MUST contain a publicIDs member to identify the IANA Registrar ID from the IANA’s Registrar ID registry. The type value of the publicID object MUST be equal to IANA Registrar ID.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130452501
This commit is contained in:
mountford 2016-08-16 15:09:29 -07:00 committed by Ben McIlwain
parent 27820c512e
commit 4a34807b1d
10 changed files with 114 additions and 53 deletions

View file

@ -621,11 +621,11 @@ public class RdapJsonFormatter {
DateTime now) {
ImmutableMap.Builder<String, Object> builder = new ImmutableMap.Builder<>();
builder.put("objectClassName", "entity");
builder.put("handle", registrar.getClientIdentifier());
builder.put("handle", registrar.getIanaIdentifier().toString());
builder.put("status", STATUS_LIST_ACTIVE);
builder.put("roles", ImmutableList.of(RdapEntityRole.REGISTRAR.rfc7483String));
builder.put("links",
ImmutableList.of(makeLink("entity", registrar.getClientIdentifier(), linkBase)));
ImmutableList.of(makeLink("entity", registrar.getIanaIdentifier().toString(), linkBase)));
builder.put("publicIds",
ImmutableList.of(
ImmutableMap.of(
@ -805,7 +805,7 @@ public class RdapJsonFormatter {
ImmutableList.Builder<Object> eventsBuilder = new ImmutableList.Builder<>();
eventsBuilder.add(makeEvent(
RdapEventAction.REGISTRATION,
registrar.getClientIdentifier(),
registrar.getIanaIdentifier().toString(),
registrar.getCreationTime()));
if ((registrar.getLastUpdateTime() != null)
&& registrar.getLastUpdateTime().isAfter(registrar.getCreationTime())) {