| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
Metrics available or not depending on configuration is weird, even tho
it might be expensive to calculate and it's only really needed when
there is a global quota.
Default quota is set to infinity, which is essentially what it was.
Reports NaN if there is an error, which should count as over the
infinite default quota.
|
|
|
|
|
|
|
|
| |
Found by accidentally publishing {urn:xmpp:bookmarks:0}conference
instead of :1 due to testing this earlier for the blocking.
By the principle of garbage in, garbage out, just generate a bookmark
from the item id / JID and carry on with a warning.
|
|
|
|
|
|
|
|
| |
Having both the :0 and :1 nodes would be especially awkward, since there
is no upgrade path for this case. In theory, these should be rare since
no clients should have been doing XEP-0402 unless mod_bookmarks(2) was
enabled. This was guesstimated to be rare with most clients doing
XEP-0048 with Private XML.
|
|
|
|
|
|
|
| |
Attempt to concatenate nil 'user'
Not much data actually makes sense but the migrator tries to write or
clear these.
|
| |
|
| |
|
|
|
|
| |
This can (and will) be used to support in-memory import/export functions.
|
|
|
|
| |
Should save some cycles and not log the debug message on every login.
|
| |
|
|
|
|
| |
For compatibility with clients relying on the notifications
|
|
|
|
|
|
|
| |
Boolean logic, never correct on the first try.
We want to skip copying the same cert if it _has_ been imported already,
not if it has not.
|
|
|
|
|
| |
This sorta overloads the type suffix but PEP is used for enough stuff
to justify this hack
|
| |
|
| |
|
|
|
|
| |
Needed for things like mod_http_file_share
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Previously -v etc would do nothing and --config without argument would
not have worked correctly.
|
|
|
|
|
|
| |
The 'prosody' global is not global this early so there was no way to
override the process type field or argument parsing settings from
outside, e.g. from the migrator.
|
|
|
|
|
| |
This ought to make it easier to translate in the future.
And easier to reword, now!
|
|
|
|
|
|
|
|
|
|
|
| |
Recent experience with translations in the context of Snikket
highlighted that sentences spread across concatenated strings like this
makes the experience less than pleasant for translators.
We don't have translation yet, but it is a future goal and why not?
The duplication can be solved with a parameterized function for the
common cases.
|
|
|
|
| |
Why would they use different wording?
|
|
|
|
|
| |
Might be nice to reduce amount of things happening on connect once
all users has upgraded
|
|
|
|
| |
See 1dc00ca6ee9d
|
| |
|
|
|
|
|
| |
Previously this would end up passing the "max" directly to the
underlying storage.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Pending https://github.com/brunoos/luasec/pull/179
Should not be done globally, but rather only for s2sout, but that would
have to be in mod_tls then.
|
| |
|
| |
|
|
|
|
| |
Packages exists now.
|
|
|
|
|
| |
Should no longer be needed, especially since mod_admin_telnet morphed
into mod_admin_shell and mod_admin_socket
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This method is a bit complex so good to have some test coverage
|
|
|
|
|
| |
These cases are caught by `check_text(v, ..)` above. Those errors do not
contain the attribute however, which would have been nice.
|
| |
|
| |
|