]> granicus.if.org Git - pdns/log
pdns
8 years agoMerge pull request #3315 from mind04/recursor-dist
bert hubert [Fri, 29 Jan 2016 23:16:14 +0000 (00:16 +0100)]
Merge pull request #3315 from mind04/recursor-dist

add missing files to recursor tar.bz2

8 years agoMerge pull request #3317 from tjikkun/add_to_dist
Remi Gacogne [Fri, 29 Jan 2016 21:49:15 +0000 (22:49 +0100)]
Merge pull request #3317 from tjikkun/add_to_dist

add incfiles and src_js/ to dnsdist dist tarball

8 years agoadd incfiles and src_js/ to dnsdist dist tarball
Sander Hoentjen [Thu, 28 Jan 2016 20:17:04 +0000 (21:17 +0100)]
add incfiles and src_js/ to dnsdist dist tarball

This allows to regenerate the js files

8 years agoChange 'split horizon' section into 'lua policy functoin' section
bert hubert [Fri, 29 Jan 2016 18:30:12 +0000 (19:30 +0100)]
Change 'split horizon' section into 'lua policy functoin' section

8 years agoMerge pull request #3313 from ahupowerdns/ednsexpose
bert hubert [Thu, 28 Jan 2016 21:06:36 +0000 (22:06 +0100)]
Merge pull request #3313 from ahupowerdns/ednsexpose

Ednsexpose: implement the logic we need to generate EDNS MAC fields in dnsdist & read them in recursor

8 years agoadd rrd/ directory to recursor tar.bz2
Kees Monshouwer [Thu, 28 Jan 2016 17:28:32 +0000 (18:28 +0100)]
add rrd/ directory to recursor tar.bz2

8 years agoadd NOTICE to recursor tar.bz2
Kees Monshouwer [Thu, 28 Jan 2016 17:26:36 +0000 (18:26 +0100)]
add NOTICE to recursor tar.bz2

8 years agoMerge pull request #3223 from tjikkun/min_js
Peter van Dijk [Thu, 28 Jan 2016 11:36:04 +0000 (12:36 +0100)]
Merge pull request #3223 from tjikkun/min_js

Min js

8 years agoMerge pull request #17 from rgacogne/ednsexpose
bert hubert [Wed, 27 Jan 2016 21:39:05 +0000 (22:39 +0100)]
Merge pull request #17 from rgacogne/ednsexpose

dnsdist: Refactoring of EDNS code

8 years agodnsdist: Refactoring of EDNS code
Remi Gacogne [Wed, 27 Jan 2016 20:20:26 +0000 (21:20 +0100)]
dnsdist: Refactoring of EDNS code

8 years agoimplement mac address stuffing in dnsdist FOR QUERIES WITHOUT EDNS ALREADY.
bert hubert [Wed, 27 Jan 2016 11:34:34 +0000 (12:34 +0100)]
implement mac address stuffing in dnsdist FOR QUERIES WITHOUT EDNS ALREADY.

8 years agoAdd src JS files
Sander Hoentjen [Wed, 13 Jan 2016 15:23:41 +0000 (16:23 +0100)]
Add src JS files

The reason for this is to make downstreams like Fedora happy. This makes
checking those files for changes against upstream for example easier.

In the progress I updated the js-libraries so I know which versions are used
for both src and minified version. This is noted in the file src_js/SOURCES

Also I deleted jsrender.js and purl.js because the were unused.

Finally I added a Makefile option to build the minified js files yourself if
you want to do so.

8 years agoMerge pull request #3309 from rgacogne/dnsdist-tcp-leak
Remi Gacogne [Wed, 27 Jan 2016 08:44:35 +0000 (09:44 +0100)]
Merge pull request #3309 from rgacogne/dnsdist-tcp-leak

dnsdist: Fix TCP clients threads vector and counters initialization

8 years agoMerge pull request #3301 from rgacogne/dnsdist-outstanding
Remi Gacogne [Wed, 27 Jan 2016 08:42:20 +0000 (09:42 +0100)]
Merge pull request #3301 from rgacogne/dnsdist-outstanding

dnsdist: Better handling of outstanding TCP queries

8 years agodnsdist: Fix TCP clients threads vector and counters initialization
Remi Gacogne [Tue, 26 Jan 2016 16:16:12 +0000 (17:16 +0100)]
dnsdist: Fix TCP clients threads vector and counters initialization

