Commit Graph

206 Commits

Author SHA1 Message Date
Miek Gieben
946e3a09ca Rename Exchange struct to XfrMsg - which better tells what it does 2012-08-08 09:44:34 +02:00
Miek Gieben
7a885b0c6b fqdn the handlers 2012-08-04 19:40:09 -07:00
Miek Gieben
534433a714 gofmt -w 2012-06-20 20:16:36 +02:00
Miek Gieben
e6fca0be3f Actually copy the RR for DNSSEC validation.
This is needed because we need to fiddle with the TTL and sometimes
even need to lowercase the rdata. We dont want this to propagate
to the original RRs
2012-06-20 19:16:54 +02:00
Miek Gieben
01442e58af more Copy() functions 2012-06-20 17:44:18 +02:00
Miek Gieben
f48dba4ad1 Add Copy to all RRs 2012-06-20 11:56:25 +02:00
Miek Gieben
6930a3a307 Tweaks for get a secure lookup going 2012-06-05 09:31:50 +02:00
Miek Gieben
fa2c9fd8fa No use on a per-query basis 2012-06-04 19:39:02 +02:00
Miek Gieben
53b065793b More preparation for the root 2012-06-03 09:35:39 +02:00
Miek Gieben
9c4c5f5369 remove NewClient from the code 2012-05-26 10:28:32 +02:00
Miek Gieben
d0e4f0409a remove these docs from here 2012-05-15 17:05:18 +02:00
Miek Gieben
f0154aa0c2 Fix and test rfc 1982 arithmetic 2012-05-15 12:24:57 +02:00
Miek Gieben
0cfe2d6a43 Make copy private 2012-05-12 20:06:52 +02:00
Miek Gieben
614aa87ab2 Add a copy function for RRHeader - use this when validating 2012-05-11 15:03:49 +02:00
Miek Gieben
95c1154930 documentation 2012-05-08 14:17:17 +02:00
Miek Gieben
2385ca18a3 Cleanups and documentation 2012-05-08 13:39:57 +02:00
Miek Gieben
fdc0d6924d Documentation 2012-05-05 20:47:23 +02:00
Miek Gieben
c872bb18c3 update the documentation 2012-05-05 17:45:54 +02:00
Miek Gieben
c96d86da1f Add remote address too 2012-05-05 17:37:33 +02:00
Miek Gieben
ed1c8fa812 Put the rrt info the Exchange struct 2012-05-05 09:56:45 +02:00
Miek Gieben
3b4800cbbf doc 2012-05-02 08:04:33 +02:00
Miek Gieben
9c1597b85b doc 2012-05-02 08:00:07 +02:00
Miek Gieben
82905763ee docs 2012-05-02 07:57:35 +02:00
Miek Gieben
1948cd2a90 Use go vetted struct tags
They had the form: "domain-name", now they are key value pairs (key is
always dns: `dns:"domain-name"`
2012-04-29 21:55:29 +02:00
Miek Gieben
7f78754c1d Some tweaks about errors 2012-04-18 14:06:10 +02:00
Miek Gieben
d75a9592bc small doc update 2012-03-27 11:02:30 +02:00
Miek Gieben
9f14f2d5ab Documentation updates 2012-03-08 20:47:45 +01:00
Miek Gieben
536ac17f11 doc tweak 2012-03-03 18:07:36 +01:00
Miek Gieben
e816e64e3e doc tweaks, Len() tweaks 2012-02-28 20:43:08 +01:00
Miek Gieben
89c05b4f74 gofmt 2012-02-23 19:37:08 +01:00
Miek Gieben
c6042c4ce8 Work on copy of the header when validating 2012-02-23 12:46:39 +01:00
Miek Gieben
3b4840e847 typo in the docs 2012-02-19 22:38:13 +01:00
Miek Gieben
9c5c2ee96f Fix very large SOA/TTL values 2012-02-19 18:36:59 +01:00
Miek Gieben
22b0ae7ee3 typo 2012-02-16 18:06:50 +01:00
Miek Gieben
76c087f5ba docs for the RR interface 2012-02-15 23:34:41 +01:00
Miek Gieben
1637995ed0 Documentation updates 2012-02-15 13:10:02 +01:00
Miek Gieben
ea6da640d7 Documentation cleanup 2012-02-12 11:17:52 +01:00
Miek Gieben
77b60231e7 If we add a dot to a name, be sure to remove one from the length 2012-02-05 11:33:55 +01:00
Miek Gieben
3ebacbaac8 udp msg size 2012-01-29 00:21:12 +01:00
Miek Gieben
19f8d266b5 Remove the RRset type - only add obvious stuff 2012-01-28 01:14:07 +01:00
Miek Gieben
5ccd114819 Add a nsec3 Match() function 2012-01-22 10:52:06 +01:00
Miek Gieben
9f3a1c1f13 Documentation and make ParseKey private (parseKey) 2012-01-16 21:44:49 +01:00
Miek Gieben
d7400fd503 documentation 2012-01-16 21:20:21 +01:00
Miek Gieben
81afa38ecf increase recv buffer for edns 2012-01-16 10:33:08 +01:00
Miek Gieben
4082f7bd7b Even smaller input buffer 2012-01-15 15:57:19 +01:00
Miek Gieben
798f450cbe Set receiving buf size to 512b 2012-01-15 15:50:02 +01:00
Miek Gieben
ee11948fcb Make the name more descriptive 2012-01-13 11:38:08 +01:00
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