]> granicus.if.org Git - pdns/log
pdns
8 years agoFix pgsql backend compilation on centos 6
Pieter Lexis [Fri, 30 Oct 2015 08:28:30 +0000 (09:28 +0100)]
Fix pgsql backend compilation on centos 6

8 years agoMerge pull request #3473 from nlyan/gcc47
bert hubert [Sun, 28 Feb 2016 09:57:36 +0000 (10:57 +0100)]
Merge pull request #3473 from nlyan/gcc47

Small fix to get recursor building on GCC 4.7 again

8 years agonit, thanks @ekohl
Peter van Dijk [Sun, 28 Feb 2016 07:09:25 +0000 (08:09 +0100)]
nit, thanks @ekohl

8 years agoFix missing definition UINT16_MAX under GCC 4.7.
Andrew Nelless [Sun, 28 Feb 2016 01:28:02 +0000 (01:28 +0000)]
Fix missing definition UINT16_MAX under GCC 4.7.

std::numeric_limits is used elsewhere, so I went with that.

8 years agospruce up dnsdist built-in website with cache hitrate percentage (in text & graph)
bert hubert [Sat, 27 Feb 2016 19:44:29 +0000 (20:44 +0100)]
spruce up dnsdist built-in website with cache hitrate percentage (in text & graph)

8 years agoturns out, our delta() output added dates with # comments. Lua uses -- comments....
bert hubert [Sat, 27 Feb 2016 19:38:43 +0000 (20:38 +0100)]
turns out, our delta() output added dates with # comments. Lua uses -- comments. Duh. Plus stop logging empty lines in delta()

8 years agoclose #3467: dnsdist cache hits not accounted properly in latency stats. Now count...
bert hubert [Sat, 27 Feb 2016 18:35:26 +0000 (19:35 +0100)]
close #3467: dnsdist cache hits not accounted properly in latency stats. Now count as '0'.

8 years agoMerge pull request #3346 from rgacogne/dnsdist-reuseport
bert hubert [Fri, 26 Feb 2016 20:03:39 +0000 (21:03 +0100)]
Merge pull request #3346 from rgacogne/dnsdist-reuseport

dnsdist: Add reuseport support, maxOutstanding -> 10240, document perf tuning

8 years agoMerge pull request #3461 from rgacogne/dnsdist-issue-3460
bert hubert [Fri, 26 Feb 2016 20:02:24 +0000 (21:02 +0100)]
Merge pull request #3461 from rgacogne/dnsdist-issue-3460

dnsdist: Fix crash when calling rmServer() with an invalid index

8 years agoin dnsdist maintenance thread we'd lock up trying to lock g_luamutex twice
bert hubert [Fri, 26 Feb 2016 17:12:21 +0000 (18:12 +0100)]
in dnsdist maintenance thread we'd lock up trying to lock g_luamutex twice

8 years agodnsdist: maxOustanding defaults to 10240. Add 'tuning' to README
Remi Gacogne [Fri, 26 Feb 2016 16:16:28 +0000 (17:16 +0100)]
dnsdist: maxOustanding defaults to 10240. Add 'tuning' to README

8 years agofix up recuweb password popup weirdness, now give nice warning on wrong password...
bert hubert [Fri, 26 Feb 2016 15:14:09 +0000 (16:14 +0100)]
fix up recuweb password popup weirdness, now give nice warning on wrong password. Still open: do we need the api-key password?

8 years agodnsdist: Add an optional reuseport param to {add,set}Local()
Remi Gacogne [Mon, 8 Feb 2016 11:38:59 +0000 (12:38 +0100)]
dnsdist: Add an optional reuseport param to {add,set}Local()

If set to true, this parameter sets SO_REUSEPORT on platforms
supporting for this option, allowing multiple servers to
bind to the same port.
The same parameter is also added to addDNSCryptBind().

8 years agoMerge pull request #3427 from nlyan/mtcleanup
bert hubert [Fri, 26 Feb 2016 10:36:29 +0000 (11:36 +0100)]
Merge pull request #3427 from nlyan/mtcleanup

Massage System V context switching out of MTasker

8 years agoChange a <span> to a <div> for better rendering
Pieter Lexis [Fri, 26 Feb 2016 10:33:45 +0000 (11:33 +0100)]
Change a <span> to a <div> for better rendering

