Commit Graph

551 Commits

Author SHA1 Message Date
Marek Majkowski
d18d87b37d Introduce msg.PackBuffer() - it's like msg.Pack() but can reuse a byte buffer
msg.Pack() always allocates a byte slice. This is good for simplicity,
but in a serious application it's preferable to reuse byte slices to
reduce the GC overhead. This patch introduces a new public method:
PackBuffer(). It's exaclty like Pack() but is able to reuse a
given byte slice. It will still allocate a new slice if the given one
is too small.
2014-01-10 07:46:24 -08:00
Miek Gieben
9f5db7b72c Disable the unfinished CAA support
CAA was partially implemented, it's better to do it 100% until that
time handle CAA as an unknown record.

Closes #70:
2014-01-07 07:44:06 +00:00
Miek Gieben
7a27e05cb7 Remove setting compress to nil
Useless operation as compress is already nil from the
initialization.
2014-01-05 08:06:29 +00:00
soh335
e8a5f90957 if txt rdlength is 0, not read anymore 2014-01-04 17:30:08 +09:00
Miek Gieben
70ee966106 Fix the unknown record sign test
Don't make up new error in msg.Pack when there are perfectly fine
errors to return.
2013-12-06 09:43:26 +00:00
Miek Gieben
ca52132cef reverse this until I have evidence it would be needed 2013-12-05 19:48:08 +00:00
Skinner, Alex
edd235088a Added TYPE65534 record type so that zone scanning doesn't die upon encountering one. Fixed DNSSEC signature verification. 2013-12-04 12:58:20 -05:00
Miek Gieben
9b8e8578e4 comment tweak 2013-11-10 18:41:55 +00:00
Miek Gieben
27263c64b1 gofmt 2013-10-19 21:41:13 +01:00
Miek Gieben
ff7806469c Implement EID and NIMLOC records 2013-10-19 21:31:12 +01:00
Miek Gieben
f569ea2f95 Allow "dns:-" tag in msg to mean dont pack this 2013-10-17 18:26:26 +01:00
Miek Gieben
b435d836c6 gofmt 2013-10-15 14:21:47 +00:00
Miek Gieben
35bcc78d76 Implement PX record 2013-10-13 13:23:02 +01:00
Miek Gieben
cc2c42cc91 Implement GPOS record 2013-10-13 13:01:33 +01:00
Miek Gieben
961e137891 Add NSAP and NSAP-PTR record 2013-10-13 12:25:08 +01:00
Miek Gieben
fc7a8472dc isnt used 2013-10-01 10:27:08 +00:00
Miek Gieben
67065da09c Fix the CAA type 2013-09-27 08:51:20 +00:00
Miek Gieben
4e6b3a5afc Check for the end of the message 2013-09-22 19:35:10 +01:00
Ask Bjørn Hansen
55c1f95213 Support the new RFC6891 EDNS0 SUBNET option code
Also keep support for the old draft code
2013-09-19 22:31:28 -07:00
Miek Gieben
9c1ee5d5ca Update IsDomainName
This new functions just compiles the domain to wire format, if that
works, the name is deemed OK. It is also much less strict than the
older code. Almost everything is allowed in the name, except two
dots back to back (there is an explicit test for that).
2013-09-10 18:09:22 +00:00
Miek Gieben
b6a2d1fb5e Allow empty rdata in records
Empty or no rdata is allowed for dynamic updates, so test if this
works for packing/unpacking. It only fails for TSIG (which is
never seen in zone files), SOA (which is not seen like this in dyn.
updates) and WKS (just an old record).
2013-08-31 20:24:52 +01:00
Miek Gieben
fdcdc6dbf6 Add test to zero rdata (for dyn updates)
This triggerd a bunch of failures, the most important one
is the packing and zero length domain name now works.
2013-08-26 21:11:24 -07:00
Miek Gieben
6ef2debe4e Add copy for an entire message, private for now 2013-08-23 22:53:05 +00:00
Miek Gieben
09d7d3e79d Some TODO updates 2013-06-29 09:50:43 +01:00
Miek Gieben
9fa50d8ac2 Fix the nsec/3 length calculation
This overshoots, 'cause it only counts the windows, not the
actual bitmap sizes in the window. But it keeps the code
simple and fast.
2013-06-27 20:19:02 +01:00
Miek Gieben
55aa4480c7 Fix some typos 2013-06-27 19:46:26 +01:00
Miek Gieben
61919d8713 Add all the compressible types to Len()
Len() now performs its duty, question is, *is* this now faster/better
than just packing a Msg, checkings its lenght and discarding the buffer.
2013-06-27 09:07:01 +00:00
Miek Gieben
1ad76fe65b Added packLen
packLen() returns the length of an uncompressed packet buffer, this
is used when packing a packet. This is needed for compression. When
compression is used, we first create the full packet and *then*
compress it. If we use Len() which accounts for compression, we can
get buffer overruns, when packing the (then still uncompressed) packet.
2013-06-26 22:18:09 +01:00
Miek Gieben
38ea608d79 Rename the Label* functions
SplitLabels -> SplitDomainName
CompareLabels -> CompareDomainName
LenLabels -> CountLabel
          -> NextLabel was added as a simple iterator-like function
