]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Oto Šťáva [Thu, 29 Jun 2023 11:18:58 +0000 (13:18 +0200)]
lib/log: consolidate log groups into a single place
Moves all log-group-related definitions into a generative macro so that
all changes to them can be done in a single place.
Vladimír Čunát [Wed, 28 Jun 2023 16:24:00 +0000 (18:24 +0200)]
Merge !1419: manager: datamodel: missing options for dns64
Aleš Mrázek [Wed, 28 Jun 2023 13:35:38 +0000 (15:35 +0200)]
manager: datamodel: missing options for dns64
Vladimír Čunát [Wed, 28 Jun 2023 07:38:47 +0000 (09:38 +0200)]
Merge !1409: kresc: remove this client
Vladimír Čunát [Tue, 13 Jun 2023 07:09:51 +0000 (09:09 +0200)]
kresc: remove this client
It's never gone beyond experiment/alpha and now we have kresctl
which should be much better. Keeping installed bin/kresc could
confuse users.
Vladimír Čunát [Wed, 28 Jun 2023 07:31:39 +0000 (09:31 +0200)]
Merge !1417: distro/pkg/deb: make manager package arch specific
Jakub Ružička [Mon, 26 Jun 2023 14:06:26 +0000 (16:06 +0200)]
distro/pkg/deb: make manager package arch specific
The supervisor plugin is compiled and arch specific.
Vladimír Čunát [Mon, 26 Jun 2023 10:17:18 +0000 (12:17 +0200)]
Merge !1324: Protocol layers
Oto Šťáva [Fri, 23 Jun 2023 10:20:35 +0000 (12:20 +0200)]
Merge remote-tracking branch 'origin/6.0' into daemon-refactor-2
Vladimír Čunát [Fri, 23 Jun 2023 10:11:55 +0000 (12:11 +0200)]
Merge !1402: packaging changes and improvements for v6
Oto Šťáva [Fri, 23 Jun 2023 09:02:34 +0000 (11:02 +0200)]
daemon/session2: make copies short-lived buffers when needed
Vladimír Čunát [Thu, 22 Jun 2023 16:29:22 +0000 (18:29 +0200)]
distro/pkg/rpm: cleanup an old TODO
Jakub Ružička [Thu, 22 Jun 2023 14:24:56 +0000 (16:24 +0200)]
Bump version to 6.0.1
No need for "a1", 6.0.x versions are reserved for alpha.
Jakub Ružička [Tue, 13 Jun 2023 19:23:07 +0000 (21:23 +0200)]
scripts: shorten devel version string
It's now also PEP440 compatible.
Before:
6.0.0.
1686682076 .
ad1eaf76 .tar.xz
Now:
6.0.0.dev157+1bcc45.tar.xz
Jakub Ružička [Tue, 23 May 2023 11:42:28 +0000 (13:42 +0200)]
scripts: improve make-archive.sh script
Copy resulting tarball into pkg/archives/dev and delete build_dist/ dir
to keep working copy clean.
Vladimír Čunát [Thu, 22 Jun 2023 14:02:40 +0000 (16:02 +0200)]
upgrade-4-to-5: remove the rest of occurrences
Jakub Ružička [Thu, 22 Jun 2023 13:27:38 +0000 (15:27 +0200)]
distro/tests: improve systemd service tests debug
Vladimír Čunát [Thu, 15 Jun 2023 10:35:32 +0000 (12:35 +0200)]
distro/pkg/rpm: drop %check
By definition it doesn't allow some kinds of tests.
Jakub Ružička [Thu, 22 Jun 2023 12:17:35 +0000 (14:17 +0200)]
distro/pkg/rpm: drop redundant file listing
This prevents
RPM build warnings:
File listed twice: /usr/lib64/knot-resolver
Jakub Ružička [Wed, 14 Jun 2023 11:54:21 +0000 (13:54 +0200)]
distro/pkg/rpm: align rpm packaging with deb
Jakub Ružička [Tue, 23 May 2023 10:44:47 +0000 (12:44 +0200)]
distro/pkg/deb: maintainer scripts cleanup
Remove 4 to 5 upgrade scripts and more.
Jakub Ružička [Wed, 17 May 2023 11:00:27 +0000 (13:00 +0200)]
distro/pkg/deb: debian packaging changes for v6
Oto Šťáva [Thu, 22 Jun 2023 09:25:33 +0000 (11:25 +0200)]
daemon/session2: prevent submitting payloads when session is closing
Oto Šťáva [Thu, 22 Jun 2023 07:43:18 +0000 (09:43 +0200)]
Merge remote-tracking branch 'origin/6.0' into daemon-refactor-2
Vladimír Čunát [Thu, 22 Jun 2023 07:05:12 +0000 (09:05 +0200)]
Merge !1416: docker: minor fixes
Vladimír Čunát [Mon, 19 Jun 2023 12:00:40 +0000 (14:00 +0200)]
ci docker: make it work with kresd 6.0
The lua CLI is not exposed anymore.
Vladimír Čunát [Mon, 19 Jun 2023 11:17:41 +0000 (13:17 +0200)]
Dockerfile: really expose all the services
Aleš Mrázek [Mon, 19 Jun 2023 12:11:37 +0000 (14:11 +0200)]
Merge branch 'manager-modeling-strict-validation' into '6.0'
manager: datamodel: global option for config validation strictness
See merge request knot/knot-resolver!1415
Aleš Mrázek [Mon, 19 Jun 2023 10:04:47 +0000 (12:04 +0200)]
manager: allowed to get 'rundir' from default config
Aleš Mrázek [Thu, 15 Jun 2023 14:37:07 +0000 (16:37 +0200)]
manager: datamodel: fields types changes
Aleš Mrázek [Fri, 16 Jun 2023 12:43:53 +0000 (14:43 +0200)]
manager: cli: validate: --no-strict arg added
Aleš Mrázek [Fri, 16 Jun 2023 12:38:33 +0000 (14:38 +0200)]
manager: datamodel: config validation strictness
The new global variable is intended to
distinguish between strict and normal validation.
Vladimír Čunát [Thu, 15 Jun 2023 15:15:56 +0000 (17:15 +0200)]
Merge !1411: ci: refresh versions of tested distros
Vladimír Čunát [Tue, 13 Jun 2023 16:04:36 +0000 (18:04 +0200)]
ci: cleanup forgotten conflict
Vladimír Čunát [Tue, 13 Jun 2023 16:03:40 +0000 (18:03 +0200)]
ci: comment on platforms defaulting to python 3.6
Vladimír Čunát [Tue, 13 Jun 2023 15:59:31 +0000 (17:59 +0200)]
ci pkg:fedora-*: switch to the current versions
Vladimír Čunát [Tue, 13 Jun 2023 15:53:53 +0000 (17:53 +0200)]
ci pkg:debian-12: add
Aleš Mrázek [Thu, 15 Jun 2023 10:16:36 +0000 (12:16 +0200)]
Merge branch 'manager-kresctl-convert-context' into '6.0'
manager: kresctl: global validation context for convert cmd
See merge request knot/knot-resolver!1414
Aleš Mrázek [Thu, 15 Jun 2023 10:14:10 +0000 (12:14 +0200)]
manager: cli: convert: set global validation context
Aleš Mrázek [Thu, 15 Jun 2023 09:54:37 +0000 (11:54 +0200)]
Merge branch 'manager-datamodel-local-data' into '6.0'
manager: datamodel: local-data: missing config options added
See merge request knot/knot-resolver!1413
Vladimír Čunát [Thu, 15 Jun 2023 09:31:57 +0000 (11:31 +0200)]
manager /local-data/addresses*: be stricter about errors
In versions before 6.x these errors intentionally didn't cause
the startup fail, but I think we can be more strict now.
Aleš Mrázek [Wed, 14 Jun 2023 14:42:48 +0000 (16:42 +0200)]
manager: datamodel: local-data: missing config options added
Vladimír Čunát [Wed, 14 Jun 2023 08:12:44 +0000 (10:12 +0200)]
Merge !1410: manager: new-policy cleanup
Aleš Mrázek [Tue, 13 Jun 2023 14:08:05 +0000 (16:08 +0200)]
manager: update dev config with policy rules
Aleš Mrázek [Tue, 13 Jun 2023 12:46:49 +0000 (14:46 +0200)]
manager: unnecessary scripts removed
Vladimír Čunát [Wed, 14 Jun 2023 08:10:25 +0000 (10:10 +0200)]
Merge !1412: manager: cli: global validation context
Aleš Mrázek [Tue, 13 Jun 2023 21:52:03 +0000 (23:52 +0200)]
manager: cli: global validation context
Vladimír Čunát [Tue, 13 Jun 2023 13:41:08 +0000 (15:41 +0200)]
Merge !1408: ci: drop `doc`; we have `pages` instead now
Vladimír Čunát [Fri, 9 Jun 2023 19:30:01 +0000 (21:30 +0200)]
ci: drop `doc`; we have `pages` instead now
The `pages` job works. We might consolidate this later,
also e.g. drop the doc dependencies from the default image
if we won't really use that image for docs anymore.
Vladimír Čunát [Mon, 12 Jun 2023 09:00:52 +0000 (11:00 +0200)]
Merge !1407: new policy engine
Vladimír Čunát [Fri, 9 Jun 2023 09:01:06 +0000 (11:01 +0200)]
lib/rules: DB size+path: make configurable, bump to 100 MiB
Ideally we'd expand it as needed, but that seems relatively complicated,
so for now let's go big with the sparse file and allow to override.
Vladimír Čunát [Thu, 8 Jun 2023 10:07:05 +0000 (12:07 +0200)]
lib/cache: improve logging for the LMDB with policy rules
In particular, log them with `[rules ]` instead of `[cache ]`
Vladimír Čunát [Tue, 6 Jun 2023 14:13:57 +0000 (16:13 +0200)]
lib/rules,cache: use transactions, improve assertions
When inserting rules from a config file, process everything
in a single transaction to avoid using inconsistent sets of rules,
especially in a different instance and/or in case some error happens.
Also fix some over-eager assertions (CHECK_RET).
Vladimír Čunát [Wed, 24 May 2023 11:05:13 +0000 (13:05 +0200)]
ci lint:scan-build: fix the error count
The new reports are:
./lib/rules/api.c:301:3: warning: Memory copy function overflows destination buffer
memcpy(key_data_ruleset_end, &KEY_EXACT_MATCH, sizeof(KEY_EXACT_MATCH));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./lib/rules/api.c:506:2: warning: Memory copy function overflows destination buffer
memcpy(key.data, &KEY_EXACT_MATCH, sizeof(KEY_EXACT_MATCH));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./lib/rules/api.c:699:2: warning: Memory copy function overflows destination buffer
memcpy(key.data, &KEY_ZONELIKE_A, sizeof(KEY_ZONELIKE_A));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
I re-checked those places, and I believe they can never overflow.
I regularly run with ASAN as well, which would catch overflows.
I can't see a simple way of amending the code in a way
that the linter might be happy.
Vladimír Čunát [Wed, 24 May 2023 10:12:42 +0000 (12:12 +0200)]
lib: tweak selection errors when consuming cached answer
Forwarding-related changes uncovered this case
in integration.iter_limits test. Errors can happen also
when consuming data produced by cache, in which case there's
no suitable server to blame for the error.
Vladimír Čunát [Wed, 24 May 2023 14:09:13 +0000 (16:09 +0200)]
lib/rules forwarding: per-IP .tls
We planned it that way for the new config schema - and, why not.
Vladimír Čunát [Fri, 19 May 2023 07:09:06 +0000 (09:09 +0200)]
lib/rules: implement forwarding
Typical use cases should work now, briefly tested:
- forwarding all to a resolver
- forwarding a subtree downgraded to insecure (to resolver or auth)
- forwarding a subtree to auth without changing DNSSEC chain (atypical)
In some places we need to repeat kr_make_query()
The issue is that some of its inputs (e.g. STUB/FORWARD, zone cut)
are now not known at the beginning of PRODUCE yet.
Also, checking that QNAME matches is useless on a cached reply.
Vladimír Čunát [Mon, 22 May 2023 15:25:50 +0000 (17:25 +0200)]
lib/rules: split key construction from insert_trivial_zone()
Vladimír Čunát [Mon, 22 May 2023 15:47:26 +0000 (17:47 +0200)]
lib/rules: move parts from api.c to impl.h
Vladimír Čunát [Thu, 18 May 2023 12:46:19 +0000 (14:46 +0200)]
lib/rules: bugfix ZLA key for the root
Vladimír Čunát [Sun, 7 May 2023 07:46:21 +0000 (09:46 +0200)]
lib/resolve.c: split in two files
I know that moving code makes e.g. blaming harder,
but this was a really long file now.
This commit _only_ moves code, except for nits:
- minor pieces moved into an -impl.h shared by both resolve*.c
There a couple functions changed to non-static or static inline.
- order is preserved, for now at least
Vladimír Čunát [Thu, 4 May 2023 10:48:27 +0000 (12:48 +0200)]
nits
Vladimír Čunát [Sat, 6 May 2023 09:17:22 +0000 (11:17 +0200)]
doc comments: fix two cases of "@param is not found"
Vladimír Čunát [Fri, 28 Apr 2023 09:19:33 +0000 (11:19 +0200)]
lib/rules: add API for loading a zonefile
Two main use cases are actual RPZ file
and also the /local-data/records string (plain RRsets).
The RPZ semantics isn't very close to the specs,
but I believe the practical usability is already better
than our old RPZ implementation, thanks to following CNAMEs.
Vladimír Čunát [Fri, 21 Apr 2023 09:56:46 +0000 (11:56 +0200)]
lib/rules: allow setting TTL in the trivial zones
(internally at least, not in api.h yet)
Vladimír Čunát [Fri, 21 Apr 2023 09:42:35 +0000 (11:42 +0200)]
lib/rules: move more declarations to impl.h
Vladimír Čunát [Mon, 17 Apr 2023 10:14:21 +0000 (12:14 +0200)]
lib/rules: implement NODATA zones
They're a bit weird but RPZ has something close to them.
Vladimír Čunát [Thu, 9 Feb 2023 09:58:13 +0000 (10:58 +0100)]
lib/rules: add NXDOMAIN (pseudo-)zones
It's questionable which SOA owner to use, but some users will surely
prefer NXDOMAINs to empty zones.
Vladimír Čunát [Wed, 4 Jan 2023 10:57:44 +0000 (11:57 +0100)]
ci lint:scan-build: adjust the error count
Merge from master resulted in decrease by one; no idea why.
Vladimír Čunát [Mon, 4 Jul 2022 11:35:50 +0000 (13:35 +0200)]
lib/rules: add usable tagging
Vladimír Čunát [Sun, 3 Jul 2022 13:15:40 +0000 (15:15 +0200)]
lib/rules: add basic view capability
Example:
assert(require('ffi').C.kr_view_insert_action(
'127.0.0.0/24', 'policy.DENY_MSG("message")'
) == 0)
Vladimír Čunát [Sat, 2 Jul 2022 10:49:38 +0000 (12:49 +0200)]
lib/cache: add a "<" search in addition to "<="
Vladimír Čunát [Fri, 1 Jul 2022 14:58:42 +0000 (16:58 +0200)]
lib/rules: refactor kr_rule_local_data_answer() a bit
Vladimír Čunát [Thu, 30 Jun 2022 12:25:21 +0000 (14:25 +0200)]
lib/rules: implement redirect zones
Also switch the localhost rule there, finishing migration
of all special names from the policy module.
Vladimír Čunát [Mon, 8 May 2023 08:25:15 +0000 (10:25 +0200)]
hints: cleanup unused parts of code
Vladimír Čunát [Sat, 11 Jun 2022 07:44:11 +0000 (09:44 +0200)]
hints: implement PTR and imperfect deletion (no .get)
Vladimír Čunát [Sat, 11 Jun 2022 07:37:24 +0000 (09:37 +0200)]
lib/rules: add deletion prototype, commit transactions
Vladimír Čunát [Mon, 7 Feb 2022 12:29:50 +0000 (13:29 +0100)]
hints: implement .use_nodata(true) and .ttl
fixes modules/dns64 test
Vladimír Čunát [Fri, 11 Feb 2022 10:44:00 +0000 (11:44 +0100)]
make policy.PASS also affect the new-policy rules
Vladimír Čunát [Wed, 22 Jul 2020 16:43:04 +0000 (18:43 +0200)]
new policy engine - prototype
Picked up old work, rebase-squashed after many months;
then fixed up a little as needed in this newer version.
(and later many minor fixes got squashed in)
Vladimír Čunát [Wed, 22 Jul 2020 13:53:11 +0000 (15:53 +0200)]
lib/cache: improve comments
See NEWS for 4.0.0: "always send DO+CD flags upstream".
Vladimír Čunát [Wed, 22 Jul 2020 11:25:51 +0000 (13:25 +0200)]
lib/cache pkt_append(): drop unnecessary argument
We already had rank stored in there, in particular
entry2answer() always stored it.
Vladimír Čunát [Wed, 22 Jul 2020 08:29:16 +0000 (10:29 +0200)]
lib/cache: simplify passing qry/req parameters
- kr_layer_t isn't really useful in the inner functions
(it's mainly useful through ->state when returning from layer)
- kr_query seems a little more suitable to pass than kr_request
Vladimír Čunát [Wed, 11 Jan 2023 10:57:04 +0000 (11:57 +0100)]
ci: reduce exceptions specific to manager branch
Vladimír Čunát [Fri, 9 Jun 2023 17:12:39 +0000 (19:12 +0200)]
Create branch 6.0 by merging master and manager
Aleš Mrázek [Fri, 9 Jun 2023 12:26:57 +0000 (14:26 +0200)]
Merge branch 'manager-datamodel-improvements' into 'manager'
manager: datamodel improvements
See merge request knot/knot-resolver!1313
Aleš Mrázek [Fri, 2 Jun 2023 13:31:33 +0000 (15:31 +0200)]
manager: forward config example
Aleš Mrázek [Fri, 2 Jun 2023 13:30:35 +0000 (15:30 +0200)]
manager: datamodel: forward: allow list for pin_sha256
Aleš Mrázek [Thu, 1 Jun 2023 13:02:40 +0000 (15:02 +0200)]
manager: poetry: setuptools added to build requirements
Aleš Mrázek [Wed, 31 May 2023 13:32:22 +0000 (15:32 +0200)]
manager: code formatting
Aleš Mrázek [Fri, 26 May 2023 09:46:15 +0000 (11:46 +0200)]
manager: datamodel: forward render to Lua
Aleš Mrázek [Fri, 5 May 2023 14:19:46 +0000 (16:19 +0200)]
manager: datamodel: local-data/rpz: schema and template
Aleš Mrázek [Wed, 3 May 2023 12:53:36 +0000 (14:53 +0200)]
manager: datamodel: local-data template and macros
Aleš Mrázek [Wed, 3 May 2023 10:30:45 +0000 (12:30 +0200)]
manager: datamodel: use 'boolean' macro in datamodel
Aleš Mrázek [Wed, 3 May 2023 09:12:37 +0000 (11:12 +0200)]
manager: datamodel: templates: macro for boolean values
Aleš Mrázek [Fri, 28 Apr 2023 15:18:59 +0000 (17:18 +0200)]
manager: datamodel: ListOrItem custom generic type
Aleš Mrázek [Fri, 28 Apr 2023 15:17:23 +0000 (17:17 +0200)]
manager: utils: modeling: support for custom generic types
Aleš Mrázek [Wed, 19 Apr 2023 13:47:12 +0000 (15:47 +0200)]
manager: datamodel: all Union[List[T], T] removed
Aleš Mrázek [Wed, 12 Apr 2023 10:26:01 +0000 (12:26 +0200)]
manager: datamodel: local_data render to Lua
Aleš Mrázek [Tue, 11 Apr 2023 14:26:25 +0000 (16:26 +0200)]
manager: datamodel: views render to Lua