8 years agodnsdist: Fix crash when calling rmServer() with an invalid index
Remi Gacogne [Fri, 26 Feb 2016 10:17:29 +0000 (11:17 +0100)]
dnsdist: Fix crash when calling rmServer() with an invalid index

Fix #3460.

8 years agomake calidns send out precisely measured cache miss rates
bert hubert [Fri, 26 Feb 2016 09:32:34 +0000 (10:32 +0100)]
make calidns send out precisely measured cache miss rates

8 years agoMerge pull request #3457 from rgacogne/dnsdist-string-only-server
Remi Gacogne [Fri, 26 Feb 2016 08:06:40 +0000 (09:06 +0100)]
Merge pull request #3457 from rgacogne/dnsdist-string-only-server

dnsdist: Fix str-only server not being added to the default pool

8 years agoMerge pull request #3450 from rgacogne/dnsdist-lock-cache
bert hubert [Thu, 25 Feb 2016 21:23:44 +0000 (22:23 +0100)]
Merge pull request #3450 from rgacogne/dnsdist-lock-cache

dnsdist: Prevent the cache ptr from being altered under our feet

8 years agoMerge pull request #3458 from rgacogne/dnsdist-cache-tests
bert hubert [Thu, 25 Feb 2016 21:23:19 +0000 (22:23 +0100)]
Merge pull request #3458 from rgacogne/dnsdist-cache-tests

dnsdist: Fix cache tests. Clean tests backends.

8 years agoMerge pull request #3451 from rgacogne/rec-replace-to-back
bert hubert [Thu, 25 Feb 2016 18:52:56 +0000 (19:52 +0100)]
Merge pull request #3451 from rgacogne/rec-replace-to-back

recursor: Move replaced cached entries to the back

8 years agodnsdist: Fix str-only server not being added to the default pool
Remi Gacogne [Thu, 25 Feb 2016 17:58:46 +0000 (18:58 +0100)]
dnsdist: Fix str-only server not being added to the default pool

As reported by @pieterlexis, server defined with the "string-only"
syntax were not correctly added to the default pool. This should
fix #3456.
In addition to that, this commit adds some Lua bindings for server
objects:
- member functions `getName()` and `getNameWithAddr()`
- member data `name`

8 years agoMerge pull request #3449 from rgacogne/dnsdist-pool-terminal
bert hubert [Thu, 25 Feb 2016 17:34:39 +0000 (18:34 +0100)]
Merge pull request #3449 from rgacogne/dnsdist-pool-terminal

dnsdist: Make PoolAction() stop the rule processing again

8 years agoMerge pull request #3455 from ahupowerdns/comfun
bert hubert [Thu, 25 Feb 2016 17:34:24 +0000 (18:34 +0100)]
Merge pull request #3455 from ahupowerdns/comfun

DNSName escaped parsing speedups, comfun bulk zone/ns analysis tool, tiny dnsdist fixup

8 years agodnsdist: Fix cache tests. Clean tests backends.
Remi Gacogne [Thu, 25 Feb 2016 16:51:24 +0000 (17:51 +0100)]
dnsdist: Fix cache tests. Clean tests backends.

Several issues:
- the cache tests used a vey small cache, not large enough for the
number of responses we expected to cache during the test suite
- this was hidden by the default response from the backends
matching what the test expected
- and by the backends not counting properly what looked like a
health check but wasn't.

8 years agoBe a little more explicit on the addition of the SEP on CSKs
Pieter Lexis [Thu, 25 Feb 2016 16:16:29 +0000 (17:16 +0100)]
Be a little more explicit on the addition of the SEP on CSKs

8 years agoMerge pull request #3454 from pieterlexis/auth-4.0.0-alpha2-docs
Pieter Lexis [Thu, 25 Feb 2016 14:50:02 +0000 (15:50 +0100)]
Merge pull request #3454 from pieterlexis/auth-4.0.0-alpha2-docs

Documentation updates for the upcoming alpha2 releases

8 years agodnsdist: Prevent the cache ptr from being altered under our feet
Remi Gacogne [Thu, 25 Feb 2016 14:46:22 +0000 (15:46 +0100)]
dnsdist: Prevent the cache ptr from being altered under our feet

