Commit Graph

208 Commits

Author SHA1 Message Date
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