Kim Alvefur <zash@zash.se> [Sat, 23 Apr 2022 14:37:43 +0200] rev 12474
util.crand: Reduce scope here too
Same as previous commit
Kim Alvefur <zash@zash.se> [Sat, 23 Apr 2022 14:29:43 +0200] rev 12473
util.strbitop: Reduce scope of functions
Equivalent to 'local' in Lua, these functions are exported via the
luaopen_ function, which is the only one needing to be visible outside
of the file.
Pointed out by Link Mauve at some point, but there wasn't really any
rush here.
Kim Alvefur <zash@zash.se> [Wed, 20 Apr 2022 22:41:54 +0200] rev 12472
net.connect: Fix accumulation of connection attempt references
Connection attempts that failed the Happy Eyeballs race were not
unreferenced and would accumulate.
Tested by inspecting the 'pending_connections_map' after establishing
s2s with a s2s target where the IPv6 port has a -j DROP rule causing it
to time out and the IPv4 attempt wins the race.
Expected is that the losing connection stays around until net.server
timeouts kick in where it should be removed. The map table should tend
towards being empty during idle times.
Matthew Wild <mwild1@gmail.com> [Wed, 13 Apr 2022 18:46:26 +0100] rev 12471
Merge 0.12->trunk
Matthew Wild <mwild1@gmail.com> [Wed, 13 Apr 2022 18:46:11 +0100] rev 12470
util.prosodyctl: check turn: ensure a result is always returned from a check (thanks eTaurus)
Kim Alvefur <zash@zash.se> [Wed, 13 Apr 2022 16:53:19 +0200] rev 12469
make: Install stanza watcher library (thanks Menel)
Matthew Wild <mwild1@gmail.com> [Wed, 23 Mar 2022 13:43:08 +0000] rev 12468
mod_admin_shell: Add watch:stanzas() command
Matthew Wild <mwild1@gmail.com> [Wed, 23 Mar 2022 13:42:44 +0000] rev 12467
mod_debug_stanzas/watcher: New module library to dynamically 'watch' for stanzas
Matthew Wild <mwild1@gmail.com> [Wed, 23 Mar 2022 15:25:22 +0000] rev 12466
mod_s2s: Store real stanzas in session.sendq, rather than strings
This is the "right" thing to do. Strings were more memory-efficient, but
e.g. bypassed stanza filters at reconnection time. Also not being stanzas
prevents us from potential future work, such as merging sendq with mod_smacks.
Regarding performance: we should counter the probable negative effect of this
change with other positive changes that are desired anyway - e.g. a limit on
the size of the sendq, improved in-memory representation of stanzas, s2s
backoff (e.g. if a remote server is persistently unreachable, cache this
failure for a while and don't just keep forever queuing stanzas for it).
Kim Alvefur <zash@zash.se> [Fri, 08 Apr 2022 23:38:10 +0200] rev 12465
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Fri, 08 Apr 2022 23:35:31 +0200] rev 12464
mod_storage_xep0227: Fix mapping of nodes without explicit configuration
Turns out this table was wrong, it's missing some fields which are
required and it's 'name', not 'node'. Setting it to the boolean true
invokes compatibility behavior in mod_pep which results in the correct
default structure.
Kim Alvefur <zash@zash.se> [Fri, 08 Apr 2022 15:17:11 +0200] rev 12463
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Fri, 08 Apr 2022 15:09:19 +0200] rev 12462
mod_storage_xep0227: Fix conversion of SCRAM into internal format (fix #1741)
Looks like this function was a copy of hex_to_base64 without modifying
it to do its inverse.
Kim Alvefur <zash@zash.se> [Thu, 31 Mar 2022 18:53:23 +0200] rev 12461
mod_storage_xep0227: Support basic listing of PEP nodes in absence of pubsub#admin data
Allows migrating PEP nodes with default settings
Kim Alvefur <zash@zash.se> [Tue, 29 Mar 2022 19:58:28 +0200] rev 12460
mod_storage_xep0227: Improve logging
What were we looking at?
Matthew Wild <mwild1@gmail.com> [Thu, 07 Apr 2022 17:22:22 +0100] rev 12459
Merge 0.12->trunk
Matthew Wild <mwild1@gmail.com> [Thu, 07 Apr 2022 17:22:02 +0100] rev 12458
mod_storage_xep0227: Handle missing {pubsub#owner}pubsub element (fixes #1740)
Kim Alvefur <zash@zash.se> [Tue, 05 Apr 2022 19:49:18 +0200] rev 12457
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Tue, 05 Apr 2022 14:27:37 +0200] rev 12456
prosodyctl: Pass server when listing (outdated) plugins (fix #1738)
Needed since it checks the manifest of the repository and most likely
defaults to luarocks.org unless specified
Kim Alvefur <zash@zash.se> [Mon, 04 Apr 2022 19:10:05 +0200] rev 12455
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Mon, 04 Apr 2022 18:44:57 +0200] rev 12454
core.modulemanager: Fix global flag on per-host instances of shared modules (fix #1736)
This flag is something of a shortcut for `module.host == "*"` and should
always be equal to that. Its absence on the proxy object made the
property of the global module instance visible, causing problems such as
with URL reporting in mod_http
Matthew Wild <mwild1@gmail.com> [Sun, 03 Apr 2022 12:57:11 +0100] rev 12453
Merge 0.12->trunk
Matthew Wild <mwild1@gmail.com> [Sun, 03 Apr 2022 12:56:11 +0100] rev 12452
configmanager: Clearer errors when providing unexpected values after VirtualHost (fixes #1735, thanks arawaks)
Kim Alvefur <zash@zash.se> [Sat, 02 Apr 2022 16:39:29 +0200] rev 12451
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Sat, 02 Apr 2022 16:33:27 +0200] rev 12450
util.random: Test whether util.crand works before using it (fix #1734)
util.crand can be configured at compile time to use the Linux
getrandom() system call, available from Linux 3.17, but it is still
possible to load it with an older kernel lacking that system call, where
attempting to use it throws an ENOSYS error.
By testing for this on load we can fall back to /dev/urandom in this
case.
Matthew Wild <mwild1@gmail.com> [Mon, 28 Mar 2022 14:53:46 +0100] rev 12449
Merge 0.12->trunk
Matthew Wild <mwild1@gmail.com> [Mon, 28 Mar 2022 14:53:24 +0100] rev 12448
mod_http (and dependent modules): Make CORS opt-in by default (fixes #1731)
The same-origin policy enforced by browsers is a security measure that should
only be turned off when it is safe to do so. It is safe to do so in Prosody's
default modules, but people may load third-party modules that are unsafe.
Therefore we have flipped the default, so that modules must explicitly opt in
to having CORS headers added on their requests.
Matthew Wild <mwild1@gmail.com> [Mon, 28 Mar 2022 14:40:21 +0100] rev 12447
mod_http: Reintroduce support for disabling or limiting CORS (fixes #1730)
This is far better than pre-0.12, because we now have a universal way to
configure and enable/disable CORS on a per-module basis.
Matthew Wild <mwild1@gmail.com> [Mon, 28 Mar 2022 11:42:16 +0100] rev 12446
Merge 0.12->trunk
Matthew Wild <mwild1@gmail.com> [Mon, 28 Mar 2022 11:41:57 +0100] rev 12445
prosodyctl: check config: Report paths of loaded configuration files (fixed #1729)