]> granicus.if.org Git - pdns/log
pdns
7 years agoMerge pull request #5239 from rgacogne/dnsdist-debug-dynblocks-failures
Remi Gacogne [Fri, 14 Apr 2017 15:15:31 +0000 (17:15 +0200)]
Merge pull request #5239 from rgacogne/dnsdist-debug-dynblocks-failures

dnsdist: Add some debug to the DynBlocks regression tests

7 years agodnsdist: Add some debug to the DynBlocks regression tests
Remi Gacogne [Fri, 14 Apr 2017 08:09:14 +0000 (10:09 +0200)]
dnsdist: Add some debug to the DynBlocks regression tests

7 years agoMerge pull request #5230 from Habbie/dnsdist-unnest-error
bert hubert [Wed, 12 Apr 2017 11:16:58 +0000 (13:16 +0200)]
Merge pull request #5230 from Habbie/dnsdist-unnest-error

unnest Lua exceptions when they get all the way back to main()

7 years agoMerge pull request #5199 from ahupowerdns/dnsdistrekey
bert hubert [Wed, 12 Apr 2017 11:13:43 +0000 (13:13 +0200)]
Merge pull request #5199 from ahupowerdns/dnsdistrekey

setKey() was actually "appendKey()". In addition, '-k' would not override for server configuration

7 years agoMerge pull request #5234 from aerique/bugfix/5054-dnsdist-query-counters-integer...
bert hubert [Wed, 12 Apr 2017 11:13:04 +0000 (13:13 +0200)]
Merge pull request #5234 from aerique/bugfix/5054-dnsdist-query-counters-integer-overflows

Bugfix/5054 dnsdist query counters integer overflows

7 years agocheck new key before replacing old one.
bert hubert [Wed, 12 Apr 2017 09:42:14 +0000 (11:42 +0200)]
check new key before replacing old one.

7 years agoMerge pull request #5228 from mind04/order
Peter van Dijk [Tue, 11 Apr 2017 13:12:02 +0000 (15:12 +0200)]
Merge pull request #5228 from mind04/order

signpipe stumbles over interrupted rrsets

7 years agoFix "queries" overflow in dnsdist API.
Erik Winkels [Tue, 11 Apr 2017 12:22:30 +0000 (14:22 +0200)]
Fix "queries" overflow in dnsdist API.

The way it is currently fixed means that matches can still overflow
in the web interface because JavaScript has a 2^53 number limit.

However, this fix is in line with how earlier cases have been fixed.

This fixes issue #5054.

7 years agoFix matches overflow in dnsdist API.
Erik Winkels [Tue, 4 Apr 2017 14:40:32 +0000 (16:40 +0200)]
Fix matches overflow in dnsdist API.

The way it is currently fixed means that matches can still overflow
in the web interface because JavaScript has a 2^53 number limit.

However, this fix is in line with how earlier cases have been fixed.

7 years agoMerge pull request #5209 from ahupowerdns/lock-touches
bert hubert [Tue, 11 Apr 2017 11:43:06 +0000 (13:43 +0200)]
Merge pull request #5209 from ahupowerdns/lock-touches

make our Lock classes uncopyable, make ReadLock and WriteLock moveable.

7 years agoupdate tinydns data files
Kees Monshouwer [Tue, 11 Apr 2017 09:00:46 +0000 (11:00 +0200)]
update tinydns data files

7 years agoMerge pull request #5226 from pieterlexis/syncres-refactor-mv-negcache
Remi Gacogne [Tue, 11 Apr 2017 09:05:13 +0000 (11:05 +0200)]
Merge pull request #5226 from pieterlexis/syncres-refactor-mv-negcache

rec: Refactor the negative cache into a class

7 years agosignpipe stumbles over interrupted rrsets
Kees Monshouwer [Fri, 7 Apr 2017 20:51:06 +0000 (22:51 +0200)]
signpipe stumbles over interrupted rrsets

7 years agoMerge pull request #5231 from rgacogne/rec-rpz-clear-nsip
Pieter Lexis [Tue, 11 Apr 2017 08:15:37 +0000 (10:15 +0200)]
Merge pull request #5231 from rgacogne/rec-rpz-clear-nsip

rec: Clear the RPZ NS IP table when clearing the policy

