Warning This repository is not updated and contains known issues that are fixed in upstream OpenBSD. Please use the bundled version in OpenSMTPD instead.
libasr is a free, simple and portable asynchronous resolver library.
It allows to run dns queries and perform hostname resolutions in a fully asynchronous fashion. The implementation is thread-less, fork-less, and does not make use of signals or other "tricks" that might get in the developer's way. The API was initially developed for the OpenBSD operating system, where it is natively supported.
This library is intended to bring this interface to other systems. It is originally provided as a support library for the portable version of the OpenSMTPD daemon, but it can be used in any other contexts. It is known to work on the following systems:
- Linux
- FreeBSD
- NetBSD
- DragonFly
- MacOSX
The primary source of information about libasr is the github repository.
You can get the latest sources from github:
git clone git://github.com/OpenSMTPD/libasr.git
Tarballs for development snapshots and official releases are available on the OpenSMTPD website.
All you should need is working C compiler, a C library and the autotools (autoconf,automake,libtool). Build and install using the following commands:
./bootstrap # only if building from git sources
./configure
make
sudo make install
For documentation on using the API, please refer to the OpenBSD manpages. Note that unlike the native OpenBSD implementation, this version is not currently thread-safe.
For now, please use the OpenSMTPD mailing list for questions related to libasr. You can also get in touch with libasr developers on the "Official" IRC channel for the OpenSMTPD project at:
#OpenSMTPD @ irc.freenode.net
Bug reports must be filed on the project's issue tracker.