By tracking the FD leak reported in #3300, I observed that:
* we could create up to g_maxTCPClientThreads TCP threads,
but the corresponding vector size was hardcoded at 1024
(which the default for g_maxTCPClientThreads)
* the counters were not explicitely initialized

This commit fixes that and adds some additional checks to make
sure we don't add more TCP client threads, as that could lead to
a race if the vector is resized.

8 years agoadd a sample MAC address extraction to powerdns example Lua script
bert hubert [Tue, 26 Jan 2016 10:11:12 +0000 (11:11 +0100)]
add a sample MAC address extraction to powerdns example Lua script

8 years agohook up EDNS options infra to lua, provide getEDNSOptions to get all of them or getDN...
bert hubert [Tue, 26 Jan 2016 10:09:43 +0000 (11:09 +0100)]
hook up EDNS options infra to lua, provide getEDNSOptions to get all of them or getDNSOption to probe for 1

8 years agohook up edns options to prototypes
bert hubert [Tue, 26 Jan 2016 08:25:07 +0000 (09:25 +0100)]
hook up edns options to prototypes

8 years agoMerge pull request #3302 from rgacogne/auth-yeti
bert hubert [Mon, 25 Jan 2016 20:50:13 +0000 (21:50 +0100)]
Merge pull request #3302 from rgacogne/auth-yeti

Fix bindbackend's feedRecord to handle being slave for the root

8 years agoFix bindbackend's feedRecord to handle being slave for the root
Remi Gacogne [Mon, 25 Jan 2016 09:40:45 +0000 (10:40 +0100)]
Fix bindbackend's feedRecord to handle being slave for the root

Replace the out-of-zone check by using DNSName isPartOf().
Without this commit, importing the Yeti root zone via AXFR fails
with:

"Unable to feed record during incoming AXFR of '.':
out-of-zone data 'aaa..' during AXFR of zone '..'

because stripDomainSuffix("aaa.", ".") returns false.

8 years agoMerge pull request #3298 from ahupowerdns/zedit
bert hubert [Mon, 25 Jan 2016 09:25:51 +0000 (10:25 +0100)]
Merge pull request #3298 from ahupowerdns/zedit

implement pdnsutil create-zone zone nsname, add-record, delete-rrset, replace-rrset

8 years agoexplicitly print the new rrset which should be.. educational
bert hubert [Mon, 25 Jan 2016 07:13:55 +0000 (08:13 +0100)]
explicitly print the new rrset which should be.. educational

8 years agomake sure replace-rrset replaces the right type
bert hubert [Sun, 24 Jan 2016 19:14:39 +0000 (20:14 +0100)]
make sure replace-rrset replaces the right type

8 years agoimplement pdnsutil create-zone zone nsname, add-record, delete-rrset, replace-rrset
bert hubert [Sun, 24 Jan 2016 14:59:22 +0000 (15:59 +0100)]
implement pdnsutil create-zone zone nsname, add-record, delete-rrset, replace-rrset

8 years agoMerge pull request #3199 from cmouse/remove-rapidjson
bert hubert [Sun, 24 Jan 2016 13:44:11 +0000 (14:44 +0100)]
Merge pull request #3199 from cmouse/remove-rapidjson

Remove rapidjson

8 years agoRemove rapidjson
Aki Tuomi [Sat, 9 Jan 2016 18:36:44 +0000 (20:36 +0200)]
Remove rapidjson

8 years agoMerge pull request #3197 from cmouse/remotebackend-json11
Peter van Dijk [Sat, 23 Jan 2016 19:52:47 +0000 (20:52 +0100)]
Merge pull request #3197 from cmouse/remotebackend-json11

Convert remotebackend to JSON11 and fix some small bugs

8 years agoMerge pull request #3293 from ahupowerdns/udpasy
bert hubert [Sat, 23 Jan 2016 17:53:26 +0000 (18:53 +0100)]
Merge pull request #3293 from ahupowerdns/udpasy

make asynchronous UDP Lua queries work again in 4.x

8 years agoMerge pull request #3280 from pieterlexis/recursor-install-config
bert hubert [Sat, 23 Jan 2016 15:31:14 +0000 (16:31 +0100)]
Merge pull request #3280 from pieterlexis/recursor-install-config

Install generated recursor.conf-dist in sysconfdir

8 years agoMerge pull request #3292 from rgacogne/dnsdist-empty-queries
bert hubert [Sat, 23 Jan 2016 15:30:52 +0000 (16:30 +0100)]
Merge pull request #3292 from rgacogne/dnsdist-empty-queries

dnsdist: Drop queries with no question (qdcount == 0)

