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 cryp.to localhost www.example.com
OK: localhost <-> 127.0.0.1
FAIL: cryp.to -> 217.19.183.102 -> ["zuse.cryp.to"]
OK: www.example.com <-> 192.0.32.10
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 && <5), containers, hsdns, network (>=2.6.3.0) [details]
License LGPL-3.0-only
Copyright Peter Simons
Author Peter Simons <simons@cryp.to>, Lutz Donnerhacke <lutz@iks-jena.de>, Григорий Холомьёв <omever@gmail.com>, Evan Rinehart <ebr@sciresearch.com>
Maintainer Peter Simons <simons@cryp.to>
Category Foreign, Network
Home page http://github.com/peti/hsdns
Bug tracker http://github.com/peti/hsdns/issues
Source repo head: git clone git://github.com/peti/hsdns.git
Uploaded by PeterSimons at Wed Jan 23 10:48:21 UTC 2019
Distributions LTSHaskell:1.7.1, NixOS:1.7.1, Stackage:1.8
Executables adns-test-and-traverse, adns-srv-test, adns-reverse-lookup
Downloads 5640 total (196 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2019-01-23 [all 3 reports]

Modules

  • ADNS
    • ADNS.Base
    • ADNS.Resolver

Flags

NameDescriptionDefaultType
install-examples

Build and install example programs.

DisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees