Wed, 27 Mar 2024 19:33:11 +0100 util.startup: Fix exiting on pidfile trouble
Kim Alvefur <zash@zash.se> [Wed, 27 Mar 2024 19:33:11 +0100] rev 13471
util.startup: Fix exiting on pidfile trouble prosody.shutdown() relies on prosody.main_thread, which has not been set yet at this point. Doing a clean shutdown might actually be harmful in case it tears down things set up by the conflicting Prosody, such as the very pidfile we were looking at. Thanks again SigmaTel71 for noticing
Wed, 27 Mar 2024 15:39:03 +0000 Merge 0.12->trunk
Matthew Wild <mwild1@gmail.com> [Wed, 27 Mar 2024 15:39:03 +0000] rev 13470
Merge 0.12->trunk
Wed, 27 Mar 2024 15:35:15 +0000 prosodyctl check: Warn about invalid domain names in the config file 0.12
Matthew Wild <mwild1@gmail.com> [Wed, 27 Mar 2024 15:35:15 +0000] rev 13469
prosodyctl check: Warn about invalid domain names in the config file This ensures that domain names of virtual hosts and components are valid in XMPP, and that they are encoded correctly.
Sun, 24 Mar 2024 21:32:00 +0100 util.startup: Abort before initialization of logging when started as root
Kim Alvefur <zash@zash.se> [Sun, 24 Mar 2024 21:32:00 +0100] rev 13468
util.startup: Abort before initialization of logging when started as root Prevents creation of log files owned by the root user which could be inaccessible once started correctly.
Sun, 24 Mar 2024 21:31:47 +0100 util.startup: Don't use not yet existent shutdown procedure when started as root (thanks SigmaTel71)
Kim Alvefur <zash@zash.se> [Sun, 24 Mar 2024 21:31:47 +0100] rev 13467
util.startup: Don't use not yet existent shutdown procedure when started as root (thanks SigmaTel71)
Sun, 24 Mar 2024 20:39:42 +0100 util.startup: Check root after detecting platform and reading config (thanks SigmaTel71)
Kim Alvefur <zash@zash.se> [Sun, 24 Mar 2024 20:39:42 +0100] rev 13466
util.startup: Check root after detecting platform and reading config (thanks SigmaTel71) Ensures that startup.detect_platform() runs so know whether to use the POSIX method of checking the current user or something else. Also after reading the config so we know whether the root override setting is set.
Sat, 23 Mar 2024 20:48:19 +0100 mod_posix: Move everything to util.startup
Kim Alvefur <zash@zash.se> [Sat, 23 Mar 2024 20:48:19 +0100] rev 13465
mod_posix: Move everything to util.startup This allows greater control over the order of events. Notably, the internal ordering between daemonization, initialization of libunbound and setup of signal handling is sensitive. libunbound starts a separate thread for processing DNS requests. If this thread is started before signal handling has been set up, it will not inherit the signal handlers and instead behave as it would have before signal handlers were set up, i.e. cause the whole process to immediately exit. libunbound is usually initialized on the first DNS request, usually triggered by an outgoing s2s connection attempt. If daemonization happens before signals have been set up, signals may not be processed at all.
Sun, 17 Mar 2024 10:10:24 +0000 mod_bosh: Set base_type on session
Matthew Wild <mwild1@gmail.com> [Sun, 17 Mar 2024 10:10:24 +0000] rev 13464
mod_bosh: Set base_type on session This fixes a traceback with mod_saslauth. Ideally we move this to util.session at some point, though.
Sun, 10 Mar 2024 15:56:01 +0100 util.startup: Back out 598df17b8ebb
Kim Alvefur <zash@zash.se> [Sun, 10 Mar 2024 15:56:01 +0100] rev 13463
util.startup: Back out 598df17b8ebb Broke signal handling again, such that an early s2s connection results in libunbound catching signals and getting Prosody killed on e.g. SIGHUP This returns to the situation where prosody --daemonize does not respond to signals.
Wed, 06 Mar 2024 20:43:25 +0100 util.startup: Hook signals after daemonization
Kim Alvefur <zash@zash.se> [Wed, 06 Mar 2024 20:43:25 +0100] rev 13462
util.startup: Hook signals after daemonization signalfds stop working with epoll after forking hooking signals later should not affect anything
Wed, 06 Mar 2024 19:12:11 +0100 mod_pubsub: Ignore shadowed variable [luacheck]
Kim Alvefur <zash@zash.se> [Wed, 06 Mar 2024 19:12:11 +0100] rev 13461
mod_pubsub: Ignore shadowed variable [luacheck]
Wed, 06 Mar 2024 17:38:21 +0000 mod_pubsub: Add shell commands to create and list nodes
Matthew Wild <mwild1@gmail.com> [Wed, 06 Mar 2024 17:38:21 +0000] rev 13460
mod_pubsub: Add shell commands to create and list nodes
Sat, 02 Mar 2024 14:14:27 +0100 core.features: Advertise that events are fired for SIGUSR1/2
Kim Alvefur <zash@zash.se> [Sat, 02 Mar 2024 14:14:27 +0100] rev 13459
core.features: Advertise that events are fired for SIGUSR1/2 Moved here from mod_posix since these events no longer originate there
Sat, 02 Mar 2024 14:08:47 +0100 util.startup: Fix firing of USR1/2 events
Kim Alvefur <zash@zash.se> [Sat, 02 Mar 2024 14:08:47 +0100] rev 13458
util.startup: Fix firing of USR1/2 events
Sat, 02 Mar 2024 13:40:37 +0100 net.server: Restore epoll signalfd handling
Kim Alvefur <zash@zash.se> [Sat, 02 Mar 2024 13:40:37 +0100] rev 13457
net.server: Restore epoll signalfd handling Reverts 4a9a69659727
Sat, 02 Mar 2024 13:23:24 +0100 mod_posix: Move POSIX signal handling into util.startup to avoid race
Kim Alvefur <zash@zash.se> [Sat, 02 Mar 2024 13:23:24 +0100] rev 13456
mod_posix: Move POSIX signal handling into util.startup to avoid race When libunbound is initialized, it spawns a thread to work in. In case a module initializes libunbound, e.g. by triggering a s2s connection, Prosody would not handle signals, instead immediately quit on e.g. the reload (SIGHUP) signal. Likely because the libunbound thread would not have inherited the signal mask from the main Prosody thread. Thanks Menel, riau and franck-x for reporting and help narrowing down
Fri, 01 Mar 2024 19:22:49 +0100 net.server: Disable epoll signalfd handling by default until problems resolved
Kim Alvefur <zash@zash.se> [Fri, 01 Mar 2024 19:22:49 +0100] rev 13455
net.server: Disable epoll signalfd handling by default until problems resolved
Fri, 01 Mar 2024 19:20:45 +0100 net.server_epoll: Log creation of signalfd handles at noise level
Kim Alvefur <zash@zash.se> [Fri, 01 Mar 2024 19:20:45 +0100] rev 13454
net.server_epoll: Log creation of signalfd handles at noise level To aid in tracking down signalfd-related problems
Fri, 01 Mar 2024 17:22:29 +0000 util.bit53: Add bnot() method
Matthew Wild <mwild1@gmail.com> [Fri, 01 Mar 2024 17:22:29 +0000] rev 13453
util.bit53: Add bnot() method
Wed, 28 Feb 2024 22:31:06 +0100 util.signal: Fail signalfd() if unable to change signal mask
Kim Alvefur <zash@zash.se> [Wed, 28 Feb 2024 22:31:06 +0100] rev 13452
util.signal: Fail signalfd() if unable to change signal mask By aborting early, the failure should be brought to the attention somehow.
Wed, 28 Feb 2024 22:24:09 +0100 net.server_epoll: Log failure to hook signals
Kim Alvefur <zash@zash.se> [Wed, 28 Feb 2024 22:24:09 +0100] rev 13451
net.server_epoll: Log failure to hook signals To make any such failures noticeable
Tue, 27 Feb 2024 17:15:36 +0100 Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Tue, 27 Feb 2024 17:15:36 +0100] rev 13450
Merge 0.12->trunk
Tue, 27 Feb 2024 17:14:16 +0100 net.http.files: Validate argument to setup function 0.12
Kim Alvefur <zash@zash.se> [Tue, 27 Feb 2024 17:14:16 +0100] rev 13449
net.http.files: Validate argument to setup function Fixes error in #1765 by throwing an error earlier
Sat, 24 Feb 2024 17:45:50 +0100 mod_s2s: Comment on why we avoid hostnames in stanza bounce messages
Kim Alvefur <zash@zash.se> [Sat, 24 Feb 2024 17:45:50 +0100] rev 13448
mod_s2s: Comment on why we avoid hostnames in stanza bounce messages
Sat, 24 Feb 2024 14:35:17 +0100 mod_cron: Fix log format to account for float that was integer before
Kim Alvefur <zash@zash.se> [Sat, 24 Feb 2024 14:35:17 +0100] rev 13447
mod_cron: Fix log format to account for float that was integer before
Sat, 24 Feb 2024 14:32:59 +0100 mod_cron: Sync Teal source with 92301fa7a673
Kim Alvefur <zash@zash.se> [Sat, 24 Feb 2024 14:32:59 +0100] rev 13446
mod_cron: Sync Teal source with 92301fa7a673 Yeah, it's weird to have two versions. Needing more build dependencies is also something we want to avoid, so here we are.
Sat, 24 Feb 2024 01:00:44 +0100 util.signal: Wrap signalfd in an userdatum for gc handling etc
Kim Alvefur <zash@zash.se> [Sat, 24 Feb 2024 01:00:44 +0100] rev 13445
util.signal: Wrap signalfd in an userdatum for gc handling etc
Sat, 24 Feb 2024 00:20:35 +0100 net.server_epoll: Support hooking signals via signalfd
Kim Alvefur <zash@zash.se> [Sat, 24 Feb 2024 00:20:35 +0100] rev 13444
net.server_epoll: Support hooking signals via signalfd Handling signal events the same way as all other events makes sense and seems safer than the signal handling just jumping around in C and messing with Lua states.
Sat, 24 Feb 2024 00:05:29 +0100 util.signal: Add support for signalfd(2) on Linux
Kim Alvefur <zash@zash.se> [Sat, 24 Feb 2024 00:05:29 +0100] rev 13443
util.signal: Add support for signalfd(2) on Linux signalfd allows handling signal events using the same method as sockets, via file descriptors. Thus all signal dispatch can go through the same main event loop as everything else, removing need for thread-scary signal handling where execution would just jump to the signal handler regardless of the state of Lua, and needing to keep track of Lua states/threads.
Fri, 23 Feb 2024 22:45:42 +0000 features: Add mod_server_info
Matthew Wild <mwild1@gmail.com> [Fri, 23 Feb 2024 22:45:42 +0000] rev 13442
features: Add mod_server_info
Fri, 23 Feb 2024 21:14:14 +0000 mod_server_contact_info: Update to publish fields via new mod_server_info
Matthew Wild <mwild1@gmail.com> [Fri, 23 Feb 2024 21:14:14 +0000] rev 13441
mod_server_contact_info: Update to publish fields via new mod_server_info
Fri, 23 Feb 2024 21:13:10 +0000 mod_server_info: New module to manage the serverinfo disco extension form
Matthew Wild <mwild1@gmail.com> [Fri, 23 Feb 2024 21:13:10 +0000] rev 13440
mod_server_info: New module to manage the serverinfo disco extension form This allows multiple modules to populate the form dynamically. Currently the form is "owned" by mod_server_contact_info, which prevents other modules from contributing to it. A further commit will port mod_server_contact_info to use this module.
Fri, 23 Feb 2024 16:38:05 +0100 util.strbitop: Add common_prefix_bits() to Teal interface description
Kim Alvefur <zash@zash.se> [Fri, 23 Feb 2024 16:38:05 +0100] rev 13439
util.strbitop: Add common_prefix_bits() to Teal interface description
Fri, 23 Feb 2024 16:35:21 +0100 util.hashes: Add missing entries to Teal interface description
Kim Alvefur <zash@zash.se> [Fri, 23 Feb 2024 16:35:21 +0100] rev 13438
util.hashes: Add missing entries to Teal interface description Also sorted to match C source
Fri, 23 Feb 2024 16:33:08 +0100 util.crypto: Update Teal interface description to match C sources
Kim Alvefur <zash@zash.se> [Fri, 23 Feb 2024 16:33:08 +0100] rev 13437
util.crypto: Update Teal interface description to match C sources Was missing some entries. Rearranged to match order of entries in the C source Reg table.
Fri, 23 Feb 2024 12:16:03 +0000 tools/test_mutants.sh: Load loader helper when running busted
Matthew Wild <mwild1@gmail.com> [Fri, 23 Feb 2024 12:16:03 +0000] rev 13436
tools/test_mutants.sh: Load loader helper when running busted
Fri, 23 Feb 2024 12:14:51 +0000 util.ip: Remove ip.bits and related code, switch to more efficient strbitop
Matthew Wild <mwild1@gmail.com> [Fri, 23 Feb 2024 12:14:51 +0000] rev 13435
util.ip: Remove ip.bits and related code, switch to more efficient strbitop 100,000 iterations of match() on my laptop from 3.5s -> 0.5s.
Fri, 23 Feb 2024 12:13:06 +0000 util.strbitop: Remove unused import in tests
Matthew Wild <mwild1@gmail.com> [Fri, 23 Feb 2024 12:13:06 +0000] rev 13434
util.strbitop: Remove unused import in tests
Fri, 23 Feb 2024 12:08:37 +0000 util.strbitop: Add common_prefix_bits() method
Matthew Wild <mwild1@gmail.com> [Fri, 23 Feb 2024 12:08:37 +0000] rev 13433
util.strbitop: Add common_prefix_bits() method This returns the number of bits that two strings have in common. It is significantly more efficient than similar calculations in Lua.
Fri, 23 Feb 2024 12:03:31 +0000 util.ip: Add another test case for match() and commonPrefixLength()
Matthew Wild <mwild1@gmail.com> [Fri, 23 Feb 2024 12:03:31 +0000] rev 13432
util.ip: Add another test case for match() and commonPrefixLength()
Fri, 23 Feb 2024 11:59:45 +0000 util.strbitop: Rename spec file to correct name so tests actually run
Matthew Wild <mwild1@gmail.com> [Fri, 23 Feb 2024 11:59:45 +0000] rev 13431
util.strbitop: Rename spec file to correct name so tests actually run
Thu, 22 Feb 2024 19:46:52 +0100 util.rfc6724: Remove, unused since introduction of Happy Eyeballs
Kim Alvefur <zash@zash.se> [Thu, 22 Feb 2024 19:46:52 +0100] rev 13430
util.rfc6724: Remove, unused since introduction of Happy Eyeballs It was mainly used to determine whether to try IPv6 or IPv4 first, following the rules for this in the RFC. Now we always try IPv6 and IPv4 at roughly the same time, thus there no need to carry these rules.
Thu, 22 Feb 2024 09:53:48 +0000 features: Add module-ready (for commit e20949a10118)
Matthew Wild <mwild1@gmail.com> [Thu, 22 Feb 2024 09:53:48 +0000] rev 13429
features: Add module-ready (for commit e20949a10118)
Thu, 22 Feb 2024 09:53:02 +0000 util.startup: Expose core.features.available as prosody.features
Matthew Wild <mwild1@gmail.com> [Thu, 22 Feb 2024 09:53:02 +0000] rev 13428
util.startup: Expose core.features.available as prosody.features for convenience.
Wed, 21 Feb 2024 21:29:16 +0100 mod_s2s_auth_certs: Handle potential string error
Kim Alvefur <zash@zash.se> [Wed, 21 Feb 2024 21:29:16 +0100] rev 13427
mod_s2s_auth_certs: Handle potential string error conn:ssl_peerverification() can now return a single error in case the connection has been closed for whatever reason
Sun, 21 Jan 2024 22:59:50 +0100 net.server_epoll: Prevent traceback when checking TLS after connection gone
Kim Alvefur <zash@zash.se> [Sun, 21 Jan 2024 22:59:50 +0100] rev 13426
net.server_epoll: Prevent traceback when checking TLS after connection gone Unclear why this would be done, but an error is not great.
Tue, 20 Feb 2024 17:31:17 +0000 mod_cron: Allow configuring various "internal" delay parameters
Matthew Wild <mwild1@gmail.com> [Tue, 20 Feb 2024 17:31:17 +0000] rev 13425
mod_cron: Allow configuring various "internal" delay parameters Notably, it is now possible to add a randomized spread factor to the check interval.
Sat, 17 Feb 2024 19:07:57 +0100 mod_c2s: Fix error on role change on Components (thanks Menel)
Kim Alvefur <zash@zash.se> [Sat, 17 Feb 2024 19:07:57 +0100] rev 13424
mod_c2s: Fix error on role change on Components (thanks Menel)
Fri, 16 Feb 2024 00:15:36 +0100 mod_smacks: Adjust buckets for resumption age statistic
Kim Alvefur <zash@zash.se> [Fri, 16 Feb 2024 00:15:36 +0100] rev 13423
mod_smacks: Adjust buckets for resumption age statistic Given that there are recommendations floating around recommending 24 hours session lifetime, having buckets up to 10 minutes wouldn't be useful in that case. Would be nice if we had some way to automatically assign suitable number series for buckets, scaled to what the configuration might be.
Thu, 15 Feb 2024 20:28:14 +0100 mod_storage_internal: Fix off-by-one when searching archive for
Kim Alvefur <zash@zash.se> [Thu, 15 Feb 2024 20:28:14 +0100] rev 13422
mod_storage_internal: Fix off-by-one when searching archive for Fixes a test case provided by MattJ where the very first item matched by a 'start' timestamp was not returned.
Thu, 11 Jan 2024 07:54:11 +0100 mod_s2s_auth_dane_in: Try single TLSA lookup per draft-ietf-dance-client-auth
Kim Alvefur <zash@zash.se> [Thu, 11 Jan 2024 07:54:11 +0100] rev 13421
mod_s2s_auth_dane_in: Try single TLSA lookup per draft-ietf-dance-client-auth Moves some complexity from the implementation into DNS operations.
Thu, 11 Jan 2024 07:53:06 +0100 mod_s2s_auth_dane_in: Simplify result processing
Kim Alvefur <zash@zash.se> [Thu, 11 Jan 2024 07:53:06 +0100] rev 13420
mod_s2s_auth_dane_in: Simplify result processing Fewer loops
Sun, 08 Aug 2021 18:07:17 +0200 MUC: Record reason for affiliation changes and return in list (fixes #1227)
Kim Alvefur <zash@zash.se> [Sun, 08 Aug 2021 18:07:17 +0200] rev 13419
MUC: Record reason for affiliation changes and return in list (fixes #1227)
Tue, 23 Jan 2024 13:00:58 +0100 MUC: Test that <subject/> + <thread/> is not handled as subject change
Kim Alvefur <zash@zash.se> [Tue, 23 Jan 2024 13:00:58 +0100] rev 13418
MUC: Test that <subject/> + <thread/> is not handled as subject change Ref #667 Ref #1838
Sun, 21 Jan 2024 20:08:00 +0100 mod_invites: Fix argument handling
Kim Alvefur <zash@zash.se> [Sun, 21 Jan 2024 20:08:00 +0100] rev 13417
mod_invites: Fix argument handling Not sure what the next() was supposed to do. Reject unknown --options perhaps?
Sat, 13 Jan 2024 11:00:20 +0100 mod_invites: Show short help instead of traceback on missing hostname
Kim Alvefur <zash@zash.se> [Sat, 13 Jan 2024 11:00:20 +0100] rev 13416
mod_invites: Show short help instead of traceback on missing hostname
Sat, 13 Jan 2024 10:59:04 +0100 mod_invites: Show help if --help passed instead of hostname
Kim Alvefur <zash@zash.se> [Sat, 13 Jan 2024 10:59:04 +0100] rev 13415
mod_invites: Show help if --help passed instead of hostname Because I couldn't guess the right way to get the help message without reading the source twice.
Sat, 13 Jan 2024 10:58:12 +0100 mod_invites: Allow specifying invite ttl on command line
Kim Alvefur <zash@zash.se> [Sat, 13 Jan 2024 10:58:12 +0100] rev 13414
mod_invites: Allow specifying invite ttl on command line Was missing a way to pass TTL via command or shell.
Sun, 17 Dec 2023 19:02:56 +0100 Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Sun, 17 Dec 2023 19:02:56 +0100] rev 13413
Merge 0.12->trunk
Sun, 17 Dec 2023 18:55:14 +0100 mod_disco: Advertise disco#info and #items on bare JIDs to fix #1664 0.12
Kim Alvefur <zash@zash.se> [Sun, 17 Dec 2023 18:55:14 +0100] rev 13412
mod_disco: Advertise disco#info and #items on bare JIDs to fix #1664 Having to add these in *there* places seems less than ideal. I would also think that advertising disco#info is a bit redundant, since it is a requirement for everything in XMPP and if it was missing you would get an error back.
Sun, 17 Dec 2023 16:41:47 +0100 scansion: Use new style for accessing Lua globals
Kim Alvefur <zash@zash.se> [Sun, 17 Dec 2023 16:41:47 +0100] rev 13411
scansion: Use new style for accessing Lua globals
Sun, 17 Dec 2023 16:41:27 +0100 scansion: Use new prosody namespace in import
Kim Alvefur <zash@zash.se> [Sun, 17 Dec 2023 16:41:27 +0100] rev 13410
scansion: Use new prosody namespace in import
Sun, 17 Dec 2023 16:29:03 +0100 scansion: Use captures or wildcards instead of mocking time
Kim Alvefur <zash@zash.se> [Sun, 17 Dec 2023 16:29:03 +0100] rev 13409
scansion: Use captures or wildcards instead of mocking time > Mockery is one of the things I hold dear! And he's making a mockery of it!! -- Belkar Bitterleaf
Sat, 16 Dec 2023 13:47:55 +0100 util.xtemplate: Test the each template function
Kim Alvefur <zash@zash.se> [Sat, 16 Dec 2023 13:47:55 +0100] rev 13408
util.xtemplate: Test the each template function It iterates over childtags, so a template like {foo|each{...}} would be equivalent to root:childtags("foo"), while a deeper query needs the bit that becomes arguments to :childtags as an argument to each, e.g. {foo/bar|each(baz)} would behave like root:get_child("foo"):get_child("bar"):childtags("baz")
Tue, 12 Dec 2023 16:19:04 +0100 tools: Fix selection of container engine
Kim Alvefur <zash@zash.se> [Tue, 12 Dec 2023 16:19:04 +0100] rev 13407
tools: Fix selection of container engine Seems command -v in sh only checks and returns one argument, unlike bash.
Tue, 12 Dec 2023 13:41:14 +0000 mod_storage_internal, tests: Fix before/after combined with the 'reverse' flag
Matthew Wild <mwild1@gmail.com> [Tue, 12 Dec 2023 13:41:14 +0000] rev 13406
mod_storage_internal, tests: Fix before/after combined with the 'reverse' flag
Sat, 09 Dec 2023 21:01:49 +0100 util.http: Silence strict luacheck warning in tests
Kim Alvefur <zash@zash.se> [Sat, 09 Dec 2023 21:01:49 +0100] rev 13405
util.http: Silence strict luacheck warning in tests
Sat, 09 Dec 2023 20:55:26 +0100 core.moduleapi: Silence strict luacheck warnings in tests
Kim Alvefur <zash@zash.se> [Sat, 09 Dec 2023 20:55:26 +0100] rev 13404
core.moduleapi: Silence strict luacheck warnings in tests
Sat, 09 Dec 2023 20:36:29 +0100 util.throttle: Silence some strict luacheck warnings
Kim Alvefur <zash@zash.se> [Sat, 09 Dec 2023 20:36:29 +0100] rev 13403
util.throttle: Silence some strict luacheck warnings
Sat, 09 Dec 2023 17:00:22 +0100 util.prosodyctl.shell: Fix lint [luacheck]
Kim Alvefur <zash@zash.se> [Sat, 09 Dec 2023 17:00:22 +0100] rev 13402
util.prosodyctl.shell: Fix lint [luacheck]
Sat, 09 Dec 2023 16:41:37 +0100 CHANGES: Mention new prosodyctl shell method behavior
Kim Alvefur <zash@zash.se> [Sat, 09 Dec 2023 16:41:37 +0100] rev 13401
CHANGES: Mention new prosodyctl shell method behavior
Sat, 09 Dec 2023 16:25:04 +0100 util.prosodyctl.shell: Add :method syntax to make e.g. MUC commands easier
Kim Alvefur <zash@zash.se> [Sat, 09 Dec 2023 16:25:04 +0100] rev 13400
util.prosodyctl.shell: Add :method syntax to make e.g. MUC commands easier e.g. prosodyctl shell muc room room@muc.example.com :set_name "This Room"
Sat, 09 Dec 2023 15:15:06 +0100 util.xtemplate: Add some initial tests
Kim Alvefur <zash@zash.se> [Sat, 09 Dec 2023 15:15:06 +0100] rev 13399
util.xtemplate: Add some initial tests Strict typing does not magically make code correct
Sat, 09 Dec 2023 14:57:41 +0100 util.xtemplate: Adopt {-path-} syntax to strip preceding and/or trailing whitespace
Kim Alvefur <zash@zash.se> [Sat, 09 Dec 2023 14:57:41 +0100] rev 13398
util.xtemplate: Adopt {-path-} syntax to strip preceding and/or trailing whitespace Seen in some other template languages
Wed, 06 Dec 2023 23:52:45 +0100 mod_http_errors: Simplify CSS via built-in dark mode
Kim Alvefur <zash@zash.se> [Wed, 06 Dec 2023 23:52:45 +0100] rev 13397
mod_http_errors: Simplify CSS via built-in dark mode
Fri, 08 Dec 2023 15:46:32 +0000 CHANGES: Document some of the recent changes and features in trunk
Matthew Wild <mwild1@gmail.com> [Fri, 08 Dec 2023 15:46:32 +0000] rev 13396
CHANGES: Document some of the recent changes and features in trunk
Fri, 08 Dec 2023 15:37:13 +0000 configmanager: Fix linter issues
Matthew Wild <mwild1@gmail.com> [Fri, 08 Dec 2023 15:37:13 +0000] rev 13395
configmanager: Fix linter issues
Fri, 08 Dec 2023 15:34:48 +0000 configmanager: Support for appending to existing config options
Matthew Wild <mwild1@gmail.com> [Fri, 08 Dec 2023 15:34:48 +0000] rev 13394
configmanager: Support for appending to existing config options ...and some other useful operations
Fri, 08 Dec 2023 14:24:49 +0000 configmanager: Make _G accessible via `Lua` variable, deprecate direct access
Matthew Wild <mwild1@gmail.com> [Fri, 08 Dec 2023 14:24:49 +0000] rev 13393
configmanager: Make _G accessible via `Lua` variable, deprecate direct access
Fri, 08 Dec 2023 13:36:51 +0000 configmanager: Allow referencing previously-set options in the config file
Matthew Wild <mwild1@gmail.com> [Fri, 08 Dec 2023 13:36:51 +0000] rev 13392
configmanager: Allow referencing previously-set options in the config file
Thu, 07 Dec 2023 12:08:01 +0000 mod_user_account_management: Clear pending deletion if account re-enabled
Matthew Wild <mwild1@gmail.com> [Thu, 07 Dec 2023 12:08:01 +0000] rev 13391
mod_user_account_management: Clear pending deletion if account re-enabled
Tue, 05 Dec 2023 11:39:11 +0000 mod_saslauth: Fire event per SASL step
Matthew Wild <mwild1@gmail.com> [Tue, 05 Dec 2023 11:39:11 +0000] rev 13390
mod_saslauth: Fire event per SASL step This matches the behaviour of the newer mod_sasl2 implementation. It allows plugins to observe (and potentially, with caution, modify) the SASL exchange.
Sat, 02 Dec 2023 21:45:38 +0100 util.jsonschema: Return basic structured validation response
Kim Alvefur <zash@zash.se> [Sat, 02 Dec 2023 21:45:38 +0100] rev 13389
util.jsonschema: Return basic structured validation response
Sun, 03 Dec 2023 15:46:33 +0100 mod_c2s: Make c2s_timeout timer reachable to allow access from other modules
Kim Alvefur <zash@zash.se> [Sun, 03 Dec 2023 15:46:33 +0100] rev 13388
mod_c2s: Make c2s_timeout timer reachable to allow access from other modules E.g. the timeout could be extended under certain conditions.
Sun, 03 Dec 2023 15:44:15 +0100 tools: Add a tool for comparing DOAP to the latest XEP versions
Kim Alvefur <zash@zash.se> [Sun, 03 Dec 2023 15:44:15 +0100] rev 13387
tools: Add a tool for comparing DOAP to the latest XEP versions Needs wget, awk, sed and xml2
Sat, 02 Dec 2023 20:20:05 +0100 mod_s2s: Close connection on smacks timeout
Kim Alvefur <zash@zash.se> [Sat, 02 Dec 2023 20:20:05 +0100] rev 13386
mod_s2s: Close connection on smacks timeout This merges the mod_s2s_smacks_timeout behavior from prosody-modules This event is fired by mod_smacks when the connection has not responded to an ack-request for a period of time defaulting to 30 seconds, indicating that the connection has become stuck or non-responsive. Closing it prevents routing further messages via this connection and frees resources. A stuck connection may otherwise remain until for a time determined by the OS TCP subsystem, which can be quite long.
Fri, 01 Dec 2023 23:43:18 +0100 mod_saslauth: Fire event at start of authentication attempt
Kim Alvefur <zash@zash.se> [Fri, 01 Dec 2023 23:43:18 +0100] rev 13385
mod_saslauth: Fire event at start of authentication attempt As extension point for rate limiting and similar checks, so they can hook a single event instead of <{sasl1}auth> or stream features, which might not be fired in case of SASL2 or e.g. HTTP based login.
Fri, 01 Dec 2023 22:00:18 +0100 net.http.server: Fix whitespace-ignoring syntax
Kim Alvefur <zash@zash.se> [Fri, 01 Dec 2023 22:00:18 +0100] rev 13384
net.http.server: Fix whitespace-ignoring syntax
Fri, 01 Dec 2023 17:11:19 +0100 Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Fri, 01 Dec 2023 17:11:19 +0100] rev 13383
Merge 0.12->trunk
Wed, 23 Aug 2023 12:18:34 +0200 net.http.parser: Reject overlarge header section earlier 0.12
Kim Alvefur <zash@zash.se> [Wed, 23 Aug 2023 12:18:34 +0200] rev 13382
net.http.parser: Reject overlarge header section earlier This case would eventually be rejected by the buffer size limit.
Thu, 30 Nov 2023 18:45:05 +0100 lua-format: Let simple things be one line
Kim Alvefur <zash@zash.se> [Thu, 30 Nov 2023 18:45:05 +0100] rev 13381
lua-format: Let simple things be one line This doesn't really handle nesting all that nicely tho.
Wed, 18 Jan 2023 18:35:24 +0100 lua-format: Further tweaks
Kim Alvefur <zash@zash.se> [Wed, 18 Jan 2023 18:35:24 +0100] rev 13380
lua-format: Further tweaks Keeping things a single line makes very deeply nested things "pyramids" a single line, which makes them hard to read.
Wed, 28 Jul 2021 14:55:17 +0200 lua-format: Add new settings
Kim Alvefur <zash@zash.se> [Wed, 28 Jul 2021 14:55:17 +0200] rev 13379
lua-format: Add new settings
Tue, 07 Jul 2020 18:23:23 +0200 lua-format: Tweaks attempting to fit our code style
Kim Alvefur <zash@zash.se> [Tue, 07 Jul 2020 18:23:23 +0200] rev 13378
lua-format: Tweaks attempting to fit our code style
Tue, 07 Jul 2020 18:30:15 +0200 lua-format: Check in defaults
Kim Alvefur <zash@zash.se> [Tue, 07 Jul 2020 18:30:15 +0200] rev 13377
lua-format: Check in defaults By starting with the built-in defaults, we get a nice history of differences from those as we figure out what settings suit us Sorted make comparisons easier.
Thu, 30 Nov 2023 17:46:18 +0000 mod_user_account_management: Fire events with a fake (not destroyed) session
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 17:46:18 +0000] rev 13376
mod_user_account_management: Fire events with a fake (not destroyed) session Previously these events fired after the session had been destroyed, which removes many of the useful properties. The ones I chose to preserve here are the ones used by the community module mod_audit, which seems like a good baseline.
Thu, 30 Nov 2023 18:42:56 +0100 mod_cron: Rebuild with new LuaFormatter settings (tabs!)
Kim Alvefur <zash@zash.se> [Thu, 30 Nov 2023 18:42:56 +0100] rev 13375
mod_cron: Rebuild with new LuaFormatter settings (tabs!)
Thu, 30 Nov 2023 18:09:53 +0100 util.datamanager: Fix missing pack format when reading first index entry
Kim Alvefur <zash@zash.se> [Thu, 30 Nov 2023 18:09:53 +0100] rev 13374
util.datamanager: Fix missing pack format when reading first index entry Thanks MattJ
Thu, 30 Nov 2023 13:48:43 +0000 mod_user_account_management: Add support for soft-deletion of accounts via IBR
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 13:48:43 +0000] rev 13373
mod_user_account_management: Add support for soft-deletion of accounts via IBR When registration_delete_grace_period is set, accounts will be disabled for the specified grace period before they are fully deleted. During the grace period, accounts can be restored with the user:restore() shell command. The primary purpose is to prevent accidental or malicious deletion of a user's account, which is traditionally very easy for any XMPP client to do with a single stanza.
Thu, 30 Nov 2023 13:43:23 +0000 moduleapi: Log error message when ambiguous period spec is found in config
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 13:43:23 +0000] rev 13372
moduleapi: Log error message when ambiguous period spec is found in config
Thu, 30 Nov 2023 13:42:44 +0000 util.human.io: Don't accept ambiguous durations by default
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 13:42:44 +0000] rev 13371
util.human.io: Don't accept ambiguous durations by default The new method parse_duration_lax() exports the old behaviour, mainly for compatibility purposes.
Thu, 30 Nov 2023 12:41:26 +0000 mod_cron: Update Teal source and rebuild
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 12:41:26 +0000] rev 13370
mod_cron: Update Teal source and rebuild
Thu, 30 Nov 2023 11:42:52 +0000 mod_cron: Rename variable to fix shadowing (#luacheck)
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 11:42:52 +0000] rev 13369
mod_cron: Rename variable to fix shadowing (#luacheck)
Thu, 30 Nov 2023 11:38:59 +0000 mod_cron: Add shell command to list registered cron tasks with status
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 11:38:59 +0000] rev 13368
mod_cron: Add shell command to list registered cron tasks with status
Thu, 30 Nov 2023 11:22:40 +0000 mod_saslauth: Allow plugins to override return SASL condition/text
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 11:22:40 +0000] rev 13367
mod_saslauth: Allow plugins to override return SASL condition/text
Thu, 30 Nov 2023 10:14:17 +0000 luacheckrc, mod_http_file_share: Update for module API change (once->on_ready)
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 10:14:17 +0000] rev 13366
luacheckrc, mod_http_file_share: Update for module API change (once->on_ready)
Thu, 30 Nov 2023 10:09:47 +0000 modulemanager: Allow modules to expose module.ready - to be called after init
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 10:09:47 +0000] rev 13365
modulemanager: Allow modules to expose module.ready - to be called after init This is a shortcut for module:on_ready() which exposes the functionality in an idiomatic way consistent with module.load, module.unload, etc. module.ready runs when the module is loaded and the server has finished starting up.
Thu, 30 Nov 2023 10:07:53 +0000 moduleapi: Rename :once() to :on_ready() for clarity
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 10:07:53 +0000] rev 13364
moduleapi: Rename :once() to :on_ready() for clarity 'Once' is ambiguous - once per what? on_ready() executes its parameter when the module is loaded *and* the server has finished starting.
Thu, 30 Nov 2023 09:47:00 +0000 usermanager, mod_auth_internal_hashed: Support metadata when disabling a user
Matthew Wild <mwild1@gmail.com> [Thu, 30 Nov 2023 09:47:00 +0000] rev 13363
usermanager, mod_auth_internal_hashed: Support metadata when disabling a user This allows us to store a time, actor, comment and/or reason why an account was disabled, which seems a generally useful thing to support.
Mon, 27 Nov 2023 00:14:56 +0100 util.datamanager: Load first item into index earlier
Kim Alvefur <zash@zash.se> [Mon, 27 Nov 2023 00:14:56 +0100] rev 13362
util.datamanager: Load first item into index earlier Should get rid of fseek() call
Sun, 26 Nov 2023 22:58:11 +0100 mod_mam: Use for loop in metadata query
Kim Alvefur <zash@zash.se> [Sun, 26 Nov 2023 22:58:11 +0100] rev 13361
mod_mam: Use for loop in metadata query Some storage drivers will perform cleanup after the last iteration, but if only one step is taken this might be delayed until the garbage collector gets to it.
Wed, 29 Nov 2023 17:51:34 +0000 mod_tokenauth: Ignore invalid grants in storage that have no id
Matthew Wild <mwild1@gmail.com> [Wed, 29 Nov 2023 17:51:34 +0000] rev 13360
mod_tokenauth: Ignore invalid grants in storage that have no id
Wed, 29 Nov 2023 17:50:33 +0000 mod_invites: Fix linter issues
Matthew Wild <mwild1@gmail.com> [Wed, 29 Nov 2023 17:50:33 +0000] rev 13359
mod_invites: Fix linter issues
Wed, 29 Nov 2023 17:49:20 +0000 mod_admin_shell: Fix linter issues
Matthew Wild <mwild1@gmail.com> [Wed, 29 Nov 2023 17:49:20 +0000] rev 13358
mod_admin_shell: Fix linter issues
Wed, 29 Nov 2023 17:34:44 +0000 mod_invites: Use new shell-command API
Matthew Wild <mwild1@gmail.com> [Wed, 29 Nov 2023 17:34:44 +0000] rev 13357
mod_invites: Use new shell-command API
Wed, 29 Nov 2023 17:33:56 +0000 mod_admin_shell: Remove verbose logging
Matthew Wild <mwild1@gmail.com> [Wed, 29 Nov 2023 17:33:56 +0000] rev 13356
mod_admin_shell: Remove verbose logging
Wed, 29 Nov 2023 17:22:18 +0000 mod_admin_shell: Remove timer:info() (it's been debug:timers() for some time)
Matthew Wild <mwild1@gmail.com> [Wed, 29 Nov 2023 17:22:18 +0000] rev 13355
mod_admin_shell: Remove timer:info() (it's been debug:timers() for some time)
Wed, 29 Nov 2023 17:19:53 +0000 mod_admin_shell: Support for 'shell-command' items (global and per-host)
Matthew Wild <mwild1@gmail.com> [Wed, 29 Nov 2023 17:19:53 +0000] rev 13354
mod_admin_shell: Support for 'shell-command' items (global and per-host) This should simplify adding shell commands from other modules, which will reduce the growth of mod_admin_shell and make it easier for community modules to expose commands too.
Wed, 29 Nov 2023 17:18:17 +0000 mod_admin_shell: Refactor help to data structures for extensibility
Matthew Wild <mwild1@gmail.com> [Wed, 29 Nov 2023 17:18:17 +0000] rev 13353
mod_admin_shell: Refactor help to data structures for extensibility This makes it easier for commands added by other modules to add to the help output, for example.
Mon, 27 Nov 2023 17:19:16 +0100 migrator: Add an escape hatch to allow arbitrary config options
Kim Alvefur <zash@zash.se> [Mon, 27 Nov 2023 17:19:16 +0100] rev 13352
migrator: Add an escape hatch to allow arbitrary config options Previously only SQL settings and the 'path' for internal storage could be set, and only for SQL and internal storage. input { type = "whatever"; config = { whatever_foobar = "something" } }
(0) -10000 -3000 -1000 -120 tip