From 4e6c8ec6fec88fc54e2d66a661f7adf15e116a7e Mon Sep 17 00:00:00 2001 From: cgoldfeder Date: Wed, 20 Apr 2016 08:23:16 -0700 Subject: [PATCH] Fix WHOIS formatting to match format from RA Our whois format was flagged as wrong in the .meet PDT. Although we had followed the AWIP samples from ICANN, the definitive list of field names is from Specification 4 of our contract, available at https://newgtlds.icann.org/sites/default/files/agreements/agreement-approved-09jan14-en.htm and indeed our fields are incorrect. (The remaining formatting issues are ambiguous but the PDT testers' interpretation is probably correct.) Since the footer format is now somewhat more complicated, I also denormalized the disclaimer field into all of the testdata files. (I spent some time debugging an extra newline between the content and the disclaimer, and it would have been far clearer to solve if the files had been this way.) ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=120338930 --- .../registry/whois/DomainWhoisResponse.java | 19 ++++---- .../whois/NameserverWhoisResponse.java | 13 +++-- .../whois/RegistrarWhoisResponse.java | 7 +-- .../domain/registry/whois/WhoisException.java | 8 ++-- .../registry/whois/WhoisResponseImpl.java | 18 ++++--- .../domain/registry/whois/WhoisHelper.java | 7 +-- .../registry/whois/testdata/whois_domain.txt | 48 ++++++++++++------- .../testdata/whois_multiple_nameservers.txt | 24 ++++++++-- .../whois/testdata/whois_nameserver.txt | 20 ++++++-- .../whois/testdata/whois_registrar.txt | 21 ++++++-- .../whois/testdata/whois_server_domain.txt | 44 +++++++++++------ .../whois_server_domain_not_found.txt | 17 ++++++- .../testdata/whois_server_idn_punycode.txt | 44 +++++++++++------ .../whois/testdata/whois_server_idn_utf8.txt | 44 +++++++++++------ .../testdata/whois_server_ip_not_found.txt | 17 ++++++- .../testdata/whois_server_malformed_path.txt | 17 ++++++- .../testdata/whois_server_nameserver.txt | 20 ++++++-- .../whois_server_nameserver_not_found.txt | 17 ++++++- .../testdata/whois_server_no_command.txt | 17 ++++++- .../whois/testdata/whois_server_registrar.txt | 21 ++++++-- .../whois_server_registrar_not_found.txt | 17 ++++++- 21 files changed, 347 insertions(+), 113 deletions(-) diff --git a/java/com/google/domain/registry/whois/DomainWhoisResponse.java b/java/com/google/domain/registry/whois/DomainWhoisResponse.java index 124275c7c..e7955bbe9 100644 --- a/java/com/google/domain/registry/whois/DomainWhoisResponse.java +++ b/java/com/google/domain/registry/whois/DomainWhoisResponse.java @@ -49,11 +49,11 @@ final class DomainWhoisResponse extends WhoisResponseImpl { private static final FormattingLogger logger = FormattingLogger.getLoggerForCallerClass(); /** Prefix for status value URLs. */ - private static final String ICANN_STATUS_URL_PREFIX = "https://www.icann.org/epp#"; + private static final String ICANN_STATUS_URL_PREFIX = "https://icann.org/epp#"; /** Message required to be appended to all domain WHOIS responses. */ private static final String ICANN_AWIP_INFO_MESSAGE = - "For more information on Whois status codes, please visit https://icann.org/epp"; + "For more information on Whois status codes, please visit https://icann.org/epp\r\n"; /** Domain which was the target of this WHOIS command. */ private final DomainResource domain; @@ -70,14 +70,14 @@ final class DomainWhoisResponse extends WhoisResponseImpl { return new DomainEmitter() .emitField("Domain Name", maybeFormatHostname(domain.getFullyQualifiedDomainName(), preferUnicode)) - .emitField("Registry Domain ID", domain.getRepoId()) - .emitField("Registrar WHOIS Server", registrar.getWhoisServer()) - .emitField("Registrar URL", registrar.getReferralUrl()) + .emitField("Domain ID", domain.getRepoId()) + .emitField("WHOIS Server", registrar.getWhoisServer()) + .emitField("Referral URL", registrar.getReferralUrl()) .emitField("Updated Date", getFormattedString(domain.getLastEppUpdateTime())) .emitField("Creation Date", getFormattedString(domain.getCreationTime())) - .emitField("Registrar Registration Expiration Date", + .emitField("Registry Expiry Date", getFormattedString(domain.getRegistrationExpirationTime())) - .emitField("Registrar", registrar.getRegistrarName()) + .emitField("Sponsoring Registrar", registrar.getRegistrarName()) .emitField("Sponsoring Registrar IANA ID", registrar.getIanaIdentifier() == null ? null : registrar.getIanaIdentifier().toString()) .emitStatusValues(domain.getStatusValues(), domain.getGracePeriods()) @@ -94,8 +94,9 @@ final class DomainWhoisResponse extends WhoisResponseImpl { return maybeFormatHostname(host.getFullyQualifiedHostName(), preferUnicode); }}) .emitField("DNSSEC", isNullOrEmpty(domain.getDsData()) ? "unsigned" : "signedDelegation") + .emitLastUpdated(getTimestamp()) .emitAwipMessage() - .emitFooter(getTimestamp()) + .emitFooter() .toString(); } @@ -138,7 +139,7 @@ final class DomainWhoisResponse extends WhoisResponseImpl { domain.getFullyQualifiedDomainName(), contact.getLinked()); return this; } - emitField("Registry " + contactType, "ID", contactResource.getContactId()); + emitField(contactType, "ID", contactResource.getContactId()); PostalInfo postalInfo = chooseByUnicodePreference( preferUnicode, contactResource.getLocalizedPostalInfo(), diff --git a/java/com/google/domain/registry/whois/NameserverWhoisResponse.java b/java/com/google/domain/registry/whois/NameserverWhoisResponse.java index 6c82f81d3..d8ba036bf 100644 --- a/java/com/google/domain/registry/whois/NameserverWhoisResponse.java +++ b/java/com/google/domain/registry/whois/NameserverWhoisResponse.java @@ -46,7 +46,8 @@ final class NameserverWhoisResponse extends WhoisResponseImpl { @Override public String getPlainTextOutput(boolean preferUnicode) { BasicEmitter emitter = new BasicEmitter(); - for (HostResource host : hosts) { + for (int i = 0; i < hosts.size(); i++) { + HostResource host = hosts.get(i); Registrar registrar = getRegistrar(host.getCurrentSponsorClientId()); emitter .emitField("Server Name", maybeFormatHostname( @@ -58,10 +59,12 @@ final class NameserverWhoisResponse extends WhoisResponseImpl { return InetAddresses.toAddrString(addr); }}) .emitField("Registrar", registrar.getRegistrarName()) - .emitField("Registrar WHOIS Server", registrar.getWhoisServer()) - .emitField("Registrar URL", registrar.getReferralUrl()) - .emitNewline(); + .emitField("WHOIS Server", registrar.getWhoisServer()) + .emitField("Referral URL", registrar.getReferralUrl()); + if (i < hosts.size() - 1) { + emitter.emitNewline(); + } } - return emitter.emitFooter(getTimestamp()).toString(); + return emitter.emitLastUpdated(getTimestamp()).emitFooter().toString(); } } diff --git a/java/com/google/domain/registry/whois/RegistrarWhoisResponse.java b/java/com/google/domain/registry/whois/RegistrarWhoisResponse.java index e6cc93090..82e0446ab 100644 --- a/java/com/google/domain/registry/whois/RegistrarWhoisResponse.java +++ b/java/com/google/domain/registry/whois/RegistrarWhoisResponse.java @@ -58,11 +58,12 @@ class RegistrarWhoisResponse extends WhoisResponseImpl { registrar.getPhoneNumber(), registrar.getFaxNumber(), registrar.getEmailAddress()) - .emitField("Registrar WHOIS Server", registrar.getWhoisServer()) - .emitField("Registrar URL", registrar.getReferralUrl()) + .emitField("WHOIS Server", registrar.getWhoisServer()) + .emitField("Referral URL", registrar.getReferralUrl()) .emitRegistrarContacts("Admin", contacts, AdminOrTech.ADMIN) .emitRegistrarContacts("Technical", contacts, AdminOrTech.TECH) - .emitFooter(getTimestamp()) + .emitLastUpdated(getTimestamp()) + .emitFooter() .toString(); } diff --git a/java/com/google/domain/registry/whois/WhoisException.java b/java/com/google/domain/registry/whois/WhoisException.java index 26bd79f2d..c277dcc6b 100644 --- a/java/com/google/domain/registry/whois/WhoisException.java +++ b/java/com/google/domain/registry/whois/WhoisException.java @@ -62,10 +62,10 @@ public final class WhoisException extends Exception implements WhoisResponse { @Override public String getPlainTextOutput(boolean preferUnicode) { - String footer = new WhoisResponseImpl.BasicEmitter() - .emitNewline() - .emitFooter(getTimestamp()) + return new WhoisResponseImpl.BasicEmitter() + .emitRawLine(getMessage()) + .emitLastUpdated(getTimestamp()) + .emitFooter() .toString(); - return getMessage() + footer; } } diff --git a/java/com/google/domain/registry/whois/WhoisResponseImpl.java b/java/com/google/domain/registry/whois/WhoisResponseImpl.java index 1cb02faef..9201c0f1a 100644 --- a/java/com/google/domain/registry/whois/WhoisResponseImpl.java +++ b/java/com/google/domain/registry/whois/WhoisResponseImpl.java @@ -159,14 +159,20 @@ abstract class WhoisResponseImpl implements WhoisResponse { } /** Returns raw text that should be appended to the end of ALL WHOIS responses. */ - E emitFooter(DateTime timestamp) { - emitField(ICANN_REPORTING_URL_FIELD, ICANN_REPORTING_URL); + E emitLastUpdated(DateTime timestamp) { // We are assuming that our WHOIS database is always completely up to date, since it's // querying the live backend datastore. - stringBuilder.append(String.format( - ">>> Last update of WHOIS database: %s <<<\r\n\r\n%s\r\n", - UtcDateTimeAdapter.getFormattedString(timestamp), - DISCLAIMER)); + stringBuilder + .append(">>> Last update of WHOIS database: ") + .append(UtcDateTimeAdapter.getFormattedString(timestamp)) + .append(" <<<\r\n\r\n"); + return thisCastToDerived(); + } + + /** Returns raw text that should be appended to the end of ALL WHOIS responses. */ + E emitFooter() { + emitField(ICANN_REPORTING_URL_FIELD, ICANN_REPORTING_URL); + stringBuilder.append("\r\n").append(DISCLAIMER).append("\r\n"); return thisCastToDerived(); } diff --git a/javatests/com/google/domain/registry/whois/WhoisHelper.java b/javatests/com/google/domain/registry/whois/WhoisHelper.java index 17bf4ffd9..b1216cc85 100644 --- a/javatests/com/google/domain/registry/whois/WhoisHelper.java +++ b/javatests/com/google/domain/registry/whois/WhoisHelper.java @@ -21,13 +21,10 @@ final class WhoisHelper { /** * Loads test data from file in {@code testdata/} directory, "fixing" newlines to have the ending - * that WHOIS requires and appending the disclaimer text. + * that WHOIS requires. */ static String loadWhoisTestFile(String filename) { - return new StringBuilder(readResourceUtf8(WhoisHelper.class, "testdata/" + filename)) - .append('\n') - .append(readResourceUtf8(WhoisServer.class, "disclaimer.txt")) - .toString() + return readResourceUtf8(WhoisHelper.class, "testdata/" + filename) .replaceAll("\r?\n", "\r\n"); } } diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_domain.txt b/javatests/com/google/domain/registry/whois/testdata/whois_domain.txt index 8294dbb70..9a35d8fbc 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_domain.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_domain.txt @@ -1,19 +1,19 @@ Domain Name: EXAMPLE.tld -Registry Domain ID: 3-TLD -Registrar WHOIS Server: whois.nic.fakewhois.example -Registrar URL: http://www.referral.example/path +Domain ID: 3-TLD +WHOIS Server: whois.nic.fakewhois.example +Referral URL: http://www.referral.example/path Updated Date: 2009-05-29T20:13:00Z Creation Date: 2000-10-08T00:45:00Z -Registrar Registration Expiration Date: 2010-10-08T00:44:59Z -Registrar: New Registrar +Registry Expiry Date: 2010-10-08T00:44:59Z +Sponsoring Registrar: New Registrar Sponsoring Registrar IANA ID: 5555555 -Domain Status: addPeriod https://www.icann.org/epp#addPeriod -Domain Status: clientDeleteProhibited https://www.icann.org/epp#clientDeleteProhibited -Domain Status: clientRenewProhibited https://www.icann.org/epp#clientRenewProhibited -Domain Status: clientTransferProhibited https://www.icann.org/epp#clientTransferProhibited -Domain Status: serverUpdateProhibited https://www.icann.org/epp#serverUpdateProhibited -Domain Status: transferPeriod https://www.icann.org/epp#transferPeriod -Registry Registrant ID: 5372808-ERL +Domain Status: addPeriod https://icann.org/epp#addPeriod +Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited +Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited +Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited +Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited +Domain Status: transferPeriod https://icann.org/epp#transferPeriod +Registrant ID: 5372808-ERL Registrant Name: EXAMPLE REGISTRANT Registrant Organization: EXAMPLE ORGANIZATION Registrant Street: 123 EXAMPLE STREET @@ -26,7 +26,7 @@ Registrant Phone Ext: 1234 Registrant Fax: +1.5555551213 Registrant Fax Ext: 4321 Registrant Email: EMAIL@EXAMPLE.tld -Registry Admin ID: 5372809-ERL +Admin ID: 5372809-ERL Admin Name: EXAMPLE REGISTRANT ADMINISTRATIVE Admin Organization: EXAMPLE REGISTRANT ORGANIZATION Admin Street: 123 EXAMPLE STREET @@ -39,7 +39,7 @@ Admin Phone Ext: 1234 Admin Fax: +1.5555551213 Admin Fax Ext: Admin Email: EMAIL@EXAMPLE.tld -Registry Tech ID: 5372811-ERL +Tech ID: 5372811-ERL Tech Name: EXAMPLE REGISTRAR TECHNICAL Tech Organization: EXAMPLE REGISTRAR LLC Tech Street: 123 EXAMPLE STREET @@ -55,6 +55,22 @@ Tech Email: EMAIL@EXAMPLE.tld Name Server: NS01.EXAMPLEREGISTRAR.tld Name Server: NS02.EXAMPLEREGISTRAR.tld DNSSEC: signedDelegation -For more information on Whois status codes, please visit https://icann.org/epp -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<< + +For more information on Whois status codes, please visit https://icann.org/epp + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_multiple_nameservers.txt b/javatests/com/google/domain/registry/whois/testdata/whois_multiple_nameservers.txt index b22f0a8e2..f00dab693 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_multiple_nameservers.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_multiple_nameservers.txt @@ -2,15 +2,29 @@ Server Name: NS1.EXAMPLE.tld IP Address: 192.0.2.123 IP Address: 2001:db8::1 Registrar: Example Registrar, Inc. -Registrar WHOIS Server: whois.nic.fakewhois.example -Registrar URL: http://www.referral.example/path +WHOIS Server: whois.nic.fakewhois.example +Referral URL: http://www.referral.example/path Server Name: NS2.EXAMPLE.tld IP Address: 192.0.2.123 IP Address: 2001:db8::1 Registrar: Example Registrar, Inc. -Registrar WHOIS Server: whois.nic.fakewhois.example -Registrar URL: http://www.referral.example/path +WHOIS Server: whois.nic.fakewhois.example +Referral URL: http://www.referral.example/path +>>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<< URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ ->>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<< + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_nameserver.txt b/javatests/com/google/domain/registry/whois/testdata/whois_nameserver.txt index 405804399..45d8b2d63 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_nameserver.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_nameserver.txt @@ -2,8 +2,22 @@ Server Name: NS1.EXAMPLE.tld IP Address: 192.0.2.123 IP Address: 2001:db8::1 Registrar: Example Registrar, Inc. -Registrar WHOIS Server: whois.nic.fakewhois.example -Registrar URL: http://www.referral.example/path +WHOIS Server: whois.nic.fakewhois.example +Referral URL: http://www.referral.example/path +>>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<< URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ ->>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<< + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_registrar.txt b/javatests/com/google/domain/registry/whois/testdata/whois_registrar.txt index 898faed48..1120c4eac 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_registrar.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_registrar.txt @@ -7,8 +7,8 @@ Country: US Phone Number: +1.3105551212 Fax Number: +1.3105551213 Email: registrar@example.tld -Registrar WHOIS Server: whois.example-registrar.tld -Registrar URL: http://www.example-registrar.tld +WHOIS Server: whois.example-registrar.tld +Referral URL: http://www.example-registrar.tld Admin Contact: Jane Registrar Phone Number: +1.3105551214 Fax Number: +1.3105551213 @@ -21,5 +21,20 @@ Technical Contact: John Geek Phone Number: +1.3105551215 Fax Number: +1.3105551216 Email: johngeek@example-registrar.tld -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<< + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_domain.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_domain.txt index 88c3f9ce1..418e58c18 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_domain.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_domain.txt @@ -1,17 +1,17 @@ Domain Name: cat.lol -Registry Domain ID: 9-LOL -Registrar WHOIS Server: whois.example.com -Registrar URL: http://www.example.com +Domain ID: 9-LOL +WHOIS Server: whois.example.com +Referral URL: http://www.example.com Updated Date: 2009-05-29T20:13:00Z Creation Date: 2000-10-08T00:45:00Z -Registrar Registration Expiration Date: 2110-10-08T00:44:59Z -Registrar: Yes Virginia <script> +Registry Expiry Date: 2110-10-08T00:44:59Z +Sponsoring Registrar: Yes Virginia <script> Sponsoring Registrar IANA ID: 1 -Domain Status: clientDeleteProhibited https://www.icann.org/epp#clientDeleteProhibited -Domain Status: clientRenewProhibited https://www.icann.org/epp#clientRenewProhibited -Domain Status: clientTransferProhibited https://www.icann.org/epp#clientTransferProhibited -Domain Status: serverUpdateProhibited https://www.icann.org/epp#serverUpdateProhibited -Registry Registrant ID: 5372808-ERL +Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited +Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited +Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited +Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited +Registrant ID: 5372808-ERL Registrant Name: Goblin Market Registrant Organization: GOOGLE INCORPORATED <script> Registrant Street: 123 Example Boulevard <script> @@ -24,7 +24,7 @@ Registrant Phone Ext: Registrant Fax: +1.2126660420 Registrant Fax Ext: Registrant Email: lol@cat.lol -Registry Admin ID: 5372808-IRL +Admin ID: 5372808-IRL Admin Name: Santa Claus Admin Organization: GOOGLE INCORPORATED <script> Admin Street: 123 Example Boulevard <script> @@ -37,7 +37,7 @@ Admin Phone Ext: Admin Fax: +1.2126660420 Admin Fax Ext: Admin Email: BOFH@cat.lol -Registry Tech ID: 5372808-TRL +Tech ID: 5372808-TRL Tech Name: The Raven Tech Organization: GOOGLE INCORPORATED <script> Tech Street: 123 Example Boulevard <script> @@ -53,6 +53,22 @@ Tech Email: bog@cat.lol Name Server: ns1.cat.lol Name Server: ns2.cat.lol DNSSEC: signedDelegation -For more information on Whois status codes, please visit https://icann.org/epp -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +For more information on Whois status codes, please visit https://icann.org/epp + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_domain_not_found.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_domain_not_found.txt index 8b1015927..ab0b2041f 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_domain_not_found.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_domain_not_found.txt @@ -1,3 +1,18 @@ Domain not found. -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_idn_punycode.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_idn_punycode.txt index 5e9e51f4d..d97c11858 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_idn_punycode.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_idn_punycode.txt @@ -1,17 +1,17 @@ Domain Name: cat.xn--q9jyb4c -Registry Domain ID: 9-Q9JYB4C -Registrar WHOIS Server: whois.example.com -Registrar URL: http://www.example.com +Domain ID: 9-Q9JYB4C +WHOIS Server: whois.example.com +Referral URL: http://www.example.com Updated Date: 2009-05-29T20:13:00Z Creation Date: 2000-10-08T00:45:00Z -Registrar Registration Expiration Date: 2110-10-08T00:44:59Z -Registrar: Yes Virginia <script> +Registry Expiry Date: 2110-10-08T00:44:59Z +Sponsoring Registrar: Yes Virginia <script> Sponsoring Registrar IANA ID: 1 -Domain Status: clientDeleteProhibited https://www.icann.org/epp#clientDeleteProhibited -Domain Status: clientRenewProhibited https://www.icann.org/epp#clientRenewProhibited -Domain Status: clientTransferProhibited https://www.icann.org/epp#clientTransferProhibited -Domain Status: serverUpdateProhibited https://www.icann.org/epp#serverUpdateProhibited -Registry Registrant ID: 5372808-ERL +Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited +Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited +Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited +Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited +Registrant ID: 5372808-ERL Registrant Name: (◕‿◕) Registrant Organization: GOOGLE INCORPORATED <script> Registrant Street: 123 Example Boulevard <script> @@ -24,7 +24,7 @@ Registrant Phone Ext: Registrant Fax: +1.2126660420 Registrant Fax Ext: Registrant Email: lol@cat.みんな -Registry Admin ID: 5372808-IRL +Admin ID: 5372808-IRL Admin Name: Santa Claus Admin Organization: GOOGLE INCORPORATED <script> Admin Street: 123 Example Boulevard <script> @@ -37,7 +37,7 @@ Admin Phone Ext: Admin Fax: +1.2126660420 Admin Fax Ext: Admin Email: BOFH@cat.みんな -Registry Tech ID: 5372808-TRL +Tech ID: 5372808-TRL Tech Name: The Raven Tech Organization: GOOGLE INCORPORATED <script> Tech Street: 123 Example Boulevard <script> @@ -53,6 +53,22 @@ Tech Email: bog@cat.みんな Name Server: ns1.cat.xn--q9jyb4c Name Server: ns2.cat.xn--q9jyb4c DNSSEC: signedDelegation -For more information on Whois status codes, please visit https://icann.org/epp -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +For more information on Whois status codes, please visit https://icann.org/epp + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_idn_utf8.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_idn_utf8.txt index 13b5b9e23..58788de74 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_idn_utf8.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_idn_utf8.txt @@ -1,17 +1,17 @@ Domain Name: cat.みんな -Registry Domain ID: 9-Q9JYB4C -Registrar WHOIS Server: whois.example.com -Registrar URL: http://www.example.com +Domain ID: 9-Q9JYB4C +WHOIS Server: whois.example.com +Referral URL: http://www.example.com Updated Date: 2009-05-29T20:13:00Z Creation Date: 2000-10-08T00:45:00Z -Registrar Registration Expiration Date: 2110-10-08T00:44:59Z -Registrar: Yes Virginia <script> +Registry Expiry Date: 2110-10-08T00:44:59Z +Sponsoring Registrar: Yes Virginia <script> Sponsoring Registrar IANA ID: 1 -Domain Status: clientDeleteProhibited https://www.icann.org/epp#clientDeleteProhibited -Domain Status: clientRenewProhibited https://www.icann.org/epp#clientRenewProhibited -Domain Status: clientTransferProhibited https://www.icann.org/epp#clientTransferProhibited -Domain Status: serverUpdateProhibited https://www.icann.org/epp#serverUpdateProhibited -Registry Registrant ID: 5372808-ERL +Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited +Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited +Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited +Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited +Registrant ID: 5372808-ERL Registrant Name: (◕‿◕) Registrant Organization: GOOGLE INCORPORATED <script> Registrant Street: 123 Example Boulevard <script> @@ -24,7 +24,7 @@ Registrant Phone Ext: Registrant Fax: +1.2126660420 Registrant Fax Ext: Registrant Email: lol@cat.みんな -Registry Admin ID: 5372808-IRL +Admin ID: 5372808-IRL Admin Name: Santa Claus Admin Organization: GOOGLE INCORPORATED <script> Admin Street: 123 Example Boulevard <script> @@ -37,7 +37,7 @@ Admin Phone Ext: Admin Fax: +1.2126660420 Admin Fax Ext: Admin Email: BOFH@cat.みんな -Registry Tech ID: 5372808-TRL +Tech ID: 5372808-TRL Tech Name: The Raven Tech Organization: GOOGLE INCORPORATED <script> Tech Street: 123 Example Boulevard <script> @@ -53,6 +53,22 @@ Tech Email: bog@cat.みんな Name Server: ns1.cat.みんな Name Server: ns2.cat.みんな DNSSEC: signedDelegation -For more information on Whois status codes, please visit https://icann.org/epp -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +For more information on Whois status codes, please visit https://icann.org/epp + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_ip_not_found.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_ip_not_found.txt index de2546a57..7644300b6 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_ip_not_found.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_ip_not_found.txt @@ -1,3 +1,18 @@ No nameservers found. -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_malformed_path.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_malformed_path.txt index 005f3d09a..06090a46d 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_malformed_path.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_malformed_path.txt @@ -1,3 +1,18 @@ Malformed path query. -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_nameserver.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_nameserver.txt index 801568aa3..59c242f7d 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_nameserver.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_nameserver.txt @@ -1,8 +1,22 @@ Server Name: ns1.cat.lol IP Address: 1.2.3.4 Registrar: -Registrar WHOIS Server: whois.nic.fakewhois.example -Registrar URL: http://www.referral.example/path +WHOIS Server: whois.nic.fakewhois.example +Referral URL: http://www.referral.example/path +>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ ->>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_nameserver_not_found.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_nameserver_not_found.txt index 608f30bc7..6f5f61cbc 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_nameserver_not_found.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_nameserver_not_found.txt @@ -1,3 +1,18 @@ Nameserver not found. -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_no_command.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_no_command.txt index 429ba02d1..31c8e7a91 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_no_command.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_no_command.txt @@ -1,3 +1,18 @@ No WHOIS command specified. -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_registrar.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_registrar.txt index 0d7c2a9d0..87387dc6e 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_registrar.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_registrar.txt @@ -7,8 +7,8 @@ Country: US Phone Number: +1.2125551212 Fax Number: +1.2125551213 Email: contact-us@example.com -Registrar WHOIS Server: whois.example.com -Registrar URL: http://www.example.com +WHOIS Server: whois.example.com +Referral URL: http://www.example.com Admin Contact: Jane Doe Phone Number: +1.2125551215 Fax Number: +1.2125551216 @@ -17,5 +17,20 @@ Technical Contact: John Doe Phone Number: +1.2125551213 Fax Number: +1.2125551213 Email: johndoe@example.com -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time. diff --git a/javatests/com/google/domain/registry/whois/testdata/whois_server_registrar_not_found.txt b/javatests/com/google/domain/registry/whois/testdata/whois_server_registrar_not_found.txt index c6d1d6668..8e3b153f5 100644 --- a/javatests/com/google/domain/registry/whois/testdata/whois_server_registrar_not_found.txt +++ b/javatests/com/google/domain/registry/whois/testdata/whois_server_registrar_not_found.txt @@ -1,3 +1,18 @@ No registrar found. -URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< + +URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ + +WHOIS information is provided by Charleston Road Registry Inc. (CRR) solely for +query-based, informational purposes. By querying our WHOIS database, you are +agreeing to comply with these terms +(http://www.registry.google/about/whois-disclaimer.html) so please read them +carefully. Any information provided is "as is" without any guarantee of +accuracy. You may not use such information to (a) allow, enable, or otherwise +support the transmission of mass unsolicited, commercial advertising or +solicitations; (b) enable high volume, automated, electronic processes that +access the systems of CRR or any ICANN-Accredited Registrar, except as +reasonably necessary to register domain names or modify existing registrations; +or (c) engage in or support unlawful behavior. CRR reserves the right to +restrict or deny your access to the Whois database, and may modify these terms +at any time.