Commit Graph

107 Commits

Author SHA1 Message Date
S.Çağlar Onur cd5a49decd Add a badge for godoc (#395) 2016-10-03 15:37:09 +01:00
Miek Gieben dbffa4b057 Kill all reflection when packing/unpacking RR (#372)
Update the size-xxx-member tags to point to another field in the struct
that should be used for the length in that field. Fix NSEC3/HIP and TSIG
to use to this and generate the correct pack/unpack functions for them.

Remove IPSECKEY from the lib and handle it as an unknown record - it is
such a horrible RR, needed kludges before - now just handle it as an
unknown RR.

All types now use generated pack and unpack functions. The blacklist is
removed.
2016-06-12 18:31:50 +01:00
Miek Gieben ee126a9f10 RFC 7858 and 7873 are published 2016-06-11 09:21:11 +01:00
Miek Gieben 475ab80867 Remove (most) reflection
Remove the use of reflection when packing and unpacking, instead
generate all the pack and unpack functions using msg_generate.
This will generate zmsg.go which in turn calls the helper functions from
msg_helper.go.

This increases the speed by about ~30% while cutting back on memory
usage. Not all RRs are using it, but that will be rectified in upcoming
PR.

Most of the speed increase is in the header/question section parsing.
These functions *are* not generated, but straight forward enough. The
implementation can be found in msg.go.

The new code has been fuzzed by go-fuzz, which turned up some issues.

All files that started with 'z', and not autogenerated were renamed,
i.e. zscan.go is now scan.go.

Reflection is still used, in subsequent PRs it will be removed entirely.
2016-06-03 12:45:22 +01:00
phamhongviet b5deb9f6c0 Add serf-dns to the user list (#353) 2016-05-07 14:17:04 +01:00
Shumon Huque b534177a1a small patch for EDNS0 cookie support (#350)
* Add EDNS0 Cookie (option 10) support.

* Add EDNS0 Cookie processing.

* Fix nits.

* Add EDNS0 cookie support mention.
2016-05-03 16:19:28 +01:00
looter de1d5dd281 Added grimd project (#349) 2016-05-03 09:16:38 +01:00
Jacob Hoffman-Andrews 8d74112f68 Update README.md 2016-04-14 09:22:05 -07:00
Timothy e937df22c0 Add consul to list of users on README
Proof: https://github.com/hashicorp/consul/blob/master/command/agent/dns.go
2016-02-12 16:41:29 -05:00
Julian K 4d05cbc9ba README: public-dns has moved 2016-02-03 19:53:21 +01:00
everclear b633e89c58 New user added 2016-01-29 16:26:44 +00:00
Rafael Dantas Justo ad79b3f5fb Change documentation based on @miekg comments
See #297
2016-01-11 08:40:14 -02:00
Rafael Dantas Justo a9978c4481 Add new feature to documentation
See #297
2016-01-08 11:34:38 -02:00
Miek Gieben 497abb0c48 README: add section about maintenance
Say how we deal with backward compat and what we "guarantee" for
Go DNS.
2015-11-02 07:52:41 +00:00
David Linus Briemann 606e7a3d43 adding project using miekg/dns to README projects list 2015-10-08 11:26:47 +02:00
Miek Gieben 373b848617 HINFO does not need downcasing for DNSSEC
See the comment from Andrew:
https://github.com/miekg/dns/pull/270#issuecomment-145696618
2015-10-06 07:59:47 +01:00
Julian K. 8a70f4bd29 Add myself as user 2015-09-12 01:31:32 +02:00
Ben Schwartz 264015f64f adding project using miekg/dns to README list 2015-09-01 11:12:39 -05:00
Frederic Cambus bee2acb3a6 Adding statzone to the list of library users 2015-08-21 22:00:50 +02:00
Miek Gieben f6f99a7a6d Update README about NSAP record 2015-08-10 07:30:50 +01:00
Sajal Kayan 52fdcc9417 Adding DNS debugger android app 2015-08-07 17:09:15 +07:00
Gowtham Gopalakrishnan 87dbfff5f1 Added Cloudflare to the user list.
Read more here: https://blog.cloudflare.com/dns-parser-meet-go-fuzzer/
2015-08-06 23:28:55 +05:30
Miek Gieben a34cf6798a Fix URI record
When the URI record became an RFC they slightly changed the format.
Make the needed changes.
2015-07-21 07:47:38 +01:00
Sajal Kayan 7bebd64196 adding TurboBytes Pulse as a user 2015-07-17 21:58:41 +07:00
Roland Shoemaker 522331911d Enable CAA parsing 2015-06-16 02:01:28 -07:00
Matt Robenolt 1558a5bd21 Add Mesos DNS to Users list 2015-04-27 23:00:45 -07:00
Nick Cox cba5f23774 Add tianon/rawdns to list of projects
tianon's rawdns is a direct, raw DNS interface to the Docker API
2015-04-03 18:53:54 -06:00
Kenta SUZUKI df92ed7782 README update: document has already moved to doc.go 2015-03-24 15:56:56 +09:00
Miek Gieben a76c0a363d Merge branch 'master' of github.com:miekg/dns 2015-01-27 08:20:08 +00:00
StalkR 48aa88a987 README: update Users: StalkR/misc/dns/proxy moved to its own repo at StalkR/dns-reverse-proxy 2015-01-25 18:39:30 +01:00
Miek Gieben 477cb4d3fa Implement IPSECKEY
IPSECKEY is kinda strange because it has a type selector which tells
what type a later rdata field has. The type can be a domainname, address
or v6 address. You sort of wish Go would have a union type for this, but
alas.
Currently this is implemented as:

	GatewayA    net.IP `dns:"a"`
	GatewayAAAA net.IP `dns:"aaaa"`
	GatewayName string `dns:"domain-name"`

In the IPSECKEY. Only one of these is active at any one time. When
parsing/packing and unpacking the value of GatewayType is checked
to see what to do.

Parsing from strings is also implemented properly and tested. The Unpack
function still needs work.
2015-01-25 10:58:30 +00:00
Miek Gieben 33e6f6fe1b Add dnsproxy as a project 2015-01-16 07:48:43 +00:00
Miek Gieben 8da60e45f5 Remove refs to IsMsg - we are not going to do this 2015-01-08 09:42:46 +00:00
Miek Gieben a34d1f6ad7 Merge branch 'master' of github.com:miekg/dns 2014-11-03 11:02:31 +00:00
Miek Gieben deb8fe381f Cleanup the identical parsing functions.
Some records are copies from others: DNSKEY, CDNSKEY and KEY are
identical. DS, CDS and DLV are too and even RRSIG and SIG.

The parsing functions and the definition can all be used for parsing
all these identical types.
2014-11-02 11:29:55 +00:00
Miek Gieben 71466895f7 Remove ECC which was set as alg 4
There is no alg 4 and ECC is not an algorithm identifier.
2014-10-23 08:12:02 +00:00
Miek Gieben 06e7420b3e Merge branch 'master' of github.com:miekg/dns 2014-10-06 10:58:03 +00:00
Miek Gieben ce9b1fdbf8 Add TODOs 2014-10-06 10:57:49 +00:00
Miek Gieben 6d6b8b8599 small update in the README 2014-09-21 09:13:29 +01:00
Miek Gieben fbc3e49b78 Some documentation updates 2014-09-02 10:31:15 +00:00
Miek Gieben b2755a0543 Some docs moved to RFC status 2014-08-30 15:46:37 +00:00
Miek Gieben bf3728f44f Add line to the readme 2014-08-30 15:42:51 +00:00
Miek Gieben 5fd5c6d9eb And actually fix the parsing 2014-08-30 08:44:16 +01:00
Alex Sergeyev e7a401841e Fixed client tests and removed TODO about timeouts 2014-08-29 08:59:19 -04:00
Miek Gieben cd4dac5f59 update README 2014-08-23 07:52:34 +01:00
Miek Gieben 69091a1fd6 Add SIG0 TODO 2014-08-05 07:43:12 +01:00
Miek Gieben a71489b611 EDNS0: implement RFC 7314
Add the new option code.
2014-07-21 19:31:28 +01:00
Omri Bahumi 6d33ede2b2 Added travis build status to README.md 2014-07-08 17:35:41 +03:00
Tom Arnfeld 244ba9db68 Added our discodns project to the list 2014-07-04 07:29:35 +01:00
Daniel Speichert 7cf0864eb9 Added godnsagent to the list of users 2014-07-02 19:21:29 -04:00
Miek Gieben da2a67f6db Update the README slightly 2014-04-11 13:53:48 +00:00
Miek Gieben 9dcccf22da Fold TODO in README.md 2014-02-10 20:42:52 +00:00
Miek Gieben fe41b3f5b1 Fix typo and add allocated rfc number 2014-01-28 10:59:12 +00:00
Miek Gieben 57d45ae6e6 doc updates 2014-01-28 10:56:29 +00:00
Miek Gieben e287df0604 typos 2014-01-28 10:55:31 +00:00
Miek Gieben b0c068e420 docs 2014-01-12 13:47:03 +00:00
Miek Gieben af6fff3ff2 abbreviate markdown to md 2013-10-19 12:03:44 +01:00