]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
6 years agodnsdist: account latency for responses to TCP queries
Chris Hofstaedtler [Tue, 20 Feb 2018 18:21:09 +0000 (19:21 +0100)] 
dnsdist: account latency for responses to TCP queries

6 years agodnsdist: update latency stats for all UDP responses
Chris Hofstaedtler [Tue, 20 Feb 2018 17:57:36 +0000 (18:57 +0100)] 
dnsdist: update latency stats for all UDP responses

6 years agodnsdist: update self-answered only for actually sent UDP responses
Chris Hofstaedtler [Tue, 20 Feb 2018 17:53:44 +0000 (18:53 +0100)] 
dnsdist: update self-answered only for actually sent UDP responses

Similar to TCP handler, similar to cacheHits case.

6 years agodnsdist responderThread: rename state to dss
Chris Hofstaedtler [Tue, 20 Feb 2018 17:00:09 +0000 (18:00 +0100)] 
dnsdist responderThread: rename state to dss

6 years agoMerge pull request #6283 from zeha/dnsdist-luaaction-error
Remi Gacogne [Tue, 20 Feb 2018 08:39:01 +0000 (09:39 +0100)] 
Merge pull request #6283 from zeha/dnsdist-luaaction-error

dnsdist: Report Lua(Response)Action failures

6 years agotests: Add rule-servfail to test_API 6283/head
Chris Hofstaedtler [Mon, 19 Feb 2018 18:12:11 +0000 (19:12 +0100)] 
tests: Add rule-servfail to test_API

6 years agoReport Lua(Response)Action failures
Chris Hofstaedtler [Mon, 19 Feb 2018 18:03:34 +0000 (19:03 +0100)] 
Report Lua(Response)Action failures

6 years agoMerge pull request #6279 from zeha/dnsdist-qtag-cleanup
Remi Gacogne [Mon, 19 Feb 2018 17:35:14 +0000 (18:35 +0100)] 
Merge pull request #6279 from zeha/dnsdist-qtag-cleanup

dnsdist: Clean up QTag code

6 years agoClean up QTag code 6279/head
Chris Hofstaedtler [Mon, 19 Feb 2018 13:50:00 +0000 (14:50 +0100)] 
Clean up QTag code

6 years agoMerge pull request #6268 from pieterlexis/ixfrdist-timeout
Peter van Dijk [Mon, 19 Feb 2018 10:55:11 +0000 (11:55 +0100)] 
Merge pull request #6268 from pieterlexis/ixfrdist-timeout

ixfrdist: Allow setting the inbound AXFR timeout

6 years agoixfrdist AXFR timeout: pass the remaining time to getChunk 6268/head
Pieter Lexis [Fri, 16 Feb 2018 17:50:37 +0000 (18:50 +0100)] 
ixfrdist AXFR timeout: pass the remaining time to getChunk

6 years agoMerge remote-tracking branch 'origin/master' into ixfrdist-timeout
Pieter Lexis [Fri, 16 Feb 2018 17:40:25 +0000 (18:40 +0100)] 
Merge remote-tracking branch 'origin/master' into ixfrdist-timeout

6 years agoixfrdist: Make timeout for the whole AXFR
Pieter Lexis [Fri, 16 Feb 2018 17:39:06 +0000 (18:39 +0100)] 
ixfrdist: Make timeout for the whole AXFR

6 years agoMerge pull request #6256 from jpmens/patch-9
Pieter Lexis [Fri, 16 Feb 2018 17:20:08 +0000 (18:20 +0100)] 
Merge pull request #6256 from jpmens/patch-9

Change wording to indicate may not XFR instead of cannot

6 years agoMerge pull request #6262 from mheiland/patch-1
Pieter Lexis [Fri, 16 Feb 2018 17:19:49 +0000 (18:19 +0100)] 
Merge pull request #6262 from mheiland/patch-1

Making swagger code-gen happy.

6 years agoMerge pull request #6269 from pieterlexis/ixfrdist-privdrop
Pieter Lexis [Fri, 16 Feb 2018 17:19:34 +0000 (18:19 +0100)] 
Merge pull request #6269 from pieterlexis/ixfrdist-privdrop

ixfrdist: Implement priv-dropping