8 years agodnsdist: Drop queries with no question (qdcount == 0)
Remi Gacogne [Sat, 23 Jan 2016 10:59:39 +0000 (11:59 +0100)]
dnsdist: Drop queries with no question (qdcount == 0)

Added a counter for these dropped queries, `emptyQueries` too.
This might be an issue for DNS cookies some day, as it uses
query with no question [1].
Additionnaly drops queries with QR set over TCP too to be
consistent with UDP.
This might close #3290.

[1]: https://tools.ietf.org/html/draft-ietf-dnsop-cookies-09#section-5.4

8 years agodnsdist: Better handling of outstanding TCP queries
Remi Gacogne [Fri, 22 Jan 2016 16:11:58 +0000 (17:11 +0100)]
dnsdist: Better handling of outstanding TCP queries

The outstanding count was incremented for every query processed
in a single TCP session but was only decremented once per session.
It could also have been decremented before being incremented
if setupTCPDownstream() failed.
It might close #3288.

8 years agoMerge pull request #2591 from cmouse/notify-tsig
Peter van Dijk [Fri, 22 Jan 2016 14:54:29 +0000 (15:54 +0100)]
Merge pull request #2591 from cmouse/notify-tsig

Sign NOTIFY with TSIG

8 years agoimprove kv-example script, make sure we honor variable in there
bert hubert [Fri, 22 Jan 2016 11:45:53 +0000 (12:45 +0100)]
improve kv-example script, make sure we honor variable in there

8 years agofix up asynchronous querying
bert hubert [Fri, 22 Jan 2016 10:32:38 +0000 (11:32 +0100)]
fix up asynchronous querying

8 years agoMerge pull request #3287 from rgacogne/external-sodium
Remi Gacogne [Fri, 22 Jan 2016 10:33:23 +0000 (11:33 +0100)]
Merge pull request #3287 from rgacogne/external-sodium

Temporarily use an external libsodium in travis, revert me later

8 years agoTest if we can temporarily use external libsodium in travis
Remi Gacogne [Fri, 22 Jan 2016 08:32:01 +0000 (09:32 +0100)]
Test if we can temporarily use external libsodium in travis

8 years agoInstall generated recursor.conf-dist in sysconfdir
Pieter Lexis [Thu, 21 Jan 2016 12:38:03 +0000 (13:38 +0100)]
Install generated recursor.conf-dist in sysconfdir

8 years agoMerge pull request #3278 from rgacogne/dnsdist-lock-exceed-respgen
bert hubert [Thu, 21 Jan 2016 12:06:20 +0000 (13:06 +0100)]
Merge pull request #3278 from rgacogne/dnsdist-lock-exceed-respgen

dnsdist: Lock the response ring in exceedRespGen()

8 years agodnsdist: Lock the response ring in exceedRespGen()
Remi Gacogne [Thu, 21 Jan 2016 10:19:55 +0000 (11:19 +0100)]
dnsdist: Lock the response ring in exceedRespGen()

Hopefully this should fix #3277.

8 years agoMerge pull request #3242 from pieterlexis/zone2sql-json-comments-test
Pieter Lexis [Thu, 21 Jan 2016 10:18:14 +0000 (11:18 +0100)]
Merge pull request #3242 from pieterlexis/zone2sql-json-comments-test

Add test for zone2sql --json-comments

8 years agoMerge pull request #3166 from pieterlexis/db-exceptions
Pieter Lexis [Thu, 21 Jan 2016 10:18:09 +0000 (11:18 +0100)]
Merge pull request #3166 from pieterlexis/db-exceptions

Make auth crash less on transient DB failures

8 years agoMerge pull request #3275 from rgacogne/dnsdist-exceedservfails-typo
Remi Gacogne [Thu, 21 Jan 2016 09:27:05 +0000 (10:27 +0100)]
Merge pull request #3275 from rgacogne/dnsdist-exceedservfails-typo

dnsdist: Fix exceedServFails() case. Add exceedQRate to completion

8 years agoMerge pull request #3269 from rgacogne/dnsdist-incbin-unlicense
Remi Gacogne [Thu, 21 Jan 2016 08:41:20 +0000 (09:41 +0100)]
Merge pull request #3269 from rgacogne/dnsdist-incbin-unlicense

dnsdist: Include ext/incbin/UNLICENSE in the dnsdist tarball

8 years agodnsdist: Fix exceedServFails() case. Add exceedQRate to completion
Remi Gacogne [Wed, 20 Jan 2016 17:09:18 +0000 (18:09 +0100)]
dnsdist: Fix exceedServFails() case. Add exceedQRate to completion

