Commit Graph

1021 Commits

Author SHA1 Message Date
Miek Gieben 2a596f60b9 impl. the recent changes from the reflect package 2011-08-08 10:15:24 +02:00
Miek Gieben d6716f693d impl. the recent changes from the reflect package 2011-08-08 09:49:25 +02:00
Miek Gieben a3bd25fad3 remove this 2011-08-04 15:46:39 +02:00
Miek Gieben 27948bb9f9 Use uint16 instead of int 2011-08-04 15:13:10 +02:00
Miek Gieben a44eb54de2 put defer back in 2011-08-04 13:59:15 +02:00
Miek Gieben 1032e7593f defer add a small performance penalty 2011-08-04 13:49:40 +02:00
Miek Gieben c170e0bbaa Eliminate allocations when using ExchangeBuffer() 2011-08-04 13:17:36 +02:00
Miek Gieben 069c5237f5 added 2011-08-04 11:27:56 +02:00
Miek Gieben dfbfa8b452 still need the copy 2011-08-03 15:05:13 +02:00
Miek Gieben 4fbdf56f5f implement a (working) TTL for the cache and use a mutex 2011-08-03 14:50:15 +02:00
Miek Gieben 70d6265e77 Looks like a cache, quacks like a cache.. its a cache. Not RCU though 2011-08-03 10:35:19 +02:00
Miek Gieben 16c788e42a more 2011-08-02 14:28:20 +02:00
Miek Gieben 2d9e619c01 Upgrade to r59 of Go this means parsing is broken now
Ragel does not support newer versions of Go. But I do want to
upgrade to them. So parsing from strings has been disabled and
will be re-enabled when Ragel 7 is out
2011-08-02 09:06:15 +02:00
Miek Gieben 5e94ba32fd Fix the code a bit 2011-08-01 20:07:50 +02:00
Miek Gieben 9330f16c5c some minor tweaks 2011-08-01 14:13:13 +02:00
Miek Gieben 38d15b76e2 doc 2011-08-01 14:09:41 +02:00
Miek Gieben 9d4cbdbcc8 More docs 2011-08-01 14:00:18 +02:00
Miek Gieben a460c45d2e just use println 2011-08-01 13:59:02 +02:00
Miek Gieben 0565d0bddf Even more simpler 2011-08-01 13:26:29 +02:00
Miek Gieben 327c9870c4 Fix funkensturm and make it simpler 2011-08-01 13:15:15 +02:00
Miek Gieben ba30caf3b3 documentation 2011-07-31 22:29:50 +02:00
Miek Gieben 9bee591bc0 Make Funkensturm somewhat better 2011-07-31 16:09:48 +02:00
Miek Gieben 7cf37d9d6f Add another funkensturm example
This time a reverse proxy.

Funkensturm itself can also use a rewrite to make it nicer
2011-07-31 15:36:07 +02:00
Miek Gieben faaf0d6b8f better documentation 2011-07-31 14:33:13 +02:00
Miek Gieben 4925a831aa move zoneMatch to dns.go 2011-07-31 09:53:54 +02:00
Miek Gieben 770f580540 added 2011-07-31 09:14:54 +02:00
Miek Gieben fae8f0f0ed add debugging and profilling 2011-07-30 23:15:30 +02:00
Miek Gieben 05b7ac53dd Create qnamelist for nsec/nsec3 handling 2011-07-30 23:05:34 +02:00
Miek Gieben e016536cdc Add nsec(3) support in the core zone structure 2011-07-29 22:06:09 +02:00
Miek Gieben 1c5460413d Make room for a sorted list of owners 2011-07-29 21:52:58 +02:00
Miek Gieben e162e9bfb1 Use *Zone instead of Zone 2011-07-29 21:37:58 +02:00
Miek Gieben 5769966167 also add the packages that are now neeed 2011-07-29 20:07:27 +02:00
Miek Gieben 7e644793fe Add nsec3 search functions 2011-07-29 20:06:52 +02:00
Miek Gieben e6fb6095c4 Thinking about splitting up the package 2011-07-29 20:04:15 +02:00
Miek Gieben 66ea81043c Implement fully featured nameserver.
Currently:
    * does positive DNSSEC (no NXDOMAIN)
    * does plain NXDOMAIN
    * Name error
    * reasonable fast: 7000+ qps
2011-07-29 16:14:04 +02:00
Miek Gieben 0499ffeb83 cannot handle comments on that spot (yet) miek.nl.signed_test 2011-07-29 16:11:04 +02:00
Miek Gieben 6931e1e215 Adapt ns to the new (fast) zone structure 2011-07-29 14:15:59 +02:00
Miek Gieben a5bec02e96 make lookup LookupName 2011-07-29 13:44:35 +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 6f5c039f3f Add id.server and authors.server to ns 2011-07-29 12:24:41 +02:00
Miek Gieben eb3a40f5aa kill atoi and just use the strconv.Atoui directly 2011-07-29 12:18:49 +02:00
Miek Gieben 33fbece4ca Add txt and fixup ds, ta and dlv 2011-07-29 12:18:20 +02:00
Miek Gieben 9cfece64db Only 1 nxt is needed 2011-07-29 11:00:47 +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 51d347a0d5 implement cname chasing 2011-07-27 13:12:14 +02:00
Miek Gieben 5087f5a993 SMall fixes 2011-07-26 21:41:24 +02:00
Miek Gieben e7a8eece9b Fix a few bugs 2011-07-26 20:49:13 +02:00
Miek Gieben 00ec1b5f8e small tweaks 2011-07-26 20:01:20 +02:00
Miek Gieben c7f90f58cc Seems to be working 2011-07-26 20:00:08 +02:00