]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
9 years agomodules/policy: chain rules, postrules, mirror, doc
Marek Vavrusa [Thu, 16 Jun 2016 17:50:41 +0000 (10:50 -0700)] 
modules/policy: chain rules, postrules, mirror, doc

* rules may now be chained if the rule action
  doesn't return next state. in this case, next
  matching rule will be executed. this is useful
  for snooping actions
* rules now may be paused/deleted
* implemented a new action for query mirroring to
  given destination

9 years agodaemon/worker: track query in BEGIN and dst addr
Marek Vavrusa [Thu, 16 Jun 2016 17:39:07 +0000 (10:39 -0700)] 
daemon/worker: track query in BEGIN and dst addr

* in the begin() layer, the incoming query is
  exposed as req->qsource.packet, it is invalidated
  after begin() and should not be modified
* the destination address (local interface) is
  also tracked for filtering purposes

9 years agomodules/daf: a functional web interface
Marek Vavrusa [Mon, 13 Jun 2016 17:21:26 +0000 (10:21 -0700)] 
modules/daf: a functional web interface

the interface has a declarative rule builder that
assists in building and validating rules, as well
as seeing how much traffic do they match

9 years agomodules/http: new bootstrap3 based web interface
Marek Vavrusa [Mon, 13 Jun 2016 17:18:28 +0000 (10:18 -0700)] 
modules/http: new bootstrap3 based web interface

this is going to be the building block for visual
ui as it provides many useful semantic objects and
style classes. since we already provide the
snippet system, it's possible to add subpages to
the ui without hacking everything inside

9 years agomodules/http: added safe stream handler, doc
Marek Vavrusa [Mon, 13 Jun 2016 17:13:08 +0000 (10:13 -0700)] 
modules/http: added safe stream handler, doc

9 years agomodules/policy: unique ids for rules, match counter
Marek Vavrusa [Mon, 13 Jun 2016 16:56:13 +0000 (09:56 -0700)] 
modules/policy: unique ids for rules, match counter

these are used as a handle to patch/modify rules
later in their lifetime, also added a rule match
counter to find out which rules match inbound
traffic

9 years agomodules/http: patched h2_stream
Marek Vavrusa [Mon, 13 Jun 2016 16:53:58 +0000 (09:53 -0700)] 
modules/http: patched h2_stream

9 years agodaemon/engine: fixed json pack for str-encoded int
Marek Vavrusa [Mon, 13 Jun 2016 16:53:11 +0000 (09:53 -0700)] 
daemon/engine: fixed json pack for str-encoded int

string encoded integers are treated as possible
numbers, so a more strict typecheck is needed

9 years agomodules/daf: support for first firewall rules
Marek Vavrusa [Thu, 9 Jun 2016 07:42:59 +0000 (00:42 -0700)] 
modules/daf: support for first firewall rules

the format of rules resembles libpcap filters,
but it also requires action that should be taken
when the filter(s) match.

the action can be anything the policy module
supports, and the filters can be both policy
module or view module based (so it's possible to
filter on source address and packet contents at
the same time)

9 years agomodules/policy: now can reroute/rewrite responses
Marek Vavrusa [Thu, 9 Jun 2016 07:38:26 +0000 (00:38 -0700)] 
modules/policy: now can reroute/rewrite responses

* REROUTE action rewrites all addresses in
  final answers matching given subnet to
  addresses in target subnet (or single address)
* REWRITE action rewrites rdata in final answers
  matching given owner and type (only works on
  A/AAAA now)

9 years agomodules/daf: trivial rule compiler implemented
Marek Vavrusa [Wed, 8 Jun 2016 07:26:13 +0000 (00:26 -0700)] 
modules/daf: trivial rule compiler implemented

the fw can now parse simple rules such as:
'qname = *.example.com AND src = 127.0.0.1/8 deny'

and turn it into filter actions.

this is a building block for custom firewall rules
based on query/answer contents that leverage
existing policy/view modules, but turn those into
easier to write (and eventually persistent) rule
sets

9 years agomodules/stats: stats.upstreams()
Marek Vavrusa [Wed, 8 Jun 2016 07:23:18 +0000 (00:23 -0700)] 
modules/stats: stats.upstreams()