6 years agoMerge pull request #6273 from pieterlexis/auth-411-secpol
Pieter Lexis [Fri, 16 Feb 2018 15:07:05 +0000 (16:07 +0100)] 
Merge pull request #6273 from pieterlexis/auth-411-secpol

Add Auth 4.1.1 secpoll

6 years agoMerge pull request #6274 from ffledgling/4.1.1-changelog
Peter van Dijk [Fri, 16 Feb 2018 14:59:31 +0000 (15:59 +0100)] 
Merge pull request #6274 from ffledgling/4.1.1-changelog

Update 4.1 changelog for auth-4.1.1 release

6 years agoUpdate 4.1 changelog for auth-4.1.1 release 6274/head
Anhad Jai Singh [Fri, 16 Feb 2018 13:44:29 +0000 (19:14 +0530)] 
Update 4.1 changelog for auth-4.1.1 release

PRs part of this release are:
* 6261, 6260 - backports PRs, originals are

  6261:
  * 6077
  * 6048
  * 6172
  * 6134
  * 6129
  * 6122
  * 6103
  * 6041

  6260:
  * 6029

6 years agoAdd Auth 4.1.1 secpoll 6273/head
Pieter Lexis [Fri, 16 Feb 2018 13:45:08 +0000 (14:45 +0100)] 
Add Auth 4.1.1 secpoll

6 years agoMerge pull request #6267 from rgacogne/dnsdist-1.2.1-changelog
Remi Gacogne [Fri, 16 Feb 2018 10:17:14 +0000 (11:17 +0100)] 
Merge pull request #6267 from rgacogne/dnsdist-1.2.1-changelog

dnsdist: Update the ChangeLog for the 1.2.1 release

6 years agodnsdist: Fix a typo in the 1.2.1 changelog 6267/head
Remi Gacogne [Fri, 16 Feb 2018 09:12:30 +0000 (10:12 +0100)] 
dnsdist: Fix a typo in the 1.2.1 changelog

6 years agodnsdist: Update the release date for 1.2.1
Remi Gacogne [Thu, 15 Feb 2018 15:43:33 +0000 (16:43 +0100)] 
dnsdist: Update the release date for 1.2.1

6 years agoMerge pull request #6264 from pieterlexis/ixfrdist-nullptr
Remi Gacogne [Thu, 15 Feb 2018 10:29:07 +0000 (11:29 +0100)] 
Merge pull request #6264 from pieterlexis/ixfrdist-nullptr

ixfrdist: Prevent a nullptr exception and guard reads/writes

6 years agoixfrdist: Implement priv-dropping 6269/head
Pieter Lexis [Wed, 14 Feb 2018 15:42:49 +0000 (16:42 +0100)] 
ixfrdist: Implement priv-dropping

Closes #6265

6 years agoMerge pull request #6257 from Habbie/dnsdist-test-format
Remi Gacogne [Wed, 14 Feb 2018 14:38:41 +0000 (15:38 +0100)] 
Merge pull request #6257 from Habbie/dnsdist-test-format

dnsdist: fix error formatting

6 years agoixfrdist: Allow setting the inbound AXFR timeout
Pieter Lexis [Wed, 14 Feb 2018 12:58:15 +0000 (13:58 +0100)] 
ixfrdist: Allow setting the inbound AXFR timeout

6 years agoixfrdist: Guard all find()s with a mutex 6264/head
Pieter Lexis [Wed, 14 Feb 2018 12:55:35 +0000 (13:55 +0100)] 
ixfrdist: Guard all find()s with a mutex

6 years agodnsdist: Update the ChangeLog for the 1.2.1 release
Remi Gacogne [Wed, 14 Feb 2018 10:30:13 +0000 (11:30 +0100)] 
dnsdist: Update the ChangeLog for the 1.2.1 release

6 years agoixfrdist: Guard all reads and writes on g_soas
Pieter Lexis [Wed, 14 Feb 2018 10:41:18 +0000 (11:41 +0100)] 
ixfrdist: Guard all reads and writes on g_soas

6 years agoixfrdist: Prevent a nullptr exception
Pieter Lexis [Wed, 14 Feb 2018 10:00:54 +0000 (11:00 +0100)] 
ixfrdist: Prevent a nullptr exception

6 years agoMerge pull request #6237 from aerique:bugfix/rec-rpz-zone-load-fail
aerique [Tue, 13 Feb 2018 15:44:34 +0000 (16:44 +0100)] 
Merge pull request #6237 from aerique:bugfix/rec-rpz-zone-load-fail

