summaryrefslogtreecommitdiff
path: root/net/adns/DESCR
diff options
context:
space:
mode:
Diffstat (limited to 'net/adns/DESCR')
-rw-r--r--net/adns/DESCR26
1 files changed, 26 insertions, 0 deletions
diff --git a/net/adns/DESCR b/net/adns/DESCR
new file mode 100644
index 00000000000..1be79892a89
--- /dev/null
+++ b/net/adns/DESCR
@@ -0,0 +1,26 @@
+adns is a DNS resolver library and a collection of utilities that use the
+library. The adns library has the following features:
+* It is reasonably easy to use for simple programs which just want to
+ translate names to addresses, look up MX records, etc.
+* It can be used in an asynchronous, non-blocking, manner. Many
+ queries can be handled simultaneously.
+* Responses are decoded automatically into a natural representation
+ for a C program - there is no need to deal with DNS packet formats.
+* Sanity checking (eg, name syntax checking, reverse/forward
+ correspondence, CNAME pointing to CNAME) is performed automatically.
+* Time-to-live, CNAME and other similar information is returned in an
+ easy-to-use form, without getting in the way.
+* There is no global state in the library; resolver state is an
+ opaque data structure which the client creates explicitly. A
+ program can have several instances of the resolver.
+* Errors are reported to the application in a way that distinguishes
+ the various causes of failure properly.
+* Understands conventional resolv.conf, but this can overridden by
+ environment variables.
+* Flexibility. For example, the application can tell adns to: ignore
+ environment variables (for setuid programs), disable hostname
+ syntax sanity checks to return arbitrary data, override or ignore
+ resolv.conf in favour of supplied configuration, etc.
+* Believed to be correct ! For example, will correctly back off to
+ TCP in case of long replies or queries, or to other nameservers if
+ several are available. It has sensible handling of bad responses etc.