the new function returns a list of upstream
authoritative servers that resolver contacted
recently and the RTT information for them,
this is useful for sampling information about
the quality of outbound connections for speculative
keepalive and other purposes

9 years agomodules/stats: more granular latency measurements
Marek Vavrusa [Wed, 8 Jun 2016 07:20:40 +0000 (00:20 -0700)] 
modules/stats: more granular latency measurements

now including <1ms, <50ms, <250ms, <500ms, <1.5s

9 years agolib/resolve: store auth addr/rtt in consume() layer
Marek Vavrusa [Wed, 8 Jun 2016 07:08:13 +0000 (00:08 -0700)] 
lib/resolve: store auth addr/rtt in consume() layer

during the consume step, the information about
upstream authoritative (address and current rtt)
is exposed in the request structure, just like
information about current query

9 years agodaemon/engine: safer json packing with mixed table
Marek Vavrusa [Wed, 8 Jun 2016 07:06:55 +0000 (00:06 -0700)] 
daemon/engine: safer json packing with mixed table

9 years agodaemon/engine: prefer local import path first
Marek Vavrusa [Wed, 8 Jun 2016 07:05:00 +0000 (00:05 -0700)] 
daemon/engine: prefer local import path first

9 years agomodules/http: graphs, prometheus metrics, websocks
Marek Vavrusa [Wed, 8 Jun 2016 07:04:21 +0000 (00:04 -0700)] 
modules/http: graphs, prometheus metrics, websocks

* http embeds modified lua-http server code that
  reuses single cqueue for all h2 client sockets,
  this is also because the API in upstream is unstable
* http embeds rickshaw for real-time graphs over
  websockets, it displays latency heatmap by default
  and can show several other metrics
* http shows a world map with pinned recently contacted
  authoritatives, where diameter represents number
  of queries sent and colour its average RTT, so
  you can see where the queries are going
* http now exports several endpoints and websockets:
  /stats for statistics in JSON, and /metrics for
  metrics in Prometheus text format

9 years agomodules/daf: initial commit
Marek Vavrusa [Wed, 1 Jun 2016 07:08:20 +0000 (00:08 -0700)] 
modules/daf: initial commit

9 years agomodules/http: doc, auto-tls, cert renewal, ...
Marek Vavrusa [Wed, 1 Jun 2016 07:08:00 +0000 (00:08 -0700)] 
modules/http: doc, auto-tls, cert renewal, ...

added documentation, many fixes in the H2 fallback
code and H2 stream handling, TLS is enabled by
default using ephemeral key and certificate that
is automatically renewed, but custom certificates
are also supported

this also allows other modules to place code
snippets on the webpage

9 years agomodules/http: stream stats and outbound name freq
Marek Vavrusa [Fri, 27 May 2016 07:34:23 +0000 (00:34 -0700)] 
modules/http: stream stats and outbound name freq

9 years agomodules/http: realtime stats over websockets
Marek Vavrusa [Thu, 26 May 2016 00:15:16 +0000 (17:15 -0700)] 
modules/http: realtime stats over websockets

9 years agodaemon/bindings: event.reschedule(ev, timeout)
Marek Vavrusa [Thu, 26 May 2016 00:14:52 +0000 (17:14 -0700)] 
daemon/bindings: event.reschedule(ev, timeout)

this allows for efficient variable-interval
running events, so that the timer doesn't have
to be closed and recreated for each iteration

9 years agomodules/http: initial commit
Marek Vavrusa [Mon, 23 May 2016 01:07:48 +0000 (18:07 -0700)] 
modules/http: initial commit

9 years agoMerge branch 'prefix-sbindir-changes' into 'master'
Marek Vavrusa [Tue, 5 Jul 2016 07:45:39 +0000 (09:45 +0200)] 
Merge branch 'prefix-sbindir-changes' into 'master'

Daemons should be in sbin, make destination variables overridable

According to FHS the 'Non-essential system binaries, e.g., daemons for various network-services.' should be installed in /usr/sbin

Also changed `:=` to `?=` to allow variable override without patching `config.mk`.

See merge request !32

