]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
6 years agoWIP: this code certainly was suspicious lua-looping
Vladimír Čunát [Fri, 31 May 2019 13:54:11 +0000 (15:54 +0200)] 
WIP: this code certainly was suspicious

Small numbers would most likely get truncated to 0 when converted to
an integer, leading to 0ms lua timer.

6 years agoMerge !815: lib/nsrep: refactor a piece of code
Vladimír Čunát [Thu, 30 May 2019 15:34:12 +0000 (15:34 +0000)] 
Merge !815: lib/nsrep: refactor a piece of code

6 years agolib/nsrep: refactor a piece of code
Vladimír Čunát [Thu, 2 May 2019 12:15:23 +0000 (14:15 +0200)] 
lib/nsrep: refactor a piece of code

This is yet another logically equivalent change after 270d9964.
Now it's written in a way that expresses the original intention more
clearly and without copy&paste or long lines.

It seems easiest to verify by inspecting the meaning of the code
*separartely* for the two cases, based on condition:
cur_addr_score < KR_NS_TIMEOUT

6 years agoMerge branch 'p/uv_write-lifetime' into 'master'
Tomas Krizek [Wed, 29 May 2019 15:58:29 +0000 (15:58 +0000)] 
Merge branch 'p/uv_write-lifetime' into 'master'

daemon TCP to upstream: don't send wrong message length

See merge request knot/knot-resolver!816

6 years agodaemon TCP to upstream: don't send wrong message length
Vladimír Čunát [Mon, 13 May 2019 14:46:48 +0000 (16:46 +0200)] 
daemon TCP to upstream: don't send wrong message length

See the added comments.  Such bugs are tricky, because the old code
would typically work just fine, only if libuv/OS decided to postpone
copying the data (perhaps large load), we would send two bytes from
this address on C stack - their later value (hard to predict what).

Security risks: the two bytes might theoretically contain information
that was more or less private and we just send it to some DNS server
(possibly over unencrypted TCP), but ATM I find it very unlikely that
this bug could be practically exploited.

6 years agoMerge branch 'net_bufsize' into 'master'
Petr Špaček [Tue, 28 May 2019 09:15:38 +0000 (09:15 +0000)] 
Merge branch 'net_bufsize' into 'master'

clarification to docs for net.bufsize()

See merge request knot/knot-resolver!821

6 years agodocs: clarify meaning of net.bufsize
Petr Špaček [Tue, 28 May 2019 07:44:29 +0000 (09:44 +0200)] 
docs: clarify meaning of net.bufsize

6 years agodocs for net.bufsize(): fix a typo
Vladimír Čunát [Thu, 23 May 2019 07:58:52 +0000 (09:58 +0200)] 
docs for net.bufsize(): fix a typo

6 years agoMerge branch 'test-ci-adjust-times' into 'master'
Tomas Krizek [Fri, 24 May 2019 12:31:37 +0000 (12:31 +0000)] 
Merge branch 'test-ci-adjust-times' into 'master'

modules/ta_update.test: increase test times for CI

See merge request knot/knot-resolver!822

6 years agomodules/ta_update.test: increase test times for CI
Tomas Krizek [Fri, 24 May 2019 11:59:29 +0000 (13:59 +0200)] 
modules/ta_update.test: increase test times for CI

6 years agoMerge !820: doc: systemd
Vladimír Čunát [Fri, 24 May 2019 10:51:23 +0000 (10:51 +0000)] 
Merge !820: doc: systemd

6 years agosystemd: add note about locahost defaults
Tomas Krizek [Wed, 22 May 2019 11:43:32 +0000 (13:43 +0200)] 
systemd: add note about locahost defaults

6 years agosystemd: omit unneeded IP from ListenStream/Datagram
Tomas Krizek [Wed, 22 May 2019 11:42:25 +0000 (13:42 +0200)] 
systemd: omit unneeded IP from ListenStream/Datagram

6 years agoMerge branch 'docs-fixes' into 'master'
Petr Špaček [Mon, 6 May 2019 13:43:12 +0000 (13:43 +0000)] 
Merge branch 'docs-fixes' into 'master'

docs fixes

See merge request knot/knot-resolver!814

6 years agodocs for worker.stats()
Vladimír Čunát [Mon, 29 Apr 2019 12:27:46 +0000 (14:27 +0200)] 
docs for worker.stats()

