This is a clone/fork of https://github.com/miekg/dns
Go to file
Miek Gieben caf69b662c Add Ixfr back in
Fix ixfr. Don't be smart about iterpreting the ixfr itself,
just funnel the packets back to the client, but do obey the
ixfr algorithm
2011-09-10 16:49:22 +02:00
_examples Disable the ns target 2011-09-02 13:46:57 +02:00
LICENSE add TSIG axfr test, still needs work though 2011-07-05 20:52:35 +02:00
Makefile I do not have use for zone structures yet 2011-09-02 13:02:29 +02:00
README.markdown add panics to update if q section is empty 2011-08-24 15:39:26 +02:00
TODO.markdown slight updates to the TODO 2011-09-10 14:48:22 +02:00
client.go slight updates to the TODO 2011-09-10 14:48:22 +02:00
client_test.go Fix test 2011-08-08 13:21:18 +02:00
clientconfig.go gofmt -w 2011-07-23 23:43:43 +02:00
defaults.go move around the get/set methods 2011-09-02 14:28:40 +02:00
dns.go slight updates to the TODO 2011-09-10 14:48:22 +02:00
dns_test.go Remove a packStruct - should improve performance 2011-08-08 15:28:19 +02:00
dnssec.go Normalize errors 2011-09-09 10:21:04 +02:00
dnssec_test.go Error handling 2011-07-24 17:08:33 +02:00
edns.go normalize errors 2011-03-25 11:19:35 +01:00
keygen.go documentation 2011-09-08 19:35:02 +02:00
kparse.go Upgrade to r59 of Go this means parsing is broken now 2011-08-02 09:06:15 +02:00
kparse.rl documentation 2011-07-23 23:32:42 +02:00
miek.nl.signed_test cannot handle comments on that spot (yet) miek.nl.signed_test 2011-07-29 16:11:04 +02:00
msg.go Normalize errors 2011-09-09 10:21:04 +02:00
nsec3.go Make nsec3.go compile 2011-09-08 12:54:48 -07:00
nsec3_test.go Fix the tests too. They fail now btw; its on the TODO 2011-07-08 17:30:04 +02:00
parse_test.go Tests fails, but dont crash 2011-08-08 10:33:50 +02:00
qnamestring.go added 2011-07-31 09:14:54 +02:00
rawmsg.go doc 2011-09-01 08:35:08 +02:00
server.go move zoneMatch to dns.go 2011-07-31 09:53:54 +02:00
server_test.go gofmt -w 2011-07-23 23:43:43 +02:00
tsig.go documentation 2011-07-23 23:32:42 +02:00
types.go Parse differently 2011-09-02 13:44:35 +02:00
types.rl Parse differently 2011-09-02 13:44:35 +02:00
update.go documentation 2011-09-08 19:41:26 +02:00
xfr.go Add Ixfr back in 2011-09-10 16:49:22 +02:00
zparse.go Parse differently 2011-09-02 13:44:35 +02:00
zparse.rl comments 2011-09-02 14:01:55 +02:00

README.markdown

Alternative (more granular) approach to a DNS library.

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

Feaures:

  • UDP/TCP queries, IPv4 and IPv6
  • TSIG
  • EDNS0 (see edns.go)
  • AXFR (and IXFR probably)
  • Client and server side programming (mimicking the http package)
  • Asynchronous queries (client/server)
  • RFC 1035 zone file parsing (everything, except multiline records work)

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

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
  • 2136 - DNS Update (dynamic updates)
  • 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
  • 4892 - id.server
  • 5001 - NSID
  • 5155 - NSEC
  • 5933 - GOST
  • 5936 - AXFR
  • xxxx - ECDSA

Loosely based upon:

  • ldns
  • NSD
  • Net::DNS
  • GRONG