Retry loading RPZ zones from server.

6 years agoAlso fixing duplicate mapping key 6262/head
Martin Heiland [Tue, 13 Feb 2018 14:09:54 +0000 (15:09 +0100)] 
Also fixing duplicate mapping key

6 years agoMaking swagger code-gen happy.
Martin Heiland [Tue, 13 Feb 2018 14:04:18 +0000 (15:04 +0100)] 
Making swagger code-gen happy.

6 years agoMerge pull request #6258 from rgacogne/ixfrdist-serial-verbose
Remi Gacogne [Tue, 13 Feb 2018 09:15:10 +0000 (10:15 +0100)] 
Merge pull request #6258 from rgacogne/ixfrdist-serial-verbose

ixfrdist: Check the serial even if verbose is off

6 years agoMerge pull request #6259 from Habbie/dnsdist-test-ports
Peter van Dijk [Mon, 12 Feb 2018 21:17:00 +0000 (22:17 +0100)] 
Merge pull request #6259 from Habbie/dnsdist-test-ports

dnsdist: avoid port reuse in tests

6 years agodnsdist: avoid port reuse in tests 6259/head
Peter van Dijk [Mon, 12 Feb 2018 19:27:17 +0000 (20:27 +0100)] 
dnsdist: avoid port reuse in tests

6 years agoixfrdist: Check the serial even if verbose is off 6258/head
Remi Gacogne [Mon, 12 Feb 2018 14:26:00 +0000 (15:26 +0100)] 
ixfrdist: Check the serial even if verbose is off

6 years agodnsdist: fix error formatting 6257/head
Peter van Dijk [Mon, 12 Feb 2018 13:16:05 +0000 (14:16 +0100)] 
dnsdist: fix error formatting

6 years agoChange wording to indicate may not XFR instead of cannot 6256/head
JP Mens [Mon, 12 Feb 2018 08:37:37 +0000 (09:37 +0100)] 
Change wording to indicate may not XFR instead of cannot

When a client has no permission to AXFR a zone from a server, the following diagnostics are logged:

```
AXFR of domain 'example' denied: client IP 10.0.0.1 has no permission
AXFR of domain 'example' failed: 10.0.0.1 cannot request AXFR
```

I feel the word _cannot_ is incorrect and should be _may not_ to indicate permission.

6 years agoMerge pull request #6254 from pieterlexis/fix-el6
Pieter Lexis [Sat, 10 Feb 2018 10:11:00 +0000 (11:11 +0100)] 
Merge pull request #6254 from pieterlexis/fix-el6

EL6: fix dnsdist builds

6 years agoMerge pull request #6253 from zeha/dnsdist-uuid-no-protobuf
Pieter Lexis [Sat, 10 Feb 2018 10:10:41 +0000 (11:10 +0100)] 
Merge pull request #6253 from zeha/dnsdist-uuid-no-protobuf

dnsdist: fix build without protobuf

6 years agodnsdist: fix build without protobuf 6253/head
Chris Hofstaedtler [Fri, 9 Feb 2018 19:29:18 +0000 (20:29 +0100)] 
dnsdist: fix build without protobuf

6 years agoEL6: fix dnsdist builds 6254/head
Pieter Lexis [Fri, 9 Feb 2018 21:03:47 +0000 (22:03 +0100)] 
EL6: fix dnsdist builds

6 years agoMerge pull request #6235 from pieterlexis/ixfrdist
Pieter Lexis [Thu, 8 Feb 2018 15:30:56 +0000 (16:30 +0100)] 
Merge pull request #6235 from pieterlexis/ixfrdist

New tool: ixfrdist

6 years agoAdd ixfrdist to tool package 6235/head
Pieter Lexis [Wed, 7 Feb 2018 09:40:51 +0000 (10:40 +0100)] 
Add ixfrdist to tool package

6 years agoMerge pull request #6170 from zeha/dnstap
bert hubert [Mon, 5 Feb 2018 15:09:03 +0000 (16:09 +0100)] 
Merge pull request #6170 from zeha/dnstap

dnsdist: Add simple dnstap logging

