Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge 0.11->trunk | Matthew Wild | 2020-09-29 | 2 | -85/+119 |
|\ | |||||
| * | mod_websocket: Refactor frame validity checking, also check ↵ | Matthew Wild | 2020-09-29 | 1 | -77/+95 |
| | | | | | | | | partially-received frames against constraints | ||||
| * | net.websocket.frames: Additionally return partial frame if there is one | Matthew Wild | 2020-09-29 | 1 | -1/+1 |
| | | |||||
| * | mod_websocket: Continue to process data already in the buffer after an error ↵ | Matthew Wild | 2020-09-28 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | occurs Previously any error, or even a normal websocket close frame, would return early, leaving potentially entire frames in the buffer unprocessed and then discarded. This change stops processing new data, but returns an existing processed data up to the point of the error/close. | ||||
| * | mod_websocket: Enforce stanza size limit and close stream | Matthew Wild | 2020-09-17 | 1 | -0/+4 |
| | | |||||
| * | mod_websocket: Add separate limit for frame buffer size | Matthew Wild | 2020-09-17 | 1 | -2/+2 |
| | | |||||
| * | mod_websocket: handle full frame buffer and raise stream error | Matthew Wild | 2020-09-17 | 1 | -1/+5 |
| | | |||||
| * | mod_websocket: Switch partial frame buffering to util.dbuffer | Matthew Wild | 2020-09-17 | 2 | -5/+10 |
| | | | | | | | | | | 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. | ||||
| * | util.dbuffer: Simplify test case | Kim Alvefur | 2020-08-24 | 1 | -0/+130 |
| | | | | | | | | | | | | | | | | | | An earlier theory involved the bug being related to collapsing multiple items, so it exercised that too. Also correct the comment, it referred to the space in "hello world" in an earlier version before the test string was changed to "foobar", which was what was tested in a REPL | ||||
| * | util.dbuffer: Fix :sub() not working with partially-consumed chunks (thanks ↵ | Matthew Wild | 2020-08-24 | 1 | -0/+176 |
| | | | | | | | | | | | | Zash for test case) This also appears to fix some bugs with chunk-encoded streams in net.http.parser. | ||||
| * | util.dbuffer: dynamic string buffer | Matthew Wild | 2020-06-26 | 1 | -0/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to util.ringbuffer (and shares almost identical API). Differences: - size limit is optional and dynamic - does not allocate a fixed buffer of max_size bytes - focus on simply storing references to existing string objects where possible, avoiding unnecessary allocations - references are still stored in a ring buffer to enable use as a fast FIFO Optional second parameter to new() provides the number of ring buffer segments. On Lua 5.2 on my laptop, a segment is ~19 bytes. If the ring buffer fills up, the next write will compact all strings into a single item. | ||||
* | | util.error: Drop registry initialization with namespace as key | Kim Alvefur | 2020-09-28 | 2 | -15/+4 |
| | | | | | | | | Enough complexity with compact vs normal and with/without namespace | ||||
* | | util.error: Expand compact registries into normal form internally | Kim Alvefur | 2020-09-28 | 2 | -8/+66 |
| | | | | | | | | Also the exposed form on the table returned from init() | ||||
* | | util.error: Add a "compact mode" for registries | Kim Alvefur | 2020-09-28 | 2 | -4/+28 |
| | | | | | | | | Inspired by the older registry in pubsub.lib.lua | ||||
* | | CHANGES: Add util.error | Kim Alvefur | 2020-09-28 | 1 | -0/+1 |
| | | |||||
* | | util.error: Expose source and registry as fields on the registry object | Kim Alvefur | 2020-09-28 | 1 | -0/+2 |
| | | | | | | | | For access, e.g. to identify and compare errors later | ||||
* | | util.error: Cover registry initialization in test | Kim Alvefur | 2020-09-28 | 1 | -0/+20 |
| | | |||||
* | | net.http.server: Default to HTTP result code 500 when promise is rejected | Matthew Wild | 2020-09-28 | 1 | -0/+1 |
| | | |||||
* | | util.error: Turns out <gone> wasn't alone, there's also <redirect> | Kim Alvefur | 2020-09-28 | 1 | -2/+7 |
| | | |||||
* | | util.error: Pass converted stanza errors throguh new() | Kim Alvefur | 2020-09-27 | 1 | -6/+3 |
| | | | | | | | | In order to benefit from common processing | ||||
* | | util.serialization: Let freeze metamethod return a literal string | Kim Alvefur | 2020-09-26 | 1 | -0/+4 |
| | | | | | | | | | | Enables custom serialization, such as creating a datatype that serializes into a variable reference. | ||||
* | | util.error: Collect Application-Specific Conditions from stanza errors | Kim Alvefur | 2020-09-26 | 2 | -3/+5 |
| | | |||||
* | | util.error: Add special case handling of <gone> with an URI | Kim Alvefur | 2020-09-26 | 1 | -0/+3 |
| | | |||||
* | | util.error: Default error originator to stanza sender | Kim Alvefur | 2020-09-26 | 1 | -1/+2 |
| | | | | | | | | | | The @by attribute is primarily useful for errors caused by intermediate entities. | ||||
* | | util.error: Extract error originator from stanza errors | Kim Alvefur | 2020-09-26 | 2 | -2/+8 |
| | | |||||
* | | util.stanza: Extract Application-Specific Condition from errors | Kim Alvefur | 2020-09-26 | 2 | -6/+21 |
| | | | | | | | | API change | ||||
* | | spec.stanza spec: Split up util.error related tests | Kim Alvefur | 2020-09-26 | 1 | -0/+8 |
| | | |||||
* | | util.stanza: Support Application-Specific Conditions in util.error | Kim Alvefur | 2020-09-26 | 2 | -1/+18 |
| | | |||||
* | | util.stanza: Get 'by' from context instead | Kim Alvefur | 2020-09-26 | 2 | -2/+2 |
| | | | | | | | | | | | | | | Zash> <error by=?> should go where? extra.by? context? source? Zash> In Prosody this would usually be module.host or a bare user/room JID MattJ> Zash: context MattJ> context.by, basically the opposite of context.actor | ||||
* | | util.stanza: Support inclusion of <gone> URI from util.error object | Kim Alvefur | 2020-09-26 | 2 | -2/+13 |
| | | |||||
* | | util.stanza: Support getting 'by' from util.error object | Kim Alvefur | 2020-09-26 | 2 | -1/+5 |
| | | |||||
* | | util.stanza: Reorder code to prepare for extracting 'by' from util.error | Kim Alvefur | 2020-09-26 | 1 | -3/+3 |
| | | |||||
* | | util.error: Add well-known field 'extra' | Kim Alvefur | 2020-09-26 | 2 | -0/+10 |
| | | | | | | | | | | A place for various extra fields and edge cases of the stanza error data model, e.g. the URI field of <gone> | ||||
* | | util.error: Simplify error creation flow | Matthew Wild | 2020-09-25 | 1 | -1/+13 |
| | | |||||
* | | util.error: Switch coerce() to use new() and change 'native' to context ↵ | Matthew Wild | 2020-09-25 | 1 | -5/+3 |
| | | | | | | | | field 'wrapped_error' | ||||
* | | util.error: Have init() return an object to allow API extensibility via ↵ | Matthew Wild | 2020-09-25 | 1 | -3/+5 |
| | | | | | | | | additional methods | ||||
* | | util.error: Minor tweaks to error creation code to prepare for future changes | Matthew Wild | 2020-09-25 | 1 | -2/+5 |
| | | |||||
* | | util.error: Simplify error creation - remove ability to set context from ↵ | Matthew Wild | 2020-09-25 | 1 | -1/+1 |
| | | | | | | | | templates, and remove default context | ||||
* | | util.error: Add unique 'instance_id' to error objects | Matthew Wild | 2020-09-25 | 1 | -0/+2 |
| | | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-09-19 | 0 | -0/+0 |
|\| | |||||
| * | util.startup: Configure the GC on startup, using the config or built-in defaults | Matthew Wild | 2020-06-15 | 1 | -0/+17 |
| | | |||||
| * | util.gc: Linter fixes [luacheck] | Matthew Wild | 2020-06-15 | 1 | -2/+1 |
| | | |||||
| * | util.gc: New module for configuring the Lua garbage collector | Matthew Wild | 2020-06-15 | 1 | -0/+50 |
| | | |||||
* | | util.dataforms: Add support for validating (integer) ranges | Kim Alvefur | 2019-11-21 | 2 | -1/+22 |
| | | |||||
* | | doap: Add XEP-0307 | Kim Alvefur | 2020-09-16 | 1 | -0/+9 |
| | | | | | | | | | | Support first added in 2919f3b985fc and later moved into its own module in 3a1c39b31497 | ||||
* | | 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 | ||||
| * | Added tag 0.11.6 for changeset bacca65ce107 | Matthew Wild | 2020-09-09 | 0 | -0/+0 |
| | |