2013-06-22 07:21:15 +00:00
Miek Gieben
a317648fa3 Add some more TODOs to Pack and kill the println
This closes #46 (for now :-) )
2013-06-20 07:28:51 +01:00
Miek Gieben
5f6228d4cc Use the non-exported version err 2013-06-20 07:27:28 +01:00
Miek Gieben
70f9c6b964 Make err non-exported 2013-06-20 07:25:29 +01:00
Miek Gieben
b697d25ed9 Remove unneed string conversion here 2013-06-14 11:38:04 +00:00
Miek Gieben
9ee7c27e18 Fix rawSetRdlength
When searching for the start of the rdata, the offset wasn't properly
calculated. This only impacted names with \DDD in it (weirdly enough).
2013-06-14 11:35:06 +00:00
Miek Gieben
3f348f173b \DDD to buf parsing fails (sometimes)
Added test (that fails for now)
2013-06-14 07:31:22 +01:00
Miek Gieben
c66494c6c5 Resolv merge conflicts 2013-05-12 19:08:37 +02:00
Miek Gieben
98b677a97c Update the copy right for the original GO files 2013-05-12 16:07:06 +02:00
Miek Gieben
320d981509 Add Algo-signal-draft impl. for EDNS0 2013-05-11 21:02:17 +02:00
Miek Gieben
ec9ac92fad Half the parsing of the EDNS LLQ package 2013-05-08 23:03:02 +02:00
Miek Gieben
6ecde82c20 Remove UPDATE_LEASE to UL
The "other" edns0 option will then become LONG_LIVED_QUERIES which
is way to long to be practical, so I want to make it LLQ, UPDATE_LEASE
then needs to be come UL.

This will probably impact no-one, because noone uses this (I hope)
2013-05-08 22:28:19 +02:00
Miek Gieben
709d11aa2c update documentation 2013-05-06 22:23:13 +02:00
Miek Gieben
d53d9eab81 gofmt 2013-05-05 20:30:44 +02:00
Miek Gieben
495b7d6552 Add UID/GID/UINFO record 2013-04-30 16:42:04 +02:00
Miek Gieben
8285ae4e56 add uinfo uid gid and unspec rr type number 2013-04-30 15:20:01 +02:00
Miek Gieben
cb4c191bd3 more docs 2013-04-27 17:12:22 +01:00
Miek Gieben
8d0b1a32cf Add the code, but does fit in the map anymore 2013-04-27 17:02:28 +01:00
Miek Gieben
d075d4cad1 update readme 2013-04-27 16:57:33 +01:00
Miek Gieben
f43b7368bd Add tests for EUIxx 2013-04-16 08:41:35 +01:00
Miek Gieben
ba6c414fe4 Return an error when packStruct fails
When doing the recursion be sure to catch the error that
might be generated.