7 years agoMerge pull request #5212 from tfarina/dns2-tolower
Pieter Lexis [Tue, 11 Apr 2017 07:47:24 +0000 (09:47 +0200)]
Merge pull request #5212 from tfarina/dns2-tolower

pdns: remove duplicated dns2_tolower() function

7 years agoMerge pull request #5229 from Habbie/sort-tinydns-data
Pieter Lexis [Tue, 11 Apr 2017 07:46:24 +0000 (09:46 +0200)]
Merge pull request #5229 from Habbie/sort-tinydns-data

sort tinydns data to reduce size of future diffs

7 years agorec: Clear the RPZ NS IP table when clearing the policy
Remi Gacogne [Mon, 10 Apr 2017 16:33:30 +0000 (18:33 +0200)]
rec: Clear the RPZ NS IP table when clearing the policy

Be it the entire policy object or a single zone.

7 years agorec NegCache: expired test for getRootNXTrust
Pieter Lexis [Mon, 10 Apr 2017 15:59:20 +0000 (17:59 +0200)]
rec NegCache: expired test for getRootNXTrust

7 years agorec NegCache: Add count() for QNAME|QTYPE
Pieter Lexis [Mon, 10 Apr 2017 15:58:55 +0000 (17:58 +0200)]
rec NegCache: Add count() for QNAME|QTYPE

7 years agounnest Lua exceptions when they get all the way back to main()
Peter van Dijk [Mon, 10 Apr 2017 14:05:07 +0000 (16:05 +0200)]
unnest Lua exceptions when they get all the way back to main()

7 years agoMerge pull request #4477 from KamagoNet/ldap-backend-update
Peter van Dijk [Mon, 10 Apr 2017 11:21:58 +0000 (13:21 +0200)]
Merge pull request #4477 from KamagoNet/ldap-backend-update

Ldap backend update

7 years agosort tinydns data to reduce size of future diffs
Peter van Dijk [Mon, 10 Apr 2017 09:51:44 +0000 (11:51 +0200)]
sort tinydns data to reduce size of future diffs

7 years agoMerge pull request #5200 from Habbie/luawrapper-downstream
Peter van Dijk [Mon, 10 Apr 2017 10:13:54 +0000 (12:13 +0200)]
Merge pull request #5200 from Habbie/luawrapper-downstream

downstream luawrapper changes

7 years agoMerge pull request #5204 from rgacogne/snmp-thread-move
Peter van Dijk [Mon, 10 Apr 2017 10:13:20 +0000 (12:13 +0200)]
Merge pull request #5204 from rgacogne/snmp-thread-move

SNMP: Let the compiler elide copy instead of calling the move ctor

7 years agorec: Add tests for NegCache::getRootNXTrust
Pieter Lexis [Mon, 10 Apr 2017 08:09:54 +0000 (10:09 +0200)]
rec: Add tests for NegCache::getRootNXTrust

7 years agorec negcache: check retval in test_add_updated_entry
Pieter Lexis [Mon, 10 Apr 2017 08:09:48 +0000 (10:09 +0200)]
rec negcache: check retval in test_add_updated_entry

7 years agorec: de-inline & document addTTLModifiedRecords
Pieter Lexis [Mon, 10 Apr 2017 08:08:24 +0000 (10:08 +0200)]
rec: de-inline & document addTTLModifiedRecords

7 years agorec negcache: Use single iterator in getRootNXTrust
Pieter Lexis [Mon, 10 Apr 2017 08:07:01 +0000 (10:07 +0200)]
rec negcache: Use single iterator in getRootNXTrust

7 years agoadd tests for lock.hh
bert hubert [Fri, 7 Apr 2017 13:09:01 +0000 (15:09 +0200)]
add tests for lock.hh

7 years agoremove upgrade(), make all Locks moveable
bert hubert [Fri, 7 Apr 2017 13:08:42 +0000 (15:08 +0200)]
remove upgrade(), make all Locks moveable

7 years agoremove a header boost complains is now deprecated.
bert hubert [Fri, 7 Apr 2017 13:08:12 +0000 (15:08 +0200)]
remove a header boost complains is now deprecated.

7 years agomake our Lock classes uncopyable, make ReadLock and WriteLock moveable.
bert hubert [Tue, 28 Mar 2017 08:19:38 +0000 (10:19 +0200)]
make our Lock classes uncopyable, make ReadLock and WriteLock moveable.