6 years agoMerge pull request #2603 from zeha/api-responsestats
bert hubert [Mon, 5 Feb 2018 15:08:42 +0000 (16:08 +0100)] 
Merge pull request #2603 from zeha/api-responsestats

Expose ResponseStats via REST API

6 years agoMerge pull request #6134 from rgacogne/auth-mysql-multi-results-set
Pieter Lexis [Fri, 2 Feb 2018 09:42:27 +0000 (10:42 +0100)] 
Merge pull request #6134 from rgacogne/auth-mysql-multi-results-set

auth: Always bind the results array after executing a MySQL statement

6 years agoMerge pull request #6234 from cmouse/fixme
Pieter Lexis [Fri, 2 Feb 2018 09:39:43 +0000 (10:39 +0100)] 
Merge pull request #6234 from cmouse/fixme

Some Fixmes

6 years agoixfrdist: Add an ACL option
Pieter Lexis [Tue, 30 Jan 2018 13:47:12 +0000 (14:47 +0100)] 
ixfrdist: Add an ACL option

6 years agoMerge pull request #6227 from pieterlexis/docs-docs-docs
Pieter Lexis [Mon, 29 Jan 2018 09:10:15 +0000 (10:10 +0100)] 
Merge pull request #6227 from pieterlexis/docs-docs-docs

docs: Ensure Lua objects and their attributes are layed-out

6 years agoixfrdist: use pollmplexer instead of selectmplexer
Pieter Lexis [Fri, 26 Jan 2018 10:18:58 +0000 (11:18 +0100)] 
ixfrdist: use pollmplexer instead of selectmplexer

6 years agoixfrdist: use ComboAddress::isIPv4()
Pieter Lexis [Wed, 24 Jan 2018 15:33:23 +0000 (16:33 +0100)] 
ixfrdist: use ComboAddress::isIPv4()

6 years agoixfrdist: Better exit message on second stop
Pieter Lexis [Wed, 24 Jan 2018 15:32:01 +0000 (16:32 +0100)] 
ixfrdist: Better exit message on second stop

6 years agoixfrdist: clean up argument processing
Pieter Lexis [Wed, 24 Jan 2018 15:29:05 +0000 (16:29 +0100)] 
ixfrdist: clean up argument processing

6 years agoixfrdist: clean up downloaded zones
Pieter Lexis [Wed, 24 Jan 2018 15:26:02 +0000 (16:26 +0100)] 
ixfrdist: clean up downloaded zones

6 years agoixfrdist: don't crash on wrong options
Pieter Lexis [Wed, 24 Jan 2018 10:58:23 +0000 (11:58 +0100)] 
ixfrdist: don't crash on wrong options

6 years agoixfrdist: prevent errno clobbering from CA::toStringWithPort
Pieter Lexis [Mon, 22 Jan 2018 12:05:33 +0000 (13:05 +0100)] 
ixfrdist: prevent errno clobbering from CA::toStringWithPort

6 years agoixfrdist: switch to std::thread and some update interval fixes
Pieter Lexis [Sat, 20 Jan 2018 12:05:03 +0000 (13:05 +0100)] 
ixfrdist: switch to std::thread and some update interval fixes

6 years agoixfrdist: include iputils.hh
Pieter Lexis [Sat, 20 Jan 2018 11:47:07 +0000 (12:47 +0100)] 
ixfrdist: include iputils.hh

6 years agoixfrdist: better logging on exit
Pieter Lexis [Fri, 19 Jan 2018 16:40:16 +0000 (17:40 +0100)] 
ixfrdist: better logging on exit

6 years agoixfrdist: use our socket convience functions
Pieter Lexis [Fri, 19 Jan 2018 16:32:43 +0000 (17:32 +0100)] 
ixfrdist: use our socket convience functions

6 years agoixfrdist: add manpage
Pieter Lexis [Fri, 19 Jan 2018 15:20:42 +0000 (16:20 +0100)] 
ixfrdist: add manpage

6 years agoixfrdist: set the connected XFR socket to blocking
Pieter Lexis [Fri, 19 Jan 2018 13:23:46 +0000 (14:23 +0100)] 
ixfrdist: set the connected XFR socket to blocking

6 years agoixfrdist: Chunk the {A,I}XFR packets.
Pieter Lexis [Fri, 19 Jan 2018 12:45:20 +0000 (13:45 +0100)] 
ixfrdist: Chunk the {A,I}XFR packets.

