Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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: 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.startup: Remove duplicated initialization of logging (fix #1527) | Kim Alvefur | 2020-06-22 | 1 | -1/+0 |
| | |||||
* | util.sasl.plain: Apply saslprep to stored password | Kim Alvefur | 2020-05-22 | 1 | -1/+1 |
| | | | | | | Fixes something like #1560 here too. The password sent by the user already had saslprep applied. | ||||
* | util.sasl.scram: Apply saslprep before hashing password, fixes #1560 | Kim Alvefur | 2020-05-22 | 1 | -0/+4 |
| | |||||
* | util.prosodyctl: Tell prosody do daemonize via command line flag (fixes #1514) | Kim Alvefur | 2020-01-26 | 1 | -2/+2 |
| | | | | Backport of 88be11e9f9b9 | ||||
* | util.datamanager: Fix iterating over "users" (thanks marc0s) | Kim Alvefur | 2020-02-24 | 1 | -1/+1 |
| | | | | | | | | | The 'store' path componend used to be unescaped until 756a2a00e7e7 added escaping to address issues with characters like '/' used in PEP, but with a special case for '_' which was already in common use in 'store' path components. Missed adding this escaping here. | ||||
* | util.startup: Ensure prosody.opts exists even when no options provided0.11.5 | Matthew Wild | 2020-01-19 | 1 | -1/+1 |
| | |||||
* | util.startup: Remove accidentally-committed debugging | Matthew Wild | 2020-01-19 | 1 | -1/+0 |
| | |||||
* | util.startup: Fix logic to make --config work again | Matthew Wild | 2020-01-19 | 1 | -37/+39 |
| | |||||
* | prosody/util.startup: Switch to parse_args() for --root and --config | Matthew Wild | 2020-01-19 | 1 | -6/+6 |
| | |||||
* | util.startup: Add startup step for parsing command-line options | Matthew Wild | 2020-01-19 | 1 | -0/+54 |
| | |||||
* | util.pubsub: Pass subscribers trough a filter callback | Kim Alvefur | 2019-06-06 | 1 | -0/+2 |
| | |||||
* | util.pubsub: Factor out calling of broadcaster | Kim Alvefur | 2019-06-06 | 1 | -4/+8 |
| | | | | This will simplify doing things along with broadcasting. | ||||
* | util.startup: Ensure prosody.paths are absolute (see #1430) | Kim Alvefur | 2019-11-04 | 1 | -1/+7 |
| | | | | | | | | Normally these paths are injected into the installed 'prosody' executable as absolute paths, but it is possible to override at least the config path via environment variable or command line argument. This makes sure a path relative to pwd stays relative to that instead of the data directory. | ||||
* | util.startup: Update config path (fixes #1430) | Kim Alvefur | 2019-11-03 | 1 | -1/+2 |
| | |||||
* | util.interpolation: Support unescaped variables with more modifiers (fixes ↵ | Kim Alvefur | 2019-10-20 | 1 | -3/+3 |
| | | | | | | #1452) Tests will be added in trunk. | ||||
* | util.serialization: Cache default serialization instance (fixes #1389) | Kim Alvefur | 2019-07-08 | 1 | -1/+6 |
| | | | | | | Most serialization uses still use the default serialize() and thus duplicate much of the setup, which negates some of the performance improvements of the rewrite. | ||||
* | util.sql: Ignore if tables and indices already exist on creation (fixes #1064) | Kim Alvefur | 2019-05-30 | 1 | -0/+6 |
| | | | | | | Tested with SQLite3 3.16.2 and 3.27.2 and Postgres 11. MySQL does not support IF NOT EXISTS for indices so not handled here. | ||||
* | util.random: Throw different error for EOL condition | Kim Alvefur | 2019-05-21 | 1 | -1/+5 |
| | |||||
* | util.random: Coerce error to string (thanks waqas) | Kim Alvefur | 2019-05-18 | 1 | -1/+1 |
| | | | | | In theory this could happen in an EOF condition, which should be impossible with a read from /dev/urandom. | ||||
* | util.random: Handle unlikely read errors from /dev/urandom (see #1313) | Kim Alvefur | 2019-05-18 | 1 | -1/+5 |
| | |||||
* | util.ip: Add missing netmask for 192.168/16 range (fixes #1343) | Kim Alvefur | 2019-04-14 | 1 | -1/+1 |
| | |||||
* | util.pubsub: Validate node configuration on node creation (fixes #1328) | Kim Alvefur | 2019-03-03 | 1 | -1/+10 |
| | |||||
* | util.pubsub: Add support for requesting multiple specific items (needed for ↵ | Kim Alvefur | 2019-01-28 | 1 | -8/+13 |
| | | | | #1305) | ||||
* | util.startup: Always reload logging after config (fixes #1284) | Kim Alvefur | 2019-01-06 | 1 | -0/+3 |
| | | | | | This chancged in 6e24a69b03af likely because of confusion about the `reopen-log-files` event which was fired but never hooked. | ||||
* | util.pubsub: Restore subscription index from stored data (fixes #1281) | Kim Alvefur | 2018-12-29 | 1 | -0/+14 |
| | |||||
* | util.datetime: Make sure timezone difference is calculated correctly (fixes ↵ | Kim Alvefur | 2018-12-09 | 1 | -1/+2 |
| | | | | | | | #1262) If the two os.date() calls happen at either side of a second ticking over there would be a one second error in the calculation. | ||||
* | util.stanza: Deserialize stanza without mutating input (fixes #711) | Kim Alvefur | 2018-12-01 | 1 | -27/+17 |
| | |||||
* | util.stanza: Validate input to clone() (with brief tests) | Kim Alvefur | 2018-11-17 | 1 | -2/+9 |
| | |||||
* | util.sql: Switch from hacky multi-arg xpcall implementation to util.xpcall | Kim Alvefur | 2018-11-11 | 1 | -5/+4 |
| | |||||
* | util.sslconfig: Recognise TLS 1.3 as a protocol version | Kim Alvefur | 2018-10-28 | 1 | -1/+1 |
| | | | | This enables it to understand protocol = "tlsv1_3+" | ||||
* | util.serialization: Encode non-fatal error in way that can be restored | Kim Alvefur | 2018-10-27 | 1 | -1/+1 |
| | | | | It could previously encode to eg `{ [nil] = ... }` which doesn't get decoded | ||||
* | util.serialization: Rename non-fatal fallback handler for clarity | Kim Alvefur | 2018-10-27 | 1 | -3/+3 |
| | |||||
* | util.serialization: Disable use of unquoted table keys by default | Kim Alvefur | 2018-10-27 | 1 | -1/+3 |
| | | | | For safety against future new keywords | ||||
* | util.serialization: Add option for allowing multiple references to the same ↵ | Kim Alvefur | 2018-10-27 | 1 | -0/+10 |
| | | | | table (but not cycles) | ||||
* | util.serialization: Separate errors for multiple table references and max depth | Kim Alvefur | 2018-10-27 | 1 | -2/+5 |
| | |||||
* | util.serialization: Make maximum table depth configurable | Kim Alvefur | 2018-10-27 | 1 | -1/+2 |
| | |||||
* | Many things: switch from hacky multi-arg xpcall implementations to a ↵ | Matthew Wild | 2018-10-26 | 3 | -13/+12 |
| | | | | standard util.xpcall | ||||
* | util.xpcall, util.compat: Add non-hacky multi-argument xpcall() for Lua 5.1 | Matthew Wild | 2018-10-26 | 1 | -0/+9 |
| | |||||
* | util.dependencies: Remove ztact compatability warning | Matthew Wild | 2018-10-26 | 1 | -13/+0 |
| | |||||
* | util.promise: Switch from pcall to xpcall to get tracebacks on exceptions | Matthew Wild | 2018-10-26 | 1 | -1/+1 |
| | |||||
* | util.promise: Remove the non-standard ability to pass a promise to reject() | Matthew Wild | 2018-10-26 | 1 | -3/+1 |
| | |||||
* | util.promise: Fix missing parameters | Matthew Wild | 2018-10-25 | 1 | -2/+2 |
| | |||||
* | util.promise: Ensure chained promises always receive a value/rejection even ↵ | Matthew Wild | 2018-10-25 | 1 | -22/+23 |
| | | | | if an intermediate promise has no handlers | ||||
* | util.promise: Export is_promise() | Matthew Wild | 2018-10-25 | 1 | -0/+1 |
| | |||||
* | util.promise: Remove debug print and assert | Matthew Wild | 2018-10-25 | 1 | -1/+0 |
| |