Rename exceedServfails() to exceedServFails() to be consistent.
Closes #3273.

8 years agoUpdate README-dnsdist.md
bert hubert [Wed, 20 Jan 2016 23:51:28 +0000 (00:51 +0100)]
Update README-dnsdist.md

8 years agoMerge pull request #3274 from ahupowerdns/recpack
bert hubert [Wed, 20 Jan 2016 22:53:36 +0000 (23:53 +0100)]
Merge pull request #3274 from ahupowerdns/recpack

redo packet cache to be simpler, have more features, testcases and still reduce lines of code!

8 years agoMerge remote-tracking branch 'origin/master' into recpack
bert hubert [Wed, 20 Jan 2016 22:02:41 +0000 (23:02 +0100)]
Merge remote-tracking branch 'origin/master' into recpack

8 years agoFix auth make dist
Pieter Lexis [Wed, 20 Jan 2016 20:58:50 +0000 (21:58 +0100)]
Fix auth make dist

8 years agoalso support running w/o lua
bert hubert [Wed, 20 Jan 2016 15:51:38 +0000 (16:51 +0100)]
also support running w/o lua

8 years agorevamp recursor packet cache to be far less clever and simply hash its question case...
bert hubert [Wed, 20 Jan 2016 14:56:17 +0000 (15:56 +0100)]
revamp recursor packet cache to be far less clever and simply hash its question case insensitively. Plus add testcases.

8 years agoimplement Lua gettag() which optionally tells you which part of the packet cache...
bert hubert [Wed, 20 Jan 2016 14:50:42 +0000 (15:50 +0100)]
implement Lua gettag() which optionally tells you which part of the packet cache to look at

8 years agoclarifying comment
bert hubert [Wed, 20 Jan 2016 14:49:37 +0000 (15:49 +0100)]
clarifying comment

8 years agoMove pdns-recursor contrib to recursordist
Pieter Lexis [Wed, 20 Jan 2016 16:04:16 +0000 (17:04 +0100)]
Move pdns-recursor contrib to recursordist

8 years agorecursor dist: add missing file
Pieter Lexis [Wed, 20 Jan 2016 15:40:58 +0000 (16:40 +0100)]
recursor dist: add missing file

8 years agoMerge pull request #3259 from pieterlexis/recursor-autotools
bert hubert [Wed, 20 Jan 2016 15:27:27 +0000 (16:27 +0100)]
Merge pull request #3259 from pieterlexis/recursor-autotools

Fully autotoolize the recursor distribution!

8 years agoAppease the license-gods
Pieter Lexis [Wed, 20 Jan 2016 12:27:02 +0000 (13:27 +0100)]
Appease the license-gods

8 years agodnsdist: Include ext/incbin/UNLICENSE in the dnsdist tarball
Remi Gacogne [Wed, 20 Jan 2016 11:32:58 +0000 (12:32 +0100)]
dnsdist: Include ext/incbin/UNLICENSE in the dnsdist tarball

8 years agoFix typos
Aki Tuomi [Wed, 20 Jan 2016 11:19:15 +0000 (13:19 +0200)]
Fix typos

8 years agoFix typos
Aki Tuomi [Wed, 20 Jan 2016 11:18:50 +0000 (13:18 +0200)]
Fix typos

8 years agonit
Aki Tuomi [Thu, 14 Jan 2016 10:08:37 +0000 (12:08 +0200)]
nit

8 years agoUpdate tests to match changes
Aki Tuomi [Thu, 14 Jan 2016 06:54:13 +0000 (08:54 +0200)]
Update tests to match changes

8 years agoAssert column count when result is not empty
Aki Tuomi [Thu, 14 Jan 2016 06:53:51 +0000 (08:53 +0200)]
Assert column count when result is not empty

8 years agoUse pdnsutil instead of pdnssec
Aki Tuomi [Tue, 12 Jan 2016 19:59:20 +0000 (21:59 +0200)]
Use pdnsutil instead of pdnssec

8 years agoUse separate setting for supermaster and notify
Aki Tuomi [Thu, 13 Aug 2015 06:44:17 +0000 (09:44 +0300)]
Use separate setting for supermaster and notify

This allows enforcing signed supermaster notifications,
but retains compability with possible external nameservers
that do not support signed notifications.

8 years agoMinimize zones
Aki Tuomi [Wed, 12 Aug 2015 19:45:04 +0000 (22:45 +0300)]
Minimize zones

