Commit Graph

270 Commits

Author SHA1 Message Date
Miek Gieben
b0c12388e8 Give edns0 support as much need upgrade
Its now much nicer and more Go like. In essence ENDS0
is a sort of a mini RR parser.
2012-05-31 18:36:27 +02:00
Miek Gieben
7a3af5b729 Support $GENERATE (the bind extension).
It is even better than the bind one, because all records are
supported (as long as the output is valid)
2012-05-20 15:28:27 +02:00
Miek Gieben
3611c4d458 fmt 2012-05-05 17:37:48 +02:00
Miek Gieben
9cabad70a8 Remove Rtt from dns.Msg, does not belong there 2012-05-05 09:49:33 +02:00
Miek Gieben
be93e4bf2d Also add the remote server. TODO, but handy incase of async queries/replies 2012-05-04 23:25:41 +02:00
Miek Gieben
fc599d23fe Save rtts for clients 2012-05-04 23:18:29 +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
4128822bbf Faster check 2012-04-24 23:23:30 +02:00
Taral
5fc37375db Always use "." for the root domain. 2012-03-17 23:43:12 -07:00
Miek Gieben
33c60cc532 Set *ALL* headers bits, now showing CD and AD
Fill in the missing pieces of the header
2012-03-09 20:42:40 +01:00
Miek Gieben
1009d83753 Fix opt not as last record 2012-03-06 19:28:34 +01:00
Miek Gieben
3232814d1b Fix client side TSIG
Redesign of TSIG. Validation is on the TOOD - this can be
done in the same way as in the server.
2012-03-01 22:40:34 +01:00
Miek Gieben
b07a05d5ca prefix errors with dns: 2012-02-29 21:13:16 +01:00
Miek Gieben
99a7a57713 Upgrade the definition of domain name 2012-02-28 20:47:25 +01:00
Miek Gieben
e816e64e3e doc tweaks, Len() tweaks 2012-02-28 20:43:08 +01:00
Miek Gieben
ea57a49d94 Allow mnemonic algorithm numbers in DS (and DS-like) records 2012-02-27 19:17:58 +01:00
Miek Gieben
b7f997cc6e Fix setting the rdlength for compressed names
RawSetRdlength was working with a 0xC00 bitmask which
should have been 0xC0.
2012-02-26 18:23:21 +01:00
Miek Gieben
f6f91203d1 Also look at the msg header when validating 2012-02-25 19:12:02 +01:00
Miek Gieben
843abbef36 Fix nsec3verify for wildcard at the n.c. level
When a wildcard is not denied and the closest encloser *is*
denied we have a problem.

Thank to Peter van Dijk for pinging me
2012-02-24 21:26:01 +01:00
Miek Gieben
c7dd37b000 Fix TXT validation 2012-02-22 22:11:40 +01:00
Miek Gieben
b47f11ff9c Dont know what I wanted with this 2012-02-19 15:49:02 +01:00
Miek Gieben
73299288aa Remove the TODO 2012-02-19 15:38:21 +01:00
Miek Gieben
9bdd445088 HIP pack support - not tested 2012-02-19 15:37:27 +01:00
Miek Gieben
c82a1af1e3 HIP unpack support -- not tested 2012-02-19 15:33:12 +01:00
Miek Gieben
f45d4d933d Add length for base64 encodings 2012-02-19 15:24:26 +01:00
Miek Gieben
88a0052d1d Fix newline/space handling and braces
( dsjkdjk
djsdjk
)

( dkjsdjsd
  djskdjsd
)