Really stupid implementation, one message per RR.

6 years agoixfrdist: safely exit, ensure sockets can be reused
Pieter Lexis [Fri, 19 Jan 2018 12:00:44 +0000 (13:00 +0100)] 
ixfrdist: safely exit, ensure sockets can be reused

6 years agoixfrdist: Send AXFR or SOA on certain IXFR requests
Pieter Lexis [Fri, 19 Jan 2018 10:25:03 +0000 (11:25 +0100)] 
ixfrdist: Send AXFR or SOA on certain IXFR requests

6 years agoixfrdist: fix AXFR fallback
Pieter Lexis [Fri, 19 Jan 2018 09:58:34 +0000 (10:58 +0100)] 
ixfrdist: fix AXFR fallback

6 years agodnsparser: don't make UnknownRecordContent on IXFR
Pieter Lexis [Fri, 19 Jan 2018 09:42:24 +0000 (10:42 +0100)] 
dnsparser: don't make UnknownRecordContent on IXFR

IXFRs contain the SOA of the client client's zone-version in the
AUTHORITY section. Parse it properly so the ixfrdistributor can use it.

6 years agoixfr: Fix int/uint issue when writing files to disk
Pieter Lexis [Thu, 18 Jan 2018 15:50:21 +0000 (16:50 +0100)] 
ixfr: Fix int/uint issue when writing files to disk

6 years agoixfrdist: WIP IXFR support
Pieter Lexis [Thu, 18 Jan 2018 14:48:28 +0000 (15:48 +0100)] 
ixfrdist: WIP IXFR support

6 years agoixfrdist: initialize fromlen
Pieter Lexis [Thu, 18 Jan 2018 12:52:50 +0000 (13:52 +0100)] 
ixfrdist: initialize fromlen

6 years agoixfrdist: add AXFR capability
Pieter Lexis [Thu, 18 Jan 2018 12:44:00 +0000 (13:44 +0100)] 
ixfrdist: add AXFR capability

6 years agoixfrdist: switch to one-line messages
Pieter Lexis [Wed, 17 Jan 2018 18:50:38 +0000 (19:50 +0100)] 
ixfrdist: switch to one-line messages

6 years agoixfrdist: working UDP and TCP SOA queries and update thread
Pieter Lexis [Wed, 17 Jan 2018 18:36:30 +0000 (19:36 +0100)] 
ixfrdist: working UDP and TCP SOA queries and update thread

6 years agoixfrdist: add listen sockets
Pieter Lexis [Wed, 10 Jan 2018 17:02:00 +0000 (18:02 +0100)] 
ixfrdist: add listen sockets

6 years agoixfrdist: improve error messages
Pieter Lexis [Wed, 10 Jan 2018 16:17:09 +0000 (17:17 +0100)] 
ixfrdist: improve error messages

6 years agoixfrdist: first implementation of the update thread
Pieter Lexis [Wed, 10 Jan 2018 16:15:06 +0000 (17:15 +0100)] 
ixfrdist: first implementation of the update thread

6 years agoixfrdist: clean up includes
Pieter Lexis [Wed, 10 Jan 2018 12:46:36 +0000 (13:46 +0100)] 
ixfrdist: clean up includes

6 years agoixplore: Move defs and functs to header for reuse
Pieter Lexis [Wed, 10 Jan 2018 12:36:26 +0000 (13:36 +0100)] 
ixplore: Move defs and functs to header for reuse

6 years agoInitial options for ixfrdist
Pieter Lexis [Wed, 10 Jan 2018 12:11:44 +0000 (13:11 +0100)] 
Initial options for ixfrdist

6 years agoixplore: fix all indenting, no functional changes
Pieter Lexis [Wed, 10 Jan 2018 10:33:09 +0000 (11:33 +0100)] 
ixplore: fix all indenting, no functional changes

6 years agoMerge pull request #6230 from ahupowerdns/deselectmplexer
bert hubert [Sun, 28 Jan 2018 12:47:43 +0000 (13:47 +0100)] 
Merge pull request #6230 from ahupowerdns/deselectmplexer

remove all traces of selectmplexer, fix up pollmplexer

6 years agoUse DNSName in RecordTextReader 6234/head
Aki Tuomi [Sat, 27 Jan 2018 23:18:15 +0000 (01:18 +0200)] 
Use DNSName in RecordTextReader

