| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
At least until packages are available
Wording from MattJ
|
| |
|
|
|
|
|
| |
Code existed in a separate project before merged into Prosody, so
util.promise was not always around.
|
|
|
|
|
| |
These are not needed since the watchfd API is provided by all net.server
backends.
|
| |
|
| |
|
|
|
|
|
| |
Most healthy queries will return well within this time, and the
new retry logic should help spread the cost of additional retries.
|
|
|
|
| |
Not entirely happy with the overall logic here.
|
| |
|
|
|
|
|
|
|
| |
On timeout the query would be resent twice - once within
servfail(), and again inside the timeout callback.
This commit moves all retry logic to servfail().
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
The "Missing or invalid 'Host' header" case was dead code previously
because `host` was always at least an empty string.
|
| |
| |
| |
| |
| | |
E.g. given `[::1]:5280` it would previously result in only `[` instead
of the correct `[::1]`
|
| | |
|
| |
| |
| |
| |
| |
| | |
socket
This adds an escape hatch where things like UNIX sockets can be added.
|
| |
| |
| |
| | |
of unix sockets)
|
| |
| |
| |
| | |
(if util.poll is found)
|
| |
| |
| |
| |
| |
| | |
The internal implementations don't use it, but this causes onreadable
and onwritable of watchfd to receive the conn as they do in other
backends.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This changes the code to call onconnect when the first data is sucessfully
read or written, instead of simply when the socket first becomes writable.
A writable socket can mean a connection error, and if the client already
sent some data it may get passed to onincoming before processing writable
sockets. This fixes the issue.
|
| | |
|
| |
| |
| |
| |
| | |
This would help pinpoint if a crash happens during the handshake, which
has occurred a few times, e.g. like https://github.com/brunoos/luasec/issues/75
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Oversight in 955e54e451dc when this was added.
|
| |
| |
| |
| |
| |
| | |
`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.
|
| |
| |
| |
| |
| | |
Each basic resolver was only used once and not kept around to try any
IP addresses but the first one found.
|
| |
| |
| |
| |
| |
| |
| | |
These are triggered all the time by random HTTPS connections, so they
are mostly just useless noise. When you actually do need them, you
probably have debug logging enabled too, since these messages are fairly
useless without more context.
|
| |
| |
| |
| | |
This mirrors what server_event does.
|
| |
| |
| |
| |
| | |
The code expects ready() to be called twice, but with IPv4 or v6
disabled it would only be called once.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Sometimes all these things just drown out the logs you are interested
in with low-level socket noise.
Enabled since it's still new and experimental.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Saves creating a string that'll be identical to buffer[1] anyways, as
well as a C function call. Depending on Lua version and length of the
string, this could be reusing an interned string, but a longer one would
probably be duplicated for no reason.
Having exactly one item in the buffer seems like it would be fairly
common, but I have not done an extensive study. If opportunistic writes
are enabled then it will be even more likely.
This special case could be optimized like this in table.concat but it
does not look like it is.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Stanza errors can also have numbers but these are a legacy thing and
rarely used, except in MUC. HTTP errors on the other hand always have a
number.
|
| |
| |
| |
| | |
Timer API of passing wallclock time remains
|
| |
| |
| |
| |
| | |
Relative to current time instead of absolute time, in preparation for
switching to monotonic time.
|
| |
| |
| |
| | |
This won't make sense if we switch to monotonic time
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In :onreadable, if there is still buffered incoming data after reading
from the socket (as indicated by the :dirty method, usually because
LuaSocket has an 8k buffer that's full but it read a smaller amount),
another attempt to read is scheduled via this :pausefor method. This is
also called from some other places where it would be pointless to read
because there shouldn't be any data.
In the delayed read case, this should report that the socket is "dirty".
If it reports that the socket is "clean" then the question is where
the buffer contents went?
If this doesn't get logged after the scheduled time (0.000001s by
default) then this would suggests a problem with timer or scheduling.
|