Commit Graph

2532 Commits

Author SHA1 Message Date
Miek Gieben 47cc5b052d Work on making IsDomainName better 2013-09-10 13:13:10 +00:00
Miek Gieben 2b6e9122bd Use the better name: SingleInflight 2013-09-06 09:49:07 +00:00
Miek Gieben 0adc9a3afe Update doc and TODO 2013-09-06 09:45:30 +00:00
Miek Gieben c12e55eb18 Remove the http:// hack 2013-09-03 12:59:29 +00:00
Miek Gieben 29232adf26 better comment 2013-08-31 20:26:24 +01: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 f99d511479 if A or AAAA is nil return empty string
Now it returns <nil> for nil value, which can not be parsed
back to the record.
2013-08-31 20:07:13 +01:00
Miek Gieben 80f55713f1 comment update 2013-08-30 20:15:05 +01:00
Miek Gieben 401a5e6429 Add unpack test too 2013-08-26 21:24:06 -07: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 cb9ec711f5 Add (failing) test for zero rdata 2013-08-25 21:38:10 -07:00
Miek Gieben 744f895b6f Better name 2013-08-25 21:25:02 -07:00
Miek Gieben 06ae93df87 update the readme a bit 2013-08-25 21:22:11 -07:00
Miek Gieben e7e29d1c90 Updates 2013-08-24 07:21:37 -07:00
Miek Gieben bb71be0271 Implement outstanding query detection.
Copied from the standard library and adapted to Go DNS.
2013-08-24 02:28:58 +00:00
Miek Gieben d117fda34b Perform query inflight deduplication
Taking a queue from Go tip, I copied over the new code and tweaked
it a bit for use in Go DNS.
2013-08-23 22:56:34 +00:00
Miek Gieben 5a15fb1e8f Adapt singleinflight a little to fit my needs better 2013-08-23 22:53:30 +00:00
Miek Gieben 6ef2debe4e Add copy for an entire message, private for now 2013-08-23 22:53:05 +00:00
Miek Gieben 6c8dd0a445 Merge branch 'master' of github.com:miekg/dns 2013-08-23 20:30:17 +00:00
Miek Gieben 3457c0428d Some work in outstanding query de-deplication 2013-08-23 20:29:52 +00:00
Miek Gieben db41985b91 copy the optimization from go tip into here 2013-08-23 18:41:35 +00:00
Miek Gieben 2980ecf999 typo in comment
# Last 5 commit messages
# ----------------------
# 10ad5a4 Merge branch 'master' of github.com:miekg/dns [Miek Gieben]
# ac0703b Handle MixCase queries again. [Miek Gieben]
# dbef97a Add MixCase query test [Miek Gieben]
# 7ef3106 Add panics to make older Go versions happy [Miek Gieben]
# 980f5e9 Merge pull request #51 from r4um/master [Miek Gieben]
2013-08-21 21:52:39 +00:00
Miek Gieben 52731e78c5 Clean up the nsecx file
Stuff never worked. Remove it for now
2013-08-16 22:20:09 -07:00
Miek Gieben 68716ada83 Unused 2013-08-16 22:18:21 -07:00
Miek Gieben 953fc47468 Merge pull request #53 from kenshinx/master
new user of dns library in go
2013-08-02 02:21:02 -07:00
kenshin 6997a526ca a new user of dns library in go 2013-07-27 00:50:20 +08:00
Miek Gieben 10ad5a45e2 Merge branch 'master' of github.com:miekg/dns 2013-07-25 09:30:42 +00:00
Miek Gieben ac0703bbe6 Handle MixCase queries again.
Thanks Ask for reporting.
2013-07-25 08:32:10 +01:00
Miek Gieben dbef97abad Add MixCase query test
As reported by Ask, these aren't correctly handled :(
2013-07-25 07:55:59 +01:00
Miek Gieben 7ef3106262 Add panics to make older Go versions happy 2013-07-12 14:27:16 +00:00
Miek Gieben 980f5e9d63 Merge pull request #51 from r4um/master
Do not fail AXFR if first anwser is just SOA
2013-07-11 02:49:30 -07:00
Pranay Kanwar 467e5fce1b Do not fail AXFR if first anwser is just SOA 2013-07-11 12:12:32 +05:30
Miek Gieben 91a457e0d8 Merge pull request #50 from fcambus/master
Adding some projects to the list of library users
2013-07-04 11:13:18 -07:00
Frederic Cambus a62e4d4cba Adding some projects to the list of library users 2013-07-04 19:09:37 +02:00
Miek Gieben 09d7d3e79d Some TODO updates 2013-06-29 09:50:43 +01:00
Miek Gieben 555318a03a Merge branch 'compress' 2013-06-29 09:49:12 +01:00
Miek Gieben 73e03fe818 Another txt variant to test for 2013-06-29 08:46:34 +01:00
Miek Gieben f269acba7e Add compression serving benchmark-test 2013-06-27 20:29:10 +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 3f40afaafd Print the actual error 2013-06-27 20:01:32 +01:00
Miek Gieben 55aa4480c7 Fix some typos 2013-06-27 19:46:26 +01:00
Miek Gieben b651c7ea1f Fix TXT lenght again, but now it looks more right 2013-06-27 14:43:57 +00:00
Miek Gieben 53789814d0 Add benchmarking tests - Len() is ~4 times after then packing and getting a length from that 2013-06-27 09:47:53 +00: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 245be76edf Revert "Fix length computation for TXT"
This reverts commit 795a69a6ec.
2013-06-26 22:22:31 +01: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
Ray Bejjani d83e816f30 Changed TestLenCompress to use error inducing name
Long labels cause a packing out of bounds error. It is thrown at msg.go:268 in
the PackDomain function. It happens with messages of any construction (no RR
data, some RR data etc.).
2013-06-26 20:38:55 +01:00
Miek Gieben 57fae415e0 Get the testcases going 2013-06-26 20:34:40 +01:00
Miek Gieben b9f82b0a36 Cherry-pick specific hunks 2013-06-26 20:33:01 +01:00
Ray Bejjani 9d2d8b36eb SplitDomainName handles non-FQDN labels correctly, doesn't return '.' in parts.
SplitDomainName would always include the '.' after each label segment. This was
inconsistent with the "." case (were it returned nil) and didn't seem too useful
since it required more processing to remove the '.' (like when building a
compression dictionary in Msg.Len() or Msg.Pack()). It also had issues with the
last segment, not including it in the split. It now returns all segments,
including the last, irrespective of the label being fully qualified.
A test has also been added to ensure no regressions.
2013-06-25 10:53:30 -07:00