6 years agotinydnsbackend: Use toDNSStringLC since lowercase is preferred
Aki Tuomi [Sat, 27 Jan 2018 21:56:21 +0000 (23:56 +0200)] 
tinydnsbackend: Use toDNSStringLC since lowercase is preferred

Fixes fixme

6 years agoMerge pull request #6229 from ahupowerdns/add-single-character-label-test
bert hubert [Fri, 26 Jan 2018 18:10:05 +0000 (19:10 +0100)] 
Merge pull request #6229 from ahupowerdns/add-single-character-label-test

add a test for single character labels in dnsname and how they compare

6 years agoremove selectmplexer reference from nproxy and generalize getMplexer() so nproxy... 6230/head
bert hubert [Fri, 26 Jan 2018 09:06:11 +0000 (10:06 +0100)] 
remove selectmplexer reference from nproxy and generalize getMplexer() so nproxy and dnsdist can both use it.
Removed some final traces from SelectFDMplexer from mplexer.hh too.

6 years agoremove all traces of selectmplexer, fix up pollmplexer
bert hubert [Thu, 25 Jan 2018 21:57:11 +0000 (22:57 +0100)] 
remove all traces of selectmplexer, fix up pollmplexer
select is scary when a lot of file descriptors are used. Use poll.

6 years agoadd a test for single character labels and how they compare after our 'a.root-servers... 6229/head
bert hubert [Thu, 25 Jan 2018 21:32:54 +0000 (22:32 +0100)] 
add a test for single character labels and how they compare after our 'a.root-servers.net' scare (which turned out to be unrelated)

6 years agoMerge pull request #6226 from gryphius/doc-master-mention-slave-renotify
Pieter Lexis [Thu, 25 Jan 2018 17:19:16 +0000 (18:19 +0100)] 
Merge pull request #6226 from gryphius/doc-master-mention-slave-renotify

mention slave-renotify in notification warnings

6 years agodocs: better layout of Lua objects in dnsdist docs 6227/head
Pieter Lexis [Thu, 25 Jan 2018 17:11:08 +0000 (18:11 +0100)] 
docs: better layout of Lua objects in dnsdist docs

6 years agodocs: Fix ref
Pieter Lexis [Thu, 25 Jan 2018 16:23:18 +0000 (17:23 +0100)] 
docs: Fix ref

6 years agodocs: squash some warnings
Pieter Lexis [Thu, 25 Jan 2018 16:22:13 +0000 (17:22 +0100)] 
docs: squash some warnings

6 years agodocs: Layout the Lua scripting docs better
Pieter Lexis [Thu, 25 Jan 2018 16:19:40 +0000 (17:19 +0100)] 
docs: Layout the Lua scripting docs better

Add missing functions, fix broken attributes and methods.

6 years agomention slave-renotify in notification warnings 6226/head
Oli Schacher [Thu, 25 Jan 2018 15:01:36 +0000 (16:01 +0100)] 
mention slave-renotify in notification warnings

6 years agoMerge pull request #6172 from cassvin/ixfr
Pieter Lexis [Thu, 25 Jan 2018 12:29:10 +0000 (13:29 +0100)] 
Merge pull request #6172 from cassvin/ixfr

IXFR: correct behavior of dealing with DNS Name with multiple records; speed up IXFR transaction

6 years agoMerge pull request #6152 from zeha/bb2-note-error
Pieter Lexis [Thu, 25 Jan 2018 11:46:47 +0000 (12:46 +0100)] 
Merge pull request #6152 from zeha/bb2-note-error

bindbackend: handle std::exception during startup zone-parsing

6 years agoMerge pull request #6144 from stbuehler/improve-tests-part-two
Pieter Lexis [Thu, 25 Jan 2018 11:46:15 +0000 (12:46 +0100)] 
Merge pull request #6144 from stbuehler/improve-tests-part-two

Improve  test-dnsrecords

6 years agoAdd dnstap-compatible protobuf support to dnsdist. 6170/head
Chris Hofstaedtler [Tue, 23 Jan 2018 14:36:45 +0000 (15:36 +0100)] 
Add dnstap-compatible protobuf support to dnsdist.

Based on a PR by Justin Valentini <jvalentini@dyn.com>.