Are two different strings, the above contains NO spaces, the bottom
one does. This doesn't matter anywhere, except in HIP record, which
say some data may not contain spaces.
2012-02-19 12:04:27 +01:00
Miek Gieben
32ce3502ae add HIP here too 2012-02-19 11:27:16 +01:00
Miek Gieben
37ef7bd219 More TXT related fixes
Add two corner cases for testing
2012-02-13 19:08:37 +01:00
Miek Gieben
d235bf4c2e Remove debugging stuff 2012-02-13 16:18:42 +01:00
Miek Gieben
c30821fece Fix TXT packing and unpacking 2012-02-13 16:12:26 +01:00
Miek Gieben
2c44133163 Fixes for the new presentation of txt records 2012-02-13 15:59:40 +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
b639fa305d Fix overflow when the buffer is really small 2012-01-29 19:11:55 +01:00
Miek Gieben
402ce277df add the strings for these rcodes too 2012-01-29 18:55:49 +01:00
Miek Gieben
09ac6c8dc5 gofmt 2012-01-28 00:35:37 +01:00
Miek Gieben
bc2b826f38 Remove udpsize from ListenAndServer, too ugly 2012-01-27 08:45:33 +01:00
Miek Gieben
784713d0e0 Docs 2012-01-26 22:52:29 +01:00
Miek Gieben
4f588a5d15 documentation 2012-01-26 22:46:59 +01:00
Miek Gieben
04cbdae47a Fix DS overflow when unpacking 2012-01-23 20:29:47 +01:00
Miek Gieben
7b67cbff49 Set the timeouts throughout the code. New Golang api 2012-01-23 20:25:15 +01:00
Miek Gieben
6e6b67afd5 Fix NSEC(3) with no bitmap 2012-01-23 11:30:26 +01:00
Miek Gieben
67573c14b3 Implement NSEC3 NODATA proof 2012-01-22 11:33:51 +01:00
Miek Gieben
f25584e94e Overflow fixes 2012-01-21 12:35:19 +01:00
Miek Gieben
5917838cbb gofmt 2012-01-20 12:24:20 +01:00
Miek Gieben
ea789b6f23 Add nsec3 NXDOMAIN proof 2012-01-19 19:48:09 +01:00
Miek Gieben
7bffcd35bb Start with nsec3 validation 2012-01-17 19:16:58 +01:00
Miek Gieben
c0af79d3b3 slightly better documentation 2012-01-16 21:57:57 +01:00
Miek Gieben
240879c40d Documentation 2012-01-16 21:49:17 +01:00
Miek Gieben
9f3a1c1f13 Documentation and make ParseKey private (parseKey) 2012-01-16 21:44:49 +01:00
Miek Gieben
96d79c6816 Fix NSEC3/NSEC parsing. Looks much saner now 2012-01-16 13:45:45 +01:00
Miek Gieben
1ae8cb4101 Check nsec unpacking 2012-01-15 20:46:11 +01:00
Miek Gieben
b4bf6278de Remove println 2012-01-15 17:18:44 +01:00
Miek Gieben
06fdc07772 Fix nsec3 decoding 2012-01-15 17:18:02 +01:00
Miek Gieben
0dcb849ca2 Fix NSEC3 encoding 2012-01-15 13:53:32 +01:00
Miek Gieben
e76189c8f7 NSEC3 working for types < 256 2012-01-15 13:20:53 +01:00
Miek Gieben
dc6c6d7c9e NSEC3 is starting to work 2012-01-15 12:15:05 +01:00
Miek Gieben
03a8ee13a2 NSEC3 encoding works
Only for 1 windows, but dig has stopped complaining. This
needs to be streamlined a little, but its looking good.
2012-01-14 11:08:42 +01:00
Miek Gieben
7f6a5f4497 Its isnt slow 2012-01-12 21:32:50 +01:00
Miek Gieben
7ddb5feb69 RawRdlength seems to work; 2012-01-12 21:10:29 +01:00
Miek Gieben
036d6e4c2c Fix edns0 overflow message 2012-01-12 20:22:21 +01:00
Miek Gieben
92a51b4374 Who wrote what 2012-01-12 10:53:19 +01:00
Miek Gieben
2543321215 Fix the packing failure
non-fqdn don't generate an packing failure. Need to do something
about this. Maybe not returning a bool from pack, but a real Error
2012-01-11 21:19:46 +01:00
Miek Gieben
eb12c526f2 Add more tests 2012-01-11 21:03:47 +01:00
Miek Gieben
3886728bdb Add debug prints back in msg.go 2012-01-11 20:50:08 +01:00
Miek Gieben
416eb764c7 Much better message length 2012-01-11 20:37:26 +01:00
Miek Gieben
f1a3b31384 Make a packStructCompress() to leave packStruct() simpler 2012-01-11 20:33:38 +01:00
Miek Gieben
eafe995a56 Add a compression flag to msg struct 2012-01-11 20:26:39 +01:00
Miek Gieben
0008471adf Add empty CompressedLen function 2012-01-11 20:12:38 +01:00
Miek Gieben
13f1f5b066 Question is compressible IMO 2012-01-11 16:22:58 +01:00
Miek Gieben
1de9cff07a BIND cannot handle compressed dynamic updates 2012-01-11 16:19:49 +01:00
Miek Gieben
dfd7700790 Compression is not allowed in dyn. updates 2012-01-11 16:18:17 +01:00
Miek Gieben
6d95911558 Dont allow the question section to be compressed 2012-01-11 16:16:09 +01:00
Miek Gieben
f39d939f52 Fix compression
The compression was fixed. Also the packing of message is been speed
up, by a facter of 3. Now the packing happens once, instead of
3 times.

