@Override public void setUp() { validator = DomainValidator.getInstance(); DomainValidator.clearTLDOverrides(); // N.B. this clears the inUse flag, allowing overrides }
/** * Returns true if the domain component of an email address is valid. * * @param domain being validated, may be in IDN format * @return true if the email address's domain is valid. */ protected boolean isValidDomain(String domain) { // see if domain is an IP address in brackets Matcher ipDomainMatcher = IP_DOMAIN_PATTERN.matcher(domain); if (ipDomainMatcher.matches()) { InetAddressValidator inetAddressValidator = InetAddressValidator.getInstance(); return inetAddressValidator.isValid(ipDomainMatcher.group(1)); } // Domain is symbolic name DomainValidator domainValidator = DomainValidator.getInstance(allowLocal); if (allowTld) { return domainValidator.isValid(domain) || (!domain.startsWith(".") && domainValidator.isValidTld(domain)); } else { return domainValidator.isValid(domain); } }
DomainValidator domainValidator = DomainValidator.getInstance(isOn(ALLOW_LOCAL_URLS)); if (!domainValidator.isValid(hostLocation)) {
DomainValidator dv = DomainValidator.getInstance(); File txtFile = new File("target/tlds-alpha-by-domain.txt"); long timestamp = download(txtFile, "https://data.iana.org/TLD/tlds-alpha-by-domain.txt", 0L);
public void testCannotUpdate() { DomainValidator.updateTLDOverride(ArrayType.GENERIC_PLUS, new String[]{"ch"}); // OK DomainValidator dv = DomainValidator.getInstance(); assertNotNull(dv); try { DomainValidator.updateTLDOverride(ArrayType.GENERIC_PLUS, new String[]{"ch"}); fail("Expected IllegalStateException"); } catch (IllegalStateException ise) { // expected } } // Download and process local copy of http://data.iana.org/TLD/tlds-alpha-by-domain.txt
@Override public Predicate<Object> getPredicate() { return domain -> DomainValidator.getInstance().isValid(domain == null?null:domain.toString()); } }
public void testAllowLocal() { DomainValidator noLocal = DomainValidator.getInstance(false); DomainValidator allowLocal = DomainValidator.getInstance(true); // Default is false, and should use singletons assertEquals(noLocal, validator); // Default won't allow local assertFalse("localhost.localdomain should validate", noLocal.isValid("localhost.localdomain")); assertFalse("localhost should validate", noLocal.isValid("localhost")); // But it may be requested assertTrue("localhost.localdomain should validate", allowLocal.isValid("localhost.localdomain")); assertTrue("localhost should validate", allowLocal.isValid("localhost")); assertTrue("hostname should validate", allowLocal.isValid("hostname")); assertTrue("machinename should validate", allowLocal.isValid("machinename")); // Check the localhost one with a few others assertTrue("apache.org should validate", allowLocal.isValid("apache.org")); assertFalse("domain name with spaces shouldn't validate", allowLocal.isValid(" apache.org ")); }
public DomainValidator getDomainValidator() { return DomainValidator.getInstance(this.allowLocalUrls); }
private void validate(APICreateL3NetworkMsg msg) { if (!L3NetworkType.hasType(msg.getType())) { throw new ApiMessageInterceptionException(argerr("unsupported l3network type[%s]", msg.getType())); } if (msg.getDnsDomain() != null) { DomainValidator validator = DomainValidator.getInstance(); if (!validator.isValid(msg.getDnsDomain())) { throw new ApiMessageInterceptionException(argerr("%s is not a valid domain name", msg.getDnsDomain())); } } List<L3NetworkCategory> validNetworkCategory = Arrays.asList(L3NetworkCategory.values()); for (L3NetworkCategory category : validNetworkCategory) { if (category.toString().equalsIgnoreCase(msg.getCategory())) { msg.setCategory(category.toString()); break; } } if (L3NetworkCategory.checkSystemAndCategory(msg.isSystem(), L3NetworkCategory.valueOf(msg.getCategory()))) { return; } else { throw new ApiMessageInterceptionException(argerr("not valid combination of system and category," + "only %s are valid", L3NetworkCategory.validCombination)); } }
/** * Validates if string <code>ip</code> is a valid country top-level domain or * not. * * @param domain to be validated. * @return true if valid country top-level domain. */ public static boolean isCountryTld(String domain) { return DomainValidator.getInstance().isValidCountryCodeTld(domain); }
/** * Validates if string <code>ip</code> is a valid top-level domain or * not. * * @param domain to be validated. * @return true if valid top-level domain. */ public static boolean isDomainTld(String domain) { return DomainValidator.getInstance().isValidTld(domain); }
/** * Validates if string <code>ip</code> is a valid generic top-level domain or * not. * * @param domain to be validated. * @return true if valid generic top-level domain. */ public static boolean isGenericTld(String domain) { return DomainValidator.getInstance().isValidGenericTld(domain); }
@Override public Optional<String> validate(final String subject) { return DomainValidator.getInstance(true).isValid(subject) && !subject.contains("_") ? Optional.empty() : Optional.of(String.format("[%s] is not a valid hostname", subject)); }
/** * Validates if string <code>ip</code> is a valid url domain or * not. * * @param domain to be validated. * @return true if valid url. */ public static boolean isDomainName(String domain) { return DomainValidator.getInstance().isValid(domain); }
public static boolean isValidDomainName(String domainName) { domainName = domainName.replaceAll("_", ""); return DomainValidator.getInstance().isValid(domainName); }
@Override public boolean validate(String value) { Pattern p = Pattern.compile("^[a-zA-Z0-9]*$"); Matcher m = p.matcher(value); if (m.find()) { return true; } return org.apache.commons.validator.routines.InetAddressValidator.getInstance().isValid(value) || org.apache.commons.validator.routines.DomainValidator.getInstance().isValid(value); }
/** * Gets a static instance to be used internal only. * * @return the instance */ public static org.apereo.cas.web.UrlValidator getInstance() { if (INSTANCE == null) { INSTANCE = new SimpleUrlValidator(UrlValidator.getInstance(), DomainValidator.getInstance()); } return INSTANCE; }
static protected void validate(CommonServicesContext services, DnsEntry dnsEntry) { if (!Strings.isNullOrEmpty(dnsEntry.getName())) { if (typesWithDomain.contains(dnsEntry.getType()) && !DomainValidator.getInstance().isValid(dnsEntry.getName())) { throw new IllegalUpdateException(services.getTranslationService().translate("error.notADomainName")); } if (strictTypesWithDomain.contains(dnsEntry.getType()) && !startWithLetterValidationRegex.matcher(dnsEntry.getName()).matches()) { throw new IllegalUpdateException(services.getTranslationService().translate("error.notStartingWithLetter")); } if (dnsEntry.getType() == DnsEntryType.A && !validIp(dnsEntry.getDetails())) { throw new IllegalUpdateException(services.getTranslationService().translate("error.notAnIp")); } if (dnsEntry.getName().contains(" ")) { throw new IllegalUpdateException(services.getTranslationService().translate("error.notADomainName")); } } }
static protected void validate(CommonServicesContext services, DnsEntry dnsEntry) { if (!Strings.isNullOrEmpty(dnsEntry.getName())) { if (typesWithDomain.contains(dnsEntry.getType()) && !DomainValidator.getInstance().isValid(dnsEntry.getName())) { throw new IllegalUpdateException(services.getTranslationService().translate("error.notADomainName")); } if (strictTypesWithDomain.contains(dnsEntry.getType()) && !startWithLetterValidationRegex.matcher(dnsEntry.getName()).matches()) { throw new IllegalUpdateException(services.getTranslationService().translate("error.notStartingWithLetter")); } if (dnsEntry.getType() == DnsEntryType.A && !validIp(dnsEntry.getDetails())) { throw new IllegalUpdateException(services.getTranslationService().translate("error.notAnIp")); } if (dnsEntry.getName().contains(" ")) { throw new IllegalUpdateException(services.getTranslationService().translate("error.notADomainName")); } } }
/** * Returns true if the domain component of an email address is valid. * * @param domain being validated, may be in IDN format * @return true if the email address's domain is valid. */ protected boolean isValidDomain(String domain) { // see if domain is an IP address in brackets MatchResult ipDomainMatcher = IP_DOMAIN_PATTERN.exec(domain); if (ipDomainMatcher != null) { InetAddressValidator inetAddressValidator = InetAddressValidator.getInstance(); return inetAddressValidator.isValid(ipDomainMatcher.getGroup(1)); } // Domain is symbolic name DomainValidator domainValidator = DomainValidator.getInstance(allowLocal); if (allowTld) { return domainValidator.isValid(domain) || (!domain.startsWith(".") && domainValidator.isValidTld(domain)); } else { return domainValidator.isValid(domain); } }