| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Also test for self-probes
|
|
|
|
|
|
|
|
|
|
|
| |
The following patch allows Prosody to respond to `probe` presences and send out the probed occupant's current presence.
This is based on line 17.3 in XEP-0045:
A MUC service MAY handle presence probes sent to the room JID <room@service> or an occupant JID <room@service/nick>
(e.g, these might be sent by an occupant's home server to determine if the room is still online or to synchronize
presence information if the user or the user's server has gone offline temporarily or has started sharing presence again,
as for instance when Stanza Interception and Filtering Technology (XEP-0273) is used).
|
|
|
|
|
|
|
|
|
|
|
| |
(thanks Daniel_W)
Spectrum2 did not include a stream @to attribute due to a configuration
error. "nil does not match ..." is not very clear in pointing this out
and is somewhat confusing, tho it did help pinpoint what went wrong.
It's also not great leak to programming language internals like "nil"
out into user-facing strings like this.
|
|\ |
|
| |
| |
| |
| |
| | |
Directly sending something over s2s needs to use sends2s() but the code
copied from mod_c2s had .send()
|
|\| |
|
| |
| |
| |
| | |
(thanks damencho)
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will result in the stream timing out instead, which is probably
correct if the stream has not been opened yet.
This was already done for c2s in e69df8093387
Thanks Ge0rG
|
| | |
|
|\| |
|
| |
| |
| |
| | |
In some cases this method returns nothing, unclear why.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The 'tls-unique' channel binding is undefined in TLS 1.3 according to a
single sentence in parenthesis in Apendix C of RFC 8446
This may trigger downgrade protection in clients that were expecting
channel binding to be available.
|
| | |
|
| | |
|
|\| |
|
| | |
|
|\ \
| |/
|/| |
|
| | |
|
| |
| |
| |
| |
| | |
Planning to make this configurable, so good to distinguish it from
future backends.
|
| |
| |
| |
| |
| | |
'archive' is not a metatable here, so this has no effect. Remove since
apparently nothing depends on this.
|
| |
| |
| |
| |
| |
| |
| | |
Why do we still include this? Deprecated in 2007, obsoleted in 2009.
Removes redundant timestamp that nobody should be looking at since many
years and a redundant copy of the room JID.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This CSS selector makes it awkward to add more items.
|
| |\ |
|
| |\ \ |
|
| | | | |
|
| |\ \ \ |
|
| | | | | |
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Daemonizing later means we can use that as a "successful startup"
signal and problems can be reported via exit code.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Behavior with turning empty name into localpart was originally introduced
in 711eb5bf94b4
This has caused some problems for clients, making it difficult to
differentiate between a room actually named like the localpart from a
room without a name.
Breaking:
The function signature of the :get_name() method changes from always
returning a string to optional string.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
User switching has been done by prosodyctl or init scripts for a very
long time now, so this is not needed.
Using this would not have worked with module reloading (e.g. to reload
certificates) since ports are closed and re-bound, which would then not
be allowed.
Today there exists better ways to grant low ports, i.e. capabilities(7)
<Zash> Why do we have this?
<MattJ> Remove it
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
While writing developer documentation it became obvious that i was silly
to have one item format for config and items API, and another format for
the event API.
Then there's the stanza format, but that's a common pattern.
This change reduces the possible input formats to two and allows other
modules the benefit of the processing and validation performed on items
from the config.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is especially targeted at services added via the items API. More
involved credential generation should use the event hook.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Not sure what algorithms might fit here. Separation makes some sense.
This is also a preparation for having a callback. (See next commit)
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This might be something to write a XEP about.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The wait, service-unavailable is overloaded by XEP-0045 to mean that the
room has reached the maximum number of users. See #1495.
Bouncing errors for components is tricky since there is no way to tell
that it comes from the server hosting the component, not from the other
end of the component connection.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Otherwise it would use the configured buffer size, or previously '*a'.
Using the read size set by the listener seems more sensible.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Otherwise the '*a' read mode applies, which under certain circumstances
can read infinite amounts of data into memory.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fixes #726
API:
module:provides("http", {
streaming_uploads = true;
route = {
PUT = function (event)
event.request.body_sink = io.tmpfile();
return true;
end
}
})
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This enables uses such as saving uploaded files directly to a file on
disk or streaming parsing of payloads.
See #726
|