| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is happens if the account is new and doesn't have any bookmarks
yet, which is not a problem.
Rarely seen since most clients currently use the older version of
XEP-0084 stored in XEP-0049 rather than in PEP, but at least one
(Converse.js )does.
One scenario in which this would show up often is with Converse.js as a
guest chat using anonymous authentication, where all "accounts" would
always be new and not have any bookmarks. This scenario probably does
not need to have mod_bookmarks at all, but if enabled globally it would
likely become loaded onto the VirtualHost unless explicitly disabled.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's no 'prosody.prosodyctl' property other than this one, introduced
in 6216743c188c in 2015.
Guessing that the intent was to skip this when running as a prosodyctl
command. The module.command code does its own version of this
initialization, so this seems likely.
Thanks raja for noticing
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Brings back SCRAM-SHA-*-PLUS from its hiatus brought on by the earlier
channel binding method being undefined for TLS 1.3, and the increasing
deployment of TLS 1.3.
See 1bfd238e05ad and #1542
Requires future version of LuaSec, once support for this key material
export method is merged.
See https://github.com/brunoos/luasec/pull/187
|
| | |
|
| |
| |
| |
| | |
Part of #1600
|
| | |
|
| |
| |
| |
| |
| | |
This was slightly inaccurate since 6e1af07921d1 because the conditions
are more complicated now.
|
| |
| |
| |
| | |
Because interesting, gives some idea about the efficiency.
|
| |
| |
| |
| |
| |
| | |
To point out which one when more than one connection was established, or
if it's an existing connection, allows correlation with s2s:show() or
with logs.
|
|\| |
|
| |
| |
| |
| |
| |
| | |
This ensures that the flag is set even if the pre-drain callback is
called from send(), as would be the case if opportunistic writes are
enabled.
|
| |
| |
| |
| |
| | |
This is useful when there's more than one channel binding in
circulation, since perhaps there will be varying support for them.
|
| |
| |
| |
| | |
Don't think this is otherwise shown anywhere outside of debug logs
|
| | |
|
| |
| |
| |
| | |
I.e. the subset of port:list() relevant to the specified module.
|
| | |
|
| |
| |
| |
| | |
This lets it adjust the width of tables to the actual terminal width.
|
| |
| |
| |
| |
| | |
Could arguably be implied by 'recipient-unavailable' since if it was
available, this error wouldn't happen.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sending stanzas with a remote session as origin when the stanzas have a
local JID in the from attribute trips validation in core.stanza_router,
leading to warnings:
> Received a stanza claiming to be from remote.example, over a stream authed for localhost.example
Using module:send() uses the local host as origin, which is fine here.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #1758
Introduced in 1ea01660c79a
In e62025f949f9 to and from was inverted since it changed from acting on
a reply to acting on the original stanza (or a clone thereof)
Unsure of the purpose of this check, you don't usually send stanzas to
your own full JID. Perhaps guarding against routing loops?
The check was present in the original commit of mod_smacks,
prosody-modules rev 9a7671720dec
|
| |
| |
| |
| | |
Cuts down on noise as well
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #1757
These places seem to have been left since e62025f949f9
The logic around expected_h in should_ack() misbehaved, always comparing
with 0 + unacked instead of acked + unacked.
|
| |
| |
| |
| | |
For consistency and easier correlation of session events.
|
| |
| |
| |
| |
| | |
Those lines are long and the risk of mistakes if another one needs to be
added seems high, but lower when factored out like this.
|
|\| |
|
| |
| |
| |
| |
| |
| | |
Due to the dummy statistics provider (see core.statsmanager line 250)
having a metatable that allows infinite indexing where everything is
always the same table, which end up in suf() in the concatenation line.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Setting the .smacks field enables code paths that expects the queue to
be present. The queue is initialized in wrap_session_out(). With
opportunistic writes enabled this happens immediately on .sends2s(), so
the sending <enable> must happen before OR after these two lines, not in
the middle.
|
| |
| |
| |
| |
| |
| | |
This would mainly be error stanzas.
Good to have some trace of when handling of them are finished.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The check for the type attr was lost in 11765f0605ec leading to attempts
to create error replies for error stanzas, which util.stanza rejects.
Tested by sending
<message to="reject.badxmpp.eu" type="error"><error/></message>
which produced a traceback previously.
|
|\| |
|
| |
| |
| |
| | |
Fixes #1752
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
The type checks, they do nothing!
Observed: Tasks that were supposed to run weekly or daily were running
each hour.
|
| |
| |
| |
| | |
In case the network backend needs it for outgoing SNI or something.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This may be necessary if the session.conn object is not exchanged by the
network backend when establishing TLS. In that case, the starttls method
will always exist and thus that is not a good indicator for offering
TLS.
However, the secure bit already tells us that TLS has been established
or is not to be established on the connection, so we use that instead.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For this, various accessor functions are now provided directly on the
sockets, which reach down into the LuaSec implementation to obtain the
information.
While this may seem of little gain at first, it hides the implementation
detail of the LuaSec+LuaSocket combination that the actual socket and
the TLS layer are separate objects.
The net gain here is that an alternative implementation does not have to
emulate that specific implementation detail and "only" has to expose
LuaSec-compatible data structures on the new functions.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change ensures we have positively verified the certificates of the server
we are connecting to before marking the session as authenticated. It protects
against situations where the verify-or-close stage of the connection was
interrupted (e.g. due to an uncaught error).
Thanks to Zash for discovery and testing.
|
| |
| |
| |
| |
| |
| | |
Otherwise it would just report "is not trusted" unless you inspect the
logs. This message is sent to to the remote server, and will hopefully
show up in their logs, allowing the admin to fix their DANE setup.
|
| |
| |
| |
| |
| | |
Should be invoked for cases such as when the Let's Encrypt intermediate
certificate expired not too long ago.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using a timer was a hack to get around that stream features are not
available at the right time and sendq stanzas were stored as strings
so could not be counted properly. The later has now been fixed and the
former is fixed by recording the relevant stream feature on the session
so that the correct version of XEP-0198 can be activated once the
connection has been authenticated and is ready to start.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|