- generate most of it from source
- make order the same in implementation and description

6 years agodocs: nitpick fixes from mailing-list
Vladimír Čunát [Mon, 29 Apr 2019 11:12:14 +0000 (13:12 +0200)] 
docs: nitpick fixes from mailing-list

6 years agoMerge branch 'ci-fixes' into 'master'
Tomas Krizek [Fri, 26 Apr 2019 12:14:10 +0000 (12:14 +0000)] 
Merge branch 'ci-fixes' into 'master'

CI fixes

See merge request knot/knot-resolver!812

6 years agoci: fix test:valgrind
Tomas Krizek [Thu, 25 Apr 2019 12:36:42 +0000 (14:36 +0200)] 
ci: fix test:valgrind

6 years agoci: collect logs from respdiff:baisc
Tomas Krizek [Thu, 25 Apr 2019 12:35:59 +0000 (14:35 +0200)] 
ci: collect logs from respdiff:baisc

6 years agoMerge branch 'ci-update-image' into 'master'
Tomas Krizek [Fri, 26 Apr 2019 12:04:15 +0000 (12:04 +0000)] 
Merge branch 'ci-update-image' into 'master'

ci: update debian-buster docker image

See merge request knot/knot-resolver!813

6 years agoci: update debian-buster docker image
Tomas Krizek [Fri, 26 Apr 2019 11:01:50 +0000 (13:01 +0200)] 
ci: update debian-buster docker image

6 years agoMerge !810: meson fixes
Vladimír Čunát [Thu, 25 Apr 2019 11:24:49 +0000 (11:24 +0000)] 
Merge !810: meson fixes

Closes #461 and #460.

6 years agomeson: nitpick newline
Tomas Krizek [Tue, 23 Apr 2019 09:57:31 +0000 (11:57 +0200)] 
meson: nitpick newline

6 years agomeson: dnstap - use declare_dependency for generated sources
Tomas Krizek [Tue, 23 Apr 2019 09:52:42 +0000 (11:52 +0200)] 
meson: dnstap - use declare_dependency for generated sources

Closes #461

6 years agomeson: explicitly disable unity builds
Tomas Krizek [Tue, 23 Apr 2019 09:38:32 +0000 (11:38 +0200)] 
meson: explicitly disable unity builds

Related #460

6 years agoMerge branch 'release-4-0-0' into 'master' v4.0.0
Tomas Krizek [Thu, 18 Apr 2019 16:36:15 +0000 (16:36 +0000)] 
Merge branch 'release-4-0-0' into 'master'

Release 4.0.0

See merge request knot/knot-resolver!809

6 years agorelease 4.0.0
Tomas Krizek [Thu, 18 Apr 2019 11:05:39 +0000 (13:05 +0200)] 
release 4.0.0

6 years agoci: remove check for debian symbols
Tomas Krizek [Thu, 18 Apr 2019 15:28:57 +0000 (17:28 +0200)] 
ci: remove check for debian symbols

6 years agoMerge branch 'packaging-doh' into 'master'
Tomas Krizek [Thu, 18 Apr 2019 16:30:18 +0000 (16:30 +0000)] 
Merge branch 'packaging-doh' into 'master'

packaging: DoH

See merge request knot/knot-resolver!806

6 years agohttp: upgrading to 4.0.0 docs
Petr Špaček [Thu, 18 Apr 2019 16:23:06 +0000 (18:23 +0200)] 
http: upgrading to 4.0.0 docs

6 years agodoc/net: nitpicks and system-kresd.slice restart
Tomas Krizek [Thu, 18 Apr 2019 16:09:59 +0000 (18:09 +0200)] 
doc/net: nitpicks and system-kresd.slice restart

6 years agohttp: polish docs
Petr Špaček [Thu, 18 Apr 2019 15:33:21 +0000 (17:33 +0200)] 
http: polish docs

6 years agodocs: polish network configuration bits
Petr Špaček [Thu, 18 Apr 2019 15:25:03 +0000 (17:25 +0200)] 
docs: polish network configuration bits

6 years agodoc/upgrading: mention changed to http module
Tomas Krizek [Thu, 18 Apr 2019 15:04:07 +0000 (17:04 +0200)] 
doc/upgrading: mention changed to http module

