dns-4.0.1: DNS library in Haskell

Safe HaskellNone
LanguageHaskell2010

Network.DNS

Contents

Description

A thread-safe DNS library for both clients and servers written in pure Haskell. The Network.DNS module re-exports all other exposed modules for convenience. Applications will most likely use the high-level interface, while library/daemon authors may need to use the lower-level one. EDNS and TCP fallback are supported.

Examples:

>>> rs <- makeResolvSeed defaultResolvConf
>>> withResolver rs $ \resolver -> lookupA resolver "192.0.2.1.nip.io"
Right [192.0.2.1]
Synopsis

High level

This module contains simple functions to perform various DNS lookups. If you simply want to resolve a hostname (lookupA), or find a domain's MX record (lookupMX), this is the easiest way to do it.

Resolver related data types.

All of the types that the other modules use.

This module contains utility functions used for processing DNS data.

Middle level

This provides the lookup, lookupAuth, lookupRaw and lookupRawCtl functions for any resource records.

Low level

Encoding a query or response.

Decoding a qurey or response.

Sending and receiving.