Make sure we hold the Lua mutex before getting the packet cache
shared_ptr, so that we don't have a thread reading it at the
exact same time it is altered by another.
We could have used atomic_load/atomic_store but libstdc++ uses
a pool of mutex for that anyway.
This might fix #3396.

8 years agoMerge pull request #3453 from pieterlexis/silence-biowrite-warning auth-4.0.0-alpha2
Pieter Lexis [Thu, 25 Feb 2016 13:46:28 +0000 (14:46 +0100)]
Merge pull request #3453 from pieterlexis/silence-biowrite-warning

Silence a BIO_write warning

8 years agoRecursor 4.0.0-alpha2 changelog
Pieter Lexis [Thu, 25 Feb 2016 12:26:04 +0000 (13:26 +0100)]
Recursor 4.0.0-alpha2 changelog

8 years agoDocumentation on Auth 4.0.0 alpha2
Pieter Lexis [Thu, 25 Feb 2016 11:30:57 +0000 (12:30 +0100)]
Documentation on Auth 4.0.0 alpha2

8 years agoSilence a BIO_write warning
Pieter Lexis [Thu, 25 Feb 2016 11:48:48 +0000 (12:48 +0100)]
Silence a BIO_write warning

8 years agoMerge pull request #3452 from pieterlexis/detect-network-libs
Pieter Lexis [Thu, 25 Feb 2016 12:27:52 +0000 (13:27 +0100)]
Merge pull request #3452 from pieterlexis/detect-network-libs

Detect several network libraries properly

8 years agothis commit uglifies DNSName escaped representation parsing for tremendous speedup...
bert hubert [Thu, 25 Feb 2016 12:03:29 +0000 (13:03 +0100)]
this commit uglifies DNSName escaped representation parsing for tremendous speedup (2x) during bulk zone loading from disk or database.
Part of the uglification is that we now special case unescaped names, which are the vast majority of cases.
Simultaneously, this moves us back to DNSName boost::container::string on non-Apple platforms, which delivered another 15% speedup on general operations
Finally, an additional unit test is added.

8 years agoDetect several network libraries properly
Pieter Lexis [Wed, 17 Feb 2016 19:25:57 +0000 (20:25 +0100)]
Detect several network libraries properly

Closes #3369

8 years agoset RD=1 in calidns for now, more right than what we do now..
bert hubert [Wed, 24 Feb 2016 11:54:38 +0000 (12:54 +0100)]
set RD=1 in calidns for now, more right than what we do now..

8 years agodon't add NSEC/NSEC3 unless the packet asked for DNSSEC records
bert hubert [Mon, 22 Feb 2016 14:27:42 +0000 (15:27 +0100)]
don't add NSEC/NSEC3 unless the packet asked for DNSSEC records

8 years agogitignore comfun
bert hubert [Mon, 15 Feb 2016 22:01:56 +0000 (23:01 +0100)]
gitignore comfun

8 years agoscanning zonefiles & polling nameservers
bert hubert [Mon, 15 Feb 2016 20:20:13 +0000 (21:20 +0100)]
scanning zonefiles & polling nameservers

8 years agoMerge pull request #3037 from pieterlexis/issue-3024-ENT-cleanups
Pieter Lexis [Thu, 25 Feb 2016 10:09:35 +0000 (11:09 +0100)]
Merge pull request #3037 from pieterlexis/issue-3024-ENT-cleanups

Remove superfluous gsql queries and stop relying on schema defaults

8 years agoMerge pull request #3448 from zeha/recuconfig
bert hubert [Thu, 25 Feb 2016 09:51:20 +0000 (10:51 +0100)]
Merge pull request #3448 from zeha/recuconfig

Remove edns-subnet-whitelist whitelist pointing to powerdns.com

8 years agoMerge pull request #3230 from zeha/websec
Pieter Lexis [Thu, 25 Feb 2016 09:08:21 +0000 (10:08 +0100)]
Merge pull request #3230 from zeha/websec

Auth/Recursor: drop JSONP, add web security headers

8 years agoMerge pull request #3279 from zeha/bio-api-correctness
Pieter Lexis [Thu, 25 Feb 2016 09:08:15 +0000 (10:08 +0100)]
Merge pull request #3279 from zeha/bio-api-correctness

