Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | util.paths: Optimize path joining with few arguments | Kim Alvefur | 2020-10-11 | 1 | -2/+12 |
| | | | | | | | | | A casual search suggests that the majority of paths.join() calls involve only two arguments. This saves the creation of a table for up to 3 arguments. Looks like 3x faster for 3 arguments or less, 5% slower when it uses the array to concatenate. | ||||
* | Merge 0.11->trunk | Matthew Wild | 2020-10-16 | 1 | -1/+1 |
|\ | |||||
| * | util.debug: Fix locals being reported under wrong stack frame in some cases ↵ | Matthew Wild | 2020-10-16 | 1 | -1/+1 |
| | | | | | | | | (+tests!!) | ||||
* | | util.sasl.scram: Use util.strbitop for XOR step | Kim Alvefur | 2019-09-07 | 1 | -29/+1 |
| | | |||||
* | | util.error: Pass through existing error objects passed to new() | Matthew Wild | 2020-10-15 | 1 | -0/+1 |
| | | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-10-12 | 1 | -0/+1 |
|\| | |||||
| * | util.dbuffer: Expose length as :len() method, like strings | Kim Alvefur | 2020-10-12 | 1 | -0/+1 |
| | | | | | | | | Ref #1598 | ||||
| * | util.dependencies: Check for bitop library same way as net.websocket.frames ↵ | Kim Alvefur | 2020-10-05 | 1 | -1/+1 |
| | | | | | | | | (fixes #1594) | ||||
| * | Merge | Matthew Wild | 2020-09-30 | 2 | -0/+183 |
| |\ | |||||
| | * | 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.startup: Handle missing nparams field from debug info (not present in 5.1) | Matthew Wild | 2020-10-11 | 1 | -2/+3 |
| | | | |||||
* | | | util.startup: Include arguments in function string representation | Kim Alvefur | 2020-10-09 | 1 | -2/+8 |
| | | | | | | | | | | | | | | | | | | | | | Improves usability of the console when digging around the internals. No specific rationale for the function<file:line>(args) format, it looked best of the variants I tried. | ||||
* | | | util.startup: Retrieve less data for function string representation | Kim Alvefur | 2020-10-09 | 1 | -1/+1 |
| | | | | | | | | | | | | debug.getinfo(f) collects more info than what is needed here. | ||||
* | | | util.startup: Save the path used by the installer to prosody.paths | Kim Alvefur | 2020-10-07 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | | | Makes it easier for other parts of the code to use this for things, such as determining whether a certain module is from this path or from elsewhere. | ||||
* | | | util.startup: Fix startup failure if CFG_DATADIR is unset | Kim Alvefur | 2020-10-05 | 1 | -1/+1 |
| | | | | | | | | | | | | As is normal when running from source | ||||
* | | | util.startup: Re-enable installer path setup | Kim Alvefur | 2020-10-05 | 1 | -2/+2 |
| | | | |||||
* | | | util.startup: Put 'installer_plugin_path' under data directory by default | Kim Alvefur | 2020-10-05 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | Fixes issue where it ends up creating this in $PWD, which might be ~prosody, ~you or /, depending on how it's invoked. | ||||
* | | | util.prosodyctl: Simplify luarocks invocation | Kim Alvefur | 2020-10-05 | 1 | -7/+3 |
| | | | |||||
* | | | util.prosodyctl: Move hardcoded luarocks server into prosodyctl | Kim Alvefur | 2020-10-05 | 1 | -2/+2 |
| | | | | | | | | | | | | To be replaced with config option in future commit | ||||
* | | | util.prosodyctl: Flip argument order | Kim Alvefur | 2020-10-05 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | "verb subject" feels better than "subject verb", especially since the subject (module) is optional. | ||||
* | | | util.prosodyctl: Construct luarocks command line with templates | Kim Alvefur | 2020-10-05 | 1 | -2/+7 |
| | | | | | | | | | | | | More flexible and safer wrt escaping | ||||
* | | | util.pluginloader: Look for module libs in mod_plugin/lib.lua | Kim Alvefur | 2020-10-05 | 1 | -0/+3 |
| | | | | | | | | | | | | | | | Luarocks can't be told to install something as foo.lib.lua AFAIK, so instead let's try mod_bar/foo.lua | ||||
* | | | util.pluginloader: Look for top level mod_something.lua in luarocks-style tree | Kim Alvefur | 2020-10-05 | 1 | -0/+1 |
| | | | |||||
* | | | util.pluginloader: Extract Lua version once | Kim Alvefur | 2020-10-05 | 1 | -1/+1 |
| | | | | | | | | | | | | It's not going to change while the module is loaded. | ||||
* | | | util.xml: Fix float formatting of line and columns in error (on Lua 5.3+) | Kim Alvefur | 2020-10-03 | 1 | -1/+1 |
| | | | |||||
* | | | Merge 0.11->trunk | Matthew Wild | 2020-09-30 | 1 | -1/+1 |
|\| | | |||||
| * | | util.indexedbheap: Fix heap datastructure corruption in ↵ | Waqas Hussain | 2020-09-29 | 1 | -1/+1 |
| |/ | | | | | | | :reschedule(smaller_value) | ||||
| * | 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.error: Drop registry initialization with namespace as key | Kim Alvefur | 2020-09-28 | 1 | -4/+0 |
| | | | | | | | | Enough complexity with compact vs normal and with/without namespace | ||||
* | | util.error: Expand compact registries into normal form internally | Kim Alvefur | 2020-09-28 | 1 | -8/+34 |
| | | | | | | | | Also the exposed form on the table returned from init() | ||||
* | | util.error: Add a "compact mode" for registries | Kim Alvefur | 2020-09-28 | 1 | -4/+7 |
| | | | | | | | | Inspired by the older registry in pubsub.lib.lua | ||||
* | | 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: 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 | 1 | -2/+3 |
| | | |||||
* | | 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 | 1 | -1/+6 |
| | | |||||
* | | util.stanza: Extract Application-Specific Condition from errors | Kim Alvefur | 2020-09-26 | 1 | -6/+8 |
| | | | | | | | | API change | ||||
* | | util.stanza: Support Application-Specific Conditions in util.error | Kim Alvefur | 2020-09-26 | 1 | -0/+5 |
| | | |||||
* | | util.stanza: Get 'by' from context instead | Kim Alvefur | 2020-09-26 | 1 | -1/+1 |
| | | | | | | | | | | | | | | 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 | 1 | -2/+8 |
| | | |||||
* | | util.stanza: Support getting 'by' from util.error object | Kim Alvefur | 2020-09-26 | 1 | -0/+3 |
| | | |||||
* | | 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 | 1 | -0/+2 |
| | | | | | | | | | | 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 |
| | |