This is a clone/fork of https://github.com/miekg/dns
Go to file
Miek Gieben ecfd5451a9 Remove the Labels() function.
This is now handled inside IsDomainName, which really parses
the name and then (also) returns the number of labels found.
2012-01-08 15:54:33 +01:00
_examples Make axfr example much more robust 2011-12-20 13:05:42 +01:00
.gitignore add gitignore file 2011-09-20 10:21:17 +02:00
LICENSE add TSIG axfr test, still needs work though 2011-07-05 20:52:35 +02:00
Makefile Remove qname string 2011-12-16 19:38:44 +01:00
README.markdown update readme and fix spelling mistakes 2011-09-12 10:13:50 +02:00
TODO.markdown TODO 2011-12-18 18:15:46 +01:00
client.go Update in the documentation 2011-12-16 19:35:37 +01:00
client_test.go Make all tests fully qualified 2012-01-08 15:34:42 +01:00
clientconfig.go gofmt 2011-12-09 21:45:57 +01:00
defaults.go Remove the Labels() function. 2012-01-08 15:54:33 +01:00
dns.go Remove the Labels() function. 2012-01-08 15:54:33 +01:00
dns_test.go Remove a packStruct - should improve performance 2011-08-08 15:28:19 +02:00
dnssec.go Remove the Labels() function. 2012-01-08 15:54:33 +01:00
dnssec_test.go Make all tests fully qualified 2012-01-08 15:34:42 +01:00
dnssex.nl.signed Add a testzone 2011-12-14 09:27:53 +01:00
dyn_test.go gofmt 2011-12-09 21:45:57 +01:00
edns.go gofmt 2011-12-09 21:45:57 +01:00
keygen.go Fix the reading of private key files 2011-12-16 17:32:15 +01:00
kscan.go Implement escaping 2011-12-18 19:59:01 +01:00
msg.go Make all tests fully qualified 2012-01-08 15:34:42 +01:00
nsec3.go Gofmt 2011-12-16 19:42:30 +01:00
nsec3_test.go Make all tests fully qualified 2012-01-08 15:34:42 +01:00
parse_test.go Fix handling of dnames 2012-01-08 14:53:55 +01:00
rawmsg.go remove the faulty function 2011-12-17 20:14:57 +01:00
server.go Fixes the latest weekly 2011-11-02 23:06:54 +01:00
server_test.go Fix the tests for the latest weekly 2011-12-10 20:54:26 +01:00
test.zone.miek.nl.signed Revert "Use larger buffer to speed things up" 2012-01-05 13:24:11 +01:00
tsig.go Update to the latest weekly: weekly/weekly.2011-12-06 2011-12-09 11:16:49 +01:00
types.go Funkensturm updates 2011-12-20 12:53:47 +01:00
update.go Remove these methods 2011-12-16 19:36:33 +01:00
xfr.go Fixes the latest weekly 2011-11-02 23:06:54 +01:00
zscan.go Remove the Labels() function. 2012-01-08 15:54:33 +01:00
zscan_rr.go Remove the Labels() function. 2012-01-08 15:54:33 +01: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. It follows a lean and mean philosophy. If there is stuff you should know as a DNS programmers there isn't a convenience function for it.

Features:

  • UDP/TCP queries, IPv4 and IPv6;
  • TSIG;
  • EDNS0;
  • AXFR/IXFR;
  • Client and server side programming (mimicking the http package);
  • Asynchronous queries for client and server;
  • RFC 1035 zone file parsing (everything, except multiline records work). non-working ATM.

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