Reported-by: madotsuki
2013-03-18 17:56:48 +00:00
Miek Gieben
99d23ee4a7 docs 2013-03-01 09:12:43 +01:00
Miek Gieben
ed28992106 Merge branch 'master' of github.com:miekg/dns 2013-02-09 08:36:28 +01:00
Miek Gieben
cd10853288 Make Len() and Copy() private
I don't think anybody will needs these, msg.Len() is still
available. Severly cuts back on the amount of exported functions.
2013-02-09 08:35:17 +01:00
Miek Gieben
8adb7c519c Flag bad rdlength as an error 2013-02-08 16:39:21 +01:00
Miek Gieben
ababac6b57 Exclude msg.Compress from json 2013-01-24 20:46:07 +01:00
Miek Gieben
951af98c7e fix multiple edns0 option code 2013-01-22 16:41:41 +01:00
Miek Gieben
81c44fbac6 Grree, typo 2013-01-20 18:16:47 +01:00
Miek Gieben
e66c2a1324 m.Size isnt used 2012-12-14 13:33:24 +01:00
Miek Gieben
9147aad21e need to add test for dynamic updates 2012-12-09 21:17:16 +01:00
Miek Gieben
29fa0ac7c0 unpack: allow for multiple edns0 options 2012-12-09 21:11:15 +01:00
Miek Gieben
9705bb8077 gofmt 2012-12-09 20:18:11 +01:00
Miek Gieben
f56b237012 Fix zonesigning branch 2012-12-09 20:16:46 +01:00
Miek Gieben
940b786161 Merge conflict resolution 2012-12-09 20:15:31 +01:00
Miek Gieben
7fb499889a Type rename 2012-12-09 20:11:56 +01:00
Miek Gieben
235e892dfc Rename the RR types drop the RR_ prefix
This is also done in the official Go library. It also make the
code shorter.
2012-12-09 19:23:25 +01:00
Miek Gieben
3609f3e7a5 gofmt -s 2012-12-09 19:07:31 +01:00
Miek Gieben
ff22456520 Also check when unpacking for domainnames > 255 2012-12-06 10:55:31 +01:00
Miek Gieben
4c6d89f727 PackDomainName: check for 255 or more octects
Adhire to the spec.
2012-12-06 10:48:55 +01:00
Miek Gieben
f732827187 Add new error and fmt it 2012-12-06 10:40:14 +01:00
Miek Gieben
d758825590 more documentation 2012-12-02 10:14:53 +01:00
Miek Gieben
2a3b818b95 Use much more descriptive names for the maps
Alg_str -> AlgorithmToString
 Rr_str  -> TypeToString