8 years agoFix name handling for tsigkeyname and algorithm
Aki Tuomi [Wed, 12 Aug 2015 18:00:41 +0000 (21:00 +0300)]
Fix name handling for tsigkeyname and algorithm

8 years agoIgnore artefacts from supermaster test
Aki Tuomi [Wed, 12 Aug 2015 17:59:54 +0000 (20:59 +0300)]
Ignore artefacts from supermaster test

8 years agoSupermaster feature test
Aki Tuomi [Wed, 12 Aug 2015 17:59:42 +0000 (20:59 +0300)]
Supermaster feature test

8 years agoAdd documentation
Aki Tuomi [Tue, 11 Aug 2015 06:54:17 +0000 (09:54 +0300)]
Add documentation

8 years agoUpdate pdnsdistconf test
Aki Tuomi [Tue, 11 Aug 2015 06:49:50 +0000 (09:49 +0300)]
Update pdnsdistconf test

8 years agoIndicate signed NOTIFY
Aki Tuomi [Tue, 11 Aug 2015 06:40:35 +0000 (09:40 +0300)]
Indicate signed NOTIFY

8 years agoAdd allow-insecure-notify
Aki Tuomi [Tue, 11 Aug 2015 06:39:56 +0000 (09:39 +0300)]
Add allow-insecure-notify

8 years agoFix log levels
Aki Tuomi [Tue, 11 Aug 2015 06:38:33 +0000 (09:38 +0300)]
Fix log levels

8 years agouse DNSName for tsig keyname
Aki Tuomi [Tue, 4 Aug 2015 11:51:01 +0000 (14:51 +0300)]
use DNSName for tsig keyname

8 years agoIn supermaster mode, set TSIG key used as domain's TSIG key
Aki Tuomi [Sun, 14 Jun 2015 18:14:36 +0000 (21:14 +0300)]
In supermaster mode, set TSIG key used as domain's TSIG key

8 years agoCheck for correct TSIG key for domain
Aki Tuomi [Sun, 14 Jun 2015 18:14:05 +0000 (21:14 +0300)]
Check for correct TSIG key for domain

8 years agoAdd accessor for d_tsigkeyname
Aki Tuomi [Mon, 15 Jun 2015 09:54:29 +0000 (12:54 +0300)]
Add accessor for d_tsigkeyname

8 years agoSign notifications with TSIG key associated with domain
Aki Tuomi [Sun, 14 Jun 2015 18:08:43 +0000 (21:08 +0300)]
Sign notifications with TSIG key associated with domain

8 years agoUse int/number value instead of wrapper
Aki Tuomi [Wed, 20 Jan 2016 11:15:11 +0000 (13:15 +0200)]
Use int/number value instead of wrapper

8 years agoCheck account existence
Aki Tuomi [Wed, 20 Jan 2016 11:15:03 +0000 (13:15 +0200)]
Check account existence

8 years agoRecursor: have buildscripts use new normal configure
Pieter Lexis [Wed, 20 Jan 2016 10:32:28 +0000 (11:32 +0100)]
Recursor: have buildscripts use new normal configure

8 years agoAutotoolize the recursor
Pieter Lexis [Tue, 29 Dec 2015 12:35:18 +0000 (13:35 +0100)]
Autotoolize the recursor

This is done similar to dnsdist.

This commit adds a pdns_check_os.m4 to set OS dependent options.

8 years agoMerge pull request #3268 from ahupowerdns/adfilter
bert hubert [Tue, 19 Jan 2016 17:11:40 +0000 (18:11 +0100)]
Merge pull request #3268 from ahupowerdns/adfilter

enhance recursor lua with a hashed IP set, plus addRecord which is more generic than addAnswer

8 years agoadd an efficient ComboAddress set (loads around a million IP addresses per second)
bert hubert [Tue, 19 Jan 2016 14:44:33 +0000 (15:44 +0100)]
add an efficient ComboAddress set (loads around a million IP addresses per second)

8 years agoadd ability to store comboaddress in a hashed container
bert hubert [Tue, 19 Jan 2016 14:44:10 +0000 (15:44 +0100)]
add ability to store comboaddress in a hashed container

8 years agoMerge pull request #3244 from pieterlexis/4.0-forward-zones
bert hubert [Tue, 19 Jan 2016 11:37:56 +0000 (12:37 +0100)]
Merge pull request #3244 from pieterlexis/4.0-forward-zones

Fix the forward zones in the recursor

