This is a clone/fork of https://github.com/miekg/dns
Go to file
Miek Gieben 73cad7898b gofmt 2011-07-05 20:01:17 +02:00
_examples gofmt 2011-07-05 20:01:17 +02:00
LICENSE added LICENSE 2010-12-19 12:31:48 +01:00
Makefile remove config.go 2011-04-18 22:08:12 +02:00
README.markdown Make the readme more readable 2011-07-05 19:54:20 +02:00
TODO adapt chaos.go to the new api 2011-07-04 21:21:47 +02:00
client.go panic when no client handler is found 2011-07-04 22:27:23 +02:00
client_test.go gofmt 2011-07-05 20:01:17 +02:00
clientconfig.go Documentation 2011-07-04 21:32:39 +02:00
defaults.go Update doc and set recursion = true in SetQuestion 2011-07-04 21:28:30 +02:00
dns.go Documentation 2011-07-04 21:32:39 +02:00
dns_test.go Add back the pack/unpack tests 2011-07-04 20:21:01 +02:00
dnssec.go documentation 2011-03-30 15:44:28 +02:00
dnssec_test.go Actually remove resolver.go 2011-07-04 20:19:44 +02:00
edns.go normalize errors 2011-03-25 11:19:35 +01:00
keygen.go Fix the removal of encoding/line 2011-07-04 19:54:56 +02:00
msg.go Ran gofix, and manually bring code up to latest go release. 2011-06-02 13:31:12 +03:00
nsec3.go documentation 2011-03-30 15:44:28 +02:00
nsec3_test.go gofmt 2011-07-05 20:01:17 +02:00
parse_test.go Very small tweaks/bugfixes 2011-03-24 15:52:37 +01:00
server.go fix the reflect server 2011-07-05 19:44:46 +02:00
server_test.go Add server_test 2011-07-05 19:49:13 +02:00
tsig.go TSIG works again 100% 2011-04-22 16:37:26 +02:00
types.go add ClassNONE (254) 2011-03-25 11:49:52 +01:00
xfr.go remove config.go 2011-04-18 22:08:12 +02:00

README.markdown

Alternative (more granular) approach to a DNS library.

Completely usable DNS library. Most widely used Resource Records are supported including the DNSSEC types.

Feaures:

  • EDNS0 is (see edns.go)
  • UDP/TCP queries, IPv4 and IPv6
  • TSIG
  • AXFR (and IXFR probably)
  • Client and server side programming (mimicing the http package)
  • Asynchronous queries (client/server)

Sample programs can be found in the _examples directory. They can be build with: make examples (after the dns package has been installed)

The major omission at the moment is parsing Resource Records from strings. (i.e. supporting the RFC 1035 zone file format).

Everything else should be present and working. If not, drop me an email.

Have fun!

Miek Gieben - 2010, 2011 - miek@miek.nl

Supported RFCs and features include:

  • 103{4,5} - DNS standard
  • 1982 - Serial Arithmetic
  • 1876 - LOC record (incomplete)
  • 1995 - IXFR
  • 1996 - DNS notify
  • 2181 - RRset definition
  • 2537 - RSAMD5 DNS keys
  • 2065 - DNSSEC (updated in later RFCs)
  • 2671 - EDNS
  • 2782 - SRV
  • 2845 - TSIG
  • 2915 - NAPTR
  • 3110 - RSASHA1 DNS keys
  • 3225 - DO bit (DNSSEC OK)
  • 340{1,2,3} - NAPTR
  • 3597 - Unkown RRs
  • 403{3,4,5} - DNSSEC + validation functions
  • 4255 - SSHFP
  • 4408 - SPF
  • 4509 - SHA256 Hash in DS
  • 4635 - HMAC SHA TSIG
  • 5001 - NSID
  • 5155 - NSEC
  • 5936 - AXFR

Loosely based upon:

  • ldns
  • NSD
  • Net::DNS
  • GRONG