7 years agofix the tab issue in the other Makefiles as well
Thiago Farina [Fri, 7 Apr 2017 11:52:06 +0000 (08:52 -0300)]
fix the tab issue in the other Makefiles as well

7 years agouse tab instead of space to match the style in the Makefile.am
Thiago Farina [Fri, 7 Apr 2017 11:20:17 +0000 (08:20 -0300)]
use tab instead of space to match the style in the Makefile.am

7 years agoadd ascii.hh to the dnsdist_SOURCES and pdns_recursor_SOURCES variables
Thiago Farina [Sun, 2 Apr 2017 11:27:25 +0000 (08:27 -0300)]
add ascii.hh to the dnsdist_SOURCES and pdns_recursor_SOURCES variables

7 years agoadd ascii.hh to pdns_server_SOURCES
Thiago Farina [Sat, 1 Apr 2017 22:26:12 +0000 (19:26 -0300)]
add ascii.hh to pdns_server_SOURCES

7 years agopdns: remove duplicated dns2_tolower() function
Thiago Farina [Wed, 29 Mar 2017 01:12:43 +0000 (22:12 -0300)]
pdns: remove duplicated dns2_tolower() function

There is already a version of dns2_tolower() in misc.hh, called
simply dns_tolower(), but due to some inclusion issues it was necessary
to extract it into another header file (named ascii.hh).

7 years agoUse DNSName::getLastLabel()
Pieter Lexis [Fri, 7 Apr 2017 10:51:25 +0000 (12:51 +0200)]
Use DNSName::getLastLabel()

7 years agorec: ignore testrunner generated files
Pieter Lexis [Fri, 7 Apr 2017 10:44:35 +0000 (12:44 +0200)]
rec: ignore testrunner generated files

7 years agorec: Add unit tests for the NegCache
Pieter Lexis [Thu, 6 Apr 2017 11:41:40 +0000 (13:41 +0200)]
rec: Add unit tests for the NegCache

7 years agorec: Implement the negative cache as a class
Pieter Lexis [Wed, 5 Apr 2017 14:49:29 +0000 (16:49 +0200)]
rec: Implement the negative cache as a class

7 years agocachecleaner.hh: pragma once
Pieter Lexis [Wed, 5 Apr 2017 11:05:21 +0000 (13:05 +0200)]
cachecleaner.hh: pragma once

7 years agoremote_logger.hh: guard config.h include
Pieter Lexis [Wed, 5 Apr 2017 11:04:53 +0000 (13:04 +0200)]
remote_logger.hh: guard config.h include

7 years agoAdd a test for DNSName::getLastLabel()
Pieter Lexis [Fri, 7 Apr 2017 10:48:57 +0000 (12:48 +0200)]
Add a test for DNSName::getLastLabel()

7 years agoDNSName: add getLastLabel() function
Pieter Lexis [Fri, 31 Mar 2017 12:55:20 +0000 (14:55 +0200)]
DNSName: add getLastLabel() function

7 years agoMerge pull request #5218 from rgacogne/rec-forward-cache-only
Pieter Lexis [Fri, 7 Apr 2017 09:03:00 +0000 (11:03 +0200)]
Merge pull request #5218 from rgacogne/rec-forward-cache-only

rec: Fix cache-only queries against a forward-zone

7 years agoMerge pull request #5223 from pieterlexis/syncres-refactor-rebased
Pieter Lexis [Fri, 7 Apr 2017 09:02:27 +0000 (11:02 +0200)]
Merge pull request #5223 from pieterlexis/syncres-refactor-rebased

SyncRes clarifications, unit-tests, and doSpecialNamesResolve() method

7 years agorec: Add unit tests for forward-zones
Remi Gacogne [Mon, 3 Apr 2017 08:48:10 +0000 (10:48 +0200)]
rec: Add unit tests for forward-zones

7 years agorec: Fix cache-only queries against a forward-zone
Remi Gacogne [Mon, 3 Apr 2017 08:45:58 +0000 (10:45 +0200)]
rec: Fix cache-only queries against a forward-zone

We used to pass the return code from `asyncresolve` directly to the
caller, leading the success code (1) to be interpreted as `RCode::FormErr`.

7 years agorec: Add OS/Network errors, special names and RPZ unit tests
Remi Gacogne [Fri, 31 Mar 2017 15:52:34 +0000 (17:52 +0200)]
rec: Add OS/Network errors, special names and RPZ unit tests

