]> granicus.if.org Git - pdns/log
pdns
6 years agoMerge pull request #6415 from rgacogne/dnscrypt-warn-sign-compare-arm
Remi Gacogne [Thu, 29 Mar 2018 14:26:14 +0000 (16:26 +0200)]
Merge pull request #6415 from rgacogne/dnscrypt-warn-sign-compare-arm

dnsdist: Fix a sign comparison warning on armv7l

6 years agoAdd recursor 4.1.2 changelog (#6389)
Pieter Lexis [Thu, 29 Mar 2018 14:10:34 +0000 (16:10 +0200)]
Add recursor 4.1.2 changelog (#6389)

* Add recursor 4.1.2 changelog
* secpoll: add recursor 4.1.2

6 years agoMerge pull request #6411 from rgacogne/dnsdist-dynamic-healthchecks
Remi Gacogne [Thu, 29 Mar 2018 13:54:09 +0000 (15:54 +0200)]
Merge pull request #6411 from rgacogne/dnsdist-dynamic-healthchecks

dnsdist: Add `checkFunction` to implement a dynamic health check

6 years agoMerge pull request #6414 from rgacogne/dnsdist-console-tests-eof
Remi Gacogne [Thu, 29 Mar 2018 13:53:53 +0000 (15:53 +0200)]
Merge pull request #6414 from rgacogne/dnsdist-console-tests-eof

dnsdist: Manually raise an exception on EOF while reading the nonce

6 years agodnsdist: Fix a sign comparison warning on armv7l
Remi Gacogne [Thu, 29 Mar 2018 13:14:44 +0000 (15:14 +0200)]
dnsdist: Fix a sign comparison warning on armv7l

6 years agodnsdist: Manually raise an exception on EOF while reading the nonce
Remi Gacogne [Thu, 29 Mar 2018 08:55:56 +0000 (10:55 +0200)]
dnsdist: Manually raise an exception on EOF while reading the nonce

6 years agoMerge pull request #6413 from Habbie/tinydns-hash
Peter van Dijk [Thu, 29 Mar 2018 08:22:33 +0000 (10:22 +0200)]
Merge pull request #6413 from Habbie/tinydns-hash

update data.cdb hash after merge of #6377

6 years agoupdate data.cdb hash after merge of #6377
Peter van Dijk [Thu, 29 Mar 2018 07:35:50 +0000 (09:35 +0200)]
update data.cdb hash after merge of #6377

6 years agoMerge pull request #6407 from rgacogne/dnsdist-cppcheck
Remi Gacogne [Wed, 28 Mar 2018 21:32:12 +0000 (23:32 +0200)]
Merge pull request #6407 from rgacogne/dnsdist-cppcheck

dnsdist: Fix warnings reported by clang's analyzer and cppcheck

6 years agoMerge pull request #6399 from rgacogne/dnsdist-console-acl
Remi Gacogne [Wed, 28 Mar 2018 21:28:48 +0000 (23:28 +0200)]
Merge pull request #6399 from rgacogne/dnsdist-console-acl

dnsdist: Restrict remote connection to the console via an ACL

6 years agodnsdist: Fix the console ACL test, assertRaises() is tricky!
Remi Gacogne [Wed, 28 Mar 2018 15:25:11 +0000 (17:25 +0200)]
dnsdist: Fix the console ACL test, assertRaises() is tricky!

6 years agodnsdist: Add regression tests for the console ACL feature
Remi Gacogne [Wed, 28 Mar 2018 15:18:12 +0000 (17:18 +0200)]
dnsdist: Add regression tests for the console ACL feature

6 years agodnsdist: Constify the function refs passed to Lua{,Response}Action
Remi Gacogne [Wed, 28 Mar 2018 14:49:36 +0000 (16:49 +0200)]
dnsdist: Constify the function refs passed to Lua{,Response}Action

6 years agodnsdist: Add `checkFunction` to implement a dynamic health check
Remi Gacogne [Wed, 28 Mar 2018 13:03:16 +0000 (15:03 +0200)]
dnsdist: Add `checkFunction` to implement a dynamic health check

6 years agoMerge pull request #6331 from Habbie/alias-tcp
Pieter Lexis [Wed, 28 Mar 2018 10:01:49 +0000 (12:01 +0200)]
Merge pull request #6331 from Habbie/alias-tcp

add TCP support for ALIAS

6 years agoMerge pull request #6391 from rgacogne/dnsdist-dynblock-group
Pieter Lexis [Wed, 28 Mar 2018 09:53:13 +0000 (11:53 +0200)]
Merge pull request #6391 from rgacogne/dnsdist-dynblock-group

dnsdist: Add DynBlockRulesGroup

6 years agoMerge pull request #6377 from chbruyand/auth-add-mb-rr-types
Pieter Lexis [Wed, 28 Mar 2018 09:52:57 +0000 (11:52 +0200)]
Merge pull request #6377 from chbruyand/auth-add-mb-rr-types

auth: add support for MB and MG RR types

6 years agoMerge pull request #6400 from rgacogne/dnsdist-ecs-pool
Remi Gacogne [Wed, 28 Mar 2018 08:26:14 +0000 (10:26 +0200)]
Merge pull request #6400 from rgacogne/dnsdist-ecs-pool

dnsdist: Optionally add ECS for cache lookup when all backends are down

6 years agodnsdist: Document what addACL(), showACL() and setACL() control
Remi Gacogne [Tue, 27 Mar 2018 09:59:59 +0000 (11:59 +0200)]
dnsdist: Document what addACL(), showACL() and setACL() control

6 years agodnsdist: Allow ::1/128 to access the console by default too
Remi Gacogne [Tue, 27 Mar 2018 09:59:10 +0000 (11:59 +0200)]
dnsdist: Allow ::1/128 to access the console by default too

6 years agodnsdist: Restrict remote connection to the console via an ACL
Remi Gacogne [Tue, 27 Mar 2018 08:24:48 +0000 (10:24 +0200)]
dnsdist: Restrict remote connection to the console via an ACL

6 years agoMerge pull request #6403 from zeha/dnsdist-newserver-assert
Remi Gacogne [Wed, 28 Mar 2018 07:56:59 +0000 (09:56 +0200)]
Merge pull request #6403 from zeha/dnsdist-newserver-assert

dnsdist: avoid LuaWrapper assert on errors in newServer()

6 years agoMerge pull request #6102 from ahupowerdns/better-ednssize-log
bert hubert [Tue, 27 Mar 2018 23:37:08 +0000 (00:37 +0100)]
Merge pull request #6102 from ahupowerdns/better-ednssize-log

add actual EDNS buffer size logging, not just our interpretation

6 years agoMerge pull request #6312 from pieterlexis/auth-too-short-squelch
bert hubert [Tue, 27 Mar 2018 23:36:39 +0000 (00:36 +0100)]
Merge pull request #6312 from pieterlexis/auth-too-short-squelch

auth: lower 'packet too short' loglevel

6 years agoMerge pull request #6397 from Habbie/lua2-fixes
bert hubert [Tue, 27 Mar 2018 23:35:35 +0000 (00:35 +0100)]
Merge pull request #6397 from Habbie/lua2-fixes

Lua2 fixes

6 years agoMerge pull request #6408 from rgacogne/dnsdist-empty-dnscrypt
bert hubert [Tue, 27 Mar 2018 23:22:35 +0000 (00:22 +0100)]
Merge pull request #6408 from rgacogne/dnsdist-empty-dnscrypt

dnsdist: Remove empty dnsdist-dnscrypt.hh file

6 years agoMerge pull request #6409 from chbruyand/rec-issue-6398
bert hubert [Tue, 27 Mar 2018 23:22:18 +0000 (00:22 +0100)]
Merge pull request #6409 from chbruyand/rec-issue-6398

rec: really fallback to std::set when boost::container::flat_set is not available

6 years agorec: allow to bind on udp port 1024
Charles-Henri Bruyand [Tue, 27 Mar 2018 20:41:18 +0000 (22:41 +0200)]
rec: allow to bind on udp port 1024

6 years agorec: only notice if boost flat_set are not available
Charles-Henri Bruyand [Tue, 27 Mar 2018 20:09:26 +0000 (22:09 +0200)]
rec: only notice if boost flat_set are not available

6 years agoMerge pull request #6406 from chbruyand/rec-issue-6398
Remi Gacogne [Tue, 27 Mar 2018 17:58:03 +0000 (19:58 +0200)]
Merge pull request #6406 from chbruyand/rec-issue-6398

rec: fallback to std::set when boost::container::flat_set is not available

6 years agoMerge pull request #6394 from rgacogne/dnsdist-daemon-removal
Pieter Lexis [Tue, 27 Mar 2018 14:08:21 +0000 (16:08 +0200)]
Merge pull request #6394 from rgacogne/dnsdist-daemon-removal

dnsdist: Remove the --daemon option

6 years agoMerge pull request #6396 from Habbie/stoul-data
Pieter Lexis [Tue, 27 Mar 2018 14:08:04 +0000 (16:08 +0200)]
Merge pull request #6396 from Habbie/stoul-data

report unparseable data in stoul invalid_argument exception

6 years agodnsdist: Remove empty dnsdist-dnscrypt.hh file
Remi Gacogne [Tue, 27 Mar 2018 13:24:39 +0000 (15:24 +0200)]
dnsdist: Remove empty dnsdist-dnscrypt.hh file

6 years agodnsdist: fix doc syntax for dynblocks
Pieter Lexis [Tue, 27 Mar 2018 12:57:30 +0000 (14:57 +0200)]
dnsdist: fix doc syntax for dynblocks

6 years agoMerge pull request #6402 from chbruyand/dnsdist-issue-5763
Pieter Lexis [Tue, 27 Mar 2018 12:36:56 +0000 (14:36 +0200)]
Merge pull request #6402 from chbruyand/dnsdist-issue-5763

dnsdist: add option to showRules actions to truncate rule length output

6 years agoMerge pull request #6401 from rgacogne/dnsdist-api-double
Remi Gacogne [Tue, 27 Mar 2018 12:33:05 +0000 (14:33 +0200)]
Merge pull request #6401 from rgacogne/dnsdist-api-double

dnsdist: Use double instead of int in the API

6 years agodnsdist: Pass shared pointers by reference whenever possible
Remi Gacogne [Tue, 27 Mar 2018 12:26:38 +0000 (14:26 +0200)]
dnsdist: Pass shared pointers by reference whenever possible

6 years agodnsdist: Don't capture the client var when we don't need it
Remi Gacogne [Tue, 27 Mar 2018 12:25:30 +0000 (14:25 +0200)]
dnsdist: Don't capture the client var when we don't need it

6 years agoUse an initialization list instead of assigning values in the ctor body
Remi Gacogne [Tue, 27 Mar 2018 12:28:01 +0000 (14:28 +0200)]
Use an initialization list instead of assigning values in the ctor body

6 years agoUpdate the lock status in the move constructors
Remi Gacogne [Tue, 27 Mar 2018 12:22:31 +0000 (14:22 +0200)]
Update the lock status in the move constructors

6 years agoUse pre-increment instead of post-increment for non-primitive types
Remi Gacogne [Tue, 27 Mar 2018 12:21:52 +0000 (14:21 +0200)]
Use pre-increment instead of post-increment for non-primitive types

6 years agoLuaWrapper: Don't move function since we still access it later
Remi Gacogne [Tue, 27 Mar 2018 12:20:21 +0000 (14:20 +0200)]
LuaWrapper: Don't move function since we still access it later

6 years agorec: fallback to std::set when boost::container::flat_set is not available (boost...
Charles-Henri Bruyand [Tue, 27 Mar 2018 11:42:52 +0000 (13:42 +0200)]
rec: fallback to std::set when boost::container::flat_set is not available (boost version < 1.48)

6 years agodnsdist: avoid LuaWrapper assert on errors in newServer()
Chris Hofstaedtler [Tue, 27 Mar 2018 10:14:30 +0000 (12:14 +0200)]
dnsdist: avoid LuaWrapper assert on errors in newServer()

6 years agodnsdist: Remove the now useless 'Running in the foreground' message
Remi Gacogne [Tue, 27 Mar 2018 10:03:32 +0000 (12:03 +0200)]
dnsdist: Remove the now useless 'Running in the foreground' message

6 years agodnsdist: fix typos and replaces new typedef's name
Charles-Henri Bruyand [Tue, 27 Mar 2018 09:46:00 +0000 (11:46 +0200)]
dnsdist: fix typos and replaces new typedef's name

6 years agodnsdist: Use double instead of int in the API
Remi Gacogne [Tue, 27 Mar 2018 09:05:25 +0000 (11:05 +0200)]
dnsdist: Use double instead of int in the API

6 years agodnsdist: Optionally add ECS for cache lookup when all backends are down
Remi Gacogne [Tue, 27 Mar 2018 08:39:16 +0000 (10:39 +0200)]
dnsdist: Optionally add ECS for cache lookup when all backends are down

6 years agoMerge pull request #6392 from rgacogne/dnsdist-sodcrypto-length
Remi Gacogne [Tue, 27 Mar 2018 08:24:24 +0000 (10:24 +0200)]
Merge pull request #6392 from rgacogne/dnsdist-sodcrypto-length

dnsdist: Fix concat of the console msg length to the error message

6 years agoMerge pull request #6393 from rgacogne/dnsdist-stat-node-cutoff-warn
Remi Gacogne [Tue, 27 Mar 2018 07:40:39 +0000 (09:40 +0200)]
Merge pull request #6393 from rgacogne/dnsdist-stat-node-cutoff-warn

dnsdist: Work around a false positive in statNodeRespRing()

6 years agofix title; fix formatting nit
Peter van Dijk [Tue, 27 Mar 2018 05:47:58 +0000 (07:47 +0200)]
fix title; fix formatting nit

6 years agomake code match documentation & tests
Peter van Dijk [Tue, 27 Mar 2018 05:26:55 +0000 (07:26 +0200)]
make code match documentation & tests

6 years agoadd newline to log message
Peter van Dijk [Tue, 27 Mar 2018 05:26:44 +0000 (07:26 +0200)]
add newline to log message

6 years agoimprove out of range reporting
Peter van Dijk [Mon, 26 Mar 2018 18:52:57 +0000 (20:52 +0200)]
improve out of range reporting

6 years agodnsdist: add option to showRules actions to truncate rule length output
Charles-Henri Bruyand [Mon, 26 Mar 2018 18:37:38 +0000 (20:37 +0200)]
dnsdist: add option to showRules actions to truncate rule length output

6 years agoreport unparseable data in stoul invalid_argument exception
Peter van Dijk [Mon, 26 Mar 2018 18:37:50 +0000 (20:37 +0200)]
report unparseable data in stoul invalid_argument exception

6 years agoauth: tinydnsbackend / tests - document binaries used by generate-data.sh and update...
Charles-Henri Bruyand [Mon, 26 Mar 2018 15:46:00 +0000 (17:46 +0200)]
auth: tinydnsbackend / tests - document binaries used by generate-data.sh and update data files

6 years agodnsdist: Work around a false positive in statNodeRespRing()
Remi Gacogne [Mon, 26 Mar 2018 15:25:29 +0000 (17:25 +0200)]
dnsdist: Work around a false positive in statNodeRespRing()

Debian Jessie's compiler reports that `cutoff` might be used
uninitialized in `statNodeRespRing()`. This is a false positive,
but let's just initialize it no matter what so the compiler stops
whining.

6 years agodnsdist: Remove the --daemon option
Remi Gacogne [Mon, 26 Mar 2018 15:19:46 +0000 (17:19 +0200)]
dnsdist: Remove the --daemon option

We keep finding bugs with this option because we don't use it on a
regular basis and most users run dnsdist under some kind of
supervision anyway.

6 years agoMerge pull request #6378 from rgacogne/dnsdist-copy-less
Remi Gacogne [Mon, 26 Mar 2018 14:53:19 +0000 (16:53 +0200)]
Merge pull request #6378 from rgacogne/dnsdist-copy-less

dnsdist: Reduce the amount of times we copy our shared objects

6 years agoMerge pull request #6384 from rgacogne/dnsdist-dynbpf-log
Remi Gacogne [Mon, 26 Mar 2018 14:53:02 +0000 (16:53 +0200)]
Merge pull request #6384 from rgacogne/dnsdist-dynbpf-log

 dnsdist: Log when we add an eBPF dynamic block, like regular ones

6 years agodnsdist: Fix concat of the console msg length to the error message
Remi Gacogne [Mon, 26 Mar 2018 14:51:55 +0000 (16:51 +0200)]
dnsdist: Fix concat of the console msg length to the error message

6 years agoauth: skip mailbox tests with mydns,tinydns and ldap backends
Charles-Henri Bruyand [Mon, 26 Mar 2018 12:38:50 +0000 (14:38 +0200)]
auth: skip mailbox tests with mydns,tinydns and ldap backends

6 years agodnsdist: Unbreak addBPFFilterDynBlocks()
Remi Gacogne [Mon, 26 Mar 2018 10:58:39 +0000 (12:58 +0200)]
dnsdist: Unbreak addBPFFilterDynBlocks()

The `exceed*()` functions return a different kind of map since
f83271250e7df637d544b98862341660c7376e3e and I forgot to update
`addBPFFilterDynBlocks()` accordingly.

6 years agodnsdist: Log when we add an EBPF dynamic block, like regular ones
Remi Gacogne [Mon, 26 Mar 2018 10:27:46 +0000 (12:27 +0200)]
dnsdist: Log when we add an EBPF dynamic block, like regular ones

6 years agoauth: add support for MB and MG RR types
Charles-Henri Bruyand [Thu, 22 Mar 2018 01:29:34 +0000 (02:29 +0100)]
auth: add support for MB and MG RR types

6 years agoremove useless lines
Peter van Dijk [Mon, 26 Mar 2018 08:47:26 +0000 (10:47 +0200)]
remove useless lines

6 years agodnsdist: Reduce the amount of times we copy our shared objects
Remi Gacogne [Thu, 22 Mar 2018 17:44:41 +0000 (18:44 +0100)]
dnsdist: Reduce the amount of times we copy our shared objects

6 years agoMerge pull request #6355 from chbruyand/recursor-issue-6321
Pieter Lexis [Mon, 26 Mar 2018 07:59:10 +0000 (09:59 +0200)]
Merge pull request #6355 from chbruyand/recursor-issue-6321

recursor: Add options to tune udp source ports

6 years agoMerge pull request #6381 from rgacogne/dnsdist-serverpool-mutex
Pieter Lexis [Mon, 26 Mar 2018 07:58:49 +0000 (09:58 +0200)]
Merge pull request #6381 from rgacogne/dnsdist-serverpool-mutex

dnsdist: Use a separate lock for accessing the pool's servers

6 years agoMerge pull request #6379 from pieterlexis/rec-rpz-stats
Pieter Lexis [Mon, 26 Mar 2018 07:58:25 +0000 (09:58 +0200)]
Merge pull request #6379 from pieterlexis/rec-rpz-stats

Recursor: Add RPZ statistics endpoint

6 years agoMerge pull request #6380 from rgacogne/no-vlas
Pieter Lexis [Mon, 26 Mar 2018 07:58:07 +0000 (09:58 +0200)]
Merge pull request #6380 from rgacogne/no-vlas

Remove VLAs

6 years agoMerge pull request #6375 from krionbsd/dnsdist
Remi Gacogne [Sat, 24 Mar 2018 12:14:05 +0000 (13:14 +0100)]
Merge pull request #6375 from krionbsd/dnsdist

Add '?' for providing help() output on dnsdist -c

6 years agoMerge pull request #6382 from rgacogne/dnsdist-nodnscrypt
Remi Gacogne [Sat, 24 Mar 2018 12:13:20 +0000 (13:13 +0100)]
Merge pull request #6382 from rgacogne/dnsdist-nodnscrypt

dnsdist: Fix building when DNSCrypt support is not enabled

6 years agodnsdist: Use a separate lock for accessing the pool's servers
Remi Gacogne [Fri, 23 Mar 2018 22:13:52 +0000 (23:13 +0100)]
dnsdist: Use a separate lock for accessing the pool's servers

We used to hold the Lua lock while applying the load-balancing policy
to select a backend, which is only needed by Lua policies, not core
ones. We do need a lock to make sure that the vector of servers is
not altered under our feet, but a per-pool read-write lock is enough
and reduces contention a lot, especially when the maintenance thread
is doing some heavy-lifting.

6 years agodnsdist: Build without DNSCrypt support
Remi Gacogne [Fri, 23 Mar 2018 17:58:57 +0000 (18:58 +0100)]
dnsdist: Build without DNSCrypt support

6 years agoUse obj.data() instead of &obj.at(0) to prevent exception
Remi Gacogne [Fri, 23 Mar 2018 16:11:43 +0000 (17:11 +0100)]
Use obj.data() instead of &obj.at(0) to prevent exception

In case of a 0-sized container, &obj.at(0) would throw an exception
even if we don't intend to use the pointer afterward.
obj.data is required to provide a non-nullptr pointer that we should
not dereference for most containers (except strings since C++11),
but that's fine for the way we intend (not to) use it.

6 years agotravis: Add -Werror=vla to prevent the use of VLAs
Remi Gacogne [Fri, 23 Mar 2018 11:25:05 +0000 (12:25 +0100)]
travis: Add -Werror=vla to prevent the use of VLAs

6 years agoauth: Remove VLAs
Remi Gacogne [Fri, 23 Mar 2018 11:21:51 +0000 (12:21 +0100)]
auth: Remove VLAs

6 years agoRemove VLAs in the OpenSSL signer code
Remi Gacogne [Fri, 23 Mar 2018 11:20:38 +0000 (12:20 +0100)]
Remove VLAs in the OpenSSL signer code

6 years agoMerge pull request #6344 from rgacogne/rec-lua-ffi-clean
Pieter Lexis [Fri, 23 Mar 2018 12:30:10 +0000 (13:30 +0100)]
Merge pull request #6344 from rgacogne/rec-lua-ffi-clean

rec: Add a new Lua FFI hook, gettag_ffi

6 years agorec: Add RPZ statistics docs
Pieter Lexis [Fri, 23 Mar 2018 11:25:24 +0000 (12:25 +0100)]
rec: Add RPZ statistics docs

6 years agorec: move the rpz stats to a different url
Pieter Lexis [Fri, 23 Mar 2018 11:02:42 +0000 (12:02 +0100)]
rec: move the rpz stats to a different url

6 years agoixfr: Get rid of a VLA (and two copies) in getIXFRDeltas()
Remi Gacogne [Fri, 23 Mar 2018 10:16:03 +0000 (11:16 +0100)]
ixfr: Get rid of a VLA (and two copies) in getIXFRDeltas()

6 years agorec: Get rid of a VLA (and a copy) in handleUDPServerResponse()
Remi Gacogne [Fri, 23 Mar 2018 10:14:57 +0000 (11:14 +0100)]
rec: Get rid of a VLA (and a copy) in handleUDPServerResponse()

6 years agorec: save rpzStats as a shared_ptr
Pieter Lexis [Fri, 23 Mar 2018 10:11:52 +0000 (11:11 +0100)]
rec: save rpzStats as a shared_ptr

6 years agorec: update the number of records in the RPZ stats
Pieter Lexis [Fri, 23 Mar 2018 09:57:47 +0000 (10:57 +0100)]
rec: update the number of records in the RPZ stats

6 years agoRemove a VLA in waitForMultiData()
Remi Gacogne [Fri, 23 Mar 2018 09:43:21 +0000 (10:43 +0100)]
Remove a VLA in waitForMultiData()

6 years agodnsdist: Get rid of a VLA in TCP workers
Remi Gacogne [Fri, 23 Mar 2018 09:42:49 +0000 (10:42 +0100)]
dnsdist: Get rid of a VLA in TCP workers

6 years agodnsdist: Get rid of VLAs in the console
Remi Gacogne [Mon, 19 Mar 2018 13:00:26 +0000 (14:00 +0100)]
dnsdist: Get rid of VLAs in the console

6 years agoExpose rpz stats in the web-interface
Pieter Lexis [Thu, 22 Mar 2018 16:53:00 +0000 (17:53 +0100)]
Expose rpz stats in the web-interface

6 years ago[WIP] rec: Add metrics for RPZ zones
Remi Gacogne [Tue, 6 Mar 2018 11:07:10 +0000 (12:07 +0100)]
[WIP] rec: Add metrics for RPZ zones

[ci skip]

6 years agoMerge pull request #6317 from rgacogne/dnsdist-source-ports
Pieter Lexis [Thu, 22 Mar 2018 13:43:13 +0000 (14:43 +0100)]
Merge pull request #6317 from rgacogne/dnsdist-source-ports

dnsdist: Add an option to use several source ports toward a backend

6 years agoMerge pull request #6069 from Habbie/no-more-bootstrap
Pieter Lexis [Thu, 22 Mar 2018 09:47:31 +0000 (10:47 +0100)]
Merge pull request #6069 from Habbie/no-more-bootstrap

[WIP] get rid of useless bootstrap scripts; related cleanups

6 years agoMerge pull request #6045 from rgacogne/dnscrypt-xchacha20
Pieter Lexis [Thu, 22 Mar 2018 09:47:16 +0000 (10:47 +0100)]
Merge pull request #6045 from rgacogne/dnscrypt-xchacha20

dnsdist: Implement xchacha20 support for DNSCrypt

6 years agoMerge pull request #6374 from chbruyand/auth-quiet-rectify
Pieter Lexis [Wed, 21 Mar 2018 17:53:07 +0000 (18:53 +0100)]
Merge pull request #6374 from chbruyand/auth-quiet-rectify

auth: add quiet modifier to pdnsutil rectify-all-zones command

6 years agodnsdist: Add DynBlockRulesGroup
Remi Gacogne [Wed, 21 Mar 2018 16:23:50 +0000 (17:23 +0100)]
dnsdist: Add DynBlockRulesGroup

The new `DynBlockRulesGroup` object is designed to make the processing
of multiple rate-limiting rules faster by walking the query and
response buffers only once for each invocation, instead of once per
existing `exceed*()` invocation.

For example, instead of having something like:
```
function maintenance()
  addDynBlocks(exceedQRate(30, 10), "Exceeded query rate", 60)
  addDynBlocks(exceedNXDOMAINs(20, 10), "Exceeded NXD rate", 60)
  addDynBlocks(exceedServFails(20, 10), "Exceeded ServFail rate", 60)
  addDynBlocks(exceedQTypeRate(dnsdist.ANY, 5, 10), "Exceeded ANY rate", 60)
  addDynBlocks(exceedRespByterate(1000000, 10), "Exceeded resp BW rate", 60)
end
```

The new syntax would be:
```
local dbr = dynBlockRulesGroup()
dbr:setQueryRate(30, 10, "Exceeded query rate", 60)
dbr:setRCodeRate(dnsdist.NXDOMAIN, 20, 10, "Exceeded NXD rate", 60)
dbr:setRCodeRate(dnsdist.SERVFAIL, 20, 10, "Exceeded ServFail rate", 60)
dbr:setQTypeRate(dnsdist.ANY, 5, 10, "Exceeded ANY rate", 60)
dbr:setResponseByteRate(10000, 10, "Exceeded resp BW rate", 60)

function maintenance()
  dbr:apply()
end
```

The old syntax would walk the query buffer 2 times and the response
one 3 times, while the new syntax does it only once for each.
It also reuse the same internal table to keep track of the source
IPs, reducing the CPU usage.

6 years agoAdd missing README symlink
Pieter Lexis [Wed, 21 Mar 2018 16:20:43 +0000 (17:20 +0100)]
Add missing README symlink

6 years agoSmall documentation fixes
Pieter Lexis [Wed, 21 Mar 2018 16:17:29 +0000 (17:17 +0100)]
Small documentation fixes

6 years agoauth: lower 'packet too short' loglevel
Pieter Lexis [Tue, 27 Feb 2018 14:19:56 +0000 (15:19 +0100)]
auth: lower 'packet too short' loglevel

It might be a pretty common error if there is a bad recursor or client,
leading to potential a logging overdose.