Tue, 14 May 2024 17:07:47 +0200 net.server_epoll: Add support for systemd socket activation default tip
Kim Alvefur <zash@zash.se> [Tue, 14 May 2024 17:07:47 +0200] rev 13494
net.server_epoll: Add support for systemd socket activation Allows creating listening sockets and accepting client connections before Prosody starts. This is unlike normal Prosody dynamic resource management, where ports may added and removed at any time, and the ports defined by the config. Weird things happen if these are closed (e.g. due to reload) so here we prevent closing and ensure sockets are reused when opened again.
Sat, 27 Apr 2024 15:59:46 +0200 Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Sat, 27 Apr 2024 15:59:46 +0200] rev 13493
Merge 0.12->trunk
Fri, 31 Mar 2023 22:01:27 +0200 mod_admin_shell: Allow matching on host or bare JID in c2s:show 0.12
Kim Alvefur <zash@zash.se> [Fri, 31 Mar 2023 22:01:27 +0200] rev 13492
mod_admin_shell: Allow matching on host or bare JID in c2s:show Only supporting exact match on full JID isn't helpful if you want to list sessions per host or user. Backport of 430333198e4c Fixes #1857
Sat, 27 Apr 2024 15:55:23 +0200 mod_blocklist: Drop blocked messages without error, option to restore compliant behavior 0.12
Kim Alvefur <zash@zash.se> [Sat, 27 Apr 2024 15:55:23 +0200] rev 13491
mod_blocklist: Drop blocked messages without error, option to restore compliant behavior From XEP-0191: > For message stanzas, the server SHOULD return an error, which SHOULD > be <service-unavailable/>. Following this may leak to a blocked JID that they have been blocked, which seems contrary to the goal of pretending to be perpetually offline.
Sun, 03 Dec 2023 23:19:27 +0100 mod_pep: Implement 'roster' (group) access_model
Kim Alvefur <zash@zash.se> [Sun, 03 Dec 2023 23:19:27 +0100] rev 13490
mod_pep: Implement 'roster' (group) access_model Allows e.g. restricting your vcard4 to only family or similar. Notes: This does not include roster groups in the configuration form, so the client will have to get them from the actual roster.
Fri, 26 Apr 2024 10:37:20 +0100 mod_announce: Suppress luacheck warnings
Matthew Wild <mwild1@gmail.com> [Fri, 26 Apr 2024 10:37:20 +0100] rev 13489
mod_announce: Suppress luacheck warnings
Wed, 24 Apr 2024 11:50:13 +0100 mod_announce: Add shell commands and APIs for sending to all/online/roles
Matthew Wild <mwild1@gmail.com> [Wed, 24 Apr 2024 11:50:13 +0100] rev 13488
mod_announce: Add shell commands and APIs for sending to all/online/roles
Wed, 24 Apr 2024 11:45:37 +0100 prosodyctl shell: Fix invocation with 3+ command arguments
Matthew Wild <mwild1@gmail.com> [Wed, 24 Apr 2024 11:45:37 +0100] rev 13487
prosodyctl shell: Fix invocation with 3+ command arguments The code correctly inserted the ',' when there was already a "%q" in the format string, but then the next argument would fail to match because it inserted ", %q" instead of "%q". The code now matches both, ensuring the generated code will not produce a syntax error with multiple arguments.
Tue, 23 Apr 2024 20:01:41 +0200 mod_blocklist: Fix fix signal for letting stanzas pass
Kim Alvefur <zash@zash.se> [Tue, 23 Apr 2024 20:01:41 +0200] rev 13486
mod_blocklist: Fix fix signal for letting stanzas pass Returning nothing/nil lets stanzas pass, returning anything else blocks
Mon, 22 Apr 2024 11:26:20 +0100 mod_blocklist: Check JID of mediated MUC invite sender against blocklist
Matthew Wild <mwild1@gmail.com> [Mon, 22 Apr 2024 11:26:20 +0100] rev 13485
mod_blocklist: Check JID of mediated MUC invite sender against blocklist This ensures that someone on your blocklist is unable to invite you to MUC rooms.
Wed, 17 Apr 2024 16:47:38 +0100 mod_saslauth: Log when tls-exporter is NOT supported, as well as when it is
Matthew Wild <mwild1@gmail.com> [Wed, 17 Apr 2024 16:47:38 +0100] rev 13484
mod_saslauth: Log when tls-exporter is NOT supported, as well as when it is
Sun, 14 Apr 2024 14:06:57 +0200 net.unbound: Show canonical name in textual format (e.g. in shell)
Kim Alvefur <zash@zash.se> [Sun, 14 Apr 2024 14:06:57 +0200] rev 13483
net.unbound: Show canonical name in textual format (e.g. in shell) libunbound does not tell us the whole chain of CNAMEs, only the final canonical name. This is to aid in debugging since it will only be shown in the shell.
Mon, 08 Apr 2024 16:44:11 +0200 mod_http_file_share: Fix expiry disabled check for new config API
Kim Alvefur <zash@zash.se> [Mon, 08 Apr 2024 16:44:11 +0200] rev 13482
mod_http_file_share: Fix expiry disabled check for new config API Similar to 26c30844cac6
Mon, 08 Apr 2024 09:29:58 +0200 util.startup: Fix notifying config-reload to systemd
Kim Alvefur <zash@zash.se> [Mon, 08 Apr 2024 09:29:58 +0200] rev 13481
util.startup: Fix notifying config-reload to systemd Does this event name seem backwards to anyone else?
Sun, 07 Apr 2024 18:36:00 +0200 mod_version: Fix uname result style (thanks riau)
Kim Alvefur <zash@zash.se> [Sun, 07 Apr 2024 18:36:00 +0200] rev 13480
mod_version: Fix uname result style (thanks riau) `result[, err]`, not `ok, err|result`, must have confused it with pcall
Sat, 06 Apr 2024 16:51:27 +0200 mod_server_contact_info: Sort form fields to please scansion
Kim Alvefur <zash@zash.se> [Sat, 06 Apr 2024 16:51:27 +0200] rev 13479
mod_server_contact_info: Sort form fields to please scansion The unstable hash table order caused the tests to fail and I don't know how to tell scansion to ignore the order.
Sat, 06 Apr 2024 14:31:28 +0200 mod_version: Handle access denied from uname()
Kim Alvefur <zash@zash.se> [Sat, 06 Apr 2024 14:31:28 +0200] rev 13478
mod_version: Handle access denied from uname() Discovered while experimenting with a stricter SystemCallFilter setting See man:systemd.exec(5)
Wed, 03 Apr 2024 21:56:03 -0700 mod_admin_shell: Add connection created time
aidan@jmad.org [Wed, 03 Apr 2024 21:56:03 -0700] rev 13477
mod_admin_shell: Add connection created time This adds an output format option to show the time that the connection was created. Ref #1852
Thu, 04 Apr 2024 19:44:17 +0200 Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Thu, 04 Apr 2024 19:44:17 +0200] rev 13476
Merge 0.12->trunk
Thu, 04 Apr 2024 19:00:27 +0200 util.startup: Support systemd Type=notify service type
Kim Alvefur <zash@zash.se> [Thu, 04 Apr 2024 19:00:27 +0200] rev 13475
util.startup: Support systemd Type=notify service type This lets Prosody report its lifecycle status to systemd, so it knows when Prosody has completed its startup, when it's reloading and shutting down. Both Type=notify and Type=notify-reload is supported Example systemd .service configuration snippet: [Service] Type=notify
Thu, 04 Apr 2024 19:39:33 +0200 mod_invites_adhoc: Fix result form type (thanks betarays) 0.12
Kim Alvefur <zash@zash.se> [Thu, 04 Apr 2024 19:39:33 +0200] rev 13474
mod_invites_adhoc: Fix result form type (thanks betarays)
Thu, 28 Mar 2024 15:39:59 +0100 MUC: Fix legacy hats (thanks nicoco)
Kim Alvefur <zash@zash.se> [Thu, 28 Mar 2024 15:39:59 +0100] rev 13473
MUC: Fix legacy hats (thanks nicoco) Why do we not have tests for this?
Thu, 28 Mar 2024 15:26:57 +0100 MUC: Switch to official XEP-0317 namespace for Hats (including compat) (thanks nicoco)
Kim Alvefur <zash@zash.se> [Thu, 28 Mar 2024 15:26:57 +0100] rev 13472
MUC: Switch to official XEP-0317 namespace for Hats (including compat) (thanks nicoco)
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!)
(0) -10000 -3000 -1000 -120 tip