| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Supported in ICU, with a binding in util.encodings. mod_mimicking uses
this to prevent similarity looking JIDs from being registered.
Planned to be used in MUC as well.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
Testing ad-hoc commands was not easily doable before 49312378ba1d
relaxed the need for state and an extra roundtrip to execute commands
|
| |
| |
| |
| | |
See 76bb806cdd4b
|
| |
| |
| |
| | |
(fixes #1508)
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
At some point the web chat moved to /chat and then to this subdomain
|
|\| |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
Some lines seem to have gotten the wrong indentation, possibly caused by
Meld which often ignores lines with only whitespace changes and leaves
their previous indentation.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| |
| | |
Caused by a plugin sending a message from the room itself.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This might not be quite legal per XEP-0050, but makes it possible to
call simpler commands without keeping state across another roundtrip.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The 'store' path componend used to be unescaped until 756a2a00e7e7 added
escaping to address issues with characters like '/' used in PEP, but
with a special case for '_' which was already in common use in 'store'
path components.
Missed adding this escaping here.
|
| |
| |
| |
| |
| |
| | |
`if timer ...` suggests that this was intended, but it did not work
because net.timer depends on net.server which refuses to be loaded
outside of Prosody.
|
| |
| |
| |
| |
| | |
Lets you select what hosts to list http services on. In particular, this
enables listing global http services, which was not possible before.
|
| |
| |
| |
| |
| | |
This seems to be the one place handling MUC-PMs. This event is added so that
plugins (such as muc_occupant_id) can edit them without having to redo the work.
|
| | |
|
| | |
|
| |
| |
| |
| | |
the latter
|
| |
| |
| |
| |
| |
| |
| | |
get_hosts_with_module(a component, mod) would still filter out
components since they don't have type="component" instead of "local"
Introduced in 4d3549e64489
|
| | |
|
|\| |
|
| |
| |
| |
| |
| | |
0c00274528a4 moved it one step too far, so the check was performed
before connecting to the database instead of after.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When responding to a ping from elsewhere in the same Prosody the send
function will be host_send from core.hostmanager, which does not return
anything. Tailcalling it therefore lets the iq event fall trough to
handle_unhandled_stanza in core.stanza_router, which responds with an
error. This error also goes into handle_unhandled_stanza which discards
it.
Noticed because I have a module that points out when a stanza error
reply is created without a text argument.
|
|\| |
|