9 years agolib/cache: fixed incorrect ranking in some places
Marek Vavrusa [Fri, 1 Jul 2016 17:47:11 +0000 (10:47 -0700)] 
lib/cache: fixed incorrect ranking in some places

fixed incorrect tagging in rrmap where secure rank would overflow

found by @gdemidov

9 years agoFix bin to sbin in scripts
Ondřej Surý [Thu, 30 Jun 2016 08:50:14 +0000 (10:50 +0200)] 
Fix bin to sbin in scripts

9 years agoDaemons should be in sbin, make destination variables overridable
Ondřej Surý [Thu, 30 Jun 2016 08:40:41 +0000 (10:40 +0200)] 
Daemons should be in sbin, make destination variables overridable

9 years agoscripts: updated apparmor file
Marek Vavrusa [Wed, 29 Jun 2016 03:56:19 +0000 (20:56 -0700)] 
scripts: updated apparmor file

9 years agoMerge branch 'clean-tests' into 'master'
Marek Vavrusa [Wed, 22 Jun 2016 18:26:45 +0000 (20:26 +0200)] 
Merge branch 'clean-tests' into 'master'

build: clean tests/mock_cmodule.o

See merge request !30

9 years agobuild: clean tests/mock_cmodule.o
Jan Vcelak [Wed, 22 Jun 2016 09:35:28 +0000 (11:35 +0200)] 
build: clean tests/mock_cmodule.o

9 years agodaemon: fixed memleak on exit
Marek Vavrusa [Tue, 21 Jun 2016 17:18:32 +0000 (10:18 -0700)] 
daemon: fixed memleak on exit

fixes #77

9 years agolib/pktcache: stricter using TTL for pktcache
Marek Vavrusa [Tue, 21 Jun 2016 07:02:07 +0000 (00:02 -0700)] 
lib/pktcache: stricter using TTL for pktcache

* SOA MINTTL always preferred for negative answers
* only SOA used for negative answers

refs #75

9 years agolib/iterate: drop minimisation when getting REFUSED
Marek Vavrusa [Fri, 17 Jun 2016 05:39:28 +0000 (22:39 -0700)] 
lib/iterate: drop minimisation when getting REFUSED

this is required to avoid REFUSED loops if the origin doesn't handle
minimisation well

9 years agoMerge branch 'rrcache_fix'
Marek Vavrusa [Thu, 16 Jun 2016 17:35:47 +0000 (10:35 -0700)] 
Merge branch 'rrcache_fix'

9 years agolayer/rrcache: fix ANSWER section processing
Grigorii Demidov [Tue, 31 May 2016 12:57:29 +0000 (14:57 +0200)] 
layer/rrcache: fix ANSWER section processing

9 years agobuild: bumped version to 1.1.0
Marek Vavrusa [Thu, 16 Jun 2016 17:19:04 +0000 (10:19 -0700)] 
build: bumped version to 1.1.0

9 years agodaemon: fix serialization of empty nested tables
Marek Vavrusa [Fri, 27 May 2016 07:33:54 +0000 (00:33 -0700)] 
daemon: fix serialization of empty nested tables

9 years agomodules/predict: fixed a typo
Marek Vavrusa [Wed, 8 Jun 2016 07:20:57 +0000 (00:20 -0700)] 
modules/predict: fixed a typo

9 years agodaemon/worker: fix outbound TCP queries
Marek Vavrusa [Thu, 16 Jun 2016 17:12:51 +0000 (10:12 -0700)] 
daemon/worker: fix outbound TCP queries

previously the buffer for TCP pkt reassembly was
not correctly cleared and fragmented answers
were rejected

9 years agolib/utils: fixed full subnet mask length calc
Marek Vavrusa [Thu, 16 Jun 2016 17:11:54 +0000 (10:11 -0700)] 
lib/utils: fixed full subnet mask length calc

previously, if no subnet was given (127.0.0.0),
it was treated as 127.0.0.0/0. now it is treated
as full address length, e.g. 127.0.0.0/32

9 years agodaemon,lib: cleanup
Marek Vavrusa [Thu, 16 Jun 2016 17:10:17 +0000 (10:10 -0700)] 
daemon,lib: cleanup

9 years agomodules/predict: fixup
Marek Vavrusa [Tue, 31 May 2016 18:01:29 +0000 (11:01 -0700)] 
modules/predict: fixup

9 years agoservice: remove obsolete dependencies
Jan Vcelak [Tue, 31 May 2016 09:04:52 +0000 (11:04 +0200)] 
service: remove obsolete dependencies

After=network.target is still needed because we don't have IP_FREEBIND.

9 years agoMerge branch 'rel_cleanup' into 'master' v1.0.0
Grigorii Demidov [Mon, 30 May 2016 16:22:25 +0000 (18:22 +0200)] 
Merge branch 'rel_cleanup' into 'master'

Release cleanup

Write a comment or drag your files here...

See merge request !28

9 years agosynced deckard
Grigorii Demidov [Mon, 30 May 2016 16:13:50 +0000 (18:13 +0200)] 
synced deckard

9 years agolib/resolve: cleanup
Grigorii Demidov [Mon, 30 May 2016 16:06:48 +0000 (18:06 +0200)] 
lib/resolve: cleanup

9 years agolib: sync before clearing, cleanup
Marek Vavrusa [Sun, 29 May 2016 20:27:57 +0000 (13:27 -0700)] 
lib: sync before clearing, cleanup

9 years agodaemon/io: freed handle could be touched in libuv
Marek Vavrusa [Sun, 29 May 2016 20:27:19 +0000 (13:27 -0700)] 
daemon/io: freed handle could be touched in libuv

the daemon wrongly freed handle that returned 0,
as in "no more data". this socket is going to be
closed, but it still could be touched by libuv
so it must be freed wit uv_close() handler

9 years agodaemon/bindings: check if cache is open
Marek Vavrusa [Fri, 27 May 2016 21:49:45 +0000 (14:49 -0700)] 
daemon/bindings: check if cache is open

9 years agolib/cache: fixed reinsert of invalidated record
Marek Vavrusa [Fri, 27 May 2016 21:06:11 +0000 (14:06 -0700)] 
lib/cache: fixed reinsert of invalidated record

when opening an empty database, an invalidated key
value was written resulting in possible corruption
of the cache

9 years agopre-release cleanup
Marek Vavrusa [Fri, 27 May 2016 06:14:36 +0000 (23:14 -0700)] 
pre-release cleanup

9 years agodaemon: fixed socket mempool cleanup on exit
Marek Vavrusa [Fri, 27 May 2016 05:52:39 +0000 (22:52 -0700)] 
daemon: fixed socket mempool cleanup on exit

fixes #73 small leak in cleaning up per-socket
mempool on daemon exit

9 years agobuild: unbroken Go build checks
Marek Vavrusa [Fri, 27 May 2016 05:34:44 +0000 (22:34 -0700)] 
build: unbroken Go build checks

9 years agolib/resolve: added synchronous cache option
Marek Vavrusa [Fri, 27 May 2016 05:00:40 +0000 (22:00 -0700)] 
lib/resolve: added synchronous cache option

9 years agoMerge branch 'test_cache_fix' into 'master'
Marek Vavrusa [Fri, 27 May 2016 04:19:20 +0000 (06:19 +0200)] 
Merge branch 'test_cache_fix' into 'master'

tests/test_cache: fix broken test

See merge request !27

9 years agotests/test_cache: fix broken test
Grigorii Demidov [Wed, 25 May 2016 11:32:21 +0000 (13:32 +0200)] 
tests/test_cache: fix broken test

9 years agoMerge branch 'cname_fix' into 'master'
Marek Vavrusa [Wed, 25 May 2016 04:53:48 +0000 (06:53 +0200)] 
Merge branch 'cname_fix' into 'master'

layer/iterate: CNAME chain unrolling improvement

Write a comment or drag your files here...

See merge request !26

9 years agolayer/iterate: CNAME chain unrolling improvement
Grigorii Demidov [Mon, 23 May 2016 09:46:17 +0000 (11:46 +0200)] 
layer/iterate: CNAME chain unrolling improvement

9 years agodaemon: support event.socket(fd, cb) for I/O events
Marek Vavrusa [Mon, 23 May 2016 00:56:50 +0000 (17:56 -0700)] 
daemon: support event.socket(fd, cb) for I/O events

this allows embedding other event loops or just
asynchronous events triggered by socket activity.
this is required for things like cooperative
HTTP server, monitoring endpoint or remote
configuration daemon/controller

9 years agolib/resolve: never read rcode if answer not exists
Marek Vavrusa [Sun, 22 May 2016 03:59:59 +0000 (20:59 -0700)] 
lib/resolve: never read rcode if answer not exists

9 years agoworker: fixed corruption when follower timeouts, early free
Marek Vavrusa [Sun, 22 May 2016 03:58:11 +0000 (20:58 -0700)] 
worker: fixed corruption when follower timeouts, early free

* when enqueued task terminated earlier than leader
  task because of timeout, it wasn't dequeued from
  the waitlist immediately, but it didn't have any
  outstanding outbound queries. when leader task
  terminated, it removed this task and updated its
  outbound query, which didn't exist. this triggered
  a 16B write in undefined location
* fixed timeout timer being scheduled for closing
  without holding reference to parent task

9 years agolib: cache api v2, removed dep on libknot db.h
Marek Vavrusa [Sun, 15 May 2016 21:14:53 +0000 (14:14 -0700)] 
lib: cache api v2, removed dep on libknot db.h

this change introduces new API for cache backends,
that is a subset of knot_db_api_t from libknot
with several cache-specific operations

major changes are:
* merged 'cachectl' module into 'cache' as it is
  99% default-on and it simplifies things
* not transaction oriented, transactions may be
  reused and cached for higher performance
* scatter/gather API, this is important for
  latency and performance of non-local backends
  like Redis
* faster and reliable cache clearing
* cache-specific operations (prefix scan, ...) in
  the API not hacked in
* simpler code for both backends and caller

9 years agocontrib/lmdb: imported LMDB 0.9.18, built-in
Marek Vavrusa [Sun, 15 May 2016 21:08:45 +0000 (14:08 -0700)] 
contrib/lmdb: imported LMDB 0.9.18, built-in

by default, build system attempts to use LMDB
from the system. however if it's not found or
the version is too old, it uses the built-in
snapshot in contrib

9 years agoMerge branch 'refs' into 'master'
Marek Vavrusa [Wed, 18 May 2016 03:56:57 +0000 (05:56 +0200)] 
Merge branch 'refs' into 'master'

lib/dnssec: nsec, nsec3 (no-optout) referrals to unsigned subzones

See merge request !24

9 years agoMerge branch 'dups' into 'master'
Marek Vavrusa [Wed, 18 May 2016 03:50:17 +0000 (05:50 +0200)] 
Merge branch 'dups' into 'master'

layer/iterate, layer/pktcache: fix duplicate records in replies

See merge request !25

9 years agolayer/iterate, layer/pktcache: fix dupplicate records in replies
Grigorii Demidov [Tue, 17 May 2016 08:45:11 +0000 (10:45 +0200)] 
layer/iterate, layer/pktcache: fix dupplicate records in replies

9 years agolib/dnssec: nsec, nsec3 (no-optout) referrals to unsigned subzones
Grigorii Demidov [Tue, 17 May 2016 07:53:47 +0000 (09:53 +0200)] 
lib/dnssec: nsec, nsec3 (no-optout) referrals to unsigned subzones

9 years agobuild: more checks for travis builds
Marek Vavrusa [Sat, 14 May 2016 22:32:38 +0000 (15:32 -0700)] 
build: more checks for travis builds

9 years agodaemon/worker: deduplicate inbound queries
Marek Vavrusa [Wed, 11 May 2016 07:40:35 +0000 (00:40 -0700)] 
daemon/worker: deduplicate inbound queries

many clients do frequent retransmits of the query
to avoid network losses and get better service,
but then fail to work properly when a resolver
answers SERVFAIL to some of them because of the
time limit and some of them NOERROR.
it's also a good idea to avoid wasting time
tracking pending tasks to solve the same thing.

9 years agoAllow Go modules on more architectures
Ondřej Surý [Thu, 12 May 2016 13:27:44 +0000 (15:27 +0200)] 
Allow Go modules on more architectures

9 years agodaemon: do not modify task for outgoing queries
Marek Vavrusa [Wed, 11 May 2016 00:45:12 +0000 (17:45 -0700)] 
daemon: do not modify task for outgoing queries

if the upstream TCP query timeouted or the connection
was severed, it would dissociate the handle from
original query, so the query would be solved
but the requestor wouldn't see the answer unless
he requeried

9 years agodaemon: fix statistics for outgoing TCPs
Marek Vavrusa [Wed, 11 May 2016 00:14:10 +0000 (17:14 -0700)] 
daemon: fix statistics for outgoing TCPs

9 years agodaemon: renamed is_subreq -> outgoing
Marek Vavrusa [Wed, 11 May 2016 00:11:41 +0000 (17:11 -0700)] 
daemon: renamed is_subreq -> outgoing

9 years agoMerge branch 'ref_serv' into 'master'
Marek Vavrusa [Fri, 6 May 2016 06:44:02 +0000 (08:44 +0200)] 
Merge branch 'ref_serv' into 'master'

Additional processing for REFUSED & SERVFAIL rcodes

See merge request !22

9 years agolib: cleanup servfail soft-fails
Marek Vavrusa [Fri, 6 May 2016 06:40:28 +0000 (23:40 -0700)] 
lib: cleanup servfail soft-fails

* simplified soft-fail per-ns limit to per-query
  limit, each query gets 4 tries at resolving
* instead of locking at single servfailing NS,
  penalise it and run reelection, this may or
  may not try other servers but avoids pathologic
  case when single NS is servfailing while others
  are good but never probed
* added new nsrep update mode (addition)

9 years agolib/resolve,layer/iterate: processing for REFUSED & SERVFAIL rcodes
Grigorii Demidov [Tue, 3 May 2016 09:10:23 +0000 (11:10 +0200)] 
lib/resolve,layer/iterate: processing for REFUSED & SERVFAIL rcodes

9 years agotests/tests.mk: fails if deckard/contrib/libswrap/obj directory already exists
Grigorii Demidov [Thu, 5 May 2016 08:15:27 +0000 (10:15 +0200)] 
tests/tests.mk: fails if deckard/contrib/libswrap/obj directory already exists

9 years agotests/deckard: sync to master
Grigorii Demidov [Tue, 3 May 2016 11:35:34 +0000 (13:35 +0200)] 
tests/deckard: sync to master

9 years agoMerge branch 'tcp-ooo'
Marek Vavrusa [Wed, 4 May 2016 00:46:56 +0000 (17:46 -0700)] 
Merge branch 'tcp-ooo'

9 years agolib/validate: fixed memory bug
Marek Vavrusa [Wed, 4 May 2016 00:17:53 +0000 (17:17 -0700)] 
lib/validate: fixed memory bug

this code used memory pool of source packet instead
of the answer, this could result in invalidated
memory read if the memory occupied by source
packet was rewritten

9 years agodaemon: out-of-order processing for TCP
Marek Vavrusa [Tue, 3 May 2016 06:56:20 +0000 (23:56 -0700)] 
daemon: out-of-order processing for TCP

* daemon now processes messages over TCP stream
out-of-order and concurrently
* support for TCP_DEFER_ACCEPT
* support for TCP Fast-Open
* there are now deadlines for TCP for idle/slow
streams (to prevent slowloris; pruning)
* there is now per-request limit on timeouts
(each request is allowed 4 timeouts before bailing)
* faster request closing, unified retry/timeout timers
* rare race condition in timer closing fixed

9 years agodaemon: mode(strict|normal|permissive)
Marek Vavrusa [Mon, 18 Apr 2016 03:34:31 +0000 (20:34 -0700)] 
daemon: mode(strict|normal|permissive)

the daemon has now three modes of strictness
checking from strict to permissive.
it reflects the tradeoff between resolving the
query in as few steps as possible and security
for insecure zones

9 years agopolicy: warn when NYI action
Marek Vavrusa [Mon, 18 Apr 2016 02:13:02 +0000 (19:13 -0700)] 
policy: warn when NYI action

9 years agoengine: clear bad scorers from RTT every 5 minutes
Marek Vavrusa [Mon, 18 Apr 2016 00:32:17 +0000 (17:32 -0700)] 
engine: clear bad scorers from RTT every 5 minutes

an internal timer walks RTT timer periodically and
clears entries with bad results every 5 minutes.
this means that a timeouted entry penalty is
capped to that interval, making sure that the
bad reputation doesn't last forever

9 years agoengine: throttle outbound queries only when busy
Marek Vavrusa [Mon, 18 Apr 2016 00:29:41 +0000 (17:29 -0700)] 
engine: throttle outbound queries only when busy

resolver will always attempt to contact upstreams
known to be bad if it's not busy.
this fixes a problem on low-volume resolvers
where a short connection outage could make
resolvers deny resolving queries even after the
connection is restored

9 years agobuild: no fortify when address sanitizer
Marek Vavrusa [Fri, 15 Apr 2016 16:35:31 +0000 (09:35 -0700)] 
build: no fortify when address sanitizer

9 years agoupdated deckard
Marek Vavrusa [Fri, 15 Apr 2016 07:28:58 +0000 (00:28 -0700)] 
updated deckard

9 years agoRevert "lib/dnssec: nsec, nsec3 (no-optout) referrals to unsigned subzones"
Marek Vavrusa [Fri, 15 Apr 2016 07:20:56 +0000 (00:20 -0700)] 
Revert "lib/dnssec: nsec, nsec3 (no-optout) referrals to unsigned subzones"

This reverts commit f9ffeca9cc7382b8ed24217bfab1d0f34a51bd7a.

9 years agolib/iterate: QUERY_PERMISSIVE mode
Marek Vavrusa [Fri, 15 Apr 2016 07:03:13 +0000 (00:03 -0700)] 
lib/iterate: QUERY_PERMISSIVE mode

in permissive mode, resolver is free to use
(but not cache) non-mandatory glue records even
if they're not resolvable. this is great as a
workaround for broken child-side zones, but
not great for security of, well, insecure
delegations. it's off by default.

9 years agotests: cache test fixed
Grigorii Demidov [Thu, 14 Apr 2016 12:08:01 +0000 (14:08 +0200)] 
tests: cache test fixed

9 years agoremove asprintf warnings
Daniel Kahn Gillmor [Sun, 3 Apr 2016 05:43:34 +0000 (02:43 -0300)] 
remove asprintf warnings

9 years agoadded surmised C indentation rules for emacs users
Daniel Kahn Gillmor [Sun, 3 Apr 2016 03:10:41 +0000 (00:10 -0300)] 
added surmised C indentation rules for emacs users

9 years agofix comment
Daniel Kahn Gillmor [Sun, 3 Apr 2016 01:02:26 +0000 (22:02 -0300)] 
fix comment

9 years agotests: updated deckard
Marek Vavrusa [Thu, 14 Apr 2016 05:28:55 +0000 (22:28 -0700)] 
tests: updated deckard

9 years agolayer/rrcache: record cache miss avoided for wcard answers
Grigorii Demidov [Mon, 4 Apr 2016 12:16:10 +0000 (14:16 +0200)] 
layer/rrcache: record cache miss avoided for wcard answers

9 years agolib/cache: flags field was added to cache entry header
Grigorii Demidov [Fri, 1 Apr 2016 11:24:24 +0000 (13:24 +0200)] 
lib/cache: flags field was added to cache entry header

9 years agodnssec: wildcard answer proof
Grigorii Demidov [Thu, 31 Mar 2016 16:41:08 +0000 (18:41 +0200)] 
dnssec: wildcard answer proof

9 years agolib/layer: CNAME chain construction improvement
Grigorii Demidov [Tue, 15 Mar 2016 14:47:49 +0000 (15:47 +0100)] 
lib/layer: CNAME chain construction improvement

9 years agolib/dnssec: nsec, nsec3 (no-optout) referrals to unsigned subzones
Grigorii Demidov [Mon, 14 Mar 2016 11:12:21 +0000 (12:12 +0100)] 
lib/dnssec: nsec, nsec3 (no-optout) referrals to unsigned subzones

9 years agodnssec/nsec: lookup for rset type withinin nsec3 type bitmap; minor bug fixed
Grigorii Demidov [Fri, 11 Mar 2016 11:49:20 +0000 (12:49 +0100)] 
dnssec/nsec: lookup for rset type withinin nsec3 type bitmap; minor bug fixed