6 years agomodules/http: use port 8453 as default for web management
Tomas Krizek [Thu, 18 Apr 2019 13:18:02 +0000 (15:18 +0200)] 
modules/http: use port 8453 as default for web management

6 years agodoc: unify documented DoH port usage to 443
Tomas Krizek [Thu, 18 Apr 2019 13:12:08 +0000 (15:12 +0200)] 
doc: unify documented DoH port usage to 443

6 years agoci: treat config.ta_update test as a special snowflake
Tomas Krizek [Thu, 18 Apr 2019 12:29:23 +0000 (14:29 +0200)] 
ci: treat config.ta_update test as a special snowflake

config.ta_update test doesn't play along with others and wants all of
the runner's attention to itself, otherwise it throws a tantrum.

6 years agoetc/config: explicitly set kind to tls
Tomas Krizek [Thu, 18 Apr 2019 07:19:38 +0000 (09:19 +0200)] 
etc/config: explicitly set kind to tls

6 years agodocker: update ports, add doh
Tomas Krizek [Thu, 18 Apr 2019 07:19:08 +0000 (09:19 +0200)] 
docker: update ports, add doh

6 years agodoc: document http module usage with systemd
Tomas Krizek [Wed, 17 Apr 2019 16:24:01 +0000 (18:24 +0200)] 
doc: document http module usage with systemd

6 years agodistro/deb: daemon-reload after http installation
Tomas Krizek [Wed, 17 Apr 2019 14:30:54 +0000 (16:30 +0200)] 
distro/deb: daemon-reload after http installation

6 years agosystemd: use 44353 for DoH port
Tomas Krizek [Wed, 17 Apr 2019 13:13:28 +0000 (15:13 +0200)] 
systemd: use 44353 for DoH port

Using 443 as the default port presents too many packaging challenges.
DoH requires configuration to be useful anyway, so users are free to
override this value as they see fit.

6 years agodistro/tests: remove fedora workaround
Tomas Krizek [Wed, 17 Apr 2019 12:19:11 +0000 (14:19 +0200)] 
distro/tests: remove fedora workaround

6 years agodistro/rpm: update dependency names
Tomas Krizek [Wed, 17 Apr 2019 10:52:09 +0000 (12:52 +0200)] 
distro/rpm: update dependency names

6 years agodistro: add explicit dependency on new lua-cqueues
Tomas Krizek [Tue, 16 Apr 2019 20:02:49 +0000 (22:02 +0200)] 
distro: add explicit dependency on new lua-cqueues

Older cqueues may cause some issues with lua-http

6 years agodistro/tests: additional tests, including DoH
Tomas Krizek [Fri, 12 Apr 2019 15:08:20 +0000 (17:08 +0200)] 
distro/tests: additional tests, including DoH

6 years agosystemd: integrate http module with systemd
Tomas Krizek [Thu, 11 Apr 2019 15:40:48 +0000 (17:40 +0200)] 
systemd: integrate http module with systemd

6 years agomodules/experimental_dot_auth: remove bundled basexx
Tomas Krizek [Wed, 10 Apr 2019 12:44:48 +0000 (14:44 +0200)] 
modules/experimental_dot_auth: remove bundled basexx

6 years agoscripts: update obs-testbuild.sh
Tomas Krizek [Wed, 10 Apr 2019 11:10:54 +0000 (13:10 +0200)] 
scripts: update obs-testbuild.sh

6 years agodistro/rpm: create knot-resolver-module-http package
Tomas Krizek [Wed, 10 Apr 2019 10:59:15 +0000 (12:59 +0200)] 
distro/rpm: create knot-resolver-module-http package

6 years agodistro/deb: add ta_update module
Tomas Krizek [Wed, 10 Apr 2019 10:57:59 +0000 (12:57 +0200)] 
distro/deb: add ta_update module

6 years agoMerge branch 'http-ephemeral-lifetime' into 'master'
Tomas Krizek [Thu, 18 Apr 2019 15:08:46 +0000 (15:08 +0000)] 
Merge branch 'http-ephemeral-lifetime' into 'master'

modules/http: fix too early renewal of ephemeral certificates

See merge request knot/knot-resolver!808

6 years agomodules/http: fix too early renewal of ephemeral certificates
Vladimír Čunát [Thu, 18 Apr 2019 15:01:12 +0000 (17:01 +0200)] 
modules/http: fix too early renewal of ephemeral certificates

6 years agoMerge branch 'http-config-fixes' into 'master'
Tomas Krizek [Thu, 18 Apr 2019 13:19:17 +0000 (13:19 +0000)] 
Merge branch 'http-config-fixes' into 'master'

http.config() fixes

See merge request knot/knot-resolver!807

6 years agohttp: remove leftovers after transition to net.listen() interface
Petr Špaček [Thu, 18 Apr 2019 13:11:58 +0000 (15:11 +0200)] 
http: remove leftovers after transition to net.listen() interface

6 years agohttp: usability improvement
Petr Špaček [Thu, 18 Apr 2019 13:06:03 +0000 (15:06 +0200)] 
http: usability improvement

Formerly http.config({tls=false}, 'doh') also removed all endpoints for
'doh', which was unexpected.

With this change configurations are merged as expected and user does not
have to repeat endpoints and other options from builtin template.

6 years agoMerge branch 'http-sockets' into 'master'
Tomas Krizek [Thu, 18 Apr 2019 09:24:44 +0000 (09:24 +0000)] 
Merge branch 'http-sockets' into 'master'

http sockets

Closes #85

See merge request knot/knot-resolver!803

6 years agohttp: assorted fixed to make luacheck happy
Petr Špaček [Thu, 18 Apr 2019 09:18:53 +0000 (11:18 +0200)] 
http: assorted fixed to make luacheck happy

6 years agohttp: fix http.tls config tests and validate certs during config()
Petr Špaček [Thu, 18 Apr 2019 09:00:46 +0000 (11:00 +0200)] 
http: fix http.tls config tests and validate certs during config()

6 years agohttp: fix forgotten doh config tests
Petr Špaček [Thu, 18 Apr 2019 08:30:45 +0000 (10:30 +0200)] 
http: fix forgotten doh config tests

6 years agohttp: update docs
Petr Špaček [Wed, 17 Apr 2019 06:47:00 +0000 (08:47 +0200)] 
http: update docs

6 years agohttp: respect socket type provided by net.listen() and systemd
Petr Špaček [Tue, 16 Apr 2019 11:45:33 +0000 (13:45 +0200)] 
http: respect socket type provided by net.listen() and systemd

6 years agotests: disable output buffering in config tests
Petr Špaček [Tue, 16 Apr 2019 10:31:05 +0000 (12:31 +0200)] 
tests: disable output buffering in config tests

Output buffering in tests made debugging much harder because crash in
middle of operation discarded while buffer and left us without a trace
what was going on.

6 years agohttp: handle socket closure from net.close()
Petr Špaček [Tue, 16 Apr 2019 10:13:43 +0000 (12:13 +0200)] 
http: handle socket closure from net.close()

6 years agohttp: use sockets from net.listen()
Petr Špaček [Tue, 16 Apr 2019 07:10:15 +0000 (09:10 +0200)] 
http: use sockets from net.listen()

We still need to somehow solve socket closure etc.

6 years agohttp: config templates
Petr Špaček [Mon, 15 Apr 2019 15:54:18 +0000 (17:54 +0200)] 
http: config templates

Add interface for providing different named configuration sets.
This will be handy once we start getting named sockets from systemd.

6 years agohttp: new function to merge config sets
Petr Špaček [Mon, 15 Apr 2019 13:40:27 +0000 (15:40 +0200)] 
http: new function to merge config sets

6 years agohttp: remove obsolete function interface()
Petr Špaček [Mon, 15 Apr 2019 13:40:00 +0000 (15:40 +0200)] 
http: remove obsolete function interface()

6 years agohttp: remember server config in http.servers table
Petr Špaček [Mon, 15 Apr 2019 13:01:23 +0000 (15:01 +0200)] 
http: remember server config in http.servers table

6 years agolua net.listen() tweaks (+docs)
Vladimír Čunát [Wed, 17 Apr 2019 16:23:25 +0000 (18:23 +0200)] 
lua net.listen() tweaks (+docs)

6 years agolua net.list(): change output and docs
Vladimír Čunát [Mon, 15 Apr 2019 07:26:56 +0000 (09:26 +0200)] 
lua net.list(): change output and docs

Now we hopefully won't need to touch it for a long time.

6 years agolua net.close(): multiple fixes
Vladimír Čunát [Tue, 16 Apr 2019 09:57:03 +0000 (11:57 +0200)] 
lua net.close(): multiple fixes

- allow omitting port number
- sync docs
- fix memory leak
- fix with kind != NULL

6 years agodaemon: support for more endpoint kinds
Vladimír Čunát [Sat, 13 Apr 2019 08:25:20 +0000 (10:25 +0200)] 
daemon: support for more endpoint kinds

6 years agodaemon/bindings: add lua_pushpointer()
Vladimír Čunát [Mon, 15 Apr 2019 11:50:51 +0000 (13:50 +0200)] 
daemon/bindings: add lua_pushpointer()

Originally it's from another branch.

6 years agosimplify approach to bind()
Vladimír Čunát [Fri, 12 Apr 2019 13:06:02 +0000 (15:06 +0200)] 
simplify approach to bind()

The complication is that we need to work with addresses and
just file-descriptors passed from some parent process.
The former approach lead to logical duplication of some steps;
now we add a step converting addresses to file-descriptors.
Thanks to that we always do bind() without touching libuv,
so the problem with forking disappears :-)

6 years agonet.listen(): return false on failure, not nil
Vladimír Čunát [Thu, 11 Apr 2019 13:50:25 +0000 (15:50 +0200)] 
net.listen(): return false on failure, not nil

That was against docs.  Fortunately, nil is falsy.

6 years agoMerge branch 'net-interfaces-mac' into 'master'
Petr Špaček [Thu, 18 Apr 2019 07:06:25 +0000 (07:06 +0000)] 
Merge branch 'net-interfaces-mac' into 'master'

lua net.interfaces(): fix mac addresses

See merge request knot/knot-resolver!804

6 years agolua net.interfaces(): fix mac addresses
Vladimír Čunát [Tue, 16 Apr 2019 10:52:16 +0000 (12:52 +0200)] 
lua net.interfaces(): fix mac addresses

Only the first byte was being shown since 3ab77332.
I can't see at all why this part was changed;
the buffer is (and was) way overlong for this,
so writing one zero byte just after the end is OK.

6 years agoMerge branch 'alignof' into 'master'
Petr Špaček [Thu, 18 Apr 2019 07:03:19 +0000 (07:03 +0000)] 
Merge branch 'alignof' into 'master'

lib/generic/lru: try to resolve alignof warnings

See merge request knot/knot-resolver!802

6 years agolib/generic/lru: try to resolve alignof warnings
Vladimír Čunát [Fri, 12 Apr 2019 07:22:15 +0000 (09:22 +0200)] 
lib/generic/lru: try to resolve alignof warnings

We run meson with -std=gnu11, but apparently some compiler still
complained about it.  Unfortunately it wouldn't be easy to use
standard C11 in this case.

6 years agoMerge branch 'lua-light-userdata_4.0.0' into 'master'
Tomas Krizek [Wed, 17 Apr 2019 17:14:21 +0000 (17:14 +0000)] 
Merge branch 'lua-light-userdata_4.0.0' into 'master'

parts of !797: lua light userdata WIP

See merge request knot/knot-resolver!800

6 years agodocument module API+ABI changes
Vladimír Čunát [Thu, 11 Apr 2019 08:51:18 +0000 (10:51 +0200)] 
document module API+ABI changes

6 years agomodules/README.rst: quick full-pass review
Vladimír Čunát [Tue, 9 Apr 2019 09:01:08 +0000 (11:01 +0200)] 
modules/README.rst: quick full-pass review

6 years agolua module layers: avoid incorrect returns on errors
Vladimír Čunát [Wed, 3 Apr 2019 17:51:28 +0000 (19:51 +0200)] 
lua module layers: avoid incorrect returns on errors

The layer functions are supposed to return the new state.
We've been lucky that errors are negative numbers and thus
they typically passed the (status & KR_STATE_FAIL) test.

6 years agomodule API+ABI: remove one level of indirection
Vladimír Čunát [Thu, 14 Mar 2019 12:09:48 +0000 (13:09 +0100)] 
module API+ABI: remove one level of indirection

... for layers and props.  This breaks C module API+ABI.