7 years agorec: Add missing `DNSFilterEngine::clear()` method implementation
Remi Gacogne [Fri, 31 Mar 2017 15:41:09 +0000 (17:41 +0200)]
rec: Add missing `DNSFilterEngine::clear()` method implementation

7 years agorec: Use `make_shared` for unwanted query records, saves an allocation
Remi Gacogne [Fri, 31 Mar 2017 14:06:42 +0000 (16:06 +0200)]
rec: Use `make_shared` for unwanted query records, saves an allocation

7 years agorec: Refuse IXFR right away, as we do with AXFR
Remi Gacogne [Fri, 31 Mar 2017 14:05:33 +0000 (16:05 +0200)]
rec: Refuse IXFR right away, as we do with AXFR

7 years agorec: Add more `SyncRes` unit tests
Remi Gacogne [Fri, 31 Mar 2017 11:38:05 +0000 (13:38 +0200)]
rec: Add more `SyncRes` unit tests

7 years agorec: Add unit tests for variable negative caching in `SyncRes`
Remi Gacogne [Wed, 29 Mar 2017 08:43:04 +0000 (10:43 +0200)]
rec: Add unit tests for variable negative caching in `SyncRes`

7 years agorec: Add unit tests for `SyncRes::Throttle`
Remi Gacogne [Tue, 28 Mar 2017 07:43:57 +0000 (09:43 +0200)]
rec: Add unit tests for `SyncRes::Throttle`

7 years agorec: Add CNAME `SyncRes` unit tests
Remi Gacogne [Thu, 23 Mar 2017 13:15:49 +0000 (14:15 +0100)]
rec: Add CNAME `SyncRes` unit tests

7 years agorec: Add CNAME unit tests for `SyncRes`
Remi Gacogne [Wed, 22 Mar 2017 16:13:17 +0000 (17:13 +0100)]
rec: Add CNAME unit tests for `SyncRes`

7 years agorec: Add ECS unit tests for `SyncRes`
Remi Gacogne [Wed, 22 Mar 2017 15:44:24 +0000 (16:44 +0100)]
rec: Add ECS unit tests for `SyncRes`

7 years agorec: Add unit tests for `SyncRes`
Remi Gacogne [Thu, 16 Mar 2017 16:13:36 +0000 (17:13 +0100)]
rec: Add unit tests for `SyncRes`

7 years agoSyncRes: guard config.h include
Pieter Lexis [Thu, 16 Mar 2017 13:53:51 +0000 (14:53 +0100)]
SyncRes: guard config.h include

7 years agosyncres.hh: pragma once
Pieter Lexis [Thu, 16 Mar 2017 13:52:38 +0000 (14:52 +0100)]
syncres.hh: pragma once

7 years agoSyncRes::doSpecialNamesResolve: handle qtype==ANY
Pieter Lexis [Tue, 14 Mar 2017 15:30:26 +0000 (16:30 +0100)]
SyncRes::doSpecialNamesResolve: handle qtype==ANY

7 years agoImprove SyncRes::doResolve documentation
Pieter Lexis [Tue, 14 Mar 2017 14:39:20 +0000 (15:39 +0100)]
Improve SyncRes::doResolve documentation

7 years agoDocument SyncRes::doSpecialNamesResolve() in the dot file
Pieter Lexis [Tue, 14 Mar 2017 14:35:16 +0000 (15:35 +0100)]
Document SyncRes::doSpecialNamesResolve() in the dot file

7 years agodocument SyncRes::doCacheCheck in the dot file
Pieter Lexis [Tue, 14 Mar 2017 14:31:01 +0000 (15:31 +0100)]
document SyncRes::doCacheCheck in the dot file

7 years agocreate a doSpecialNamesResolve function
Pieter Lexis [Fri, 10 Mar 2017 15:46:47 +0000 (16:46 +0100)]
create a doSpecialNamesResolve function

7 years agoDocument getBestNSFromCache and asyncresolveWrapper
Pieter Lexis [Fri, 10 Mar 2017 14:30:48 +0000 (15:30 +0100)]
Document getBestNSFromCache and asyncresolveWrapper

7 years agoAdd a dot-file describing the syncres (WIP)
Pieter Lexis [Thu, 9 Mar 2017 16:52:55 +0000 (17:52 +0100)]
Add a dot-file describing the syncres (WIP)

