Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | net.resolvers.basic: Disable DANE for now, completely broken | Kim Alvefur | 2021-03-03 | 1 | -5/+4 | |
| | | | | | | | | | | Turns out 'extra' is, at least for mod_s2s, the same table for *all* connections. | |||||
* | | net.resolvers.basic: Don't enable DANE with zero TLSA records | Kim Alvefur | 2021-03-03 | 1 | -1/+1 | |
| | | | | | | | | Turns out it doesn't work with zero. | |||||
* | | net.connect: Add DANE support | Kim Alvefur | 2021-03-02 | 1 | -1/+26 | |
| | | | | | | | | | | | | Disabled DANE by default, since it needs extra steps to be useful. The built-in DNS stub resolver does not support DNSSEC so having DANE enabled by default only leads to an extra wasted DNS request. | |||||
* | | net.server_epoll: Support for passing DANE TLSA data to LuaSec (0.8 needed) | Kim Alvefur | 2019-09-29 | 1 | -0/+14 | |
| | | ||||||
* | | net.http.server: Set request.ip so mod_http doesn't have to | Kim Alvefur | 2021-02-27 | 1 | -0/+2 | |
| | | | | | | | | | | | | | | | | Because it already sets request.secure, which depends on the connection, just like the IP, so it makes sense to do both in the same place. Dealing with proxies can be left to mod_http for now, but maybe it could move into some util some day? | |||||
* | | net.http.server: Don't pause early streaming uploads | Kim Alvefur | 2021-02-13 | 1 | -1/+10 | |
| | | | | | | | | | | | | | | Fixes that otherwise it would wait for the request to be done after receiving the head of the request, when it's meant to select a target for where to store the data, instead of waiting after receiving the request for when the request has been handled. | |||||
* | | net.http.server: Allow storing more than the parser in the session | Kim Alvefur | 2021-02-12 | 1 | -10/+11 | |
| | | | | | | | | Storing the async thread on the connection was weird. | |||||
* | | net.http.server: Enable async during HTTP request handling (fixes #1487) | Kim Alvefur | 2020-07-12 | 1 | -28/+23 | |
| | | ||||||
* | | net.unbound: Fix to initialize under prosodyctl | Kim Alvefur | 2021-01-21 | 1 | -0/+1 | |
| | | | | | | | | | | Lazy initialization only worked for async queries, but prosodyctl check dns uses sync queries. | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2021-01-12 | 1 | -0/+5 | |
|\| | ||||||
| * | net.adns: Prevent empty packets from being sent on "connect" (fix #1619) | Kim Alvefur | 2021-01-12 | 1 | -0/+5 | |
| | | | | | | | | Thanks Ge0rG for testing | |||||
| * | net.server_epoll: Fix off-by-one in 2c559953ad41 | Kim Alvefur | 2021-01-10 | 1 | -1/+1 | |
| | | | | | | | | Thanks tmolitor | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2021-01-08 | 1 | -2/+18 | |
|\| | ||||||
| * | net.server_epoll: Ensure timers can't run more than once per tick | Kim Alvefur | 2021-01-08 | 1 | -2/+18 | |
| | | | | | | | | | | | | | | | | This makes sure that a timer that returns 0 (or less) does not prevent runtimers() from completing, as well as making sure a timer added with zero timeout from within a timer does not run until the next tick. Thanks tmolitor | |||||
* | | net.unbound: Delay loading until server has started or first query | Kim Alvefur | 2021-01-05 | 1 | -1/+4 | |
| | | | | | | | | | | Shouldn't need a DNS resolver until later anyways. Might even be sensible to only initialize if a query is actually attempted. | |||||
* | | net.unbound: Move libunbound initialization into a function | Kim Alvefur | 2021-01-05 | 1 | -4/+7 | |
| | | | | | | | | Prepare for lazy-loading it. | |||||
* | | net.unbound: Allow tracing individual queries with a logger per query | Kim Alvefur | 2021-01-05 | 1 | -6/+9 | |
| | | ||||||
* | | net.unbound: Don't pass error as logger formatting string | Kim Alvefur | 2021-01-05 | 1 | -1/+1 | |
| | | | | | | | | | | This could cause weirdness if the error contains formatting options, but should be reasonably safe with util.format | |||||
* | | net.unbound: Log net.server interactions | Kim Alvefur | 2021-01-05 | 1 | -0/+2 | |
| | | | | | | | | Noticed the potential need for this thanks to Ge0rG | |||||
* | | net.server_epoll: Increase log level for error in callback | Kim Alvefur | 2020-12-16 | 1 | -1/+1 | |
| | | | | | | | | It's an error, it should be logged at error level. | |||||
* | | net.http.errors: Add error class for DNS resolution failures (thanks SouL) | Matthew Wild | 2020-12-11 | 1 | -0/+4 | |
| | | ||||||
* | | net.http: track time of request for debug/stats purposes | Matthew Wild | 2020-12-09 | 1 | -0/+2 | |
| | | ||||||
* | | net.adns: Reduce 'Exhausted all servers' message to warning | Matthew Wild | 2020-12-08 | 1 | -1/+1 | |
| | | | | | | | | It happens often and generally doesn't require admin intervention. | |||||
* | | net.http: Add support for streaming chunked/large responses | Matthew Wild | 2020-10-21 | 1 | -0/+18 | |
| | | ||||||
* | | net.http.parser: Expose 'partial', 'chunked' and 'body_length' on packets | Matthew Wild | 2020-10-21 | 1 | -2/+15 | |
| | | ||||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-10-15 | 1 | -23/+7 | |
|\| | ||||||
| * | net.websocket.frames: Use C string XOR implementation | Kim Alvefur | 2020-10-14 | 1 | -23/+7 | |
| | | ||||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-10-13 | 1 | -1/+4 | |
|\| | ||||||
| * | net.http.server: Don't send Content-Length on 1xx/204 responses, per RFC ↵ | Matthew Wild | 2020-10-13 | 1 | -1/+4 | |
| | | | | | | | | (fixes #1596) | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-10-12 | 1 | -3/+3 | |
|\| | ||||||
| * | net.websocket.frames: Read buffer length correctly in Lua 5.1 (fix #1598) | Kim Alvefur | 2020-10-12 | 1 | -3/+3 | |
| | | | | | | | | | | | | | | COMPAT: The __len metamethod does not work with tables in Lua 5.1. Both strings and util.dbuffer now expose their length as a :len() method. | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-09-29 | 1 | -9/+13 | |
|\| | ||||||
| * | net.websocket.frames: Additionally return partial frame if there is one | Matthew Wild | 2020-09-29 | 1 | -1/+1 | |
| | | ||||||
| * | mod_websocket: Switch partial frame buffering to util.dbuffer | Matthew Wild | 2020-09-17 | 1 | -2/+2 | |
| | | | | | | | | | | This improves performance and enforces stanza size limits earlier in the pipeline. | |||||
| * | net.websocket.frames: Allow all methods to work on non-string objects | Matthew Wild | 2020-09-17 | 1 | -10/+15 | |
| | | | | | | | | | | | | | | | | Instead of using the string library, use methods from the passed object, which are assumed to be equivalent. This provides compatibility with objects from util.ringbuffer and util.dbuffer, for example. | |||||
* | | net.http.server: Default to HTTP result code 500 when promise is rejected | Matthew Wild | 2020-09-28 | 1 | -0/+1 | |
| | | ||||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-09-15 | 1 | -0/+3 | |
|\| | ||||||
| * | net.http: Add feature discovery (currently just contains SNI) | Matthew Wild | 2020-09-15 | 1 | -0/+3 | |
| | | ||||||
| * | net.server: Backport client parts of SNI support from trunk (#409) | Kim Alvefur | 2020-08-17 | 4 | -16/+42 | |
| | | | | | | | | | | | | | | | | | | | | Partial backports of the following commits from trunk: 6c804b6b2ca2 net.http: Pass server name along for SNI (fixes #1408) 75d2874502c3 net.server_select: SNI support (#409) 9a905888b96c net.server_event: Add SNI support (#409) adc0672b700e net.server_epoll: Add support for SNI (#409) d4390c427a66 net.server: Handle server name (SNI) as extra argument | |||||
* | | net.http: http.request() promise now resolves with response (breaking change) | Matthew Wild | 2020-08-25 | 1 | -1/+2 | |
| | | | | | | | | | | | | | | Promise mode is not (widely?) used, changing this now while we can, as it improves usability of the API. The request is now available as response.request, if needed. | |||||
* | | net.http: use new net.http.errors lib for creating error object | Matthew Wild | 2020-08-25 | 1 | -2/+2 | |
| | | ||||||
* | | net.server_select: Fix traceback (thanks eta) | Kim Alvefur | 2020-08-23 | 1 | -1/+1 | |
| | | | | | | | | | | | | 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. | |||||
* | | net.http.parser: Fix indentation | Kim Alvefur | 2020-08-20 | 1 | -2/+2 | |
| | | | | | | | | | | Probably due to a rebase/merge with a merge tool that ignores whitespace. Happens all the time to me :( | |||||
* | | net.http.errors: Add new module for converting net.http errors to util.error ↵ | Matthew Wild | 2020-08-13 | 1 | -0/+115 | |
| | | | | | | | | objects | |||||
* | | net.http.parser: Allow specifying sink for large request bodies | Kim Alvefur | 2020-08-01 | 1 | -4/+22 | |
| | | | | | | | | | | | | | | This enables uses such as saving uploaded files directly to a file on disk or streaming parsing of payloads. See #726 | |||||
* | | net.http.parser: Switch to util.dbuffer for buffering incoming data | Kim Alvefur | 2020-08-01 | 1 | -61/+49 | |
| | | | | | | | | | | | | 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. | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-08-08 | 1 | -0/+12 | |
|\| | ||||||
| * | net.http: Add request:cancel() method | Matthew Wild | 2020-08-08 | 1 | -0/+11 | |
| | | | | | | | | | | | | | | | | | | | | 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. | |||||
| * | net.http: Re-expose destroy_request() function | Matthew Wild | 2020-08-08 | 1 | -0/+1 | |
| | | | | | | | | | | This was accidentally turned private in 647adfd8f738 as part of refactoring for Lua 5.2+. | |||||
* | | net.server_epoll: Log debug message when a connection errors on read | Kim Alvefur | 2020-07-25 | 1 | -0/+5 | |
| | | | | | | | | | | | | It's confusingly quiet otherwise, even with maximum verboseness. Thanks perflyst |