Jonas Schäfer <jonas@wielicki.name> [Sat, 15 Jan 2022 15:40:29 +0100] rev 12193
mod_storage_xep0227: treat roster metadata pseudo-entry correctly
The roster version is stored in a pseudo-item which has the key `false`.
The if condition in the touched code attempts to guard against this, but
it does not take into account that the jid prepping returns nil instead
of false.
By moving the jid prepping into the if, we can check for the metadata
entry safely.
Jonas Schäfer <jonas@wielicki.name> [Sat, 15 Jan 2022 15:39:13 +0100] rev 12192
mod_storage_xep0227: be defensive against empty vCard
An empty vCard store may look like the empty table, which does not have
the `attr` key, which would then blow up in util.stanza.deserialize.
Kim Alvefur <zash@zash.se> [Sat, 15 Jan 2022 15:13:41 +0100] rev 12191
mod_http: Limit unencrypted http port (5280) to loopback by default
Since accessing this port directly over the wider Internet is unlikely
to intentional anymore. Most uses will likely be by reverse proxies, by
mistake or because of trouble configuring HTTPS.
Blocking mistaken uses is just a good thing, letting users send
potentially private things unencrypted tends to be Strongly Discouraged
these days.
Many reverse proxy setups operate over loopback, so listening there
instead of all interfaces is a net improvement.
Improved automatic certificate location and SNI support has mostly
eliminated the need for manual certificate configuration so HTTPS should
Just Work once certificates have been provided.
For local testing during development, connecting over loopback is likely
fine as well. When really needed, `http_interfaces` can still be set.
Suggested by Link Mauve
Kim Alvefur <zash@zash.se> [Sat, 15 Jan 2022 09:09:24 +0100] rev 12190
mod_cron: Allow for a small amount of timer drift
If the timer activates a bit early then a task might be just a few
seconds short of being allowed to run. This would run such a task rather
than wait another hour.
The value 0.5% chosen so that a weekly task does not run an entire hour
earlier than last time.
Matthew Wild <mwild1@gmail.com> [Fri, 14 Jan 2022 17:00:13 +0000] rev 12189
mod_storage_xep0227: Fix luacheck warnings
Matthew Wild <mwild1@gmail.com> [Fri, 14 Jan 2022 16:57:19 +0000] rev 12188
mod_storage_xep0227: Add API to iterate all stores of a user
Matthew Wild <mwild1@gmail.com> [Fri, 14 Jan 2022 16:55:18 +0000] rev 12187
mod_storage_xep0227: Skip self-contacts on roster import
Matthew Wild <mwild1@gmail.com> [Thu, 13 Jan 2022 12:18:49 +0000] rev 12186
Added tag 0.11.12 for changeset 783056b4e448
Jonas Schäfer <jonas@wielicki.name> [Mon, 10 Jan 2022 18:23:54 +0100] rev 12185
util.xml: Do not allow doctypes, comments or processing instructions
Yes. This is as bad as it sounds. CVE pending.
In Prosody itself, this only affects mod_websocket, which uses util.xml
to parse the <open/> frame, thus allowing unauthenticated remote DoS
using Billion Laughs. However, third-party modules using util.xml may
also be affected by this.
This commit installs handlers which disallow the use of doctype
declarations and processing instructions without any escape hatch. It,
by default, also introduces such a handler for comments, however, there
is a way to enable comments nontheless.
This is because util.xml is used to parse human-facing data, where
comments are generally a desirable feature, and also because comments
are generally harmless.
Jonas Schäfer <jonas@wielicki.name> [Mon, 10 Jan 2022 18:23:54 +0100] rev 12184
util.xml: Do not allow doctypes, comments or processing instructions
Yes. This is as bad as it sounds. CVE pending.
In Prosody itself, this only affects mod_websocket, which uses util.xml
to parse the <open/> frame, thus allowing unauthenticated remote DoS
using Billion Laughs. However, third-party modules using util.xml may
also be affected by this.
This commit installs handlers which disallow the use of doctype
declarations and processing instructions without any escape hatch. It,
by default, also introduces such a handler for comments, however, there
is a way to enable comments nontheless.
This is because util.xml is used to parse human-facing data, where
comments are generally a desirable feature, and also because comments
are generally harmless.