| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Logic using full vs bare JID addressing may return in the future.
|
|
|
|
|
|
|
|
| |
The intent was to not store MUC groupchat messages, which are sent from
the MUC to local full JIDs, while allowing for potential future
account based group chat. However, since this function handles messages
in both directions and outgoing MUC messages are sent to the bare room
JID, those were stored.
|
|
|
|
|
|
|
|
| |
In Lua 5.3 difftime() takes integers as argument but returns a float,
and then tostring() serializes it with a decimal point. This violates
XEP-0012.
Like #1536
|
| |
|
|
|
|
|
| |
Since these XEPs are subject to change we may need come back and double
check these in the future.
|
|
|
|
|
| |
Makes it possible to learn of delivery failure even if it came bouncing
back while you were offline.
|
| |
|
|
|
|
|
| |
no-store is used in an example in XEP-0313, so obviously this is the
preferred hint
|
|
|
|
| |
If it is with a body then it execution does not get this far
|
| |
|
|
|
|
|
|
| |
The intent is to capture errors to stanzas sent by the local user, so
that they can see why a message failed to be delivered even if the error
came after they went offline.
|
|
|
|
| |
Happy now Ge0rG?
|
|
|
|
| |
Mostly just lifted from mod_csi_simple
|
|
|
|
| |
Improved readability and early returns definite yes/no answer.
|
|
|
|
|
| |
This is based on code in mod_csi_simple and aiming towards being more
flexible and maintainable than a couple of tests for when not to store.
|
|
|
|
|
| |
Logging of 'why not' is already done. Why not both? Will make more sense
when the rules evolve a bit.
|
|
|
|
|
| |
Meant to improve readability and ease further improvements to this
algorithm.
|
|
|
|
|
| |
Both mediated invites defined by XEP-0045: Multi-User Chat and direct
invites defined by XEP-0249: Direct MUC Invitations
|
| |
|
| |
|
| |
|
|
|
|
| |
Improves readability, easier to see structure.
|
|
|
|
|
|
|
|
| |
It is somewhat ambiguous where an error really comes from in the case of
an external component.
Setting by to the bare host at least distinguishes it from JIDs with a
node- or resourcepart.
|
| |
|
|
|
|
| |
presence
|
|
|
|
| |
occupant presence
|
|\ |
|
| |
| |
| |
| | |
On error, the second return value is the error condition, not the third.
|
| |
| |
| |
| | |
Backport of f90abf142d53 from trunk
|
|\| |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The LuaSec :info() method gathers info using the OpenSSL function
SSL_get_current_cipher(). Documentation for this function states that it
may return NULL if no session has been established (yet). If so, the
LuaSec functions wrapping this return nil, triggering a nil-indexing
error in mod_admin_telnet.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This gives service admins a way to set an arbitrary affiliation in any
room. Enables various administrative use cases such as room ownership
reassignment or recovery.
Reduces the need for the admins-as-owners feature, as this can be used
by admins to make themselves owner in any room when needed, instead of
being owners all the time.
|
| |
| |
| |
| |
| |
| |
| |
| | |
RFC 6121 §3.4 says:
> If a server supports subscription pre-approvals, then it MUST
> advertise the following stream feature during stream negotiation.
The feature itself (#686) was added in f0e9e5bda415
|
| |
| |
| |
| |
| |
| |
| |
| | |
Based on the currently-deferred XEP-0317. The protocol differs
a little (because XEP-0317 is incomplete), therefore currently
we use a custom namespace.
The plan is to update and finish XEP-0317.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Changing the default setting of `new_muc_storage_format` from false to true.
The code supports reading both formats since 0.11, but servers with MUCs stored
using the new format will not be able to downgrade to 0.10 or earlier.
The new format is clearer (less nesting for the most commonly-accessed data),
and combined with the new map-store methods, allows for some operations to become
more efficient (such as finding out which MUCs on a service a given user is affiliated
with).
|
| |
| |
| |
| | |
Activated when muc#roomconfig_presencebroadcast includes the "none" role.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Detailed explanation in de607875d4bd. A presence with role="none"
(which is always type="unavailable") should only be broadcast if
available presence was previously broadcast for that occupant.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently there is what amounts to a hack in presence_broadcast.lib.lua to
make it always broadcast presence with roles of "none". This is to ensure
that if you previously saw available presence for someone, you will also
see the unavailable presence (which always has role="none").
The correct approach is to take into account what the previous role was (
i.e. answer the question: "Was the available presence for this occupant
a role for which presence broadcast is enabled?).
The logic is already in place to do this correctly, but most call sites
do not provide the previous role (prev_role argument) of the occupant,
which causes it to not be used. In its place the hack to always broadcast
presence of role="none" has allowed things to continue to work.
The intention is that a subsequent commit will remove the unconditional
broadcast of role="none".
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(fixes #1504)
This lets Prosody handle socket related work between each step in the
cleanup in order to prevent the server from being completely blocked
during this.
An async storage backend would not need this but those are currently
rare.
|
| | |
|
| | |
|
| | |
|
| | |
|
|\| |
|
| | |
|