Log

description author age
util.error: Add a 'source' parameter where origin module can be mentioned Kim Alvefur Fri, 28 Aug 2020 13:54:16 +0200
util.startup: Init util.error with defaults if none given Matthew Wild Fri, 28 Aug 2020 12:54:31 +0100
util.error: Add configuration for including traceback in tostring() Matthew Wild Fri, 28 Aug 2020 12:51:40 +0100
util.error: Allow optional tracebacks to be injected on errors Matthew Wild Fri, 28 Aug 2020 12:40:59 +0100
net.http: http.request() promise now resolves with response (breaking change) Matthew Wild Tue, 25 Aug 2020 15:59:04 +0100
net.http: use new net.http.errors lib for creating error object Matthew Wild Tue, 25 Aug 2020 15:57:39 +0100
mod_posix: Remove ancient undocumented user switching Kim Alvefur Mon, 24 Aug 2020 19:48:47 +0200
util.dbuffer: Simplify test case Kim Alvefur Mon, 24 Aug 2020 17:28:48 +0200
util.dbuffer: Fix :sub() not working with partially-consumed chunks (thanks Zash for test case) Matthew Wild Mon, 24 Aug 2020 16:18:13 +0100
util.dbuffer: Add failing test case involving :sub after :discard Kim Alvefur Mon, 24 Aug 2020 17:07:37 +0200
net.server_select: Fix traceback (thanks eta) Kim Alvefur Sun, 23 Aug 2020 22:19:29 +0200
mod_admin_shell: Report CSI queue length from mod_csi_simple Kim Alvefur Sat, 22 Aug 2020 14:34:57 +0200
mod_admin_shell: Report CSI state in c2s:show() Kim Alvefur Sat, 22 Aug 2020 14:34:33 +0200
mod_external_services: Validate services added via events Kim Alvefur Mon, 17 Aug 2020 00:24:11 +0200
mod_external_services: Allow specifying a credential generation callback Kim Alvefur Sat, 25 Jul 2020 12:22:03 +0200
mod_external_services: Prepare to allow more credential algorithms Kim Alvefur Sat, 25 Jul 2020 12:09:19 +0200
mod_external_services: Support adding services via items API Kim Alvefur Sat, 25 Jul 2020 10:22:37 +0200
mod_external_services: XEP-0215: External Service Discovery Kim Alvefur Sat, 18 Jul 2020 15:36:25 +0200
mod_component: Return extended error condition when not connected Kim Alvefur Mon, 13 Apr 2020 02:49:19 +0200
mod_component: Reply with a different error when not connected Kim Alvefur Mon, 13 Apr 2020 02:46:03 +0200
net.http.parser: Allow configuration of the chunk size fed to the parser Matthew Wild Fri, 21 Aug 2020 14:14:29 +0100
net.http.parser: Switch tests so that CRLF conversion of input data is optional Matthew Wild Fri, 21 Aug 2020 14:12:51 +0100
net.http.parser: Fix incorrect path in test Matthew Wild Fri, 21 Aug 2020 13:49:10 +0100
net.http.parser: Add failing test for (large?) chunk-encoded responses Matthew Wild Fri, 21 Aug 2020 13:41:51 +0100
net.http.parser: Fix indentation Kim Alvefur Thu, 20 Aug 2020 16:43:27 +0200
util.dbuffer: Fix traceback when :collapse() is called on empty buffer Matthew Wild Thu, 20 Aug 2020 15:22:19 +0100
util.dataforms: Add more XEP-0211 media element test coverage Kim Alvefur Sun, 16 Aug 2020 20:30:02 +0200
util.dataforms: Convert media element sizes to avoid error on Lua 5.3 Kim Alvefur Sun, 16 Aug 2020 12:55:55 +0200
net.http.errors: Add new module for converting net.http errors to util.error objects Matthew Wild Thu, 13 Aug 2020 17:01:05 +0100
mod_net_multiplex: Set read size/mode to that of the target listener Kim Alvefur Sun, 02 Aug 2020 00:24:54 +0200
mod_net_multiplex: Read no more than the max buffer size setting Kim Alvefur Sun, 02 Aug 2020 00:22:57 +0200
mod_http: Add way to signal that a module supports streaming uploads Kim Alvefur Sat, 01 Aug 2020 18:41:30 +0200
net.http.parser: Allow specifying sink for large request bodies Kim Alvefur Sat, 01 Aug 2020 18:41:23 +0200
net.http.parser: Switch to util.dbuffer for buffering incoming data Kim Alvefur Sat, 01 Aug 2020 18:14:09 +0200
Merge 0.11->trunk Kim Alvefur Sat, 08 Aug 2020 19:13:12 +0200
mod_s2s: Escape invalid XML in loggin (same way as mod_c2s) fix #1574 0.11 0.11.6 Kim Alvefur Sat, 01 Aug 2020 12:58:37 +0200
Merge 0.11->trunk Matthew Wild Sat, 08 Aug 2020 13:14:11 +0100
net.http: Add request:cancel() method 0.11 Matthew Wild Sat, 08 Aug 2020 13:13:50 +0100
net.http: Re-expose destroy_request() function 0.11 Matthew Wild Sat, 08 Aug 2020 13:11:11 +0100
net.server_epoll: Log debug message when a connection errors on read Kim Alvefur Sat, 25 Jul 2020 17:26:11 +0200
mod_register: Add a dependency on mod_watchregistrations Emmanuel Gil Peyrot Mon, 29 Jun 2020 21:03:13 +0200
mod_proxy65: Limit dump of invalid data to 300 bytes (like mod_c2s) Kim Alvefur Fri, 17 Jul 2020 08:29:03 +0200
mod_proxy65: Log invalid greetings escaped instead of as base64 Kim Alvefur Thu, 16 Jul 2020 10:26:36 +0200
mod_server_contact_info: Add status-addresses field Kim Alvefur Wed, 27 May 2020 19:47:52 +0200
configure: Pass compiler flag to enable ICU only when building util.encodings Kim Alvefur Sun, 12 Jul 2020 23:28:04 +0200
Merge 0.11->trunk Matthew Wild Fri, 10 Jul 2020 13:01:17 +0100
net.resolvers.basic: Default conn_type to 'tcp' consistently if unspecified (thanks marc0s) 0.11 Matthew Wild Fri, 10 Jul 2020 13:00:02 +0100
prosodyctl about: Show longer name for luaunbound Kim Alvefur Fri, 10 Jul 2020 03:33:37 +0200
prosodyctl about: Strip name from lua module _VERSION Kim Alvefur Fri, 10 Jul 2020 03:29:06 +0200
prosodyctl about: Substitute better names for some Lua modules Kim Alvefur Fri, 10 Jul 2020 03:29:02 +0200
prosodyctl about: Split out libraries into a separate section Kim Alvefur Fri, 10 Jul 2020 03:23:10 +0200
prosodyctl about: Use library function for sorted listing of lua modules Kim Alvefur Fri, 10 Jul 2020 03:13:27 +0200
scansion/prosody.cfg: Fix typo Kim Alvefur Thu, 09 Jul 2020 02:17:49 +0200
coding_style: Replace mention of git with hg Kim Alvefur Wed, 08 Jul 2020 23:22:28 +0200
net.cqueues: Fix resuming after timeouts Kim Alvefur Wed, 08 Jul 2020 22:01:19 +0200
util.indexedbheap: Add failing test case for #1572 Kim Alvefur Wed, 08 Jul 2020 21:39:10 +0200
luacheck: Remove exception for net.cqueues since it is now clean Kim Alvefur Wed, 08 Jul 2020 20:22:48 +0200
net.cqueues: Switch to server.watchfd for main loop integration Kim Alvefur Wed, 08 Jul 2020 20:11:49 +0200
Merge 0.11->trunk Matthew Wild Tue, 07 Jul 2020 13:52:45 +0100
net.http: Fix traceback on invalid URL passed to request() 0.11 Matthew Wild Tue, 07 Jul 2020 13:52:25 +0100
mod_storage_sql: Measure hits/misses on the item count cache Kim Alvefur Thu, 02 Jul 2020 19:03:59 +0200
net.server_epoll: Add setting for turning off callback protections Kim Alvefur Tue, 30 Jun 2020 18:31:48 +0200
net.server_epoll: Allow setting a custom error handler for listener Kim Alvefur Tue, 30 Jun 2020 17:35:07 +0200
net.server_epoll: ... and include a traceback Kim Alvefur Tue, 30 Jun 2020 17:34:39 +0200
net.server_epoll: Report errors in timers Kim Alvefur Tue, 30 Jun 2020 17:33:48 +0200
mod_admin_shell: Handle server_epoll using monotonic time internally Kim Alvefur Tue, 30 Jun 2020 02:31:57 +0200
net.server_epoll: Expose way to turn monotonic time into wall clock time Kim Alvefur Tue, 30 Jun 2020 02:31:29 +0200
mod_admin_shell: Fix debug:timers to handle net.server native timers Kim Alvefur Mon, 29 Jun 2020 21:43:51 +0200
net.server_epoll: Optimize away table allocation for timer objects Kim Alvefur Mon, 29 Jun 2020 20:23:59 +0200
net.server_epoll: Remove unused time field from timer objects Kim Alvefur Mon, 29 Jun 2020 20:13:12 +0200
net.server_epoll: Signal API-compatibilty with util.timer Kim Alvefur Mon, 29 Jun 2020 17:13:05 +0200
net.server_epoll: Make API-compatible with util.timer Kim Alvefur Mon, 29 Jun 2020 16:42:16 +0200
util.timer: Defer to selected net.server if it implements this API Kim Alvefur Mon, 29 Jun 2020 16:37:58 +0200
util.dbuffer: If no bytes parameter passed to read, return remainder of frontmost chunk Matthew Wild Mon, 29 Jun 2020 12:51:28 +0100
doap: Expand on XEPs implemented by mod_time Kim Alvefur Sun, 28 Jun 2020 15:58:47 +0200
util.human.io: Add brief test of table generation Kim Alvefur Sun, 28 Jun 2020 14:58:32 +0200
util.dbuffer: Don't use # operator in tests, Lua 5.1 doesn't support __len Matthew Wild Sun, 28 Jun 2020 12:26:04 +0100
net.dns: Disable jitter for default resolver (used by blocking dns.lookup() calls) Matthew Wild Sun, 28 Jun 2020 12:02:10 +0100
util.dependencies: Quiet luacheck Kim Alvefur Sun, 28 Jun 2020 02:15:25 +0200
util.dependencies: Tone down lua-unbound dependency for now Kim Alvefur Sat, 27 Jun 2020 14:25:57 +0200
util.dbuffer: dynamic string buffer Matthew Wild Fri, 26 Jun 2020 16:41:31 +0100
util.dns: Update RR types from IANA registry Kim Alvefur Thu, 25 Jun 2020 20:45:06 +0200
util.prosodyctl.check: Use net.unbound for DNS if available Kim Alvefur Thu, 25 Jun 2020 19:28:51 +0200
net.resolvers: Remove FIXMEs obsoleted by switch to libunbound Kim Alvefur Thu, 25 Jun 2020 19:24:58 +0200
CHANGES: Add libunbound Kim Alvefur Thu, 25 Jun 2020 18:57:19 +0200
net.unbound: Remove compat for missing promises (pre-0.11) Kim Alvefur Thu, 25 Jun 2020 18:20:51 +0200
net.unbound: Strip support for legacy net.server APIs Kim Alvefur Thu, 25 Jun 2020 17:56:48 +0200
net.adns: Log a warning if loaded (because net.unbound wasn't) Kim Alvefur Thu, 25 Jun 2020 17:55:24 +0200
util.dependencies: Prefer net.unbound over net.adns Kim Alvefur Thu, 25 Jun 2020 17:41:07 +0200
prosodyctl about: Report versions of luaunbound and libunbound Kim Alvefur Thu, 25 Jun 2020 17:26:58 +0200
util.dependencies: Add awareness of luaunbound Kim Alvefur Thu, 25 Jun 2020 17:26:21 +0200
net.unbound: Async DNS resolver library based on libunbound via luaunbound Kim Alvefur Sat, 09 Mar 2019 21:19:24 +0100
util.dns: Library for decoding DNS records Kim Alvefur Sat, 09 Mar 2019 21:16:27 +0100
util.ringbuffer: Fix accidentally committed test change (thanks buildbot) Matthew Wild Thu, 25 Jun 2020 15:45:13 +0100
net.dns: Reduce default timeout to 5s Matthew Wild Thu, 25 Jun 2020 15:34:29 +0100
net.dns: Increase backoff delays Matthew Wild Thu, 25 Jun 2020 15:31:20 +0100
net.dns: Add jitter to spread queries and reduce failures due to congestion Matthew Wild Thu, 25 Jun 2020 15:29:49 +0100
net.dns: Fix timeout retry logic Matthew Wild Thu, 25 Jun 2020 15:28:23 +0100
net.dns: Add some debug logging Matthew Wild Thu, 25 Jun 2020 15:22:40 +0100
util.ringbuffer: Add some additional asserts to tests Matthew Wild Wed, 24 Jun 2020 13:00:11 +0100
util.ringbuffer: Ensure unsigned chars are always returned from :byte() Matthew Wild Wed, 24 Jun 2020 12:34:20 +0100
Merge 0.11->trunk Kim Alvefur Tue, 23 Jun 2020 17:59:24 +0200
net.http.server: Fix reporting of missing Host header 0.11 Kim Alvefur Tue, 23 Jun 2020 15:43:57 +0200
net.http.server: Strip port from Host header in IPv6 friendly way (fix #1302) 0.11 Kim Alvefur Tue, 23 Jun 2020 15:39:31 +0200
util.ringbuffer: Add test for :discard() Matthew Wild Tue, 23 Jun 2020 16:50:26 +0100
Merge 0.11->trunk Kim Alvefur Tue, 23 Jun 2020 15:17:35 +0200
util.startup: Remove duplicated initialization of logging (fix #1527) 0.11 Kim Alvefur Mon, 22 Jun 2020 14:56:44 +0200
mod_register_ibr: Add event for successful password reset Matthew Wild Mon, 22 Jun 2020 11:35:24 +0100
net.connect: Remove TODO about use_ipv4/6 done in 3bfb20be844c Kim Alvefur Mon, 22 Jun 2020 01:42:18 +0200
Merge 0.11->trunk Kim Alvefur Sun, 21 Jun 2020 19:24:15 +0200
mod_muc_mam: Don't strip MUC <x> tags, fix #1567 0.11 Kim Alvefur Sun, 21 Jun 2020 19:20:54 +0200
scansion tests: Enable mod_muc_mam during tests (expect breakage) Kim Alvefur Sun, 21 Jun 2020 19:09:47 +0200
MUC: Remove XEP-0091 Legacy Delayed Delivery from test Kim Alvefur Sun, 21 Jun 2020 19:06:37 +0200
util.adminstream: Prevent closure on read timeout Kim Alvefur Thu, 18 Jun 2020 17:54:28 +0200
mod_register_ibr: Allow registration to reset an existing account password if permitted by a plugin Matthew Wild Thu, 18 Jun 2020 16:42:22 +0100
util.prosodyctl.shell: Collect extra return values Kim Alvefur Wed, 17 Jun 2020 19:39:14 +0200
util.prosodyctl.shell: Handle argument parsing errors Kim Alvefur Wed, 17 Jun 2020 19:36:39 +0200
util.argparse: Move exiting and error to util.startup Kim Alvefur Wed, 17 Jun 2020 19:32:12 +0200
util.gc: Linter fixes [luacheck] Matthew Wild Mon, 15 Jun 2020 14:23:47 +0100
util.startup: Configure the GC on startup, using the config or built-in defaults Matthew Wild Mon, 15 Jun 2020 14:16:34 +0100
util.gc: New module for configuring the Lua garbage collector Matthew Wild Mon, 15 Jun 2020 14:16:10 +0100
util.prosodyctl.check: Fix traceback by handling SRV '.' target to Kim Alvefur Sun, 14 Jun 2020 12:57:50 +0200
util.async: Don't attempt to close thread if not created yet Matthew Wild Sun, 14 Jun 2020 09:40:08 +0100
util.async: Call coroutine.close() on dead threads (Lua 5.4) Matthew Wild Sun, 14 Jun 2020 08:49:32 +0100
mod_admin_shell: Update for async.wait_for rename Kim Alvefur Sat, 13 Jun 2020 14:40:41 +0200
util.async: Rename wait -> wait_for (w/compat) Matthew Wild Sat, 13 Jun 2020 08:01:57 +0100
storage tests: Add tests for archive queries before/after specific ids Matthew Wild Fri, 12 Jun 2020 16:59:06 +0100
mod_storage_internal, mod_storage_memory: Add support for query.before Matthew Wild Fri, 12 Jun 2020 16:55:35 +0100
mod_storage_sql: Fix incorrect results when fetching items before specific archive id Matthew Wild Fri, 12 Jun 2020 16:54:38 +0100
util.statsd: Update for API change Kim Alvefur Thu, 11 Jun 2020 22:02:54 +0200
mod_http: Support CIDR for trusted proxies. Boris Grozev Wed, 10 Jun 2020 13:15:57 -0500
util.promise: Add all_settled, which follows semantics of allSettled from ES2020 Matthew Wild Mon, 08 Jun 2020 14:01:02 +0100
util-src: Use the luaL_pushfail API added in Lua 5.4 to highlight all failure conditions Kim Alvefur Sun, 07 Jun 2020 02:25:56 +0200
util.sslconfig: Process TLS 1.3-specific cipher list Kim Alvefur Sun, 07 Jun 2020 02:14:55 +0200
core.certmanager: Add TODO about LuaSec issue Kim Alvefur Sun, 07 Jun 2020 02:12:50 +0200
mod_admin_shell: Fix display of units for some statistics Kim Alvefur Sun, 07 Jun 2020 00:18:14 +0200
util.human.io: Fix right-alignment Kim Alvefur Sat, 06 Jun 2020 16:43:28 +0200
Merge 0.11->trunk Kim Alvefur Sat, 06 Jun 2020 00:54:28 +0200
doap: Mention XEP-0359 Kim Alvefur Sat, 06 Jun 2020 00:49:48 +0200
mod_auth_internal_*: Apply saslprep to passwords 0.11 Kim Alvefur Sat, 23 May 2020 14:17:04 +0200
util.sasl.plain: Apply saslprep to stored password 0.11 Kim Alvefur Fri, 22 May 2020 21:05:45 +0200
util.sasl.scram: Apply saslprep before hashing password, fixes #1560 0.11 Kim Alvefur Fri, 22 May 2020 20:59:01 +0200
util.human.io.table: Allow a map callaback per column Kim Alvefur Thu, 04 Jun 2020 21:32:28 +0200
util.human.io: Consider separator when calculating remaining width Kim Alvefur Thu, 04 Jun 2020 18:40:37 +0200
util.human.io: Use literal ellipsis instead of \u escape Kim Alvefur Thu, 04 Jun 2020 18:36:47 +0200
util.human.io: Replace overflow with ellipsis Kim Alvefur Thu, 04 Jun 2020 18:32:33 +0200
util.human.io: Draw a separator between columns Kim Alvefur Thu, 04 Jun 2020 18:31:50 +0200
util.dependencies: Use util.human.io.table to replace custom layout code Matthew Wild Thu, 04 Jun 2020 17:30:44 +0100
prosodyctl: Fix traceback when no command provided (thanks Zash) Matthew Wild Thu, 04 Jun 2020 17:26:18 +0100
util.human.io: Remove padding option and use $COLUMNS as default width Matthew Wild Thu, 04 Jun 2020 17:24:30 +0100
util.human.units: Factor out function for getting multiplier Kim Alvefur Thu, 04 Jun 2020 16:56:28 +0200
mod_admin_shell: Skip multiplier adjustment for rates Kim Alvefur Thu, 04 Jun 2020 16:54:52 +0200
util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methods Matthew Wild Thu, 04 Jun 2020 15:19:20 +0100
util.adminstream: Set a read timeout handler Kim Alvefur Thu, 04 Jun 2020 16:17:14 +0200
util.ringbuffer: Prevent creation of buffer with negative size Kim Alvefur Thu, 04 Jun 2020 16:11:08 +0200
util.ringbuffer: Prevent creation of zero-size buffer Kim Alvefur Fri, 29 May 2020 18:11:42 +0200
util.ringbuffer: Add some initial tests Kim Alvefur Fri, 29 May 2020 17:53:00 +0200
util.human.io: table: Fix title printing when columns use named keys Matthew Wild Thu, 04 Jun 2020 10:39:55 +0100
util.array: pluck: Support default value to avoid holes Matthew Wild Thu, 04 Jun 2020 10:39:12 +0100
util.human.io: table: Return title row when no row data passed Matthew Wild Wed, 03 Jun 2020 22:58:29 +0100
util.human.io: table: switch row function to simply returning prepared row string Matthew Wild Wed, 03 Jun 2020 22:45:33 +0100
util.adminstream: Fire event based on stanza name too for convenience Matthew Wild Wed, 03 Jun 2020 22:26:48 +0100
util.human.io: Add padleft, padright and a table printing function Matthew Wild Wed, 03 Jun 2020 22:21:17 +0100
util.human.units: Handle lack of math.log(n, base) on Lua 5.1 Kim Alvefur Wed, 03 Jun 2020 20:17:33 +0200
util.human.units: Put math functions into locals Kim Alvefur Wed, 03 Jun 2020 20:16:00 +0200
util.human.units: Handle location of unpack() in Lua 5.1 Kim Alvefur Wed, 03 Jun 2020 19:46:17 +0200
mod_admin_shell: Format stats with util.human.units Kim Alvefur Wed, 03 Jun 2020 19:27:44 +0200
util.human.units: A library for formatting numbers with SI units Kim Alvefur Fri, 04 Jan 2019 08:46:26 +0100
core.moduleapi: Allow passing a config table trough :measure Kim Alvefur Fri, 04 Jan 2019 07:00:45 +0100
core.statsmanager: Allow passing a config table trough measure Kim Alvefur Fri, 04 Jan 2019 07:00:44 +0100
util.statistics: Unify API of methods to include a config table Kim Alvefur Fri, 04 Jan 2019 06:56:45 +0100
GNUmakefile: Install the new util/prosodyctl/* too (thanks pascal.pascher) Kim Alvefur Wed, 03 Jun 2020 19:10:42 +0200
GNUmakefile: Install util.human.* Kim Alvefur Wed, 03 Jun 2020 19:01:46 +0200
makefile: Remove installation of mod_s2s dir Kim Alvefur Wed, 03 Jun 2020 19:00:02 +0200
mod_s2s: Move out of empty directory Kim Alvefur Tue, 02 Jun 2020 19:43:50 +0200
mod_admin_shell: Fix error due to float passed to os.date in Lua 5.3 Kim Alvefur Tue, 02 Jun 2020 16:40:23 +0200
util.prosodyctl.shell: Save readline history Kim Alvefur Tue, 02 Jun 2020 09:35:07 +0200
util.adminstream: Import net.server [luacheck] Matthew Wild Tue, 02 Jun 2020 08:41:05 +0100
util.prosodyctl.shell, util.adminstream: Move connection logic into adminstream for easier reuse Matthew Wild Tue, 02 Jun 2020 08:28:39 +0100
util.prosodyctl.shell: Really fix --socket option Kim Alvefur Tue, 02 Jun 2020 09:19:07 +0200
util.prosodyctl.shell: Correct check for --socket Kim Alvefur Tue, 02 Jun 2020 09:07:29 +0200
util.human.io: Fix variable name [luacheck] Matthew Wild Tue, 02 Jun 2020 08:02:03 +0100
prosodyctl+util.prosodyctl.*: Start breaking up the ever-growing prosodyctl Matthew Wild Tue, 02 Jun 2020 08:01:21 +0100
util.human.io: New central place for UI helpers Matthew Wild Tue, 02 Jun 2020 08:00:37 +0100
util.prosodyctl.shell: Allow passing path to socket on command line Kim Alvefur Mon, 01 Jun 2020 23:57:50 +0200
util.prosodyctl.shell: Use same config option as module for socket path Kim Alvefur Mon, 01 Jun 2020 23:53:03 +0200
util.prosodyctl.shell: Join socket path with current data directory Kim Alvefur Mon, 01 Jun 2020 23:26:30 +0200
mod_admin_socket: Use module API meant for file paths Kim Alvefur Mon, 01 Jun 2020 23:17:20 +0200
mod_vcard_legacy: Fix publishing vcard without avatar Kim Alvefur Mon, 01 Jun 2020 17:55:01 +0200
mod_vcard_legacy: Remove semi-broken support for multiple avatars Kim Alvefur Mon, 01 Jun 2020 17:37:54 +0200
mod_admin_shell: Remove old variable declaration [luacheck] Matthew Wild Mon, 01 Jun 2020 16:38:16 +0100
mod_admin_socket: Use wrapserver if available Kim Alvefur Mon, 01 Jun 2020 17:27:50 +0200