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