Handle return codes from OpenSSL BIO_*

8 years agoRemove edns-subnet-whitelist whitelist pointing to powerdns.com
Christian Hofstaedtler [Wed, 24 Feb 2016 22:02:25 +0000 (23:02 +0100)]
Remove edns-subnet-whitelist whitelist pointing to powerdns.com

8 years agoHandle return codes from OpenSSL BIO_*
Christian Hofstaedtler [Wed, 24 Feb 2016 21:06:29 +0000 (22:06 +0100)]
Handle return codes from OpenSSL BIO_*

8 years agoMerge pull request #3443 from ahupowerdns/speedups
bert hubert [Wed, 24 Feb 2016 20:41:34 +0000 (21:41 +0100)]
Merge pull request #3443 from ahupowerdns/speedups

Speedups! Closes some big impediments for performance & even correctness

8 years agoMerge pull request #3442 from pieterlexis/recursor-ixfr-catch-exception
bert hubert [Wed, 24 Feb 2016 20:40:41 +0000 (21:40 +0100)]
Merge pull request #3442 from pieterlexis/recursor-ixfr-catch-exception

recursor: catch exception during IXFR of RPZ

8 years agoMerge pull request #3444 from pieterlexis/recursor-ixfr-tsig-algo-names
bert hubert [Wed, 24 Feb 2016 20:40:25 +0000 (21:40 +0100)]
Merge pull request #3444 from pieterlexis/recursor-ixfr-tsig-algo-names

recursor: set the TSIG algoname on IXFR correctly

8 years agoMerge pull request #3445 from pieterlexis/recursor-rpz-docs
bert hubert [Wed, 24 Feb 2016 20:39:50 +0000 (21:39 +0100)]
Merge pull request #3445 from pieterlexis/recursor-rpz-docs

Document recursor RPZ options

8 years agoDocument recursor RPZ options
Pieter Lexis [Wed, 24 Feb 2016 17:48:43 +0000 (18:48 +0100)]
Document recursor RPZ options

8 years agorecursor: set the TSIG algoname on IXFR correctly
Pieter Lexis [Wed, 24 Feb 2016 17:14:31 +0000 (18:14 +0100)]
recursor: set the TSIG algoname on IXFR correctly

8 years agorecursor: catch exception during IXFR of RPZ
Pieter Lexis [Wed, 24 Feb 2016 16:35:22 +0000 (17:35 +0100)]
recursor: catch exception during IXFR of RPZ

This would lead to a SIGABRT before when the IXFR failed.

8 years agorecursor: Move replaced cached entries to the back
Remi Gacogne [Wed, 24 Feb 2016 16:13:14 +0000 (17:13 +0100)]
recursor: Move replaced cached entries to the back

When we replace an existing entry, it keeps its existing place in
the expunge queue, while new entries are inserted to the back and
hits are moved to the back.
Moving replaced entries to the back of the queue is more fair and
so probably more efficient, as it would increase the likelihood of
expunging unused expired entries from the cache.

8 years agodnsdist: Make PoolAction() stop the rule processing again
Remi Gacogne [Wed, 24 Feb 2016 15:46:14 +0000 (16:46 +0100)]
dnsdist: Make PoolAction() stop the rule processing again

It could clearly be confusing, and can easily be done by
ordering rules correctly anyway.
Thanks @rygl for the very valuable feedback.

8 years agowe were inconsistent in comparing ComboAddresses with sin_family==0. Removed possibil...
bert hubert [Wed, 24 Feb 2016 15:36:44 +0000 (16:36 +0100)]
we were inconsistent in comparing ComboAddresses with sin_family==0. Removed possibility for inconsistency, plus surrounded this bug with unit tests. Added similar test for DNSName.

8 years agoSwitch from std::function to boost::function
Andrew Nelless [Wed, 24 Feb 2016 15:10:22 +0000 (15:10 +0000)]
Switch from std::function to boost::function

GNUs implementation of std::function can't eat 3 pointers without allocating,
(24 bytes) whereas both LLVM libc++ and boost::function can. boost::function
has been move enabled since 1.52 (Nov 2012).