Two tests still fail. atm
2012-01-11 16:04:52 +01:00
Miek Gieben
bbd8c42de6 Fix the tests 2012-01-11 14:17:09 +01:00
Miek Gieben
6bf1255177 Fix compression 2012-01-11 14:09:47 +01:00
Miek Gieben
ba869578fd Implement compression 2012-01-11 11:44:44 +01:00
Miek Gieben
b5d73f1eff Implement compressible domain names 2012-01-11 11:19:07 +01:00
Miek Gieben
974c28d1b1 More fixes for compression 2012-01-11 11:13:17 +01:00
Miek Gieben
f66bb9d6f5 Merge fixed 2012-01-10 16:05:30 +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
3b30c6e0b5 Need to work even harder to fix the length, but this is much better 2012-01-10 10:46:55 +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
cedf11f27b Working compression algo 2012-01-10 08:52:18 +01:00
Miek Gieben
6e0340d46f Remove debugs 2012-01-09 21:27:52 +01:00
Miek Gieben
f90270014c This is a working name compression 2012-01-09 21:27:31 +01:00
Miek Gieben
973c5f3e1a Add a splitlabels 2012-01-09 11:02:45 +01:00
Miek Gieben
e522a6daf7 Make all tests fully qualified 2012-01-08 15:34:42 +01:00
Miek Gieben
58e5def52a Allow A records without rdata 2011-12-17 20:31:31 +01:00
Miek Gieben
dd14200da0 Revert back to slower Rdlength setting
That at least works...
2011-12-17 20:13:35 +01:00
Miek Gieben
4c50439700 Add it 2011-12-16 19:29:24 +01:00
Miek Gieben
de3f0f3903 Documentation and make the random better 2011-12-16 19:28:35 +01:00
Miek Gieben
131f6962d1 gofmt 2011-12-09 21:45:57 +01:00
Miek Gieben
2e0a4a5e34 Allow A records without Rdata 2011-12-09 21:42:49 +01:00
Miek Gieben
88c12387f9 Fixes 2011-12-09 16:07:17 +01:00
Miek Gieben
ad11f2425e export Unpack/PackDomainName 2011-12-09 15:58:36 +01:00
Miek Gieben
e115e5da6e Update to the latest weekly: weekly/weekly.2011-12-06
The new time API must still be used. But for now it compiles.
All DNSSEC/TSIG timing is probably broken
2011-12-09 11:16:49 +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
1a81ac9c85 NSID is broken 2011-09-20 12:52:23 +02:00
Miek Gieben
850a12ac8e Return a error when there is no conn, dont panic 2011-09-20 10:20:24 +02:00