1Introduction 2============ 3 4Unbound 5------- 6 7`Unbound`_ is an implementation of a DNS resolver, that performs caching and 8DNSSEC validation. 9Together with unbound, the libunbound library is provided. 10This library can be used to convert hostnames to ip addresses, and back, as 11well as obtain other information. 12Since the resolver allows to specify the class and type of a query (A record, 13NS, MX, ...), this library offers powerful resolving tool. 14The library also performs public-key validation of results with DNSSEC. 15 16.. _Unbound: http://www.unbound.net/documentation 17 18pyUnbound 19--------- 20 21The pyUnbound is an extension module for Python which provides an 22object-oriented interface to libunbound. 23It is the first Python module which offers thread-safe caching resolver. 24 25The interface was designed with the emphasis on the simplicity of use. 26There are two main classes :class:`unbound.ub_ctx` (a validation and resolution 27context) and :class:`unbound.ub_result` which contains the validation and 28resolution results. 29The objects are thread-safe, and a context can be used in non-threaded as well 30as threaded environment. 31Resolution can be performed blocking and non-blocking (i.e. asynchronous). 32The asynchronous method returns from the call immediately, so that processing 33can go on, while the results become available later. 34 35Features 36-------- 37 38* Customizable caching validation resolver for synchronous and asynchronous 39 lookups 40* Easy to use object interface 41* Easy to integrate extension module 42* Designed for thread environment (i.e. thread-safe) 43* Allows define and customize of local zone and its RR's during the operation 44 (i.e. without restart) 45* Includes encoding functions to simplify the results retrieval 46* Internationalized domain name (`IDN`_) support 47 48.. _IDN: http://en.wikipedia.org/wiki/Internationalized_domain_name 49 50Application area 51---------------- 52 53* DNS-based applications performing DNS lookups; the caching resolver can 54 reduce overhead 55* Applications where the validation of DNS records is required 56* Great solution for customizable and dynamic DNS-based white/blacklists (spam 57 rejection, connection rejection, ...) using the dynamic local zone 58 manipulation 59