It seemed weird to repeatedly call a function that returns a pointer
to a structure in which we find the function we want to actually call.
We've never used changing these functions AFAIK, and the target
functions could easily be written to change their behavior instead
(i.e. move the indirection *inside* the function).

When breaking this, I also removed these two (_layers and _props)
from the dynamic symbols (to be) exported from the C modules.
They always pointed to memory belonging inside the module,
and they seem quite sensible to be set up by the _init symbol instead.

6 years agoMerge branch 'dnstap-turris' into 'master'
Tomas Krizek [Wed, 17 Apr 2019 16:26:25 +0000 (16:26 +0000)] 
Merge branch 'dnstap-turris' into 'master'

dnstap: fix compilation on Turris Omnia

Closes #458

See merge request knot/knot-resolver!805

6 years agodnstap: fix compilation on Turris Omnia
Jan Pavlinec [Tue, 16 Apr 2019 13:35:38 +0000 (15:35 +0200)] 
dnstap: fix compilation on Turris Omnia

Fixes: #458
6 years agoMerge !801: more table print improvements
Vladimír Čunát [Tue, 16 Apr 2019 07:00:47 +0000 (07:00 +0000)] 
Merge !801: more table print improvements

6 years agotable_print: also print function addresses
Petr Špaček [Tue, 16 Apr 2019 06:29:17 +0000 (08:29 +0200)] 
table_print: also print function addresses

It gets handy for debugging, especially when looking at dufferent
callback "instances".

6 years agotable_print: do not run hook for C functions
Petr Špaček [Thu, 11 Apr 2019 15:10:25 +0000 (17:10 +0200)] 
table_print: do not run hook for C functions

It would be pointless anyway as it cannot provide more information.

6 years agotable_print: simplification
Petr Špaček [Thu, 11 Apr 2019 13:57:06 +0000 (15:57 +0200)] 
table_print: simplification

As far as I understand the debug.sethook('call') descrption we are not
going to have any locals except function parameters so we can simplify
the code.

6 years agotable_print: simplify vararg handling
Petr Špaček [Thu, 11 Apr 2019 13:13:21 +0000 (15:13 +0200)] 
table_print: simplify vararg handling

6 years agotable_print: indicate that C functions do not have parameters available
Petr Špaček [Thu, 11 Apr 2019 12:48:04 +0000 (14:48 +0200)] 
table_print: indicate that C functions do not have parameters available

6 years agotable_print: fix indentation
Petr Špaček [Thu, 11 Apr 2019 12:44:06 +0000 (14:44 +0200)] 
table_print: fix indentation

6 years agoMerge branch 'doh_experiment' into 'master'
Petr Špaček [Thu, 11 Apr 2019 07:33:11 +0000 (07:33 +0000)] 
Merge branch 'doh_experiment' into 'master'

DNS-over-HTTP support (server side)

Closes #280

See merge request knot/knot-resolver!799

6 years agodoh: example how to listen on all addresses
Petr Špaček [Wed, 10 Apr 2019 11:41:01 +0000 (13:41 +0200)] 
doh: example how to listen on all addresses

6 years agodoh: fix error handling around empty POST
Petr Špaček [Tue, 9 Apr 2019 11:20:02 +0000 (13:20 +0200)] 
doh: fix error handling around empty POST

6 years agofixup! modules/http DoH: allocate req.qsource on req.pool
Vladimír Čunát [Tue, 9 Apr 2019 11:12:33 +0000 (13:12 +0200)] 
fixup! modules/http DoH: allocate req.qsource on req.pool

Change handling of the inability to get address;
it happens occasionally and the traces were disruptive.

6 years agofixup! modules/http DoH: allocate req.qsource on req.pool
Vladimír Čunát [Mon, 8 Apr 2019 15:55:37 +0000 (17:55 +0200)] 
fixup! modules/http DoH: allocate req.qsource on req.pool

6 years agomodules/http DoH: allocate req.qsource on req.pool
Vladimír Čunát [Mon, 8 Apr 2019 13:54:43 +0000 (15:54 +0200)] 
modules/http DoH: allocate req.qsource on req.pool

The problem is that C structures are not scanned by lua GC,
so we'd have to keep these alive in some other way; therefore
it's simpler to just use the mempool.