8 years agoMerge pull request #3432 from rgacogne/dnsdist-split-tests
Remi Gacogne [Wed, 24 Feb 2016 15:01:55 +0000 (16:01 +0100)]
Merge pull request #3432 from rgacogne/dnsdist-split-tests

dnsdist: Split Caching, Routing and Spoofing from "Advanced" tests

8 years agoStop relying on SQL schema defaults
Pieter Lexis [Wed, 17 Feb 2016 15:24:41 +0000 (16:24 +0100)]
Stop relying on SQL schema defaults

8 years agoDeprecate the insert-slave-query
Pieter Lexis [Wed, 10 Feb 2016 14:35:10 +0000 (15:35 +0100)]
Deprecate the insert-slave-query

8 years agoDeprecate the insert-record-order-query
Pieter Lexis [Wed, 10 Feb 2016 11:20:56 +0000 (12:20 +0100)]
Deprecate the insert-record-order-query

8 years agoRemove superfluous gsql query for ENTs
Pieter Lexis [Mon, 14 Dec 2015 11:34:43 +0000 (12:34 +0100)]
Remove superfluous gsql query for ENTs

This fixes part of #3024

8 years agoMerge pull request #3429 from mind04/failed
Pieter Lexis [Wed, 24 Feb 2016 14:49:05 +0000 (15:49 +0100)]
Merge pull request #3429 from mind04/failed

make sure we don't forget passing test marked as failing

8 years agoMerge pull request #3435 from Habbie/lua-dnsname
bert hubert [Wed, 24 Feb 2016 13:59:30 +0000 (14:59 +0100)]
Merge pull request #3435 from Habbie/lua-dnsname

add two methods to DNSName for recursor Lua scripting

8 years agoMerge pull request #3433 from rgacogne/dnsdist-check-response
bert hubert [Wed, 24 Feb 2016 13:59:07 +0000 (14:59 +0100)]
Merge pull request #3433 from rgacogne/dnsdist-check-response

dnsdist: Check that the answer matches the initial query over UDP

8 years agoMerge pull request #3437 from Habbie/lua-pdnsunixtime
bert hubert [Wed, 24 Feb 2016 13:58:22 +0000 (14:58 +0100)]
Merge pull request #3437 from Habbie/lua-pdnsunixtime

add pdns.now timeval struct to recursor lua

8 years agoMerge pull request #3439 from Habbie/lua15minutes
bert hubert [Wed, 24 Feb 2016 13:58:10 +0000 (14:58 +0100)]
Merge pull request #3439 from Habbie/lua15minutes

link to learn lua in 15 minutes

8 years agolots of speedups local to zoneparser-tng, mostly reducing malloc load and locale use
bert hubert [Wed, 24 Feb 2016 10:55:36 +0000 (11:55 +0100)]
lots of speedups local to zoneparser-tng, mostly reducing malloc load and locale use

8 years agoadd "reuseport" to recursor as a switch, off by default
bert hubert [Wed, 24 Feb 2016 11:55:38 +0000 (12:55 +0100)]
add "reuseport" to recursor as a switch, off by default

8 years agowe used toString() to compare incoming packets - showed up in profile at 3% or so
bert hubert [Mon, 22 Feb 2016 14:26:55 +0000 (15:26 +0100)]
we used toString() to compare incoming packets - showed up in profile at 3% or so