And for the reverse maps also.
2012-12-02 09:29:54 +01:00
Miek Gieben
db014f9891 remove NSEC3 errors 2012-12-02 09:21:38 +01:00
Miek Gieben
ac39024a25 gofmt 2012-11-21 23:20:56 +01:00
Miek Gieben
9e02a40cc8 Merge branch 'reader' 2012-11-21 22:32:23 +01:00
Miek Gieben
7bd7a65e4d Add CAA 2012-11-20 16:53:58 +01:00
Miek Gieben
67343920d5 Add CDS type 2012-11-20 16:52:18 +01:00
Miek Gieben
4737bfa319 Add the all important RKEY 2012-11-20 16:48:28 +01:00
Miek Gieben
3686d24ca7 Add NINFO record 2012-11-20 16:42:16 +01:00
Miek Gieben
f7956a96e6 ATMA 2012-11-20 14:32:06 +01:00
Miek Gieben
d34c05f4fc Add def. of SIDN RR 2012-11-20 14:14:00 +01:00
Miek Gieben
f6896bea4f Add X25 Resource Record 2012-11-20 14:07:16 +01:00
Miek Gieben
35744e52f8 semi add the NULL record 2012-11-20 13:53:41 +01:00
Miek Gieben
534b3ddfd8 Actually parse the uint64 as uint64, not as uint48 2012-11-19 12:30:42 +01:00
Miek Gieben
27de9bad36 Actually parse the whole uint64 2012-11-19 12:26:13 +01:00
Miek Gieben
4aea3d193b Add L32 record 2012-11-17 21:32:02 +01:00
Miek Gieben
0c3a90193a Add the NID record 2012-11-17 21:26:48 +01:00
Miek Gieben
bf85adb03e Fix \DDD printing and parsing 2012-11-15 14:26:08 +01:00
Miek Gieben
5cb0346b60 \DDD in PackDomain works
Unpacking does not insert \DDD yet
2012-11-15 13:51:15 +01:00
Alex Polvi
ec8d3d51d1 initial stab at edns update lease http://files.dns-sd.org/draft-sekar-dns-ul.txt 2012-10-15 18:37:19 +01:00
Miek Gieben
3c5c9da8be we already know the length of message 2012-10-11 13:06:27 +02:00
Miek Gieben
c5f0ecbdd8 in case of error do get the exact tag 2012-10-11 12:58:43 +02:00
Miek Gieben
6e43b3b666 Remove Tag.Get() and just look at the raw strings 2012-10-11 12:57:08 +02:00
Miek Gieben
506a4237e5 no nil checks 2012-10-10 21:00:47 +02:00
Miek Gieben
83b362dce6 optimization 2012-10-09 22:06:35 +02:00
Miek Gieben
d0d9c92612 fix typo 2012-10-09 22:01:57 +02:00
Miek Gieben
f38ce1b9b5 These non descriptive errors can go 2012-10-09 21:19:12 +02:00
Miek Gieben
570bf8dc69 Use proper error in packing and unpacking
All the relevant functions now return an error instead of
a simple boolean. This greatly approves the feedback to coders.

