mirror of
https://github.com/google/nomulus.git
synced 2025-05-13 16:07:15 +02:00
Change redacted output for domain whois query
The redacted text for the email field displays a longer prompt to contact the registrar, per the request filed at b/123573370. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=232716133
This commit is contained in:
parent
6a6c7e3b09
commit
7fe16689d8
18 changed files with 81 additions and 38 deletions
|
@ -980,6 +980,17 @@ public final class RegistryConfig {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Redaction text for email address in WHOIS
|
||||||
|
*
|
||||||
|
* @see google.registry.whois.WhoisResponse
|
||||||
|
*/
|
||||||
|
@Provides
|
||||||
|
@Config("whoisRedactedEmailText")
|
||||||
|
public static String provideWhoisRedactedEmailText(RegistryConfigSettings config) {
|
||||||
|
return config.registryPolicy.whoisRedactedEmailText;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disclaimer displayed at the end of WHOIS query results.
|
* Disclaimer displayed at the end of WHOIS query results.
|
||||||
*
|
*
|
||||||
|
|
|
@ -89,6 +89,7 @@ public class RegistryConfigSettings {
|
||||||
public String registryAdminClientId;
|
public String registryAdminClientId;
|
||||||
public String premiumTermsExportDisclaimer;
|
public String premiumTermsExportDisclaimer;
|
||||||
public String reservedTermsExportDisclaimer;
|
public String reservedTermsExportDisclaimer;
|
||||||
|
public String whoisRedactedEmailText;
|
||||||
public String whoisDisclaimer;
|
public String whoisDisclaimer;
|
||||||
public String rdapTos;
|
public String rdapTos;
|
||||||
public String rdapTosStaticUrl;
|
public String rdapTosStaticUrl;
|
||||||
|
|
|
@ -104,6 +104,12 @@ registryPolicy:
|
||||||
to publish. This list is subject to change. The most up-to-date source
|
to publish. This list is subject to change. The most up-to-date source
|
||||||
is always the registry itself, by sending domain check EPP commands.
|
is always the registry itself, by sending domain check EPP commands.
|
||||||
|
|
||||||
|
# Redaction text for email address in WHOIS
|
||||||
|
whoisRedactedEmailText: |
|
||||||
|
Please query the WHOIS server of the owning registrar identified in this
|
||||||
|
output for information on how to contact the Registrant, Admin, or Tech
|
||||||
|
contact of the queried domain name.
|
||||||
|
|
||||||
# Disclaimer at the top of WHOIS results.
|
# Disclaimer at the top of WHOIS results.
|
||||||
whoisDisclaimer: |
|
whoisDisclaimer: |
|
||||||
WHOIS information is provided by the registry solely for query-based,
|
WHOIS information is provided by the registry solely for query-based,
|
||||||
|
|
|
@ -25,15 +25,20 @@ import org.joda.time.DateTime;
|
||||||
public class DomainLookupCommand extends DomainOrHostLookupCommand {
|
public class DomainLookupCommand extends DomainOrHostLookupCommand {
|
||||||
|
|
||||||
private final boolean fullOutput;
|
private final boolean fullOutput;
|
||||||
|
private final String whoisRedactedEmailText;
|
||||||
|
|
||||||
public DomainLookupCommand(InternetDomainName domainName, boolean fullOutput) {
|
public DomainLookupCommand(
|
||||||
|
InternetDomainName domainName,
|
||||||
|
boolean fullOutput,
|
||||||
|
String whoisRedactedEmailText) {
|
||||||
super(domainName, "Domain");
|
super(domainName, "Domain");
|
||||||
this.fullOutput = fullOutput;
|
this.fullOutput = fullOutput;
|
||||||
|
this.whoisRedactedEmailText = whoisRedactedEmailText;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Optional<WhoisResponse> getResponse(InternetDomainName domainName, DateTime now) {
|
protected Optional<WhoisResponse> getResponse(InternetDomainName domainName, DateTime now) {
|
||||||
return loadByForeignKeyCached(DomainBase.class, domainName.toString(), now)
|
return loadByForeignKeyCached(DomainBase.class, domainName.toString(), now)
|
||||||
.map(domain -> new DomainWhoisResponse(domain, fullOutput, now));
|
.map(domain -> new DomainWhoisResponse(domain, fullOutput, whoisRedactedEmailText, now));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,11 +59,16 @@ final class DomainWhoisResponse extends WhoisResponseImpl {
|
||||||
/** Whether the full WHOIS output is to be displayed. */
|
/** Whether the full WHOIS output is to be displayed. */
|
||||||
private final boolean fullOutput;
|
private final boolean fullOutput;
|
||||||
|
|
||||||
/** Creates new WHOIS domain response on the given domain. */
|
/** When fullOutput is false, the text to display for the registrant's email fields. */
|
||||||
DomainWhoisResponse(DomainBase domain, boolean fullOutput, DateTime timestamp) {
|
private final String whoisRedactedEmailText;
|
||||||
|
|
||||||
|
/** Creates new WHOIS domain response on the given domain. */
|
||||||
|
DomainWhoisResponse(
|
||||||
|
DomainBase domain, boolean fullOutput, String whoisRedactedEmailText, DateTime timestamp) {
|
||||||
super(timestamp);
|
super(timestamp);
|
||||||
this.domain = checkNotNull(domain, "domain");
|
this.domain = checkNotNull(domain, "domain");
|
||||||
this.fullOutput = fullOutput;
|
this.fullOutput = fullOutput;
|
||||||
|
this.whoisRedactedEmailText = whoisRedactedEmailText;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -176,8 +181,9 @@ final class DomainWhoisResponse extends WhoisResponseImpl {
|
||||||
}
|
}
|
||||||
emitPhone(contactType, "Phone", contactResource.getVoiceNumber());
|
emitPhone(contactType, "Phone", contactResource.getVoiceNumber());
|
||||||
emitPhone(contactType, "Fax", contactResource.getFaxNumber());
|
emitPhone(contactType, "Fax", contactResource.getFaxNumber());
|
||||||
emitField(
|
String emailFieldContent =
|
||||||
ImmutableList.of(contactType, "Email"), contactResource.getEmailAddress(), fullOutput);
|
fullOutput ? contactResource.getEmailAddress() : whoisRedactedEmailText;
|
||||||
|
emitField(ImmutableList.of(contactType, "Email"), emailFieldContent);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,9 @@ import java.net.InetAddress;
|
||||||
public class WhoisCommandFactory {
|
public class WhoisCommandFactory {
|
||||||
|
|
||||||
/** Returns a new {@link WhoisCommand} to perform a domain lookup on the specified domain name. */
|
/** Returns a new {@link WhoisCommand} to perform a domain lookup on the specified domain name. */
|
||||||
public WhoisCommand domainLookup(InternetDomainName domainName, boolean fullOutput) {
|
public WhoisCommand domainLookup(
|
||||||
return new DomainLookupCommand(domainName, fullOutput);
|
InternetDomainName domainName, boolean fullOutput, String whoisRedactedEmailText) {
|
||||||
|
return new DomainLookupCommand(domainName, fullOutput, whoisRedactedEmailText);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -74,11 +74,15 @@ class WhoisReader {
|
||||||
static final String REGISTRAR_LOOKUP_COMMAND = "registrar";
|
static final String REGISTRAR_LOOKUP_COMMAND = "registrar";
|
||||||
|
|
||||||
private final WhoisCommandFactory commandFactory;
|
private final WhoisCommandFactory commandFactory;
|
||||||
|
private final String whoisRedactedEmailText;
|
||||||
|
|
||||||
/** Creates a new WhoisReader that extracts its command from the specified Reader. */
|
/** Creates a new WhoisReader that extracts its command from the specified Reader. */
|
||||||
@Inject
|
@Inject
|
||||||
WhoisReader(@Config("whoisCommandFactory") WhoisCommandFactory commandFactory) {
|
WhoisReader(
|
||||||
|
@Config("whoisCommandFactory") WhoisCommandFactory commandFactory,
|
||||||
|
@Config("whoisRedactedEmailText") String whoisRedactedEmailText) {
|
||||||
this.commandFactory = commandFactory;
|
this.commandFactory = commandFactory;
|
||||||
|
this.whoisRedactedEmailText = whoisRedactedEmailText;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,7 +121,9 @@ class WhoisReader {
|
||||||
try {
|
try {
|
||||||
logger.atInfo().log("Attempting domain lookup command using domain name %s", tokens.get(1));
|
logger.atInfo().log("Attempting domain lookup command using domain name %s", tokens.get(1));
|
||||||
return commandFactory.domainLookup(
|
return commandFactory.domainLookup(
|
||||||
InternetDomainName.from(canonicalizeDomainName(tokens.get(1))), fullOutput);
|
InternetDomainName.from(canonicalizeDomainName(tokens.get(1))),
|
||||||
|
fullOutput,
|
||||||
|
whoisRedactedEmailText);
|
||||||
} catch (IllegalArgumentException iae) {
|
} catch (IllegalArgumentException iae) {
|
||||||
// If we can't interpret the argument as a host name, then return an error.
|
// If we can't interpret the argument as a host name, then return an error.
|
||||||
throw new WhoisException(now, SC_BAD_REQUEST, String.format(
|
throw new WhoisException(now, SC_BAD_REQUEST, String.format(
|
||||||
|
@ -195,7 +201,7 @@ class WhoisReader {
|
||||||
// (SLD) and we should do a domain lookup on it.
|
// (SLD) and we should do a domain lookup on it.
|
||||||
if (targetName.parent().equals(tld.get())) {
|
if (targetName.parent().equals(tld.get())) {
|
||||||
logger.atInfo().log("Attempting domain lookup using %s as a domain name", targetName);
|
logger.atInfo().log("Attempting domain lookup using %s as a domain name", targetName);
|
||||||
return commandFactory.domainLookup(targetName, fullOutput);
|
return commandFactory.domainLookup(targetName, fullOutput, whoisRedactedEmailText);
|
||||||
}
|
}
|
||||||
|
|
||||||
// The target is more than one level above the TLD, so we'll assume it's a nameserver.
|
// The target is more than one level above the TLD, so we'll assume it's a nameserver.
|
||||||
|
|
|
@ -256,7 +256,7 @@ public class DomainWhoisResponseTest {
|
||||||
@Test
|
@Test
|
||||||
public void getPlainTextOutputTest() {
|
public void getPlainTextOutputTest() {
|
||||||
DomainWhoisResponse domainWhoisResponse =
|
DomainWhoisResponse domainWhoisResponse =
|
||||||
new DomainWhoisResponse(domainBase, false, clock.nowUtc());
|
new DomainWhoisResponse(domainBase, false, "Please contact registrar", clock.nowUtc());
|
||||||
assertThat(
|
assertThat(
|
||||||
domainWhoisResponse.getResponse(
|
domainWhoisResponse.getResponse(
|
||||||
false,
|
false,
|
||||||
|
@ -268,8 +268,9 @@ public class DomainWhoisResponseTest {
|
||||||
public void getPlainTextOutputTest_registrarAbuseInfoMissing() {
|
public void getPlainTextOutputTest_registrarAbuseInfoMissing() {
|
||||||
persistResource(abuseContact.asBuilder().setVisibleInDomainWhoisAsAbuse(false).build());
|
persistResource(abuseContact.asBuilder().setVisibleInDomainWhoisAsAbuse(false).build());
|
||||||
DomainWhoisResponse domainWhoisResponse =
|
DomainWhoisResponse domainWhoisResponse =
|
||||||
new DomainWhoisResponse(domainBase, false, clock.nowUtc());
|
new DomainWhoisResponse(domainBase, false, "Please contact registrar", clock.nowUtc());
|
||||||
assertThat(domainWhoisResponse.getResponse(false, "Footer"))
|
assertThat(
|
||||||
|
domainWhoisResponse.getResponse(false, "Footer"))
|
||||||
.isEqualTo(
|
.isEqualTo(
|
||||||
WhoisResponseResults.create(
|
WhoisResponseResults.create(
|
||||||
loadFile("whois_domain_registrar_abuse_info_missing.txt"), 1));
|
loadFile("whois_domain_registrar_abuse_info_missing.txt"), 1));
|
||||||
|
@ -278,7 +279,7 @@ public class DomainWhoisResponseTest {
|
||||||
@Test
|
@Test
|
||||||
public void getPlainTextOutputTest_fullOutput() {
|
public void getPlainTextOutputTest_fullOutput() {
|
||||||
DomainWhoisResponse domainWhoisResponse =
|
DomainWhoisResponse domainWhoisResponse =
|
||||||
new DomainWhoisResponse(domainBase, true, clock.nowUtc());
|
new DomainWhoisResponse(domainBase, true, "Please contact registrar", clock.nowUtc());
|
||||||
assertThat(
|
assertThat(
|
||||||
domainWhoisResponse.getResponse(
|
domainWhoisResponse.getResponse(
|
||||||
false,
|
false,
|
||||||
|
@ -290,7 +291,10 @@ public class DomainWhoisResponseTest {
|
||||||
public void addImplicitOkStatusTest() {
|
public void addImplicitOkStatusTest() {
|
||||||
DomainWhoisResponse domainWhoisResponse =
|
DomainWhoisResponse domainWhoisResponse =
|
||||||
new DomainWhoisResponse(
|
new DomainWhoisResponse(
|
||||||
domainBase.asBuilder().setStatusValues(null).build(), false, clock.nowUtc());
|
domainBase.asBuilder().setStatusValues(null).build(),
|
||||||
|
false,
|
||||||
|
"Contact the registrar",
|
||||||
|
clock.nowUtc());
|
||||||
assertThat(
|
assertThat(
|
||||||
domainWhoisResponse
|
domainWhoisResponse
|
||||||
.getResponse(
|
.getResponse(
|
||||||
|
|
|
@ -131,6 +131,7 @@ public class RegistrarWhoisResponseTest {
|
||||||
new RegistrarWhoisResponse(registrar, clock.nowUtc());
|
new RegistrarWhoisResponse(registrar, clock.nowUtc());
|
||||||
// Just make sure this doesn't NPE.
|
// Just make sure this doesn't NPE.
|
||||||
registrarWhoisResponse.getResponse(
|
registrarWhoisResponse.getResponse(
|
||||||
false, "Doodle Disclaimer\nI exist so that carriage return\nin disclaimer can be tested.");
|
false,
|
||||||
|
"Doodle Disclaimer\nI exist so that carriage return\nin disclaimer can be tested.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,7 +95,8 @@ public class WhoisActionTest {
|
||||||
whoisAction.clock = clock;
|
whoisAction.clock = clock;
|
||||||
whoisAction.input = new StringReader(input);
|
whoisAction.input = new StringReader(input);
|
||||||
whoisAction.response = response;
|
whoisAction.response = response;
|
||||||
whoisAction.whoisReader = new WhoisReader(new WhoisCommandFactory());
|
whoisAction.whoisReader =
|
||||||
|
new WhoisReader(new WhoisCommandFactory(), "Please contact registrar");
|
||||||
whoisAction.whoisMetrics = new WhoisMetrics();
|
whoisAction.whoisMetrics = new WhoisMetrics();
|
||||||
whoisAction.metricBuilder = WhoisMetric.builderForRequest(clock);
|
whoisAction.metricBuilder = WhoisMetric.builderForRequest(clock);
|
||||||
whoisAction.disclaimer =
|
whoisAction.disclaimer =
|
||||||
|
|
|
@ -77,7 +77,8 @@ public class WhoisHttpActionTest {
|
||||||
whoisAction.expires = Duration.standardHours(1);
|
whoisAction.expires = Duration.standardHours(1);
|
||||||
whoisAction.requestPath = WhoisHttpAction.PATH + pathInfo;
|
whoisAction.requestPath = WhoisHttpAction.PATH + pathInfo;
|
||||||
whoisAction.response = response;
|
whoisAction.response = response;
|
||||||
whoisAction.whoisReader = new WhoisReader(new WhoisCommandFactory());
|
whoisAction.whoisReader =
|
||||||
|
new WhoisReader(new WhoisCommandFactory(), "Please contact registrar");
|
||||||
whoisAction.whoisMetrics = new WhoisMetrics();
|
whoisAction.whoisMetrics = new WhoisMetrics();
|
||||||
whoisAction.metricBuilder = WhoisMetric.builderForRequest(clock);
|
whoisAction.metricBuilder = WhoisMetric.builderForRequest(clock);
|
||||||
whoisAction.disclaimer =
|
whoisAction.disclaimer =
|
||||||
|
|
|
@ -48,7 +48,7 @@ public class WhoisReaderTest {
|
||||||
@SuppressWarnings({"TypeParameterUnusedInFormals", "unchecked"})
|
@SuppressWarnings({"TypeParameterUnusedInFormals", "unchecked"})
|
||||||
<T> T readCommand(String commandStr) throws Exception {
|
<T> T readCommand(String commandStr) throws Exception {
|
||||||
return (T)
|
return (T)
|
||||||
new WhoisReader(new WhoisCommandFactory())
|
new WhoisReader(new WhoisCommandFactory(), "Please contact registrar")
|
||||||
.readCommand(new StringReader(commandStr), false, clock.nowUtc());
|
.readCommand(new StringReader(commandStr), false, clock.nowUtc());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ Registrant Postal Code: REDACTED FOR PRIVACY
|
||||||
Registrant Country: US
|
Registrant Country: US
|
||||||
Registrant Phone: REDACTED FOR PRIVACY
|
Registrant Phone: REDACTED FOR PRIVACY
|
||||||
Registrant Fax: REDACTED FOR PRIVACY
|
Registrant Fax: REDACTED FOR PRIVACY
|
||||||
Registrant Email: REDACTED FOR PRIVACY
|
Registrant Email: Please contact registrar
|
||||||
Registry Admin ID: REDACTED FOR PRIVACY
|
Registry Admin ID: REDACTED FOR PRIVACY
|
||||||
Admin Name: REDACTED FOR PRIVACY
|
Admin Name: REDACTED FOR PRIVACY
|
||||||
Admin Organization: REDACTED FOR PRIVACY
|
Admin Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -34,7 +34,7 @@ Admin Postal Code: REDACTED FOR PRIVACY
|
||||||
Admin Country: REDACTED FOR PRIVACY
|
Admin Country: REDACTED FOR PRIVACY
|
||||||
Admin Phone: REDACTED FOR PRIVACY
|
Admin Phone: REDACTED FOR PRIVACY
|
||||||
Admin Fax: REDACTED FOR PRIVACY
|
Admin Fax: REDACTED FOR PRIVACY
|
||||||
Admin Email: REDACTED FOR PRIVACY
|
Admin Email: Please contact registrar
|
||||||
Registry Tech ID: REDACTED FOR PRIVACY
|
Registry Tech ID: REDACTED FOR PRIVACY
|
||||||
Tech Name: REDACTED FOR PRIVACY
|
Tech Name: REDACTED FOR PRIVACY
|
||||||
Tech Organization: REDACTED FOR PRIVACY
|
Tech Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -45,7 +45,7 @@ Tech Postal Code: REDACTED FOR PRIVACY
|
||||||
Tech Country: REDACTED FOR PRIVACY
|
Tech Country: REDACTED FOR PRIVACY
|
||||||
Tech Phone: REDACTED FOR PRIVACY
|
Tech Phone: REDACTED FOR PRIVACY
|
||||||
Tech Fax: REDACTED FOR PRIVACY
|
Tech Fax: REDACTED FOR PRIVACY
|
||||||
Tech Email: REDACTED FOR PRIVACY
|
Tech Email: Please contact registrar
|
||||||
Name Server: ns1.cat.lol
|
Name Server: ns1.cat.lol
|
||||||
Name Server: ns2.cat.lol
|
Name Server: ns2.cat.lol
|
||||||
DNSSEC: signedDelegation
|
DNSSEC: signedDelegation
|
||||||
|
|
|
@ -23,7 +23,7 @@ Registrant Postal Code: REDACTED FOR PRIVACY
|
||||||
Registrant Country: US
|
Registrant Country: US
|
||||||
Registrant Phone: REDACTED FOR PRIVACY
|
Registrant Phone: REDACTED FOR PRIVACY
|
||||||
Registrant Fax: REDACTED FOR PRIVACY
|
Registrant Fax: REDACTED FOR PRIVACY
|
||||||
Registrant Email: REDACTED FOR PRIVACY
|
Registrant Email: Please contact registrar
|
||||||
Registry Admin ID: REDACTED FOR PRIVACY
|
Registry Admin ID: REDACTED FOR PRIVACY
|
||||||
Admin Name: REDACTED FOR PRIVACY
|
Admin Name: REDACTED FOR PRIVACY
|
||||||
Admin Organization: REDACTED FOR PRIVACY
|
Admin Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -34,7 +34,7 @@ Admin Postal Code: REDACTED FOR PRIVACY
|
||||||
Admin Country: REDACTED FOR PRIVACY
|
Admin Country: REDACTED FOR PRIVACY
|
||||||
Admin Phone: REDACTED FOR PRIVACY
|
Admin Phone: REDACTED FOR PRIVACY
|
||||||
Admin Fax: REDACTED FOR PRIVACY
|
Admin Fax: REDACTED FOR PRIVACY
|
||||||
Admin Email: REDACTED FOR PRIVACY
|
Admin Email: Please contact registrar
|
||||||
Registry Tech ID: REDACTED FOR PRIVACY
|
Registry Tech ID: REDACTED FOR PRIVACY
|
||||||
Tech Name: REDACTED FOR PRIVACY
|
Tech Name: REDACTED FOR PRIVACY
|
||||||
Tech Organization: REDACTED FOR PRIVACY
|
Tech Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -45,7 +45,7 @@ Tech Postal Code: REDACTED FOR PRIVACY
|
||||||
Tech Country: REDACTED FOR PRIVACY
|
Tech Country: REDACTED FOR PRIVACY
|
||||||
Tech Phone: REDACTED FOR PRIVACY
|
Tech Phone: REDACTED FOR PRIVACY
|
||||||
Tech Fax: REDACTED FOR PRIVACY
|
Tech Fax: REDACTED FOR PRIVACY
|
||||||
Tech Email: REDACTED FOR PRIVACY
|
Tech Email: Please contact registrar
|
||||||
Name Server: ns1.cat.xn--q9jyb4c
|
Name Server: ns1.cat.xn--q9jyb4c
|
||||||
Name Server: ns2.cat.xn--q9jyb4c
|
Name Server: ns2.cat.xn--q9jyb4c
|
||||||
DNSSEC: signedDelegation
|
DNSSEC: signedDelegation
|
||||||
|
|
|
@ -23,7 +23,7 @@ Registrant Postal Code: REDACTED FOR PRIVACY
|
||||||
Registrant Country: US
|
Registrant Country: US
|
||||||
Registrant Phone: REDACTED FOR PRIVACY
|
Registrant Phone: REDACTED FOR PRIVACY
|
||||||
Registrant Fax: REDACTED FOR PRIVACY
|
Registrant Fax: REDACTED FOR PRIVACY
|
||||||
Registrant Email: REDACTED FOR PRIVACY
|
Registrant Email: Please contact registrar
|
||||||
Registry Admin ID: REDACTED FOR PRIVACY
|
Registry Admin ID: REDACTED FOR PRIVACY
|
||||||
Admin Name: REDACTED FOR PRIVACY
|
Admin Name: REDACTED FOR PRIVACY
|
||||||
Admin Organization: REDACTED FOR PRIVACY
|
Admin Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -34,7 +34,7 @@ Admin Postal Code: REDACTED FOR PRIVACY
|
||||||
Admin Country: REDACTED FOR PRIVACY
|
Admin Country: REDACTED FOR PRIVACY
|
||||||
Admin Phone: REDACTED FOR PRIVACY
|
Admin Phone: REDACTED FOR PRIVACY
|
||||||
Admin Fax: REDACTED FOR PRIVACY
|
Admin Fax: REDACTED FOR PRIVACY
|
||||||
Admin Email: REDACTED FOR PRIVACY
|
Admin Email: Please contact registrar
|
||||||
Registry Tech ID: REDACTED FOR PRIVACY
|
Registry Tech ID: REDACTED FOR PRIVACY
|
||||||
Tech Name: REDACTED FOR PRIVACY
|
Tech Name: REDACTED FOR PRIVACY
|
||||||
Tech Organization: REDACTED FOR PRIVACY
|
Tech Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -45,7 +45,7 @@ Tech Postal Code: REDACTED FOR PRIVACY
|
||||||
Tech Country: REDACTED FOR PRIVACY
|
Tech Country: REDACTED FOR PRIVACY
|
||||||
Tech Phone: REDACTED FOR PRIVACY
|
Tech Phone: REDACTED FOR PRIVACY
|
||||||
Tech Fax: REDACTED FOR PRIVACY
|
Tech Fax: REDACTED FOR PRIVACY
|
||||||
Tech Email: REDACTED FOR PRIVACY
|
Tech Email: Please contact registrar
|
||||||
Name Server: ns1.cat.みんな
|
Name Server: ns1.cat.みんな
|
||||||
Name Server: ns2.cat.みんな
|
Name Server: ns2.cat.みんな
|
||||||
DNSSEC: signedDelegation
|
DNSSEC: signedDelegation
|
||||||
|
|
|
@ -23,7 +23,7 @@ Registrant Postal Code: REDACTED FOR PRIVACY
|
||||||
Registrant Country: US
|
Registrant Country: US
|
||||||
Registrant Phone: REDACTED FOR PRIVACY
|
Registrant Phone: REDACTED FOR PRIVACY
|
||||||
Registrant Fax: REDACTED FOR PRIVACY
|
Registrant Fax: REDACTED FOR PRIVACY
|
||||||
Registrant Email: REDACTED FOR PRIVACY
|
Registrant Email: Please contact registrar
|
||||||
Registry Admin ID: REDACTED FOR PRIVACY
|
Registry Admin ID: REDACTED FOR PRIVACY
|
||||||
Admin Name: REDACTED FOR PRIVACY
|
Admin Name: REDACTED FOR PRIVACY
|
||||||
Admin Organization: REDACTED FOR PRIVACY
|
Admin Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -34,7 +34,7 @@ Admin Postal Code: REDACTED FOR PRIVACY
|
||||||
Admin Country: REDACTED FOR PRIVACY
|
Admin Country: REDACTED FOR PRIVACY
|
||||||
Admin Phone: REDACTED FOR PRIVACY
|
Admin Phone: REDACTED FOR PRIVACY
|
||||||
Admin Fax: REDACTED FOR PRIVACY
|
Admin Fax: REDACTED FOR PRIVACY
|
||||||
Admin Email: REDACTED FOR PRIVACY
|
Admin Email: Please contact registrar
|
||||||
Registry Tech ID: REDACTED FOR PRIVACY
|
Registry Tech ID: REDACTED FOR PRIVACY
|
||||||
Tech Name: REDACTED FOR PRIVACY
|
Tech Name: REDACTED FOR PRIVACY
|
||||||
Tech Organization: REDACTED FOR PRIVACY
|
Tech Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -45,7 +45,7 @@ Tech Postal Code: REDACTED FOR PRIVACY
|
||||||
Tech Country: REDACTED FOR PRIVACY
|
Tech Country: REDACTED FOR PRIVACY
|
||||||
Tech Phone: REDACTED FOR PRIVACY
|
Tech Phone: REDACTED FOR PRIVACY
|
||||||
Tech Fax: REDACTED FOR PRIVACY
|
Tech Fax: REDACTED FOR PRIVACY
|
||||||
Tech Email: REDACTED FOR PRIVACY
|
Tech Email: Please contact registrar
|
||||||
Name Server: ns1.cat.lol
|
Name Server: ns1.cat.lol
|
||||||
Name Server: ns2.cat.lol
|
Name Server: ns2.cat.lol
|
||||||
DNSSEC: signedDelegation
|
DNSSEC: signedDelegation
|
||||||
|
|
|
@ -27,7 +27,7 @@ Registrant Phone: REDACTED FOR PRIVACY
|
||||||
Registrant Phone Ext: REDACTED FOR PRIVACY
|
Registrant Phone Ext: REDACTED FOR PRIVACY
|
||||||
Registrant Fax: REDACTED FOR PRIVACY
|
Registrant Fax: REDACTED FOR PRIVACY
|
||||||
Registrant Fax Ext: REDACTED FOR PRIVACY
|
Registrant Fax Ext: REDACTED FOR PRIVACY
|
||||||
Registrant Email: REDACTED FOR PRIVACY
|
Registrant Email: Please contact registrar
|
||||||
Registry Admin ID: REDACTED FOR PRIVACY
|
Registry Admin ID: REDACTED FOR PRIVACY
|
||||||
Admin Name: REDACTED FOR PRIVACY
|
Admin Name: REDACTED FOR PRIVACY
|
||||||
Admin Organization: REDACTED FOR PRIVACY
|
Admin Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -39,7 +39,7 @@ Admin Country: REDACTED FOR PRIVACY
|
||||||
Admin Phone: REDACTED FOR PRIVACY
|
Admin Phone: REDACTED FOR PRIVACY
|
||||||
Admin Phone Ext: REDACTED FOR PRIVACY
|
Admin Phone Ext: REDACTED FOR PRIVACY
|
||||||
Admin Fax: REDACTED FOR PRIVACY
|
Admin Fax: REDACTED FOR PRIVACY
|
||||||
Admin Email: REDACTED FOR PRIVACY
|
Admin Email: Please contact registrar
|
||||||
Registry Tech ID: REDACTED FOR PRIVACY
|
Registry Tech ID: REDACTED FOR PRIVACY
|
||||||
Tech Name: REDACTED FOR PRIVACY
|
Tech Name: REDACTED FOR PRIVACY
|
||||||
Tech Organization: REDACTED FOR PRIVACY
|
Tech Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -52,7 +52,7 @@ Tech Phone: REDACTED FOR PRIVACY
|
||||||
Tech Phone Ext: REDACTED FOR PRIVACY
|
Tech Phone Ext: REDACTED FOR PRIVACY
|
||||||
Tech Fax: REDACTED FOR PRIVACY
|
Tech Fax: REDACTED FOR PRIVACY
|
||||||
Tech Fax Ext: REDACTED FOR PRIVACY
|
Tech Fax Ext: REDACTED FOR PRIVACY
|
||||||
Tech Email: REDACTED FOR PRIVACY
|
Tech Email: Please contact registrar
|
||||||
Name Server: ns01.exampleregistrar.tld
|
Name Server: ns01.exampleregistrar.tld
|
||||||
Name Server: ns02.exampleregistrar.tld
|
Name Server: ns02.exampleregistrar.tld
|
||||||
DNSSEC: signedDelegation
|
DNSSEC: signedDelegation
|
||||||
|
|
|
@ -27,7 +27,7 @@ Registrant Phone: REDACTED FOR PRIVACY
|
||||||
Registrant Phone Ext: REDACTED FOR PRIVACY
|
Registrant Phone Ext: REDACTED FOR PRIVACY
|
||||||
Registrant Fax: REDACTED FOR PRIVACY
|
Registrant Fax: REDACTED FOR PRIVACY
|
||||||
Registrant Fax Ext: REDACTED FOR PRIVACY
|
Registrant Fax Ext: REDACTED FOR PRIVACY
|
||||||
Registrant Email: REDACTED FOR PRIVACY
|
Registrant Email: Please contact registrar
|
||||||
Registry Admin ID: REDACTED FOR PRIVACY
|
Registry Admin ID: REDACTED FOR PRIVACY
|
||||||
Admin Name: REDACTED FOR PRIVACY
|
Admin Name: REDACTED FOR PRIVACY
|
||||||
Admin Organization: REDACTED FOR PRIVACY
|
Admin Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -39,7 +39,7 @@ Admin Country: REDACTED FOR PRIVACY
|
||||||
Admin Phone: REDACTED FOR PRIVACY
|
Admin Phone: REDACTED FOR PRIVACY
|
||||||
Admin Phone Ext: REDACTED FOR PRIVACY
|
Admin Phone Ext: REDACTED FOR PRIVACY
|
||||||
Admin Fax: REDACTED FOR PRIVACY
|
Admin Fax: REDACTED FOR PRIVACY
|
||||||
Admin Email: REDACTED FOR PRIVACY
|
Admin Email: Please contact registrar
|
||||||
Registry Tech ID: REDACTED FOR PRIVACY
|
Registry Tech ID: REDACTED FOR PRIVACY
|
||||||
Tech Name: REDACTED FOR PRIVACY
|
Tech Name: REDACTED FOR PRIVACY
|
||||||
Tech Organization: REDACTED FOR PRIVACY
|
Tech Organization: REDACTED FOR PRIVACY
|
||||||
|
@ -52,7 +52,7 @@ Tech Phone: REDACTED FOR PRIVACY
|
||||||
Tech Phone Ext: REDACTED FOR PRIVACY
|
Tech Phone Ext: REDACTED FOR PRIVACY
|
||||||
Tech Fax: REDACTED FOR PRIVACY
|
Tech Fax: REDACTED FOR PRIVACY
|
||||||
Tech Fax Ext: REDACTED FOR PRIVACY
|
Tech Fax Ext: REDACTED FOR PRIVACY
|
||||||
Tech Email: REDACTED FOR PRIVACY
|
Tech Email: Please contact registrar
|
||||||
Name Server: ns01.exampleregistrar.tld
|
Name Server: ns01.exampleregistrar.tld
|
||||||
Name Server: ns02.exampleregistrar.tld
|
Name Server: ns02.exampleregistrar.tld
|
||||||
DNSSEC: signedDelegation
|
DNSSEC: signedDelegation
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue