]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
6 years agoRevert "iterate: fix minimisation downgrade when encountering authoritative referrals"
Marek Vavruša [Wed, 30 May 2018 04:37:50 +0000 (21:37 -0700)] 
Revert "iterate: fix minimisation downgrade when encountering authoritative referrals"

This reverts commit e51864e98f951a1d22808410d42751b0d1bb6772.

6 years agoRevert "validate: don't turn all NS records insecure on non-existent DS"
Marek Vavruša [Wed, 30 May 2018 04:34:32 +0000 (21:34 -0700)] 
Revert "validate: don't turn all NS records insecure on non-existent DS"

This reverts commit f522436b62cdfd972f603809a367859c4576445b.

6 years agocache/api: implement cache scope for kr_cache_insert()
Marek Vavruša [Tue, 29 May 2018 06:31:55 +0000 (23:31 -0700)] 
cache/api: implement cache scope for kr_cache_insert()

6 years agoresolve: write EDNS to wire after the finish layer
Marek Vavruša [Thu, 24 May 2018 23:57:59 +0000 (16:57 -0700)] 
resolve: write EDNS to wire after the finish layer

This allows the finish layer to add/update OPT RR in the answer.

6 years agonsrep: verbose probe message, cap timeout value, less aggressive retry
Marek Vavruša [Thu, 24 May 2018 23:08:07 +0000 (16:08 -0700)] 
nsrep: verbose probe message, cap timeout value, less aggressive retry

The timeouted NS retry probed is now logged when tracing
Long response RTT is capped to KR_NS_TIMEOUT to smooth out transient errors.
The retry timer minimum interval is increased from 250ms to 500ms, as NSs taking
typically longer than 1s would just waste time retrying.

6 years agolru: fix case when inserting value with larger size than allocated
Marek Vavruša [Wed, 16 May 2018 04:34:00 +0000 (21:34 -0700)] 
lru: fix case when inserting value with larger size than allocated

This fixes a case when inserting into LRU, and the entry for given
key exists, but has allocated smaller value than what's requested.

6 years agoiterate: remove NO_MINIMIZE from transitive flags
Marek Vavruša [Wed, 16 May 2018 00:34:10 +0000 (17:34 -0700)] 
iterate: remove NO_MINIMIZE from transitive flags

The NO_MINIMIZE may be set when encountering an ENT, but it should
be retried on subsequent query.

6 years agodaf: bugfix for rule deletion, hint for duplicated rule
Anbang Wen [Mon, 14 May 2018 23:19:57 +0000 (16:19 -0700)] 
daf: bugfix for rule deletion, hint for duplicated rule

6 years agodon't rewrite cached SOA records from negative answers
Marek Vavruša [Sat, 12 May 2018 01:39:12 +0000 (18:39 -0700)] 
don't rewrite cached SOA records from negative answers

Currently there's only exception to avoid rewriting secure NS records.
Most of the negative answers provide SOA record, so it's undesirable
to keep rewriting it for every negative answer.

6 years agomodules/policy: check whether query is defined
Marek Vavruša [Wed, 2 May 2018 23:27:41 +0000 (16:27 -0700)] 
modules/policy: check whether query is defined

6 years agoremoved invalid assertion
Marek Vavruša [Wed, 2 May 2018 23:26:57 +0000 (16:26 -0700)] 
removed invalid assertion

6 years agodaemon/worker: always try multiple upstreams even if sending fails
Marek Vavruša [Tue, 1 May 2018 06:20:27 +0000 (23:20 -0700)] 
daemon/worker: always try multiple upstreams even if sending fails

Before no other upstreams were tried if qr_task_send or kr_resolve_checkout
failed, which isn't correct, as it doesn't allow blocking of outbound requests.

6 years agomodules/daf: allow multiple argument matching in filter
Marek Vavruša [Tue, 1 May 2018 03:17:42 +0000 (20:17 -0700)] 
modules/daf: allow multiple argument matching in filter

This looks like in nftables, e.g. `src { 127.0.0.1 192.168.1.1 }`

6 years agoRevert "nsrep: respect NO_THROTTLE for timeouted nameservers"
Marek Vavruša [Mon, 30 Apr 2018 19:33:50 +0000 (12:33 -0700)] 
Revert "nsrep: respect NO_THROTTLE for timeouted nameservers"

This reverts commit 573e552094f065471f34ebe26573095e47012050.

6 years agomodules/daf: case insensitive feature flags
Marek Vavruša [Sat, 28 Apr 2018 22:20:48 +0000 (15:20 -0700)] 
modules/daf: case insensitive feature flags

6 years agomodules/daf,renumber: fixed the modules and added tests
Marek Vavruša [Fri, 27 Apr 2018 06:27:33 +0000 (23:27 -0700)] 
modules/daf,renumber: fixed the modules and added tests

This fixes most of the rules in DAF that were broken in 2.0 and adds tests.
It also allows policy filter to evaluate policies in the checkout layer,
before the subrequest is sent to authoritative. This is used primarily for
negotiating features between resolver and authoritatives, or disabling transports.

The policy filter can now match on:
* NS suffix - to apply policies on any zone on given nameservers
* Query type

New actions:
* REFUSE - block query with an RCODE=REFUSED, fixes #337

The DAF can now toggle features between resolver and authoritatives.

fixes #322

6 years agolib/resolve: randomize qname in checkout layer when secret changes
Marek Vavruša [Fri, 27 Apr 2018 06:23:40 +0000 (23:23 -0700)] 
lib/resolve: randomize qname in checkout layer when secret changes

This allows changing of secret in the checkout layer.

6 years agodaemon/worker: move checkout layer before connect, catch checkout errors
Marek Vavruša [Fri, 27 Apr 2018 06:21:31 +0000 (23:21 -0700)] 
daemon/worker: move checkout layer before connect, catch checkout errors

The checkout layer was moved to where upstream address is known, but
before outbound message is sent (or connected to upstream).
The reason is to allow checkout layer to block outbound queries
without wasting time waiting for connect.

6 years agolib/utils: removed obsoleted functions
Marek Vavruša [Fri, 27 Apr 2018 06:20:14 +0000 (23:20 -0700)] 
lib/utils: removed obsoleted functions

Header flags can now be set from Lua, as well as packet payload clearing.

6 years agonsrep: respect NO_THROTTLE for timeouted nameservers
Marek Vavruša [Tue, 24 Apr 2018 23:11:16 +0000 (16:11 -0700)] 
nsrep: respect NO_THROTTLE for timeouted nameservers

6 years agoworker: fixed a mistakenly used pkt_buf instead of pkt
Marek Vavruša [Sat, 21 Apr 2018 07:12:03 +0000 (00:12 -0700)] 
worker: fixed a mistakenly used pkt_buf instead of pkt

The `pkt` is set to NULL above, but it's not used and `pkt_buf` is used instead,
it may point to an invalid packet and cause problems further down.

6 years agolib/generic/pack: fix operations on empty pack
Marek Vavruša [Fri, 20 Apr 2018 03:15:19 +0000 (20:15 -0700)] 
lib/generic/pack: fix operations on empty pack

Several operations were not safe to call on empty pack and would
return invalid memory. If the pack would have reserved space, but
would be empty (length = 0), it's head would be NULL but tail would
be array address (pack->at + 0). This is mostly checked by caller,
but it wasn't in several places (object deletion).

6 years agodefines: make retry limits compile time configurable
Marek Vavruša [Wed, 18 Apr 2018 22:51:05 +0000 (15:51 -0700)] 
defines: make retry limits compile time configurable

6 years agozonecut: fix kr_zonecut_find_nsname with the trie implementation
Marek Vavruša [Wed, 18 Apr 2018 22:43:06 +0000 (15:43 -0700)] 
zonecut: fix kr_zonecut_find_nsname with the trie implementation

6 years agolib/cache: removed assertion that causes server to crash on partial writes
Marek Vavruša [Fri, 13 Apr 2018 20:45:30 +0000 (13:45 -0700)] 
lib/cache: removed assertion that causes server to crash on partial writes

6 years agoiterate: fix minimisation downgrade when encountering authoritative referrals
Marek Vavruša [Thu, 12 Apr 2018 17:35:57 +0000 (10:35 -0700)] 
iterate: fix minimisation downgrade when encountering authoritative referrals

This fixes turning off minimisation when there's an authoritative referral
answer on the resolution path. This happens when there's a nameserver,
which is authoritative for both parent and child side of the delegation,
so it answers from the child side with AA=1. Such answer will be mistakenly
processed as authoritative, and QNAME minimisation will be turned off
(assuming this is the final zone cut).

6 years agonsrep: never blacklist NSs because of SERVFAIL/REFUSED
Marek Vavruša [Thu, 12 Apr 2018 08:35:50 +0000 (01:35 -0700)] 
nsrep: never blacklist NSs because of SERVFAIL/REFUSED

The SERVFAIL is a soft-failure, and REFUSED isn't something the server
is really in control of. It is easy to trick the resolver into blacklisting
a NS by creating a bad delegation and pointing it at the victim NS.

This changes the scoring function to degrade server score on these rcodes,
but cap it to a really bad score. It should be treated as timed out only
if it really times out or is unreachable.

6 years agoiterate: do not treat REFUSED as soft fail with retries
Marek Vavruša [Thu, 12 Apr 2018 08:32:34 +0000 (01:32 -0700)] 
iterate: do not treat REFUSED as soft fail with retries

REFUSED means the NS isn't authoritative for given zone, so it
shouldn't be treated like SERVFAIL. This fixes when a server is not
authoritative for given zone (failed transfer, bad delegation), and the
resolver enters into a retry loop and eventually runs out of time,
instead of trying different servers.

6 years agoupdated cache:insert_rr() interface with cache scope changes
Marek Vavruša [Thu, 12 Apr 2018 08:31:46 +0000 (01:31 -0700)] 
updated cache:insert_rr() interface with cache scope changes

6 years agoimplement basic infrastructure for scoped cache
Marek Vavruša [Tue, 10 Apr 2018 06:11:16 +0000 (23:11 -0700)] 
implement basic infrastructure for scoped cache

This commit adds support for scoped cache, e.g. keys can be tagged
with a scope, so that the same key can exist in multiple scope and
returns the value based on the scope set.

This is practically requires for scoping by subnet in ECS, but
it doesn't implement ECS completely. This is just a framework
to make something like ECS possible in a module.

The scope search is currently non-exhaustive, it either returns
a value bound to given scope or look into global scope, nothing
in between.

6 years agonetwork: make TCP_BACKLOG_DEFAULT a compile time define and set to default
Marek Vavruša [Fri, 6 Apr 2018 16:32:17 +0000 (09:32 -0700)] 
network: make TCP_BACKLOG_DEFAULT a compile time define and set to default

This was previously hardcoded to 16. This makes it at least a compile time
define, with a default of 511 (as that's what Redis and Apache use).

6 years agocheck per-query flags instead of global options, getter for NS name
Marek Vavruša [Fri, 6 Apr 2018 05:43:57 +0000 (22:43 -0700)] 
check per-query flags instead of global options, getter for NS name

Checking query flags instead of global context option allows setting
overrides on individual queries. The effect is the same as query flags
start by copying request flags which start by copying context options.

6 years agoadd bindings for the checkout layer
Marek Vavruša [Fri, 6 Apr 2018 05:48:51 +0000 (22:48 -0700)] 
add bindings for the checkout layer

This one was missing from the current bindings. The checkout layer
runs when the worker attempts to send a DNS query to given upstream
when the address is already determined. The layer can add EDNS options
or update outbound query, or block particular addresses / protocol.

6 years agolib/resolve: don't append EDNS to garbage packets
Marek Vavruša [Tue, 3 Apr 2018 21:04:32 +0000 (14:04 -0700)] 
lib/resolve: don't append EDNS to garbage packets

The current handler will try to construct the compression table
starting with query name in question. If there's no query name,
it's going to construct it with garbage bytes.

6 years agomodules/http: added an error handler to HTTP streams
Marek Vavruša [Mon, 2 Apr 2018 23:42:42 +0000 (16:42 -0700)] 
modules/http: added an error handler to HTTP streams

Instead of throwing an error in the HTTP handler, server should log it.
This covers errors like client disconnecting before reading the response
body etc.

6 years agoresolve: always update QNAME after zone cut update
Marek Vavruša [Sat, 24 Mar 2018 04:00:37 +0000 (21:00 -0700)] 
resolve: always update QNAME after zone cut update

Previously the code didn't update query if the minimization was turned off,
but that broke resolution for deep zones (like in-addr.arpa) when part of
the chain fell out of cache, and nearest zone cut was longer than
current query name. The condition is not necessary, since kr_make_query
already checks for query name minimisation flag.

6 years agohttp: allow loading custom endpoints to http
Marek Vavruša [Wed, 21 Mar 2018 22:57:19 +0000 (15:57 -0700)] 
http: allow loading custom endpoints to http

Previously the module was created on configuration time, so it wasn't
possible to inject custom endpoints to the default interface.

6 years agoRestore visibility for cache stats
anb [Mon, 5 Mar 2018 23:20:53 +0000 (15:20 -0800)] 
Restore visibility for cache stats

Add the missing stats for cache module, on RR entry level.

6 years agocache: changed get_new_ttl private API to allow custom timestamp
Marek Vavruša [Wed, 14 Mar 2018 19:10:46 +0000 (12:10 -0700)] 
cache: changed get_new_ttl private API to allow custom timestamp

Before the API depended on the qry object which only makes sense during
resolution of requests, not when manipulating cache out of it.

6 years agocache: restored kr_cache_insert_rr API
Marek Vavruša [Mon, 12 Mar 2018 04:04:19 +0000 (21:04 -0700)] 
cache: restored kr_cache_insert_rr API

This commit abstracts out stash_rrset from stash_rrarray_entry,
and fixes incrementing metrics on actual record insertion.
It then resurfaces kr_cache_insert_rr that was deleted in 2.0
using the extracted function.

6 years agoMerge !664: KNOT_MINVER: 2.7.1 -> 2.7.2
Vladimír Čunát [Tue, 4 Sep 2018 11:34:36 +0000 (11:34 +0000)] 
Merge !664: KNOT_MINVER: 2.7.1 -> 2.7.2

6 years agoRe-revert "kr_nsec_bitmap_contains_type(): moved to libdnssec"
Vladimír Čunát [Mon, 3 Sep 2018 12:43:02 +0000 (14:43 +0200)] 
Re-revert "kr_nsec_bitmap_contains_type(): moved to libdnssec"

This reverts commit 512f4aee63cbad71639d7865a8b9f5a3c32ffed2.
knot-dns-2.7.2 fixed this.

6 years agoMakefile: KNOT_MINVER 2.7.1 -> 2.7.2
Vladimír Čunát [Mon, 3 Sep 2018 12:44:28 +0000 (14:44 +0200)] 
Makefile: KNOT_MINVER 2.7.1 -> 2.7.2

6 years agoMerge branch 'ci-fix' into 'master'
Tomas Krizek [Mon, 3 Sep 2018 18:11:24 +0000 (18:11 +0000)] 
Merge branch 'ci-fix' into 'master'

ci: fixes

See merge request knot/knot-resolver!666

6 years agoci: docker/fedora - add knot-resolver-testing OBS repos to mock
Tomas Krizek [Mon, 3 Sep 2018 17:52:10 +0000 (19:52 +0200)] 
ci: docker/fedora - add knot-resolver-testing OBS repos to mock

6 years agoci: update respdiff configs
Tomas Krizek [Mon, 3 Sep 2018 16:53:25 +0000 (18:53 +0200)] 
ci: update respdiff configs

6 years agoMerge branch 'ci-rpm-builds' into 'master'
Tomas Krizek [Mon, 3 Sep 2018 15:15:32 +0000 (15:15 +0000)] 
Merge branch 'ci-rpm-builds' into 'master'

ci: rpm builds

See merge request knot/knot-resolver!665

6 years agoci: docker/fedora - add OBS to EPEL7 mock
Tomas Krizek [Mon, 3 Sep 2018 14:59:37 +0000 (16:59 +0200)] 
ci: docker/fedora - add OBS to EPEL7 mock

6 years agoci: docker/fedora update to F29
Tomas Krizek [Mon, 3 Sep 2018 14:58:54 +0000 (16:58 +0200)] 
ci: docker/fedora update to F29

6 years agoMerge !663: ci: optimize respdiff
Vladimír Čunát [Mon, 3 Sep 2018 10:25:55 +0000 (10:25 +0000)] 
Merge !663: ci: optimize respdiff

6 years agoci: optimize respdiff
Tomas Krizek [Mon, 3 Sep 2018 10:25:55 +0000 (10:25 +0000)] 
ci: optimize respdiff

6 years agoMerge !650: misc nitpicks (see commits)
Vladimír Čunát [Mon, 3 Sep 2018 10:12:51 +0000 (10:12 +0000)] 
Merge !650: misc nitpicks (see commits)

6 years agomisc nitpicks (see commits)
Vladimír Čunát [Mon, 3 Sep 2018 10:12:51 +0000 (10:12 +0000)] 
misc nitpicks (see commits)

6 years agoMerge branch 'ci-update-respdiff-jobs' into 'master'
Tomas Krizek [Tue, 28 Aug 2018 12:50:43 +0000 (12:50 +0000)] 
Merge branch 'ci-update-respdiff-jobs' into 'master'

ci: update respdiff jobs

See merge request knot/knot-resolver!661

6 years agoci: update respdiff jobs
Tomas Krizek [Tue, 28 Aug 2018 11:21:53 +0000 (13:21 +0200)] 
ci: update respdiff jobs

6 years agoMerge branch 'ci-respdiff-stats' into 'master'
Tomas Krizek [Mon, 27 Aug 2018 11:11:23 +0000 (11:11 +0000)] 
Merge branch 'ci-respdiff-stats' into 'master'

ci: improve respdiff jobs

See merge request knot/knot-resolver!659

6 years agoci: respdiff - add option to force respdiff execution
Tomas Krizek [Thu, 23 Aug 2018 15:33:58 +0000 (17:33 +0200)] 
ci: respdiff - add option to force respdiff execution

6 years agoci: respdiff - use statcmp to plot graphs
Tomas Krizek [Wed, 22 Aug 2018 15:38:54 +0000 (17:38 +0200)] 
ci: respdiff - use statcmp to plot graphs

6 years agoci: respdiff - collect png graphs
Tomas Krizek [Tue, 21 Aug 2018 17:59:21 +0000 (19:59 +0200)] 
ci: respdiff - collect png graphs

6 years agoci: respdiff - create unique labels
Tomas Krizek [Tue, 21 Aug 2018 17:26:19 +0000 (19:26 +0200)] 
ci: respdiff - create unique labels

6 years agoci: enable multiple respdiff runs
Tomas Krizek [Tue, 21 Aug 2018 16:58:20 +0000 (18:58 +0200)] 
ci: enable multiple respdiff runs

6 years agoMerge branch 'ci-deckard-update' into 'master'
Petr Špaček [Thu, 23 Aug 2018 08:42:15 +0000 (08:42 +0000)] 
Merge branch 'ci-deckard-update' into 'master'

ci: update Deckard in attempt to make CI more reliable

See merge request knot/knot-resolver!658

6 years agoci: update Deckard in attempt to make CI more reliable
Petr Špaček [Thu, 23 Aug 2018 08:16:50 +0000 (10:16 +0200)] 
ci: update Deckard in attempt to make CI more reliable

Changes related to monotonic fake time and detection logic for overload
should make CI a little bit more reliable. It should be even better once
we combine overload-detection with some kind of auto-retry.

6 years agoMerge branch 'release_300' into 'master' v3.0.0
Tomas Krizek [Fri, 17 Aug 2018 16:31:53 +0000 (16:31 +0000)] 
Merge branch 'release_300' into 'master'

Release 3.0.0

See merge request knot/knot-resolver!653

6 years agorelease 3.0.0
Tomas Krizek [Wed, 15 Aug 2018 08:35:33 +0000 (10:35 +0200)] 
release 3.0.0

6 years agoci: check libkres symbols file
Tomas Krizek [Tue, 14 Aug 2018 13:04:48 +0000 (15:04 +0200)] 
ci: check libkres symbols file

6 years agolibkres: bump ABI to 8
Tomas Krizek [Tue, 14 Aug 2018 15:09:25 +0000 (17:09 +0200)] 
libkres: bump ABI to 8

6 years agoupdate minimal libknot version to 2.7.1
Tomas Krizek [Tue, 14 Aug 2018 12:24:54 +0000 (14:24 +0200)] 
update minimal libknot version to 2.7.1

6 years agoscripts: utility script for OBS test build
Tomas Krizek [Mon, 13 Aug 2018 15:03:36 +0000 (17:03 +0200)] 
scripts: utility script for OBS test build

6 years agoci: turn on respdiff:iter.tls6 job
Tomas Krizek [Fri, 17 Aug 2018 11:58:50 +0000 (13:58 +0200)] 
ci: turn on respdiff:iter.tls6 job

6 years agocookies: hide module documentation
Petr Špaček [Tue, 14 Aug 2018 12:28:48 +0000 (14:28 +0200)] 
cookies: hide module documentation

6 years agoMerge branch 'restore-cache-ops' into 'master'
Petr Špaček [Fri, 17 Aug 2018 16:24:27 +0000 (16:24 +0000)] 
Merge branch 'restore-cache-ops' into 'master'

lua: resurrect cache.clear('name')

See merge request knot/knot-resolver!633

6 years agocache.clear() tests: add cache.clear('.', true)
Vladimír Čunát [Fri, 17 Aug 2018 16:18:19 +0000 (18:18 +0200)] 
cache.clear() tests: add cache.clear('.', true)

6 years agocache: update NEWS
Petr Špaček [Fri, 17 Aug 2018 13:54:40 +0000 (15:54 +0200)] 
cache: update NEWS

6 years agocache.clear: clearing root clears everything, not only the root zone
Petr Špaček [Fri, 17 Aug 2018 13:40:20 +0000 (15:40 +0200)] 
cache.clear: clearing root clears everything, not only the root zone

Problem was caused by our lookup format where only the root zone starts
with \0 and all other zones start differently. This caused
cache_match('.') to match only data from root zone.

6 years agocache: update docs
Petr Špaček [Fri, 17 Aug 2018 12:36:46 +0000 (14:36 +0200)] 
cache: update docs

6 years agocache: relocate cache ABI version entry
Vladimír Čunát [Fri, 17 Aug 2018 11:21:15 +0000 (13:21 +0200)] 
cache: relocate cache ABI version entry

... to avoid colliding e.g. with cache.clear('.')

6 years agocache.clear: log when asynchonous clear is finished, document interface
Petr Špaček [Fri, 17 Aug 2018 09:17:51 +0000 (11:17 +0200)] 
cache.clear: log when asynchonous clear is finished, document interface

6 years agoWIP: docs
Petr Špaček [Thu, 16 Aug 2018 17:41:44 +0000 (19:41 +0200)] 
WIP: docs

6 years agocache.clear: tests
Petr Špaček [Tue, 14 Aug 2018 13:37:01 +0000 (15:37 +0200)] 
cache.clear: tests

6 years agotests/config: remove duplicite keyfile tests
Petr Špaček [Tue, 14 Aug 2018 12:50:09 +0000 (14:50 +0200)] 
tests/config: remove duplicite keyfile tests

6 years agocache.clear: use same output format for full cache clear
Petr Špaček [Thu, 16 Aug 2018 15:37:02 +0000 (17:37 +0200)] 
cache.clear: use same output format for full cache clear

6 years agocache.clear: use same output format for exact qname+qtype match
Petr Špaček [Thu, 16 Aug 2018 15:08:37 +0000 (17:08 +0200)] 
cache.clear: use same output format for exact qname+qtype match

6 years agocache.clear: allow callback to modify return value
Petr Špaček [Thu, 16 Aug 2018 14:50:18 +0000 (16:50 +0200)] 
cache.clear: allow callback to modify return value

This is handy mainly for tests but it costs nothing so why not to do it.

6 years agocache.clear: clarify chunk size limit
Petr Špaček [Thu, 16 Aug 2018 14:26:53 +0000 (16:26 +0200)] 
cache.clear: clarify chunk size limit

6 years agocache.clear(): display apex name if needed
Petr Špaček [Thu, 16 Aug 2018 12:44:40 +0000 (14:44 +0200)] 
cache.clear(): display apex name if needed

Error message is now contains apex name and advice how to clear negative
proofs.

6 years agocache: return number of removed entries from remove_* functions
Petr Špaček [Wed, 15 Aug 2018 15:53:29 +0000 (17:53 +0200)] 
cache: return number of removed entries from remove_* functions

It is more convenient to return 0 instead of ENOENT.

6 years agocache.clear(): return a table
Vladimír Čunát [Wed, 15 Aug 2018 16:50:23 +0000 (18:50 +0200)] 
cache.clear(): return a table

Also make the CLI table-printer print a bit longer strings
than it used to.

6 years agocache.clear(): various warnings
Vladimír Čunát [Wed, 15 Aug 2018 16:24:23 +0000 (18:24 +0200)] 
cache.clear(): various warnings

WIP: needs at least review, perhaps some more modifications

6 years agocache API: avoid some ENOENT errors
Vladimír Čunát [Wed, 15 Aug 2018 15:31:29 +0000 (17:31 +0200)] 
cache API: avoid some ENOENT errors

6 years agolib/resolve nitpick: clear lint warnings
Vladimír Čunát [Wed, 15 Aug 2018 14:38:26 +0000 (16:38 +0200)] 
lib/resolve nitpick: clear lint warnings

(perhaps this started with libknot-2.7?)

6 years agocache+lua: add kr_cache_closest_apex() API
Vladimír Čunát [Wed, 15 Aug 2018 14:13:10 +0000 (16:13 +0200)] 
cache+lua: add kr_cache_closest_apex() API

6 years agodocs for cache.prune(): mention the planned GC
Vladimír Čunát [Tue, 14 Aug 2018 12:24:47 +0000 (14:24 +0200)] 
docs for cache.prune(): mention the planned GC

6 years agocache.get(): disable again, for now
Vladimír Čunát [Mon, 6 Aug 2018 16:21:48 +0000 (18:21 +0200)] 
cache.get(): disable again, for now

We need to think about the API carefully.

6 years agocache.clear(): more flexibility via parameters
Vladimír Čunát [Wed, 25 Jul 2018 14:09:27 +0000 (16:09 +0200)] 
cache.clear(): more flexibility via parameters

6 years agocache.clear(name), cache.get(name): review
Vladimír Čunát [Mon, 23 Jul 2018 14:46:33 +0000 (16:46 +0200)] 
cache.clear(name), cache.get(name): review

- fix some edge cases and nitpicks
- static storage -> stack (for temporaries of a few kilobytes)
- sync docs, including caveats of the implementation

6 years agocache: restore kr_cache_match and kr_cache_remove
Anbang Wen [Sun, 13 May 2018 21:55:24 +0000 (14:55 -0700)] 
cache: restore kr_cache_match and kr_cache_remove

1. Restore two cache op which got dropped in 2.0;
2. Add kr_unpack_cache_key to parse cache key;
3. Fix the lua binding for cache.get and cache.clear.

6 years agoMerge !657: remove memcached and redis from source tree
Vladimír Čunát [Fri, 17 Aug 2018 13:57:37 +0000 (13:57 +0000)] 
Merge !657: remove memcached and redis from source tree

6 years agoremove memcached and redis modules from source tree
Petr Špaček [Fri, 17 Aug 2018 12:55:56 +0000 (14:55 +0200)] 
remove memcached and redis modules from source tree

Source was kept for historical reasons but was not in use since 2.0.0.
It is now clear that there are better approaches to implement
distributed cache so it is pointless to keep old stuff in tree and
confuse users.

6 years agoMerge branch 'test-bitmaps' into 'master'
Petr Špaček [Thu, 16 Aug 2018 16:47:23 +0000 (16:47 +0000)] 
Merge branch 'test-bitmaps' into 'master'

Revert "kr_nsec_bitmap_contains_type(): moved to libdnssec"

See merge request knot/knot-resolver!655