Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | net.server_epoll: Optimize away table allocation for timer objects | Kim Alvefur | 2020-06-29 | 1 | -15/+21 |
| | |||||
* | net.server_epoll: Remove unused time field from timer objects | Kim Alvefur | 2020-06-29 | 1 | -6/+3 |
| | | | | Unused since the move to util.indexedbheap in c8c3f2eba898 | ||||
* | net.server_epoll: Signal API-compatibilty with util.timer | Kim Alvefur | 2020-06-29 | 1 | -0/+6 |
| | | | | | Reduces the overhead of having both util.timer and the timer handling here, since they are very similar and now API-compatible. | ||||
* | net.server_epoll: Make API-compatible with util.timer | Kim Alvefur | 2020-06-29 | 1 | -3/+3 |
| | |||||
* | net.dns: Disable jitter for default resolver (used by blocking dns.lookup() ↵ | Matthew Wild | 2020-06-28 | 1 | -0/+1 |
| | | | | | | calls) This fixes 'prosodyctl check dns' being slow. | ||||
* | util.dependencies: Tone down lua-unbound dependency for now | Kim Alvefur | 2020-06-27 | 1 | -1/+2 |
| | | | | | | At least until packages are available Wording from MattJ | ||||
* | net.resolvers: Remove FIXMEs obsoleted by switch to libunbound | Kim Alvefur | 2020-06-25 | 2 | -5/+0 |
| | |||||
* | net.unbound: Remove compat for missing promises (pre-0.11) | Kim Alvefur | 2020-06-25 | 1 | -15/+12 |
| | | | | | Code existed in a separate project before merged into Prosody, so util.promise was not always around. | ||||
* | net.unbound: Strip support for legacy net.server APIs | Kim Alvefur | 2020-06-25 | 1 | -37/+3 |
| | | | | | These are not needed since the watchfd API is provided by all net.server backends. | ||||
* | net.adns: Log a warning if loaded (because net.unbound wasn't) | Kim Alvefur | 2020-06-25 | 1 | -0/+2 |
| | |||||
* | net.unbound: Async DNS resolver library based on libunbound via luaunbound | Kim Alvefur | 2019-03-09 | 1 | -0/+245 |
| | |||||
* | net.dns: Reduce default timeout to 5s | Matthew Wild | 2020-06-25 | 1 | -1/+1 |
| | | | | | Most healthy queries will return well within this time, and the new retry logic should help spread the cost of additional retries. | ||||
* | net.dns: Increase backoff delays | Matthew Wild | 2020-06-25 | 1 | -1/+1 |
| | | | | Not entirely happy with the overall logic here. | ||||
* | net.dns: Add jitter to spread queries and reduce failures due to congestion | Matthew Wild | 2020-06-25 | 1 | -2/+20 |
| | |||||
* | net.dns: Fix timeout retry logic | Matthew Wild | 2020-06-25 | 1 | -16/+21 |
| | | | | | | | 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(). | ||||
* | net.dns: Add some debug logging | Matthew Wild | 2020-06-25 | 1 | -0/+4 |
| | |||||
* | Merge 0.11->trunk | Kim Alvefur | 2020-06-23 | 1 | -1/+2 |
|\ | |||||
| * | net.http.server: Fix reporting of missing Host header | Kim Alvefur | 2020-06-23 | 1 | -1/+2 |
| | | | | | | | | | | The "Missing or invalid 'Host' header" case was dead code previously because `host` was always at least an empty string. | ||||
| * | net.http.server: Strip port from Host header in IPv6 friendly way (fix #1302) | Kim Alvefur | 2020-06-23 | 1 | -1/+1 |
| | | | | | | | | | | E.g. given `[::1]:5280` it would previously result in only `[` instead of the correct `[::1]` | ||||
* | | net.connect: Remove TODO about use_ipv4/6 done in 3bfb20be844c | Kim Alvefur | 2020-06-22 | 2 | -2/+0 |
| | | |||||
* | | net.server_epoll: Add way to start accepting clients on an arbitrary server ↵ | Kim Alvefur | 2020-06-01 | 1 | -4/+9 |
| | | | | | | | | | | | | socket This adds an escape hatch where things like UNIX sockets can be added. | ||||
* | | net.server_epoll: Handle missing ports from getsock/peername (as in the case ↵ | Matthew Wild | 2020-06-01 | 1 | -2/+2 |
| | | | | | | | | of unix sockets) | ||||
* | | net.server: Switch to epoll backend by default | Matthew Wild | 2020-06-01 | 1 | -1/+5 |
| | | | | | | | | (if util.poll is found) | ||||
* | | net.server_select: Pass conn/handler to readbuffer/sendbuffer | Matthew Wild | 2020-06-01 | 1 | -4/+4 |
| | | | | | | | | | | | | 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. | ||||
* | | net.server_select: Ensure onconnect is always called before onincoming | Matthew Wild | 2020-06-01 | 1 | -9/+18 |
| | | | | | | | | | | | | | | | | | | 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. | ||||
* | | net.server_epoll: Fix typo in internal method name | Kim Alvefur | 2020-05-22 | 1 | -5/+5 |
| | | |||||
* | | net.server_epoll: Log some noise before TLS handshake step | Kim Alvefur | 2020-05-22 | 1 | -0/+1 |
| | | | | | | | | | | 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 | ||||
* | | net.http: Return a Promise if no callback is given | Kim Alvefur | 2020-05-06 | 1 | -1/+17 |
| | | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-04-26 | 1 | -1/+1 |
|\| | |||||
| * | net.server_epoll: Fix indentation | Kim Alvefur | 2020-03-11 | 1 | -3/+3 |
| | | | | | | | | | | | | 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. | ||||
* | | net.http.server: Use error code from util.error (fixes #1502) | Kim Alvefur | 2020-04-12 | 1 | -0/+1 |
| | | | | | | | | Oversight in 955e54e451dc when this was added. | ||||
* | | net.dns: Handle being loaded outside of Prosody | Kim Alvefur | 2020-02-24 | 1 | -2/+2 |
| | | | | | | | | | | | | `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. | ||||
* | | net.resolvers.service: Fix resolving of targets with multiple IPs | Kim Alvefur | 2020-02-16 | 1 | -5/+8 |
| | | | | | | | | | | Each basic resolver was only used once and not kept around to try any IP addresses but the first one found. | ||||
* | | net.server_epoll: Reduce log level of TLS handshake errors to debug | Kim Alvefur | 2020-02-15 | 1 | -1/+1 |
| | | | | | | | | | | | | | | 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. | ||||
* | | net.server_epoll: Different error to distinguish connection timeout | Kim Alvefur | 2020-02-01 | 1 | -1/+2 |
| | | | | | | | | This mirrors what server_event does. | ||||
* | | net.resolvers.basic: Fix continuing if IPv6 or Legacy IP is disabled | Kim Alvefur | 2020-01-26 | 1 | -0/+4 |
| | | | | | | | | | | The code expects ready() to be called twice, but with IPv4 or v6 disabled it would only be called once. | ||||
* | | net.resolvers.basic: Obey extra.use_ipv4/use_ipv6 | Matthew Wild | 2020-01-25 | 1 | -2/+2 |
| | | |||||
* | | Backed out changeset 44ef46e1a951 (not optimal API) | Matthew Wild | 2020-01-25 | 1 | -21/+12 |
| | | |||||
* | | net.resolvers.basic: Obey use_ipv4/use_ipv6 | Matthew Wild | 2020-01-25 | 1 | -14/+19 |
| | | |||||
* | | net.adns: Add :lookup_promise() method | Matthew Wild | 2020-01-24 | 1 | -0/+13 |
| | | |||||
* | | net.connect: Add API to create custom connect()s with options, incl. use_ipv[46] | Matthew Wild | 2020-01-24 | 1 | -12/+21 |
| | | |||||
* | | net.server_epoll: Log error about missing *all* callbacks at 'error' level | Kim Alvefur | 2020-01-12 | 1 | -1/+1 |
| | | |||||
* | | net.server_epoll: Log errors caught in listeners on 'error' level | Kim Alvefur | 2020-01-12 | 1 | -1/+1 |
| | | |||||
* | | net.server_epoll: Add option for reducing debug logging | Kim Alvefur | 2020-01-12 | 1 | -14/+25 |
| | | | | | | | | | | | | | | 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. | ||||
* | | net.server_epoll: Collect full traceback from errors in listeners | Kim Alvefur | 2020-01-05 | 1 | -1/+3 |
| | | |||||
* | | net.http.parser: Add TODO related to #726 | Kim Alvefur | 2020-01-01 | 1 | -0/+1 |
| | | |||||
* | | net.server_epoll: Avoid concatenating buffer with single item | Kim Alvefur | 2019-12-28 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | | net.server_event: Silence luacheck warnings | Kim Alvefur | 2019-12-23 | 1 | -0/+2 |
| | | |||||
* | | net.server_epoll: Remove an unused variable [luacheck] | Kim Alvefur | 2019-12-23 | 1 | -1/+1 |
| | | |||||
* | | net.http.parser: Silence warning about unused variable [luacheck] | Kim Alvefur | 2019-12-23 | 1 | -1/+2 |
| | |