resetting manifest requested domain to floor
[platform/upstream/libasyncns.git] / README
1                                  libasyncns 0.8
2
3    Copyright 2005-2009 Lennart Poettering <mznflapaf (at) 0pointer (dot)
4    de>
5      * [1]License
6      * [2]News
7      * [3]Overview
8      * [4]Current Status
9      * [5]Documentation
10      * [6]Requirements
11      * [7]Installation
12      * [8]Acknowledgements
13      * [9]Download
14
15 License
16
17    This program is free software; you can redistribute it and/or modify it
18    under the terms of the GNU Lesser General Public License as published
19    by the Free Software Foundation, either version 2.1 of the License, or
20    (at your option) any later version.
21
22    This program is distributed in the hope that it will be useful, but
23    WITHOUT ANY WARRANTY; without even the implied warranty of
24    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
25    General Public License for more details.
26
27 News
28
29    Thu 15 Oct 2009:
30
31    [10]Version 0.8 released; changes include: various smaller fixes.
32
33    Tue 28 Oct 2008:
34
35    [11]Version 0.7 released; changes include: rework thread shutdown
36    logic.
37
38    Fri 24 Oct 2008:
39
40    [12]Version 0.6 released; changes include: save and restore h_errno in
41    addition to errno; drop usage of pthread's cancelling since it is
42    problematic on some platforms.
43
44    Sun 17 Aug 2008:
45
46    [13]Version 0.5 released; changes include: fix getaddrinfo()
47    serialization.
48
49    Sun 27 Jul 2008:
50
51    [14]Version 0.4 released; changes include: rework error handling logic,
52    add asyncns_freeanswer(), a lot of fixes
53
54    Wed 23 May 2007:
55
56    [15]Version 0.3 released; changes include: build fixes: properly detect
57    res_query() on Linux/AMD64, support older autoconf versions
58
59    Fri 16 Feb 2007:
60
61    [16]Version 0.2 released; changes include: res_query() support; minor
62    bug fixes; doc updates
63
64    Sat 8 Jan 2005:
65
66    [17]Version 0.1 released
67
68 Overview
69
70    libasyncns is a C library for Linux/Unix for executing name service
71    queries asynchronously. It is an asynchronous wrapper around
72    getaddrinfo(3), getnameinfo(3), res_query(3) and res_search(3) from
73    libc and libresolv.
74
75    In contrast to GNU's asynchronous name resolving API getaddrinfo_a(),
76    libasyncns does not make use of UNIX signals for reporting completion
77    of name queries. Instead, the API exports a standard UNIX file
78    descriptor which may be integerated cleanly into custom main loops.
79
80    In contrast to asynchronous DNS resolving libraries like [18]libdenise,
81    [19]skadns, [20]adns, libasyncns is just an asynchronous wrapper around
82    the libc's synchronous getaddrinfo() API, which has the advantage of
83    allowing name resolution using techniques like [21]Multicast DNS, LDAP
84    or NIS using standard libc NSS (Name Service Switch) modules.
85    libasyncns is compatible with IPv6 if the underlying libc is.
86
87    libasyncns is very tiny, consisting of just one header and one source
88    file. It has no dependencies besides libc.
89
90    By default libasyncns spawns a number of worker threads (LWPs) to
91    process name queries. Alternatively or when POSIX Threads are not
92    supported, libasyncns can fork() off worker processes instead.
93
94 Current Status
95
96    Version 0.8 is quite stable and feature complete.
97
98    Damien Thébault has written a Python module [22]libasyncns-python that
99    wraps the libasyncns C API.
100
101 Documentation
102
103    You may browse the [23]Doxygen generated [24]programing documentation
104    the API. (Run make doxygen to generate this documentation from the
105    source tree)
106
107 Requirements
108
109    Currently, libasyncns is tested on Linux and Solaris
110    (sparc-sun-solaris2.8) only.
111
112    libasyncns was developed and tested on Debian GNU/Linux "testing" from
113    January 2005, it should work on most other Linux distributions (and
114    maybe Unix versions) since it uses GNU autoconf and GNU libtool for
115    source code configuration and shared library management.
116
117    libasyncns has no dependencies besides a libc that supports
118    getaddrinfo() and res_query().
119
120 Installation
121
122    As this package is made with the GNU autotools you should run
123    ./configure inside the distribution directory for configuring the
124    source tree. After that you should run make for compilation and make
125    install (as root) for installation of libasyncns.
126
127 Acknowledgements
128
129    Sjoerd Simons for the res_query() support.
130
131 Download
132
133    The newest release is always available from
134    [25]http://0pointer.de/lennart/projects/libasyncns/
135
136    The current release is [26]0.8
137
138    Get libasyncns's development sources from the [27]GIT [28]repository
139    ([29]gitweb):
140 git clone git://git.0pointer.de/libasyncns
141
142    You may find an up to date Debian package of libasyncns on the
143    [30]Debian package repository.
144
145    If you want to be notified whenever I release a new version of this
146    software use the subscription feature of [31]Freshmeat.
147      __________________________________________________________________
148
149
150     Lennart Poettering <mznflapaf (at) 0pointer (dot) de>, October 2009
151
152 References
153
154    1. README#license
155    2. README#news
156    3. README#overview
157    4. README#status
158    5. README#documentation
159    6. README#requirements
160    7. README#installation
161    8. README#acks
162    9. README#download
163   10. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.8.tar.gz
164   11. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.7.tar.gz
165   12. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.6.tar.gz
166   13. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.5.tar.gz
167   14. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.4.tar.gz
168   15. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.3.tar.gz
169   16. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.2.tar.gz
170   17. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.1.tar.gz
171   18. http://libdenise.sourceforge.net/
172   19. http://www.skarnet.org/software/skadns/
173   20. http://www.chiark.greenend.org.uk/~ian/adns/
174   21. http://0pointer.de/lennart/projects/nss-mdns/
175   22. https://launchpad.net/libasyncns-python
176   23. http://www.doxygen.org/
177   24. http://0pointer.de/lennart/projects/libasyncns/doxygen/
178   25. http://0pointer.de/lennart/projects/libasyncns/
179   26. http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.8.tar.gz
180   27. http://git.or.cz/
181   28. git://git.0pointer.de/libasyncns
182   29. http://git.0pointer.de/?p=libasyncns.git
183   30. http://packages.debian.org/libasyncns0
184   31. http://freshmeat.net/projects/libasyncns/