hsdns: Asynchronous DNS Resolver

[ foreign, lgpl, library, network ] [ Propose Tags ]

This library provides an asynchronous DNS resolver on top of GNU ADNS http://www.chiark.greenend.org.uk/~ian/adns/. Not all options are supported, but A, MX, and PTR lookups work nicely. There is also support for retrieving generic RR types, CNAMEs, and for NSEC zone walking. The library can be expected to work with fine ADNS 1.4 or later. It might also work with version ADNS 1.3, but that hasn’t been tested.

The example program adns-reverse-lookup.hs demonstrates how the resolver is used. Given a list of host names on the command line, it performs an A/PTR double-lookup and checks whether the records are consistent. The output is printed in the order in which the DNS responses arrive:

$ ./adns-reverse-lookup xyz.example.org ecrc.de www.example.com www.cryp.to
OK: www.example.com <-> 208.77.188.166
ERR: xyz.example.org: cannot resolve A
FAIL: www.cryp.to -> 195.234.152.69 -> ["research.cryp.to"]
FAIL: ecrc.de -> 127.0.0.1 -> ["localhost"]
Versions [faq] 1.0, 1.1, 1.3, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.5, 1.6, 1.6.1, 1.7, 1.7.1, 1.8
Dependencies base (>=3 && <4.7), containers (<0.6), network (<2.7) [details]
License LicenseRef-LGPL
Copyright (c) 2004-2010 Peter Simons
Author Peter Simons <simons@cryp.to>, Lutz Donnerhacke <lutz@iks-jena.de>, Григорий Холомьёв <omever@gmail.com>
Maintainer Peter Simons <simons@cryp.to>
Revised Revision 1 made by HerbertValerioRiedel at 2016-12-25T09:25:17Z
Category Foreign, Network
Home page http://gitorious.org/hsdns
Source repo this: git clone git://gitorious.org/hsdns/mainline.git(tag v1.4.2)
head: git clone git://gitorious.org/hsdns/mainline.git
Uploaded by PeterSimons at 2010-02-25T23:52:52Z
Distributions LTSHaskell:1.8, NixOS:1.8, Stackage:1.8
Downloads 10298 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees