Commit Graph

209 Commits

Author SHA1 Message Date
Miek Gieben 0509df509e gofmt 2012-01-12 23:17:34 +01:00
Miek Gieben 189de95957 Make the udp msg size configurable 2012-01-12 22:47:36 +01:00
Miek Gieben b5d73f1eff Implement compressible domain names 2012-01-11 11:19:07 +01:00
Miek Gieben 15d82f0b34 Fix the size -- was counting the labels, not the bytes 2012-01-10 13:47:34 +01:00
Miek Gieben bacfa5a80c A Len() to RR interface
This isn't yet finished, but it helps in asserting the amount of
space to alloc when packing a message
2012-01-10 10:43:28 +01:00
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
Miek Gieben 9dbfa8a443 Fix the async documentation 2012-01-08 15:33:15 +01:00
Miek Gieben 0322d3a9da Fix $ORIGIN in zonefiles
also check if a dname isn't fq, and add $ORIGIN is not.
2012-01-08 14:06:58 +01:00
Miek Gieben 5d99c04ac3 Fix rootname print in q section 2011-12-20 11:45:31 +01:00
Miek Gieben d2a064e390 Update in the documentation 2011-12-16 19:35:37 +01:00
Miek Gieben de3f0f3903 Documentation and make the random better 2011-12-16 19:28:35 +01:00
Miek Gieben 235dee6a0d Fix the parse tests once more 2011-12-16 10:26:32 +01:00
Miek Gieben 06ae052c32 Implement returning errors from the scanner 2011-12-16 10:06:28 +01:00
Miek Gieben 35a1e137e2 More parsing fixes 2011-12-15 22:40:07 +01:00
Miek Gieben f1ff334ab1 Rename DefaultTTL to DefaulTtl
This is more inline with the rest
2011-12-14 08:42:53 +01:00
Miek Gieben ae17028dd0 Use fqdns 2011-12-09 22:45:13 +01:00
Miek Gieben 22a467e718 Fixes the latest weekly 2011-11-02 23:06:54 +01:00
Miek Gieben 6e403621e1 Fix NSID (or OPT option code 3) 2011-09-26 09:11:14 +02:00
Miek Gieben 6f78219c22 Documentation updates 2011-09-11 20:47:25 +02:00
Miek Gieben bec4153541 slight updates to the TODO 2011-09-10 14:48:22 +02:00
Miek Gieben 19bf874769 Use a new type to send back request,answer
a type Exchange has been added, which makes communicating with
the resolver more strait forward.

This will also be used in the *xfr functions.
2011-09-10 14:26:08 +02:00
Taral 220ad18ded Remove redundant sorting and fix small error 2011-09-08 12:14:06 -07:00
Miek Gieben ec11e6abd3 documentation 2011-09-08 19:28:00 +02:00
Miek Gieben c64f506103 Remove a packStruct - should improve performance 2011-08-08 15:28:19 +02:00
Miek Gieben 4925a831aa move zoneMatch to dns.go 2011-07-31 09:53:54 +02:00
Miek Gieben be10e40045 Fix Pop()
Need to check which of the rrs, rrsigs of nxt is actually filled
with the data and pop that.
2011-07-29 13:16:27 +02:00
Miek Gieben 5df752fef7 Smaller tweaks 2011-07-28 23:39:31 +02:00
Miek Gieben caa1502c1e Add much more complex zone structure
A zone is stored in a
map[string]map[int]*ZRRset

where string is the qname and int (in the second map) is
qclass * <large number> + qtype, thereby making it unique.

ZRRset holds:
    RRs     RRset
    RRsigs  RRset
    Nsec    RR
    Nsec3   RR
    Glue    bool

Which holds the RRset for the zone contents. This is grouped
together for DNSSEC purposes, but also helps in non-DNSSEC zones.
(There is of course a increase in memory usage).
2011-07-28 22:47:55 +02:00
Miek Gieben b2a6356596 Fix opt pseudo section stuff 2011-07-25 11:24:26 +02:00
Miek Gieben 4671072027 Error handling
Handle semantic errors in the input stream.
Try to use Ragel's error handling when seeing a non-supported
class. This does not work yet.
2011-07-24 17:08:33 +02:00
Miek Gieben b56e9b4e04 documentation 2011-07-23 23:41:24 +02:00
Miek Gieben 9b1e7b4b3d documentation
make Str_rr and Str_class private, prolly only needed
for parsing
2011-07-23 23:15:40 +02:00
Miek Gieben 7cc28a94e9 Fix funkensturm signing
make LabelCount public account.
2011-07-06 21:50:23 +02:00
Miek Gieben 077c1ce596 Some documentation update 2011-07-05 21:08:22 +02:00
Miek Gieben b0a9805be9 Documentation 2011-07-04 21:32:39 +02:00
Miek Gieben 5de08ff3dc Update doc and set recursion = true in SetQuestion 2011-07-04 21:28:30 +02:00
Miek Gieben 3c10506681 start with the documentation 2011-04-17 22:14:26 +02:00
Miek Gieben d7b332725c axfr should be fixed 2011-04-17 22:03:36 +02:00
Miek Gieben 172331a23f completely break the api 2011-04-02 09:22:05 +02:00
Miek Gieben 686cd05417 rename QuerySimple to SimpleQuery
add a default query handler 'HandlerQuery' that can be
used.
2011-03-31 10:31:17 +02:00
Miek Gieben 8a4647ec22 documentation 2011-03-30 15:35:49 +02:00
Miek Gieben e5a769baf0 Fix up API and documentation 2011-03-30 14:54:43 +02:00
Miek Gieben 0449ff62a2 seeing some light in the query API
global channels look to be helpfull
2011-03-30 11:14:36 +02:00
Miek Gieben 879e6dcda8 Clean ups 2011-03-29 11:17:43 +02:00
Miek Gieben 1e9a8df857 Update docs and fix mx example 2011-03-29 10:41:57 +02:00
Miek Gieben 2d7a1cddeb Add QuerySimple
Some examples are working again. Things are getting
better.

Still need to think about a generic Config (ClientConfig)
for parsing the /etc/resolv.conf
2011-03-29 10:15:42 +02:00
Miek Gieben b4e28e3d56 Finish the new query API 2011-03-28 16:57:04 +02:00
Miek Gieben 97a03a9bd5 remove the old resolver structure 2011-03-28 16:03:47 +02:00
Miek Gieben 2b7d2203fb API is taking shape 2011-03-28 14:45:40 +02:00
Miek Gieben 573b6d3460 use Query in resolver 2011-03-28 11:22:36 +02:00
Miek Gieben 5c28696357 API works, but it is not very nice (yet) 2011-03-28 10:59:06 +02:00
Miek Gieben 7cc589d52a Add mangle to Conn 2011-03-28 10:39:01 +02:00
Miek Gieben f9088e1e75 Make the new resolver API better 2011-03-28 10:33:57 +02:00
Miek Gieben 135772de9f complete rewrite the resolver side
make it mirror the server side and thus
async and concurrent
2011-03-28 10:01:10 +02:00
Miek Gieben ac0f4afcc9 doc updates 2011-03-27 11:46:15 +02:00
Miek Gieben 55c41c82b7 Add more Conn wrappers 2011-03-27 11:45:01 +02:00
Miek Gieben 4029c4153c Use defaulTTL, more Go like 2011-03-25 17:47:35 +01:00
Miek Gieben 8aa88a0bd3 normalize errors 2011-03-25 11:19:35 +01:00
Miek Gieben 15518a578f Lowlevel read/write improvements 2011-03-25 09:58:14 +01:00
Miek Gieben b1363094de Fix TCP reading 2011-03-24 18:07:38 +01:00
Miek Gieben f44bf2d656 Formatting 2011-03-24 09:24:24 +01:00
Miek Gieben 93a7feb0a7 small doc updates 2011-03-24 09:16:33 +01:00
Miek Gieben 25bdf43f06 more documentation updates 2011-03-23 19:37:07 +01:00
Miek Gieben ee88f57c1b add documentation 2011-03-23 17:41:52 +01:00
Miek Gieben 8b70e31c41 Fix examples and API additions 2011-03-23 09:50:38 +01:00
Miek Gieben a7a8b616f0 fix reflect 2011-03-21 22:53:15 +01:00
Miek Gieben 72c6ff37eb Fix error handling 2011-03-21 17:43:03 +01:00
Miek Gieben 90a1d813d9 Fix rereading tcp 2011-03-21 14:20:46 +01:00
Miek Gieben 6aaa5acd76 tsig nicely abstracted. Still bugs present though 2011-03-21 11:39:04 +01:00
Miek Gieben 9bc0f3ed6b More TSIG stuff 2011-03-21 10:51:28 +01:00
Miek Gieben 2c5184ff11 Add tsig stuff 2011-03-20 20:55:27 +01:00
Miek Gieben ab035e636f debugging 2011-03-20 20:16:10 +01:00
Miek Gieben b1f63f57c4 Read/Write works, but axfr still fails 2011-03-20 19:58:55 +01:00
Miek Gieben de9a1da6aa Add lowlevel read/write primatives - and make it much more Go-like 2011-03-20 16:52:10 +01:00
Miek Gieben 496ab892d8 New does help 2011-03-13 14:51:02 +01:00
Miek Gieben e6dc03baeb Shuffle the dns constant to dns.go 2011-02-28 10:42:03 +01:00
Miek Gieben 98e4b33cb5 formatting and documentation 2011-02-24 16:22:14 +01:00
Miek Gieben 77348913dd Update the documentation 2011-02-24 16:13:23 +01:00
Miek Gieben 266ed16e72 refactor the rrset to signedata function 2011-02-24 15:29:36 +01:00
Miek Gieben daaeaba69b Add unknown resource record parsing 2011-02-21 15:44:42 +01:00
Miek Gieben 9fc9f325b8 Folded resolver back into main package 2011-02-08 20:15:54 +01:00
Miek Gieben 0f9b484e6d remove prints from msg.go, not nice to do in the library 2011-01-27 19:35:34 +01:00
Miek Gieben d9dfd913a7 documentation updates 2011-01-27 09:29:11 +01:00
Miek Gieben 5786959b98 Test Nameserver Inside responder pkg 2011-01-18 21:01:08 +01:00
Miek Gieben 514381d98d the Meta struct can be used in responder but it is not mandatory 2011-01-18 19:14:26 +01:00
Miek Gieben ec441e36e1 Add Meta data to the resolver 2011-01-18 15:44:30 +01:00
Miek Gieben 9eea4682fd Fix documentation 2011-01-17 21:10:48 +01:00
Miek Gieben 74796c8672 Add SRV and NAPTR record support 2011-01-17 10:30:20 +01:00
Miek Gieben d086722c36 Add rrset check function 2011-01-16 20:07:17 +01:00
Miek Gieben 15bf984f3f LabelCount() made public and various other tweaks 2011-01-14 18:55:18 +01:00
Miek Gieben a60238bdde Remove unwanted wire conversion functions 2011-01-14 11:57:28 +01:00
Miek Gieben 57b1e2f714 First stab at server support
Cherry pick GRONG for the server stuff (only server.go) seems
interesting.

Still working on the responder idea of GRONG and how to implement
it in godns
2011-01-11 23:33:07 +01:00
Miek Gieben 42660c2a8e fix up the rest 2011-01-09 10:34:29 +01:00
Miek Gieben 51a3e06b53 Fix and cleanup DNSSEC code
Key extraction is the same for all RSA DNSKEYs, so all RSA keys
are handled. Even the older RSAMD5 is now supported.
2011-01-08 19:10:47 +01:00
Miek Gieben 97506dafe4 Fix the error handling
Added new type (copied from net package) dns.Error that carries
all errors
2011-01-03 11:29:04 +01:00
Miek Gieben d4059485d5 Add even more rcodes 2011-01-03 10:44:00 +01:00
Miek Gieben dc56e5e4ff small tweaks to the docs 2011-01-01 20:01:49 +01:00
Miek Gieben daf625264e Fix TCP sending
esp. when an imcomplete message is send back from the server.
Fix {A,I}XFR also
Add DNSError
2011-01-01 18:47:38 +01:00
Miek Gieben 9155d632f5 add TSIG as a type 2010-12-31 15:10:42 +01:00
Miek Gieben 0dcdbe4361 Fix DNS over TCP
Actually send the 2 bytes length and also be prepared
to receive them.
2010-12-31 14:11:52 +01:00
Miek Gieben 2decd91cb4 Add the NAPTR record 2010-12-30 20:50:31 +01:00
Miek Gieben acdab89120 Completely fix EDNS0 2010-12-30 18:42:40 +01:00
Miek Gieben 9d1d7444a3 Some fixes from creating a dig-like program 2010-12-30 16:38:16 +01:00
Miek Gieben bcf320aad4 rename the examples dir
Make it *not* show up in godoc
2010-12-30 14:13:28 +01:00
Miek Gieben 15dd65171b Split the package in multiple packages
dns - the standard rrtypes and such
    dnssec - validation, keytag calculation, etc
    resolver - for talking to servers
2010-12-30 13:42:52 +01:00
Miek Gieben 8a88afca54 not used yet 2010-12-18 23:46:37 +01:00
Miek Gieben 0e00511c31 Make the resolver a goroutine
Fits more nicely with DNS, async. for free
Renamed the files: dropped the dns prefix
2010-12-18 20:31:26 +01:00
Miek Gieben af26ef2532 Make members of dns.Msg public
added packtest to see if ipv4 and ipv6 works
2010-08-09 12:40:31 +02:00
Miek Gieben f67087a176 added files 2010-08-03 23:57:59 +02:00