Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | tools.modtrace: Library for tracing/debugging Lua module and method calls | Matthew Wild | 2020-10-30 | 1 | -0/+152 |
| | |||||
* | tools/form2table: Convert XEP-0004 dataform from XML to util.dataforms Lua ↵ | Kim Alvefur | 2020-10-28 | 1 | -0/+48 |
| | | | | | | format Used this to generate code for a number of PubSub forms IIRC | ||||
* | tools/linedebug: Print each line of source executed | Kim Alvefur | 2020-10-28 | 1 | -0/+18 |
| | | | | | The extremely verbose debug output. Nice for getting some idea which code runs most often, or where it pauses for no reason etc. | ||||
* | tools/cfgdump: Reads Prosody config file and pretty-prints it back out | Kim Alvefur | 2020-10-28 | 1 | -0/+120 |
| | | | | | | | | | Useful for comparing what you think you have in your config with what Prosody sees, e.g. wrt (lack of) significance of indentation, order of options vs scope etc. (global options do not go at the end!) Could probably be turned into a prosodyctl command, especially if it learns to redact secrets and passwords. | ||||
* | tools/tb2err: Formats Lua traceback in errors.err format | Kim Alvefur | 2020-10-28 | 1 | -0/+21 |
| | | | | | | | | | | | | Manually opening to the files and line numbers from a Lua traceback is tedious. This tool converts tracebacks into a format that many compilers and such tools use, which is also compatible with Vim (and possibly other editors). Thus if someone sends you a pastebin link with a traceback, a command like the following gets you right to the relevant lines: curl paste.example/abc123.txt | tb2err > errors.err; vim -q | ||||
* | Merge 0.11->trunk | Matthew Wild | 2020-10-28 | 1 | -4/+26 |
|\ | |||||
| * | util.dbuffer: Optimize :sub() and :byte() | Matthew Wild | 2020-10-28 | 1 | -4/+26 |
| | | |||||
* | | mod_pubsub: Comment on itemstore type | Kim Alvefur | 2020-10-25 | 1 | -1/+1 |
| | | |||||
* | | mod_pubsub: Clarify kind of item store created | Kim Alvefur | 2020-10-25 | 1 | -1/+1 |
| | | | | | | | | | | Planning to make this configurable, so good to distinguish it from future backends. | ||||
* | | mod_pubsub: Don't set store as metatable | Kim Alvefur | 2020-10-25 | 1 | -1/+1 |
| | | | | | | | | | | 'archive' is not a metatable here, so this has no effect. Remove since apparently nothing depends on this. | ||||
* | | 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 |
| | | |||||
* | | 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. | ||||
* | | util_paths_spec: Trim trailing white space | Kim Alvefur | 2020-10-17 | 1 | -1/+1 |
| | | | | | | | | And add spacing between describe() blocks | ||||
* | | util.paths: Add some tests | Kim Alvefur | 2020-10-17 | 1 | -0/+39 |
| | | |||||
* | | MUC: Remove XEP-0091: Legacy Delayed Delivery | Kim Alvefur | 2020-10-17 | 2 | -3/+4 |
| | | | | | | | | | | | | | | Why do we still include this? Deprecated in 2007, obsoleted in 2009. Removes redundant timestamp that nobody should be looking at since many years and a redundant copy of the room JID. | ||||
* | | mod_posix: Hook and fire events on SIGUSR1/2 | Matthew Wild | 2020-10-16 | 1 | -0/+15 |
| | | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-10-16 | 2 | -1/+94 |
|\| | |||||
| * | util.debug: Fix locals being reported under wrong stack frame in some cases ↵ | Matthew Wild | 2020-10-16 | 2 | -1/+94 |
| | | | | | | | | (+tests!!) | ||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-10-15 | 1 | -0/+4 |
|\| | |||||
| * | Back out changeset 2c1583bb0e0f | Kim Alvefur | 2020-10-15 | 1 | -0/+4 |
| | | | | | | | | Same reason as 712b2e6a09d9 | ||||
* | | util.sasl.scram: Use util.strbitop for XOR step | Kim Alvefur | 2019-09-07 | 1 | -29/+1 |
| | | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-10-15 | 1 | -17/+6 |
|\| | |||||
| * | Back out 6dde2c9fa272: Doesn't work on Lua 5.1 | Kim Alvefur | 2020-10-15 | 1 | -13/+6 |
| | | |||||
| * | util.strbitop: Remove redundant init function | Kim Alvefur | 2020-10-15 | 1 | -4/+0 |
| | | | | | | | | | | When you have 3 almost identical functions, you tend to edit one and then copypaste. Forgot to remove this line from the other two. | ||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-10-15 | 2 | -15/+63 |
|\| | |||||
| * | util.strbitop: Create buffer in the correct size (optimization) | Kim Alvefur | 2020-10-15 | 1 | -6/+13 |
| | | | | | | | | | | This avoids dynamically growing the buffer as Lua does when luaL_addchar is used, thus saving on realloc calls. | ||||
| * | util.strbitop: Add tests covering basics | Kim Alvefur | 2020-10-15 | 1 | -0/+41 |
| | | | | | | | | Also as docs | ||||
| * | util.strbitop: Reformat code | Kim Alvefur | 2020-10-15 | 1 | -9/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | astyle \ --indent=tab \ --attach-classes \ --indent-switches \ --break-blocks \ --pad-oper \ --unpad-paren \ --add-braces \ --align-pointer=name \ --lineend=linux \ *.c | ||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-10-15 | 5 | -29/+114 |
|\| | |||||
| * | net.websocket.frames: Add test for empty frame with MASK and key set | Matthew Wild | 2020-10-15 | 1 | -0/+10 |
| | | |||||
| * | net.websocket.frames: Use C string XOR implementation | Kim Alvefur | 2020-10-14 | 2 | -24/+8 |
| | | |||||
| * | util.strbitop: Library for bitwise operations on strings | Kim Alvefur | 2019-09-07 | 3 | -2/+93 |
| | | |||||
| * | net.websocket.frames: Add small test covering xor-masking | Kim Alvefur | 2020-10-14 | 1 | -0/+13 |
| | | | | | | | | This is basically a recording of current behavior, to detect changes. | ||||
* | | util.error: Pass through existing error objects passed to new() | Matthew Wild | 2020-10-15 | 1 | -0/+1 |
| | | |||||
* | | 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 | 3 | -3/+5 |
|\| | |||||
| * | 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. | ||||
| * | util.dbuffer: Expose length as :len() method, like strings | Kim Alvefur | 2020-10-12 | 2 | -0/+2 |
| | | | | | | | | Ref #1598 | ||||
* | | mod_http_errors: Remove 'extra' element when empty | Kim Alvefur | 2020-10-12 | 1 | -1/+1 |
| | | |||||
* | | mod_http_errors: Dark theme! | Kim Alvefur | 2020-10-12 | 1 | -0/+7 |
| | | |||||
* | | mod_http_errors: Use a class on extra data section | Kim Alvefur | 2020-10-12 | 1 | -2/+2 |
| | | | | | | | | This CSS selector makes it awkward to add more items. | ||||
* | | util.startup: Handle missing nparams field from debug info (not present in 5.1) | Matthew Wild | 2020-10-11 | 1 | -2/+3 |
| | | |||||
* | | core.modulemanager: Fix error if installer path missing | Kim Alvefur | 2020-10-11 | 1 | -1/+1 |
| | | | | | | | | | | Happens if run outside prosody. Noticed because because the storage tests fail. | ||||
* | | 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. | ||||
* | | core.moduleapi: Return resource path from module:get_directory() (API BC) | Kim Alvefur | 2020-10-09 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :get_directory has so far returned the base directory of the current module source code. This has worked well so far to load resources which tend to be included in the same directory, but with the plugin installer using LuaRocks, extra resources (e.g. templates and other assets) these are saved in a completely different directory. In be73df6765b9 core.modulemanager gained some code for finding that directory and saving it in module.resource_path but now the question is how this should be reflected in the API. A survey of community modules suggest the vast majority use the :get_directory method for locating templates and other assets, rather than the code (which would use module:require instead). Therefore this commit changes :get_directory to return the resource_path when available. This should work for most modules. | ||||
* | | core.modulemanager: Add compat for LuaRocks 2.x | Kim Alvefur | 2020-10-07 | 1 | -0/+7 |
| | | |||||
* | | core.moduleapi: Use resource path for :load_resource() | Kim Alvefur | 2020-10-07 | 1 | -1/+1 |
| | |