7 years agoMake a comparison easier to read
Pieter Lexis [Thu, 9 Mar 2017 16:52:14 +0000 (17:52 +0100)]
Make a comparison easier to read

7 years agoAdd a bunch of comments
Pieter Lexis [Thu, 9 Mar 2017 16:51:50 +0000 (17:51 +0100)]
Add a bunch of comments

7 years agoMerge pull request #5219 from Habbie/boost-gcc-54
Pieter Lexis [Mon, 3 Apr 2017 15:40:50 +0000 (17:40 +0200)]
Merge pull request #5219 from Habbie/boost-gcc-54

detect gcc/g++ 5.4

7 years agoMerge pull request #5221 from pieterlexis/issue-5193-gpgsql-as-module-broken
Pieter Lexis [Mon, 3 Apr 2017 15:40:35 +0000 (17:40 +0200)]
Merge pull request #5221 from pieterlexis/issue-5193-gpgsql-as-module-broken

Fix building gpgsql als built-in module

7 years agoMerge pull request #5214 from pieterlexis/control-typo
Pieter Lexis [Mon, 3 Apr 2017 15:40:18 +0000 (17:40 +0200)]
Merge pull request #5214 from pieterlexis/control-typo

Fix typo in control file for dnsdist

7 years agoFix building gpgsql als built-in module
Pieter Lexis [Mon, 3 Apr 2017 14:45:06 +0000 (16:45 +0200)]
Fix building gpgsql als built-in module

In #5121, I missed the OBJECTLIBS file when changing the Postgresql
detection.

Closes #5193

7 years agoMerge pull request #5136 from rgacogne/dnsdist-cache-dont-age
bert hubert [Mon, 3 Apr 2017 12:09:08 +0000 (14:09 +0200)]
Merge pull request #5136 from rgacogne/dnsdist-cache-dont-age

dnsdist: Add an option so the packet cache entries don't age

7 years agodetect gcc/g++ 5.4
Peter van Dijk [Mon, 3 Apr 2017 10:55:34 +0000 (12:55 +0200)]
detect gcc/g++ 5.4

7 years agoMerge pull request #5132 from rgacogne/auth-packet-cache
Peter van Dijk [Mon, 3 Apr 2017 10:49:57 +0000 (12:49 +0200)]
Merge pull request #5132 from rgacogne/auth-packet-cache

auth: Hash the entire query in the packet cache, split caches

7 years agorec: Fix cache-only queries against a forward-zone
Remi Gacogne [Mon, 3 Apr 2017 08:53:41 +0000 (10:53 +0200)]
rec: Fix cache-only queries against a forward-zone

We used to pass the return code from `asyncresolve` directly to the
caller, leading the success code (1) to be interpreted as `RCode::FormErr`.

7 years agoMerge pull request #5217 from ahupowerdns/dnsdist-crypt-timestamp-doc
bert hubert [Sun, 2 Apr 2017 18:21:55 +0000 (20:21 +0200)]
Merge pull request #5217 from ahupowerdns/dnsdist-crypt-timestamp-doc

small documentation fix for dnsdist DNSCrypt

7 years agotypo in fox
bert hubert [Sun, 2 Apr 2017 16:53:25 +0000 (18:53 +0200)]
typo in fox

7 years agosmall documentation fix for dnsdist DNSCrypt
bert hubert [Sun, 2 Apr 2017 16:49:26 +0000 (18:49 +0200)]
small documentation fix for dnsdist DNSCrypt

7 years agoFix typo in control file
Pieter Lexis [Thu, 30 Mar 2017 12:40:23 +0000 (14:40 +0200)]
Fix typo in control file

7 years agoMerge pull request #5112 from pieterlexis/issue-4655
Pieter Lexis [Wed, 29 Mar 2017 08:15:48 +0000 (10:15 +0200)]
Merge pull request #5112 from pieterlexis/issue-4655

Stubresolver: Use only `resolver` setting if given

7 years agoMerge pull request #5206 from rgacogne/rec-packetcache-tag-unit-tests
Pieter Lexis [Wed, 29 Mar 2017 08:14:29 +0000 (10:14 +0200)]
Merge pull request #5206 from rgacogne/rec-packetcache-tag-unit-tests

rec: Add unit tests for the packet cache tags handling

