]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Vladimír Čunát [Fri, 15 Mar 2019 16:14:58 +0000 (17:14 +0100)]
modules impl.: avoid using custom trampolines
...when making calls from lua to C modules; use luaJIT FFI instead.
This eliminates some cases of lua_pushlightuserdata().
Vladimír Čunát [Wed, 13 Mar 2019 12:10:06 +0000 (13:10 +0100)]
engine: switch to static allocation instead of stack
Vladimír Čunát [Wed, 27 Feb 2019 16:13:39 +0000 (17:13 +0100)]
worker: convert to a proper singleton
On many places we've been assuming that there's only a single worker,
but we still often didn't utilize the property well. To get the pointer
we used various ways, all even untyped:
- __worker global variable in lua
- uv_default_loop()->data
- kr_request::daemon_context
Now we instead simply define a global typed pointer the_worker.
Nitpick: also worker_{init,deinit}() are reordered to correspond
to the order of the fields, etc.
Vladimír Čunát [Tue, 11 Jun 2019 12:13:52 +0000 (12:13 +0000)]
Merge !824: distrotests: automate packaging tests in GitLab CI
Tomas Krizek [Fri, 7 Jun 2019 09:38:21 +0000 (11:38 +0200)]
gitlabci: make version mismatch more obvious in obs:* jobs
Tomas Krizek [Thu, 6 Jun 2019 14:24:23 +0000 (16:24 +0200)]
gitlabci: fail obs:build:all on mismatching versions
Tomas Krizek [Wed, 5 Jun 2019 14:22:36 +0000 (16:22 +0200)]
gitlabci: fix incorrect result of obs:build:all
Tomas Krizek [Wed, 5 Jun 2019 11:47:08 +0000 (13:47 +0200)]
distro/tests: remove fedora28, ubuntu1810 (eol)
Tomas Krizek [Wed, 5 Jun 2019 11:34:23 +0000 (13:34 +0200)]
gitlabci: reorganize & cleanup
Tomas Krizek [Wed, 5 Jun 2019 10:36:49 +0000 (12:36 +0200)]
gitlabci: support OBS build in knot-resolver-latest on tags
Tomas Krizek [Tue, 4 Jun 2019 12:34:43 +0000 (14:34 +0200)]
gitlabci: add OBS build check (all archs+distros)
Tomas Krizek [Thu, 30 May 2019 12:55:48 +0000 (14:55 +0200)]
gitlabci: add distrotests to CI
Tomas Krizek [Thu, 30 May 2019 14:36:19 +0000 (16:36 +0200)]
scripts/make-distrofiles.sh: remove obsolete -s switch
Tomas Krizek [Thu, 30 May 2019 11:16:21 +0000 (13:16 +0200)]
gitlabci: add SKIP_CI variable
Tomas Krizek [Fri, 24 May 2019 10:35:13 +0000 (12:35 +0200)]
distro/tests: support more OBS repos in test-distro.sh
Tomas Krizek [Fri, 24 May 2019 08:45:59 +0000 (10:45 +0200)]
scripts/obs-build.sh: support build for different repos
Tomas Krizek [Thu, 23 May 2019 13:59:11 +0000 (15:59 +0200)]
distro/tests: support test-distro.sh exec from any directory
Tomas Krizek [Mon, 20 May 2019 14:15:01 +0000 (16:15 +0200)]
distro/tests: remove pkgtests for rolling distros
Tomas Krizek [Mon, 20 May 2019 11:13:38 +0000 (13:13 +0200)]
distro/tests: add fedora30, ubuntu1904
Tomas Krizek [Mon, 20 May 2019 10:51:08 +0000 (12:51 +0200)]
distro/tests: limit CPU and memory for VMs
Vladimír Čunát [Tue, 11 Jun 2019 10:20:44 +0000 (10:20 +0000)]
Merge !811: daemon: support AF_UNIX sockets in the http module
Tomas Krizek [Mon, 10 Jun 2019 15:08:07 +0000 (17:08 +0200)]
doc: document AF_UNIX support for webmgmt
Vladimír Čunát [Mon, 3 Jun 2019 13:42:02 +0000 (15:42 +0200)]
modules/http: test connection to an AF_UNIX socket
Vladimír Čunát [Tue, 23 Apr 2019 12:23:43 +0000 (14:23 +0200)]
daemon: support AF_UNIX sockets in the http module
There's no support for the "dns" and "tls" kinds (for now).
Tested briefly:
> modules = { 'http' }
> net.listen('/tmp/kresd-socket', nil, { kind = 'webmgmt' })
$ socat TCP-LISTEN:5555,reuseaddr,fork UNIX-CLIENT:/tmp/kresd-socket
$ xdg-open http://127.0.0.1:5555
Tomas Krizek [Mon, 3 Jun 2019 12:47:27 +0000 (12:47 +0000)]
Merge branch 'doh-any-origin' into 'master'
http DoH: make answers include access-control-allow-origin: *
See merge request knot/knot-resolver!823
Vladimír Čunát [Mon, 27 May 2019 13:13:37 +0000 (15:13 +0200)]
http DoH: answers include access-control-allow-origin: *
Otherwise most browsers won't allow JS from *other* sites to use the
data - one of the two primary use cases for DoH as stated in RFC 8484.
Vladimír Čunát [Thu, 30 May 2019 15:34:12 +0000 (15:34 +0000)]
Merge !815: lib/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
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
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.
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
Petr Špaček [Tue, 28 May 2019 07:44:29 +0000 (09:44 +0200)]
docs: clarify meaning of net.bufsize
Vladimír Čunát [Thu, 23 May 2019 07:58:52 +0000 (09:58 +0200)]
docs for net.bufsize(): fix a typo
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
Tomas Krizek [Fri, 24 May 2019 11:59:29 +0000 (13:59 +0200)]
modules/ta_update.test: increase test times for CI
Vladimír Čunát [Fri, 24 May 2019 10:51:23 +0000 (10:51 +0000)]
Merge !820: doc: systemd
Tomas Krizek [Wed, 22 May 2019 11:43:32 +0000 (13:43 +0200)]
systemd: add note about locahost defaults
Tomas Krizek [Wed, 22 May 2019 11:42:25 +0000 (13:42 +0200)]
systemd: omit unneeded IP from ListenStream/Datagram
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
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
Vladimír Čunát [Mon, 29 Apr 2019 11:12:14 +0000 (13:12 +0200)]
docs: nitpick fixes from mailing-list
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
Tomas Krizek [Thu, 25 Apr 2019 12:36:42 +0000 (14:36 +0200)]
ci: fix test:valgrind
Tomas Krizek [Thu, 25 Apr 2019 12:35:59 +0000 (14:35 +0200)]
ci: collect logs from respdiff:baisc
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
Tomas Krizek [Fri, 26 Apr 2019 11:01:50 +0000 (13:01 +0200)]
ci: update debian-buster docker image
Vladimír Čunát [Thu, 25 Apr 2019 11:24:49 +0000 (11:24 +0000)]
Merge !810: meson fixes
Closes #461 and #460.
Tomas Krizek [Tue, 23 Apr 2019 09:57:31 +0000 (11:57 +0200)]
meson: nitpick newline
Tomas Krizek [Tue, 23 Apr 2019 09:52:42 +0000 (11:52 +0200)]
meson: dnstap - use declare_dependency for generated sources
Closes #461
Tomas Krizek [Tue, 23 Apr 2019 09:38:32 +0000 (11:38 +0200)]
meson: explicitly disable unity builds
Related #460
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
Tomas Krizek [Thu, 18 Apr 2019 11:05:39 +0000 (13:05 +0200)]
release 4.0.0
Tomas Krizek [Thu, 18 Apr 2019 15:28:57 +0000 (17:28 +0200)]
ci: remove check for debian symbols
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
Petr Špaček [Thu, 18 Apr 2019 16:23:06 +0000 (18:23 +0200)]
http: upgrading to 4.0.0 docs
Tomas Krizek [Thu, 18 Apr 2019 16:09:59 +0000 (18:09 +0200)]
doc/net: nitpicks and system-kresd.slice restart
Petr Špaček [Thu, 18 Apr 2019 15:33:21 +0000 (17:33 +0200)]
http: polish docs
Petr Špaček [Thu, 18 Apr 2019 15:25:03 +0000 (17:25 +0200)]
docs: polish network configuration bits
Tomas Krizek [Thu, 18 Apr 2019 15:04:07 +0000 (17:04 +0200)]
doc/upgrading: mention changed to http module
Tomas Krizek [Thu, 18 Apr 2019 13:18:02 +0000 (15:18 +0200)]
modules/http: use port 8453 as default for web management
Tomas Krizek [Thu, 18 Apr 2019 13:12:08 +0000 (15:12 +0200)]
doc: unify documented DoH port usage to 443
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.
Tomas Krizek [Thu, 18 Apr 2019 07:19:38 +0000 (09:19 +0200)]
etc/config: explicitly set kind to tls
Tomas Krizek [Thu, 18 Apr 2019 07:19:08 +0000 (09:19 +0200)]
docker: update ports, add doh
Tomas Krizek [Wed, 17 Apr 2019 16:24:01 +0000 (18:24 +0200)]
doc: document http module usage with systemd
Tomas Krizek [Wed, 17 Apr 2019 14:30:54 +0000 (16:30 +0200)]
distro/deb: daemon-reload after http installation
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.
Tomas Krizek [Wed, 17 Apr 2019 12:19:11 +0000 (14:19 +0200)]
distro/tests: remove fedora workaround
Tomas Krizek [Wed, 17 Apr 2019 10:52:09 +0000 (12:52 +0200)]
distro/rpm: update dependency names
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
Tomas Krizek [Fri, 12 Apr 2019 15:08:20 +0000 (17:08 +0200)]
distro/tests: additional tests, including DoH
Tomas Krizek [Thu, 11 Apr 2019 15:40:48 +0000 (17:40 +0200)]
systemd: integrate http module with systemd
Tomas Krizek [Wed, 10 Apr 2019 12:44:48 +0000 (14:44 +0200)]
modules/experimental_dot_auth: remove bundled basexx
Tomas Krizek [Wed, 10 Apr 2019 11:10:54 +0000 (13:10 +0200)]
scripts: update obs-testbuild.sh
Tomas Krizek [Wed, 10 Apr 2019 10:59:15 +0000 (12:59 +0200)]
distro/rpm: create knot-resolver-module-http package
Tomas Krizek [Wed, 10 Apr 2019 10:57:59 +0000 (12:57 +0200)]
distro/deb: add ta_update module
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
Vladimír Čunát [Thu, 18 Apr 2019 15:01:12 +0000 (17:01 +0200)]
modules/http: fix too early renewal of ephemeral certificates
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
Petr Špaček [Thu, 18 Apr 2019 13:11:58 +0000 (15:11 +0200)]
http: remove leftovers after transition to net.listen() interface
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.
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
Petr Špaček [Thu, 18 Apr 2019 09:18:53 +0000 (11:18 +0200)]
http: assorted fixed to make luacheck happy
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()
Petr Špaček [Thu, 18 Apr 2019 08:30:45 +0000 (10:30 +0200)]
http: fix forgotten doh config tests
Petr Špaček [Wed, 17 Apr 2019 06:47:00 +0000 (08:47 +0200)]
http: update docs
Petr Špaček [Tue, 16 Apr 2019 11:45:33 +0000 (13:45 +0200)]
http: respect socket type provided by net.listen() and systemd
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.
Petr Špaček [Tue, 16 Apr 2019 10:13:43 +0000 (12:13 +0200)]
http: handle socket closure from net.close()
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.
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.
Petr Špaček [Mon, 15 Apr 2019 13:40:27 +0000 (15:40 +0200)]
http: new function to merge config sets
Petr Špaček [Mon, 15 Apr 2019 13:40:00 +0000 (15:40 +0200)]
http: remove obsolete function interface()
Petr Špaček [Mon, 15 Apr 2019 13:01:23 +0000 (15:01 +0200)]
http: remember server config in http.servers table
Vladimír Čunát [Wed, 17 Apr 2019 16:23:25 +0000 (18:23 +0200)]
lua net.listen() tweaks (+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.
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
Vladimír Čunát [Sat, 13 Apr 2019 08:25:20 +0000 (10:25 +0200)]
daemon: support for more endpoint kinds
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.
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 :-)