8 years agowe don't need set close on exec in pdns_recursor since it won't (can't) exec anything
bert hubert [Wed, 24 Feb 2016 10:54:22 +0000 (11:54 +0100)]
we don't need set close on exec in pdns_recursor since it won't (can't) exec anything

8 years agobecause unset/empty netmasks did not compare as equal, we would fill the cache with...
bert hubert [Wed, 24 Feb 2016 11:41:08 +0000 (12:41 +0100)]
because unset/empty netmasks did not compare as equal, we would fill the cache with tens of thousands of duplicate entries per name

8 years agoadd pdns.now timeval struct to recursor lua
Peter van Dijk [Tue, 23 Feb 2016 16:18:52 +0000 (17:18 +0100)]
add pdns.now timeval struct to recursor lua

8 years agolink to learn lua in 15 minutes
Peter van Dijk [Wed, 24 Feb 2016 11:32:41 +0000 (12:32 +0100)]
link to learn lua in 15 minutes

8 years agoMerge pull request #3434 from Habbie/remove-old-lua-recursor
bert hubert [Wed, 24 Feb 2016 10:24:59 +0000 (11:24 +0100)]
Merge pull request #3434 from Habbie/remove-old-lua-recursor

remove v3 lua recursor files (dead code)

8 years agoMerge pull request #3428 from zeha/apirrsets
Peter van Dijk [Wed, 24 Feb 2016 09:46:16 +0000 (10:46 +0100)]
Merge pull request #3428 from zeha/apirrsets

API: Fix zone/records design mistake

8 years agoHack in compatibility for Boost <= 1.55
Andrew Nelless [Tue, 23 Feb 2016 15:15:56 +0000 (15:15 +0000)]
Hack in compatibility for Boost <= 1.55

8 years agoadd two methods to DNSName for recursor Lua scripting
Peter van Dijk [Tue, 23 Feb 2016 15:31:29 +0000 (16:31 +0100)]
add two methods to DNSName for recursor Lua scripting

8 years agoremove v3 lua recursor files (dead code)
Peter van Dijk [Tue, 23 Feb 2016 15:03:14 +0000 (16:03 +0100)]
remove v3 lua recursor files (dead code)

8 years agodnsdist: Split Caching, Routing and Spoofing from "Advanced" tests
Remi Gacogne [Tue, 23 Feb 2016 08:02:50 +0000 (09:02 +0100)]
dnsdist: Split Caching, Routing and Spoofing from "Advanced" tests

8 years agoInitial stab at Boost context backend for MTasker
Andrew Nelless [Mon, 22 Feb 2016 16:49:24 +0000 (16:49 +0000)]
Initial stab at Boost context backend for MTasker

8 years agoMerge pull request #3423 from Habbie/tinydns-yak
bert hubert [Mon, 22 Feb 2016 18:51:49 +0000 (19:51 +0100)]
Merge pull request #3423 from Habbie/tinydns-yak

tinydns testing yaks

8 years agoMerge pull request #3422 from ahupowerdns/multispoof
bert hubert [Mon, 22 Feb 2016 18:31:58 +0000 (19:31 +0100)]
Merge pull request #3422 from ahupowerdns/multispoof

Multispoof: make the dnsdist spoofing actions accept multiple IPv4 and IPv6 addresses, retaining old syntax + updated regression tests

8 years agodnsdist: Check that the answer matches the initial query over UDP
Remi Gacogne [Mon, 22 Feb 2016 18:22:55 +0000 (19:22 +0100)]
dnsdist: Check that the answer matches the initial query over UDP

If we wrap around our maxOutstanding counter too fast, we need
to check that the answer we get is for the right query.
In order to do that, we now parse the question section in the
response and compare it to the one we expect (type, class and
name).

8 years agoupdate incbin to upstream 3d4aa9, fixing osx builds
Peter van Dijk [Mon, 22 Feb 2016 11:05:58 +0000 (12:05 +0100)]
update incbin to upstream 3d4aa9, fixing osx builds

8 years agos/failing/fail
Kees Monshouwer [Mon, 22 Feb 2016 08:11:53 +0000 (09:11 +0100)]
s/failing/fail

8 years agoremove 'failing' flag for passing oracle tests
Kees Monshouwer [Sun, 21 Feb 2016 23:14:57 +0000 (00:14 +0100)]
remove 'failing' flag for passing oracle tests

8 years agoremove 'failing' flag for passing bind tests
Kees Monshouwer [Sun, 21 Feb 2016 22:32:49 +0000 (23:32 +0100)]
remove 'failing' flag for passing bind tests

8 years agoremove 'failing' flag for passing ldap tests
Kees Monshouwer [Sun, 21 Feb 2016 22:30:49 +0000 (23:30 +0100)]
remove 'failing' flag for passing ldap tests

8 years agoadd 'fail.*' option to the regression-test
Kees Monshouwer [Sun, 21 Feb 2016 09:46:58 +0000 (10:46 +0100)]
add 'fail.*' option to the regression-test
A failing test must be brokem.

8 years agoAPI: Fix zone/records design mistake
Christian Hofstaedtler [Sun, 21 Feb 2016 21:11:16 +0000 (22:11 +0100)]
API: Fix zone/records design mistake

8 years agoMassage System V context switching out of MTasker
Andrew Nelless [Fri, 19 Feb 2016 15:25:03 +0000 (15:25 +0000)]
Massage System V context switching out of MTasker

Let's yank all the System-V ucontext switching out of MTasker, massaging it
in to a an implementation neutral, hopefully trivial, pdns_* API.

Stack management and context chaining (similar to ucontexts 'uc_link') are
left exposed, but the implementation is type-erased (void*'d), to force a
clean break. This currently introduces an extra allocation, which hopefully
won't matter once an alternative backend is in place, but means all the
threadWrapper guff can be hidden away.

At the same time, all manual memory management has been removed, with
MThread stacks now being allocated via std::vector with a "lazy_allocator"
which eliminates needless zero-initialization. (Which, compared to a context
switch, is actually quite expensive: diddling 8192 bytes takes ~500ns over
~15 GB/s of memory bandwidth).

pdns_makecontext now takes a std::function object by reference, which must
live until the MThread is started with pdns_swapcontext, at which point it is
std::move'd on to the MThreads stack and can go away. This means a task can
never be started twice (because std::function be empty and throw). I think using
std::function could simplify recursor code, but atm the MTasker makeThread() API
has been left as-is. In MTasker, the MThread start routine is stashed in
ThreadInfo, which also owns the context jointly (via std::shared_ptr) with
any waiters. std::function shouldn't introduce any allocations when used with
trivial function pointers.

In addition, exceptions can hopefully now propagate safely from MThreads
back up to, and through, schedule(), thanks to C++11s exception_ptr.

splitPointer/joinPtr, required to deal with SysVss hairy API, has also been
reimplemented, because master currently still passes one pointer, which only
works on 64-bit thanks to a GNU extension. The new implementation, despite
using memcpy and looking verbose, still compiles down to 2-4 CPU instructions
on each side under GCC -O2, and doesn't depend on any undefined behaviour.

This whole thing is WORKSFORME

8 years agoTurn Comment.qname into a DNSName
Christian Hofstaedtler [Sun, 21 Feb 2016 22:15:17 +0000 (23:15 +0100)]
Turn Comment.qname into a DNSName

8 years agogsql: Remove stripDot where not needed
Christian Hofstaedtler [Sun, 21 Feb 2016 22:14:32 +0000 (23:14 +0100)]
gsql: Remove stripDot where not needed

8 years agodetect (g)md5sum to support osx brew usage
Peter van Dijk [Sun, 21 Feb 2016 18:30:06 +0000 (19:30 +0100)]
detect (g)md5sum to support osx brew usage

8 years agoupdate tinydns data with cdnskey-cds-test.com domain
Peter van Dijk [Sun, 21 Feb 2016 18:27:46 +0000 (19:27 +0100)]
update tinydns data with cdnskey-cds-test.com domain

8 years agosupport dynamic loading of bindbackend
Peter van Dijk [Sun, 21 Feb 2016 18:27:12 +0000 (19:27 +0100)]
support dynamic loading of bindbackend

8 years agodrop args, use vars like other scripts do, default to assuming they are on PATH
Peter van Dijk [Sun, 21 Feb 2016 18:27:00 +0000 (19:27 +0100)]
drop args, use vars like other scripts do, default to assuming they are on PATH

8 years agoswitch to bash; add -u (abort on use of unset var) to flags
Peter van Dijk [Sun, 21 Feb 2016 18:25:14 +0000 (19:25 +0100)]
switch to bash; add -u (abort on use of unset var) to flags

8 years agoMerge pull request #3412 from pieterlexis/dnsdist-check-config
bert hubert [Sun, 21 Feb 2016 10:27:56 +0000 (11:27 +0100)]
Merge pull request #3412 from pieterlexis/dnsdist-check-config

Dnsdist check config

8 years agoMerge pull request #3419 from Habbie/ldap-skipless
bert hubert [Sun, 21 Feb 2016 09:00:49 +0000 (10:00 +0100)]
Merge pull request #3419 from Habbie/ldap-skipless

we skip too many ldap tests - unskip those that appear to actually work