7 years agoMerge pull request #5205 from rgacogne/rec-coverity
Pieter Lexis [Wed, 29 Mar 2017 08:14:11 +0000 (10:14 +0200)]
Merge pull request #5205 from rgacogne/rec-coverity

rec: Use `cend()` instead of `end()` when comparing with a const iterator

7 years agoMerge pull request #5196 from Habbie/docs-nits
Pieter Lexis [Wed, 29 Mar 2017 08:13:58 +0000 (10:13 +0200)]
Merge pull request #5196 from Habbie/docs-nits

Docs nits

7 years agoMerge pull request #5194 from rgacogne/dnsdist-fix-dest-port-when-harvesting
Remi Gacogne [Sun, 26 Mar 2017 07:55:27 +0000 (09:55 +0200)]
Merge pull request #5194 from rgacogne/dnsdist-fix-dest-port-when-harvesting

dnsdist: Fix destination port reporting on "any" binds

7 years agorec: Add unit tests for the packet cache tags handling
Remi Gacogne [Sat, 25 Mar 2017 15:46:24 +0000 (16:46 +0100)]
rec: Add unit tests for the packet cache tags handling

7 years agoSNMP: Let the compiler elide copy instead of calling the move ctor
Remi Gacogne [Sat, 25 Mar 2017 09:21:03 +0000 (10:21 +0100)]
SNMP: Let the compiler elide copy instead of calling the move ctor

7 years agorec: Use `cend()` instead of `end()` when comparing with a const iterator
Remi Gacogne [Sat, 25 Mar 2017 09:12:36 +0000 (10:12 +0100)]
rec: Use `cend()` instead of `end()` when comparing with a const iterator

Reported by Coverity.

7 years agoMerge pull request #5198 from rgacogne/rec-gettag-edns-options
Peter van Dijk [Fri, 24 Mar 2017 14:55:55 +0000 (15:55 +0100)]
Merge pull request #5198 from rgacogne/rec-gettag-edns-options

rec: Allow access to EDNS options from the `gettag()` hook

7 years agolua_typename now uses lua_type
Peter van Dijk [Fri, 24 Mar 2017 10:44:01 +0000 (11:44 +0100)]
lua_typename now uses lua_type

luawrapper 84c01a4

7 years agofix unused parameter warnings by commenting names
Peter van Dijk [Fri, 24 Mar 2017 10:43:03 +0000 (11:43 +0100)]
fix unused parameter warnings by commenting names
fix unused nullptr_t parameter warning

luawrapper 4901e73 2e21101

7 years agodon't move return value
Peter van Dijk [Fri, 24 Mar 2017 10:42:09 +0000 (11:42 +0100)]
don't move return value

luawrapper 6a6c672

7 years agoFix misc/exception.hpp include condition
Peter van Dijk [Fri, 24 Mar 2017 10:31:54 +0000 (11:31 +0100)]
Fix misc/exception.hpp include condition

luawrapper 93ab8b23 2d6e90a2

7 years agoforward arguments through tuple, preserving rvalue-references
Peter van Dijk [Fri, 24 Mar 2017 10:28:38 +0000 (11:28 +0100)]
forward arguments through tuple, preserving rvalue-references

from luawrapper ad29dde

7 years agoRevert "Replace std::forward/std::make_tuple combo with std::forward_as_tuple"
Peter van Dijk [Fri, 24 Mar 2017 10:27:24 +0000 (11:27 +0100)]
Revert "Replace std::forward/std::make_tuple combo with std::forward_as_tuple"

This reverts commit 352bc0409454032acc5e8fb256d5ed8f46445b5a.

7 years agoMerge pull request #5197 from nivex/zone-count-verbose
Peter van Dijk [Fri, 24 Mar 2017 10:23:31 +0000 (11:23 +0100)]
Merge pull request #5197 from nivex/zone-count-verbose

pdnsutil: Only print zonecount if invoked verbose

7 years agorec: Allow access to EDNS options from the `gettag()` hook
Remi Gacogne [Thu, 23 Mar 2017 16:27:21 +0000 (17:27 +0100)]
rec: Allow access to EDNS options from the `gettag()` hook

If `gettag-needs-edns-options` is set, the EDNS options are extracted
and passed to the `gettag()` hook as a table whose keys are the
EDNS option code and the values are `EDNSOptionView` object.
`EDNSOptionView` has two members, `content` and `size`, with `content`
holding the raw, undecoded option value.