| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| |
| |
| |
| |
| |
| | |
The `socket` here is unreferenced on disconnect. Calling :resume_writes
after that causes an error when `addsocket()` tries to use it as a table
index.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Probably due to a rebase/merge with a merge tool that ignores
whitespace. Happens all the time to me :(
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The stanza API does not accept number values and threw an error due to
the height and width attributes of the media element (XEP-0221).
This part had no test coverage previously, explaining why it was not
discovered until now.
|
| |
| |
| |
| | |
objects
|
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
This is primarily a step towards saving uploads directly to files, tho
this should hopefully be more efficient than collapsing the entire
buffer to a single string every now and then.
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a new API that should be used in preference to http.destroy_request()
when possible, as it ensures the callback is always called (with an error of
course).
APIs that have edge-cases where they don't call callbacks have, from experience,
shown to be difficult to work with and often lead to unintentional leaks when
the callback was expected to free up certain resources.
|
| |
| |
| |
| |
| | |
This was accidentally turned private in 647adfd8f738 as part of refactoring
for Lua 5.2+.
|
| |
| |
| |
| |
| |
| | |
It's confusingly quiet otherwise, even with maximum verboseness.
Thanks perflyst
|
| |
| |
| |
| |
| | |
Spammers are a big hassle, hopefully this will make admins aware of them sooner
than when they’ve already spammed a bunch.
|
| | |
|
| |
| |
| |
| |
| | |
Makes it easier to see human-readable parts and thus identifying the
garbage. Also consistent with mod_c2s and others.
|
| |
| |
| |
| | |
XEP-0157 version 1.1.0
|
| |
| |
| |
| | |
Passing it in CFLAGS applied to all modules, which was not needed.
|
|\| |
|
| |
| |
| |
| |
| |
| | |
(thanks marc0s)
Fixes a traceback when passed an IP address with no conn_type.
|
| |
| |
| |
| | |
luaunbound, lunbound, lua-unbound ... "kärt barn har många namn"
|
| |
| |
| |
| |
| | |
Some modules have _VERSION = "LuaModule x.y.z", so it is a bit weird
to show the name twice.
|
| |
| |
| |
| | |
E.g. 'lxp' isn't that easy to guess that it's LuaExpat
|
| |
| |
| |
| |
| | |
Currently libevent and libunbound would show up under Lua modules but
they are not, so a separate section seems more appropriate.
|
| |
| |
| |
| | |
Code reuse and one less module to import is nice.
|
| | |
|
| |
| |
| |
| | |
We use Mercurial, not git!
|
| |
| |
| |
| |
| |
| |
| | |
net.cqueues previously relied on timers instead of fd events sometimes.
Under net.server_select, it would have called cq:loop() on every
iteration of the main loop, which was probably not optimal.
|
| |
| |
| |
| |
| | |
This approximates what happens if you add a timer far in the future,
then reschedule it to right now.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Why? Just look at all that code deleted!
watchfd is the prefered way to poll things that expose FDs for this
purpose, altho it was added after net.cqueues.
|
|\| |
|