dns

DNS library in Haskell

Version on this page:3.0.4
LTS Haskell 22.14:4.2.0
Stackage Nightly 2024-03-28:4.2.0
Latest on Hackage:4.2.0

See all snapshots dns appears in

BSD-3-Clause licensed and maintained by Kazu Yamamoto
This version can be pinned in stack with:dns-3.0.4@sha256:11a844ee68b6365e2d8384d3004ace8044697aa6fcbabd42e4910d50ef10cc72,3281

A thread-safe DNS library for both clients and servers written in pure Haskell.

Changes

3.0.4

  • Drop unexpected UDP answers #112

3.0.3

  • Implementing NSEC3PARAM #109
  • Fixing an example of DNS server.
  • Improving DNS decoder #111

3.0.2

  • Supporting conduit 1.3 #105
  • Supporting GHC 8.4 with semigroup hack.

3.0.1

  • Supporting GHC 7.8 again.

3.0.0

  • The version introduces some breaking changes internally. But upper layer APIs in the Lookup module remain the same.
  • Breaking change: Network.DNS.Types is redesigned. ResourceRecord is not a sum type anymore. It holds only normal RRs. For EDNS0, a new scheme is implemented. #63
  • Breaking change: the Encode and Decode modules use strict ByteString instead of lazy one. #59
  • Default DNS servers are detected automatically on Windows if RCFilePath is used. Use vanilla defaultResolvConf on Windows! #83
  • Multiple DNS servers can be used. You can choose either sequential lookup or concurrent lookup. See resolvConcurrent. #81
  • EDNS0 queries are used by default. #95
  • lookupSOA is defined. #93
  • Cache mechanism is provided. See resolvCache.
  • Some constructors such as ANY are added in the Types module.
  • Some bug fixes and code clean-up.

2.0.13

  • Testing with AppVeyor.
  • Detecting a default DNS server on Windows.
  • Fixing sendAll on Windows #72

2.0.12

  • Fixing Windows build again

2.0.11

  • Fixing the StateBinary.get32 parser #57
  • Removing bytestring-builder dependency #61
  • Fixing Windows build #62

2.0.10

  • Cleaning up the code. #47

2.0.9

  • Implemented TCP fallback after a truncated UDP response. #46

2.0.8

  • Better handling of encoding and decoding the “root” domain “.”. #45

2.0.7

  • Add length checks for A and AAAA records. #43

2.0.6

  • Adding Ord instance. #41
  • Adding DNSSEC-related RRTYPEs #40

2.0.5

  • Supporting DNS-SEC AD (authenticated data). #38
  • Removing the dependency to blaze-builder.

2.0.4

  • Renaming a variable to fix preprocessor conflicts #37

2.0.3

  • Handle invalid opcodes gracefully. #36

2.0.2

  • Providing a new API: decodeMany.

2.0.1

  • Updating document.

2.0.0

  • DNSMessage is now monomorphic
  • RDATA is now monomorphic
  • Removed traversal instance for DNSMessage
  • EDNS0 encoding/decoding is now supported
  • Removed dnsMapWithType and dnsTraverseWithType functions
  • responseA and responseAAAA now take lists of IP addresses as their arguments
  • DNSHeader type no longer has qdCount, anCount, nsCount, and arCount fields