Spotted some fishy error handling along the way and fix that too.
2012-10-09 21:17:54 +02:00
Miek Gieben
099c19d5b2 Fix errors 2012-10-09 20:25:25 +02:00
Miek Gieben
4ebfc6b220 Merge branch 'v2' 2012-09-19 21:01:39 +02:00
Miek Gieben
3e1111c6b3 concurrent signing implementation 2012-09-12 21:22:28 +02:00
Miek Gieben
449c2c013d Rename ErrXfrSoa to ErrSOA 2012-09-12 21:13:57 +02:00
Miek Gieben
3a6edfa2c9 fmt 2012-09-10 20:51:19 +02:00
Miek Gieben
379cb2483a I dont think these need to be exported 2012-09-09 13:24:21 +02:00
Miek Gieben
e9ea2d7750 Fix more robust, but also nack more about non qualified names 2012-08-31 20:57:16 +02:00
Miek Gieben
7be4f3b18d comment out all println, no need to worry people with that 2012-08-31 10:23:50 +02:00
Miek Gieben
86b16ccd9e make PackDomainName faster by removing these ifs. also fix test 2012-08-30 16:45:11 +02:00
Miek Gieben
a2b2a604e2 dont panic, just return 2012-08-28 18:25:55 +02:00
Miek Gieben
e4fb00c34d Fix handling of non fully qualified domain names
When PackDomain sees such a name it calls panic.
All panic now use the prefix 'dns:'
2012-08-28 18:21:23 +02:00
Miek Gieben
468d937c8f much stricter memory allocation for msg
Only allocate what you need=+1 (just to be sure)
2012-08-26 22:29:48 +02:00
Miek Gieben
03af57964a Add a length that taks compression into account
Currently only ownername compression is done, but its a good
start.
2012-08-26 20:46:24 +02:00
Miek Gieben
7444d67bfd tweaks 2012-08-25 22:40:32 +02:00
Miek Gieben
2a391d079b fmt 2012-08-25 11:32:11 +02:00
Miek Gieben
845f4a6992 dont export - minimize api 2012-08-24 12:42:41 +02:00
Miek Gieben
6f7aad15d8 documenation 2012-08-21 17:36:58 +02:00
Miek Gieben
b0fc5a2f22 re-export these - I use them in unbound 2012-08-20 18:03:15 +02:00
Miek Gieben
7b406f80ce dont export 2012-08-17 08:34:46 +02:00
Miek Gieben
b1140cec5f dont export 2012-08-17 08:34:17 +02:00
Miek Gieben
73b6d37885 cleanup api, dont export Year68 2012-08-17 08:29:45 +02:00
Miek Gieben
a9126f1b54 Add RT type 2012-08-10 09:22:50 +02:00
Miek Gieben
f05b532a3f gofmt 2012-08-08 11:13:28 +02:00
Miek Gieben
1e58ea2d5f more sane logging 2012-08-07 08:28:56 +02:00
Miek Gieben
1faf557ac1 Remove unused stuff 2012-08-05 21:11:41 +02:00
Miek Gieben
2d2b4f5e64 tweaks to give more power to unbound package 2012-07-01 20:58:54 +02:00
Miek Gieben
534433a714 gofmt -w 2012-06-20 20:16:36 +02:00
Miek Gieben
0be3b7c8a3 really add TLSA 2012-06-04 13:57:26 +02:00
Miek Gieben
814731aae3 really add tsla 2012-06-04 13:54:43 +02:00
Miek Gieben
89ec077d8f Support the WKS record 2012-06-02 17:33:49 +02:00
Miek Gieben
fb0623fbb2 change comments 2012-06-01 22:23:21 +02:00
Miek Gieben
de95ac0bb3 gofmt 2012-06-01 13:35:52 +02:00
Miek Gieben
bb376b18b3 Add size received to a pkt 2012-06-01 10:05:27 +02:00
Miek Gieben
1bf0864632 First pass for edns subnet support 2012-05-31 21:40:07 +02:00
Miek Gieben
29365cc9d8 more consistent naming 2012-05-31 19:33:12 +02:00
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
Miek Gieben
fb68e29eb1 Create fp as a type 2011-09-19 22:27:56 +02:00
Miek Gieben
7d73d6e9e1 Make opcode public and fix the IsEdns0 2011-09-19 13:34:16 +02:00
Miek Gieben
5960047748 Make them public 2011-09-19 13:25:02 +02:00
Miek Gieben
6ef13c3cbd Start thinking about server side axfr 2011-09-11 17:24:52 +02:00
Miek Gieben
6e72207318 Simplify tsig
Add a couple of errors, and make the function signature
of the tis function more inline with the dnssec ones.
2011-09-10 16:50:27 +02:00
Miek Gieben
b7ca96e7d4 Normalize errors
Use the errors as defined in msg.go and a few.
2011-09-09 10:21:04 +02:00
Miek Gieben
18596dd3f8 Use typeANY, not typeALL 2011-08-22 14:11:41 +02:00
Miek Gieben
c37686a724 remove len(s) from the fastpath 2011-08-09 11:41:44 +02:00
Miek Gieben
100f8ef7eb Remove len(msg) in favor of a variable with that value 2011-08-09 10:54:58 +02:00
Miek Gieben
1053090121 performace tweaks 2011-08-09 10:29:30 +02:00
Miek Gieben
da5d2e91a8 Remove another small allocation 2011-08-09 10:16:45 +02:00
Miek Gieben
c64f506103 Remove a packStruct - should improve performance 2011-08-08 15:28:19 +02:00
Miek Gieben
982f277a44 kill a packStruct 2011-08-08 14:09:05 +02:00
Miek Gieben
861a2adb6c Forget to the add the i := fv.Uint() 2011-08-08 13:10:35 +02:00
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
27948bb9f9 Use uint16 instead of int 2011-08-04 15:13:10 +02:00
Miek Gieben
6931e1e215 Adapt ns to the new (fast) zone structure 2011-07-29 14:15:59 +02:00
Miek Gieben
da0603089a gofmt -w 2011-07-23 23:43:43 +02:00