Blame doc/README.html

Packit 6baad5
 
Packit 6baad5
Packit 6baad5
<html xmlns="http://www.w3.org/1999/xhtml">
Packit 6baad5
Packit 6baad5
<head>
Packit 6baad5
<title>libasyncns 0.8</title>
Packit 6baad5
<link rel="stylesheet" type="text/css" href="style.css" />
Packit 6baad5
</head>
Packit 6baad5
Packit 6baad5
<body>
Packit 6baad5

libasyncns 0.8

Packit 6baad5
Packit 6baad5

Copyright 2005-2009 Lennart Poettering <mznflapaf (at) 0pointer (dot) de>

Packit 6baad5
Packit 6baad5
    Packit 6baad5
        
  • License
  • Packit 6baad5
        
  • News
  • Packit 6baad5
        
  • Overview
  • Packit 6baad5
        
  • Current Status
  • Packit 6baad5
        
  • Documentation
  • Packit 6baad5
        
  • Requirements
  • Packit 6baad5
        
  • Installation
  • Packit 6baad5
        
  • Acknowledgements
  • Packit 6baad5
        
  • Download
  • Packit 6baad5
    Packit 6baad5
    Packit 6baad5

    License

    Packit 6baad5
    Packit 6baad5

    This program is free software; you can redistribute it and/or

    Packit 6baad5
    modify it under the terms of the GNU Lesser General Public License as
    Packit 6baad5
    published by the Free Software Foundation, either version 2.1 of the
    Packit 6baad5
    License, or (at your option) any later version.

    Packit 6baad5
    Packit 6baad5

    This program is distributed in the hope that it will be useful, but

    Packit 6baad5
    WITHOUT ANY WARRANTY; without even the implied warranty of
    Packit 6baad5
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Packit 6baad5
    Lesser General Public License for more details.

    Packit 6baad5
    Packit 6baad5

    News

    Packit 6baad5
    Packit 6baad5
    Thu 15 Oct
    Packit 6baad5
    2009:  

    Version

    Packit 6baad5
    0.8 released; changes include: various smaller fixes.

    Packit 6baad5
    Packit 6baad5
    Tue 28 Oct
    Packit 6baad5
    2008:  

    Version

    Packit 6baad5
    0.7 released; changes include: rework thread shutdown logic.

    Packit 6baad5
    Packit 6baad5
    Fri 24 Oct
    Packit 6baad5
    2008:  

    Version

    Packit 6baad5
    0.6 released; changes include: save and restore <tt>h_errno</tt>
    Packit 6baad5
    in addition to <tt>errno</tt>; drop usage of pthread's cancelling
    Packit 6baad5
    since it is problematic on some platforms.

    Packit 6baad5
    Packit 6baad5
    Sun 17 Aug
    Packit 6baad5
    2008:  

    Version

    Packit 6baad5
    0.5 released; changes include: fix getaddrinfo() serialization.

    Packit 6baad5
    Packit 6baad5
    Sun 27 Jul
    Packit 6baad5
    2008:  

    Version

    Packit 6baad5
    0.4 released; changes include: rework error handling logic,
    Packit 6baad5
    add <tt>asyncns_freeanswer()</tt>, a lot of fixes

    Packit 6baad5
    Packit 6baad5
    Wed 23 May 2007:

    Packit 6baad5
    href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.3.tar.gz">Version 0.3 released;
    Packit 6baad5
    changes include: build fixes: properly detect <tt>res_query()</tt> on
    Packit 6baad5
    Linux/AMD64, support older autoconf versions

    Packit 6baad5
    Packit 6baad5
    Fri 16 Feb 2007:

    Packit 6baad5
    href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.2.tar.gz">Version 0.2 released;
    Packit 6baad5
    changes include: <tt>res_query()</tt> support; minor bug fixes; doc updates

    Packit 6baad5
    Packit 6baad5
    Sat 8 Jan 2005:

    Packit 6baad5
    href="http://0pointer.de/lennart/projects/libasyncns/libasyncns-0.1.tar.gz">Version 0.1 released

    Packit 6baad5
    Packit 6baad5

    Overview

    Packit 6baad5
    Packit 6baad5

    <tt>libasyncns</tt> is a C library for Linux/Unix for executing name

    Packit 6baad5
    service queries asynchronously. It is an asynchronous wrapper around
    Packit 6baad5
    <tt>getaddrinfo(3)</tt>, <tt>getnameinfo(3)</tt>, <tt>res_query(3)</tt> and
    Packit 6baad5
    <tt>res_search(3)</tt> from <tt>libc</tt> and <tt>libresolv</tt>.

    Packit 6baad5
    Packit 6baad5

    In contrast to GNU's asynchronous name resolving API

    Packit 6baad5
    <tt>getaddrinfo_a()</tt>, <tt>libasyncns</tt> does not make use of
    Packit 6baad5
    UNIX signals for reporting completion of name queries. Instead, the
    Packit 6baad5
    API exports a standard UNIX file descriptor which may be integerated
    Packit 6baad5
    cleanly into custom main loops.

    Packit 6baad5
    Packit 6baad5

    In contrast to asynchronous DNS resolving libraries like <tt>

    Packit 6baad5
    href="http://libdenise.sourceforge.net/">libdenise</tt>, <tt>
    Packit 6baad5
    href="http://www.skarnet.org/software/skadns/">skadns</tt>, <tt>
    Packit 6baad5
    href="http://www.chiark.greenend.org.uk/~ian/adns/">adns</tt>,
    Packit 6baad5
    <tt>libasyncns</tt> is just an asynchronous wrapper around the libc's
    Packit 6baad5
    synchronous <tt>getaddrinfo()</tt> API, which has the advantage of
    Packit 6baad5
    allowing name resolution using techniques like 
    Packit 6baad5
    href="http://0pointer.de/lennart/projects/nss-mdns/">Multicast
    Packit 6baad5
    DNS, LDAP or NIS using standard <tt>libc</tt> NSS (Name Service
    Packit 6baad5
    Switch) modules. <tt>libasyncns</tt> is compatible with IPv6 if the
    Packit 6baad5
    underlying <tt>libc</tt> is.

    Packit 6baad5
    Packit 6baad5

    <tt>libasyncns</tt> is very tiny, consisting of just one header and

    Packit 6baad5
    one source file. It has no dependencies besides <tt>libc</tt>.

    Packit 6baad5
    Packit 6baad5

    By default <tt>libasyncns</tt> spawns a number of worker threads

    Packit 6baad5
    (LWPs) to process name queries. Alternatively or when POSIX Threads
    Packit 6baad5
    are not supported, <tt>libasyncns</tt> can <tt>fork()</tt> off worker
    Packit 6baad5
    processes instead.

    Packit 6baad5
    Packit 6baad5

    Current Status

    Packit 6baad5
    Packit 6baad5

    Version 0.8 is quite stable and feature complete.

    Packit 6baad5
    Packit 6baad5

    Damien Thébault has written a Python module libasyncns-python that wraps the libasyncns C API.

    Packit 6baad5
    Packit 6baad5

    Documentation

    Packit 6baad5
    Packit 6baad5

    You may browse the Doxygen

    Packit 6baad5
    generated 
    Packit 6baad5
    href="http://0pointer.de/lennart/projects/libasyncns/doxygen/">programing
    Packit 6baad5
    documentation the API. (Run <tt>make doxygen</tt> to generate this
    Packit 6baad5
    documentation from the source tree)

    Packit 6baad5
    Packit 6baad5

    Requirements

    Packit 6baad5
    Packit 6baad5

    Currently, <tt>libasyncns</tt> is tested on Linux and Solaris (<tt>sparc-sun-solaris2.8</tt>) only.

    Packit 6baad5
    Packit 6baad5

    <tt>libasyncns</tt> was developed and tested on Debian GNU/Linux

    Packit 6baad5
    "testing" from January 2005, it should work on most other Linux
    Packit 6baad5
    distributions (and maybe Unix versions) since it uses GNU autoconf and
    Packit 6baad5
    GNU libtool for source code configuration and shared library
    Packit 6baad5
    management.

    Packit 6baad5
    Packit 6baad5

    <tt>libasyncns</tt> has no dependencies besides a <tt>libc</tt> that supports <tt>getaddrinfo()</tt> and <tt>res_query()</tt>.

    Packit 6baad5
    Packit 6baad5

    Installation

    Packit 6baad5
    Packit 6baad5

    As this package is made with the GNU autotools you should run

    Packit 6baad5
    <tt>./configure</tt> inside the distribution directory for configuring
    Packit 6baad5
    the source tree. After that you should run <tt>make</tt> for
    Packit 6baad5
    compilation and <tt>make install</tt> (as root) for installation of
    Packit 6baad5
    <tt>libasyncns</tt>.

    Packit 6baad5
    Packit 6baad5

    Acknowledgements

    Packit 6baad5
    Packit 6baad5

    Sjoerd Simons for the <tt>res_query()</tt> support.

    Packit 6baad5
    Packit 6baad5

    Download

    Packit 6baad5
    Packit 6baad5

    The newest release is always available from http://0pointer.de/lennart/projects/libasyncns/

    Packit 6baad5
    Packit 6baad5

    The current release is 0.8

    Packit 6baad5
    Packit 6baad5

    Get <tt>libasyncns</tt>'s development sources from the GIT repository (gitweb):

    Packit 6baad5
    Packit 6baad5
    git clone git://git.0pointer.de/libasyncns
    Packit 6baad5
    Packit 6baad5

    You may find an up to date Debian package of <tt>libasyncns</tt> on the Debian package repository.

    Packit 6baad5
    Packit 6baad5

    If you want to be notified whenever I release a new version of this software use the subscription feature of Freshmeat.

    Packit 6baad5
    Packit 6baad5

    Packit 6baad5
    <address class="grey">Lennart Poettering <mznflapaf (at) 0pointer (dot) de>, October 2009</address>
    Packit 6baad5
    Packit 6baad5
    </body>
    Packit 6baad5
    </html>