8 years agoMerge pull request #3258 from Habbie/rrlfixes
bert hubert [Tue, 19 Jan 2016 11:37:30 +0000 (12:37 +0100)]
Merge pull request #3258 from Habbie/rrlfixes

minor fixes to policy/RRL code

8 years agoMerge pull request #3256 from rgacogne/dnsdist-or-not
bert hubert [Tue, 19 Jan 2016 11:37:05 +0000 (12:37 +0100)]
Merge pull request #3256 from rgacogne/dnsdist-or-not

dnsdist: Add NotRule() and OrRule()

8 years agoMerge pull request #3265 from rgacogne/dnsdist-ubsan
bert hubert [Tue, 19 Jan 2016 11:34:45 +0000 (12:34 +0100)]
Merge pull request #3265 from rgacogne/dnsdist-ubsan

dnsdist: Fix misaligned load/store in ECS, reported by UBSAN

8 years agoMerge pull request #3266 from rgacogne/dnsdist-fake-ds
bert hubert [Tue, 19 Jan 2016 10:33:04 +0000 (11:33 +0100)]
Merge pull request #3266 from rgacogne/dnsdist-fake-ds

dnsdist: Do not create socket/thread for fake DS in client mode

8 years agoMerge pull request #3264 from cmouse/geoipbackend-id
Pieter Lexis [Tue, 19 Jan 2016 09:55:34 +0000 (10:55 +0100)]
Merge pull request #3264 from cmouse/geoipbackend-id

Use correct id numbers for domains

8 years agoMerge pull request #3255 from janeczku/auth-basic
Remi Gacogne [Tue, 19 Jan 2016 09:43:08 +0000 (10:43 +0100)]
Merge pull request #3255 from janeczku/auth-basic

Don't log authentication errors before sending HTTP basic auth challenge

8 years agodnsdist: Do not create socket/thread for fake DS in client mode
Remi Gacogne [Tue, 19 Jan 2016 09:25:42 +0000 (10:25 +0100)]
dnsdist: Do not create socket/thread for fake DS in client mode

While parsing the configuration in client mode, we create a fake
DownstreamState for each newServer() call, because we need it to
return a valid DownstreamState object. Unfortunately this leads
to the creation of a socket for 0.0.0.0, and a subsequent
connection attempt.
We now detect that the address does not make sense in this context
and do not create the associated socket.
Closes #3257.

8 years agoUse correct id numbers for domains
Aki Tuomi [Tue, 19 Jan 2016 08:38:12 +0000 (10:38 +0200)]
Use correct id numbers for domains

8 years agodnsdist: Fix misaligned load/store in ECS, reported by UBSAN
Remi Gacogne [Tue, 19 Jan 2016 08:28:11 +0000 (09:28 +0100)]
dnsdist: Fix misaligned load/store in ECS, reported by UBSAN

Using the buffer position as an uint16_t requires 2 byte alignment,
which is not guaranteed here.

8 years agoDon't throw authentication error on the first request a HTTP client sends
Jan Broer [Mon, 18 Jan 2016 01:01:48 +0000 (02:01 +0100)]
Don't throw authentication error on the first request a HTTP client sends

8 years agoAdd empty ComboAddress equality unit-test
Pieter Lexis [Mon, 18 Jan 2016 14:21:50 +0000 (15:21 +0100)]
Add empty ComboAddress equality unit-test

8 years agoFix the forward zones in the recursor
Pieter Lexis [Fri, 15 Jan 2016 17:00:26 +0000 (18:00 +0100)]
Fix the forward zones in the recursor

In the pre-DNSName era, when dns-native names were passed as strings, we
overloaded the NS-name for a forward or auth zone. e.g. an empty string
meant 'this is an auth zone' and '+203.0.113.1' meant 'forward to 203.0.113.1
with the RD bit set'. With DNSNames, this is impossible (yay!).

In this commit, the set of strings (and later DNSNames), is replaced by
a map where a DNSName is the key and the value is a pair of a
ComboAddress and a boolean.

A non-empty DNSName: This is a normal NS, recurse as usual (the pair is
ignored).

An empty DNSName and empty ComboAddress: We are auth for this zone,
check the auth store for an answer.

An empty DNSName and non-empty ComboAddress: The query must be forwarded
to the ComboAddress specified and the boolean in the pair tells us the
value of the RD bit in the query we need to send.

8 years agodon't toString an empty dnsname
Peter van Dijk [Mon, 18 Jan 2016 11:38:30 +0000 (12:38 +0100)]
don't toString an empty dnsname