]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Vladimír Čunát [Thu, 13 Jun 2019 13:08:28 +0000 (13:08 +0000)]
Merge !797: lua light userdata
Closes #216.
Vladimír Čunát [Tue, 7 May 2019 08:42:01 +0000 (10:42 +0200)]
more NEWS for this branch
Vladimír Čunát [Thu, 14 Mar 2019 10:00:13 +0000 (11:00 +0100)]
modules, docs: omit casting parameters of lua layers
Thanks to changes in this branch the functions are called with correctly
typed parameters already, so these weird casts can be deleted.
Vladimír Čunát [Tue, 9 Apr 2019 07:44:22 +0000 (09:44 +0200)]
module loading nitpick: improve error message
This should have been a part of
176b1c282 , but I forgot it somehow.
Vladimír Čunát [Mon, 6 May 2019 12:37:12 +0000 (14:37 +0200)]
main() nitpick: deduplicate a bit of code
Vladimír Čunát [Mon, 6 May 2019 13:34:10 +0000 (15:34 +0200)]
worker_resolve_mk_pkt(): move to better file, document
Vladimír Čunát [Fri, 5 Apr 2019 16:27:01 +0000 (18:27 +0200)]
lua worker.resolve*: rework, get rid of light userdata
Vladimír Čunát [Tue, 9 Apr 2019 07:34:35 +0000 (09:34 +0200)]
lua module framework: reduce usage of void *data
Theoretically a lua module could have used them, but I see no motivation
for that, as they have much more convenient ways inside lua.
Vladimír Čunát [Mon, 6 May 2019 11:00:07 +0000 (13:00 +0200)]
lua event.*: better safety
... when called with bad parameters, and restructure the code a bit.
Note: uv_timer_start() is documented to be OK on active timers.
Vladimír Čunát [Fri, 5 Apr 2019 13:24:57 +0000 (15:24 +0200)]
lua event.*: convert light userdata to full
They're a bit more expensive, but we won't want lots of events anyway,
so I decided to do a simple conversion.
Vladimír Čunát [Thu, 4 Apr 2019 15:04:27 +0000 (17:04 +0200)]
modules: tidy (de)initialization code
Vladimír Čunát [Thu, 4 Apr 2019 12:08:06 +0000 (14:08 +0200)]
treewide: drop support for other lua versions
We're very much depending on LuaJIT, for years already.
The removed stuff seems very unlikely to be useful in any LuaJIT
in forseeable future. The Lua language is effectively forked.
Vladimír Čunát [Thu, 4 Apr 2019 11:56:56 +0000 (13:56 +0200)]
lua module layers: simplify l_ffi_call_layer() usage
Vladimír Čunát [Thu, 4 Apr 2019 10:42:34 +0000 (12:42 +0200)]
lua module layers: passing from C to lua
... without light userdata and yet it should be efficient.
Also with checkout layer, but I have no nice way of testing that one.
Vladimír Čunát [Mon, 18 Mar 2019 13:49:04 +0000 (14:49 +0100)]
modules: change the "indexing" syntax sugar for C modules
In particular, throw errors when used in weird ways,
instead of the usual "return nil" semantics.
That might be surprising to some lua users.
Vladimír Čunát [Fri, 15 Mar 2019 17:06:24 +0000 (18:06 +0100)]
CI: avoid ASAN problems in one more test for now
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()