Skip to content

cnxtech/uniaccept-java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Universal Acceptance of TLDs
----------------------------

As ICANN has introduced new generic Top Level Domains into the DNS
root, problems have been experienced with end users receiving errors
from applications which try to sense the validity of a domain name.
Traditionally all top-level domains have either been two octets long
(for country-code top level domains like .UK and .DE), or three octets
long (for generic top level domains like .COM and .INT). However, with
the introduction of new domains such as .INFO and .TRAVEL this premise
should no longer apply.

This project seeks to educate software implementors to use more robust
techniques to validate the existence of a top-level domain name.

Ideally, if it is essential to an application to verify the existence
of a domain, it should perform a DNS enquiry to see if the domain
exists. This is the only test that can positively identify availability,
although it is worth noting that due to transient network issues, some
domains may not be visible from all locations at all times.

If the aim of the test is purely to identify if the top-level domain
is valid, rather than the entire host name, a similar test can be
conducted against the DNS root servers to identify if the domain has
been delegated.

Finally, in certain applications - such as those without reliable
connectivity to perform live DNS requests, or for those for performance
reasons can not conduct such requests for each test, the possibility
exists to verify against a list of know good TLDs. An implementor of
this technique MUST ensure the application routinely updates this list,
as new domains can come into existance, and old domains disappear. As
the reason this problem exists is due to dated assumptions about valid
domains, developers MUST NOT deploy a system using a fixed list that
doesn't have mechanisms to update that list on a routine basis.


Notes on Universal Acceptance tool for Java
---------------------------------------------

The distribution includes pre-compiled JAR files:
  - tld-verify-1.0.0.jar the Universal Acceptance tool without dependencies

In the lib directory you will find all the dependencies jar files, currently tld-verify is dependent on
commons-codec.jar, commons-io.jar commons-lang.jar, dnsjava.jar and self4j.jar.


In addition, the main distribution includes all the source code and build script for tld-verify as well as an example application.

You will need maven (http://maven.apache.org/) to take advantage of the build file and to run the example application.

With maven installed, use the commands "mvn package" and "mvn exec:java" from the library root directory to run the example application.
To run the tests, run the command "mvn test"
You can build the library using the supplied build file.

Packages

No packages published

Languages

  • Java 100.0%