aboutsummaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | Merge 0.11->trunkKim Alvefur2018-12-091-1/+2
| |\ \ \ \ \ \ \ \
| * | | | | | | | | util.format: Serialize values for the %q formatKim Alvefur2018-10-121-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improves eg debug logs
| * | | | | | | | | lint: Remove use of the 143 error codeKim Alvefur2018-12-083-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Does not appear to be invoked by anything
| * | | | | | | | | util.iterators: Use pack from table.packKim Alvefur2018-12-081-3/+3
| | | | | | | | | |
| * | | | | | | | | util.format: Use pack from util.tableKim Alvefur2018-12-081-2/+3
| | | | | | | | | |
| * | | | | | | | | Merge 0.11->trunkKim Alvefur2018-12-021-27/+17
| |\ \ \ \ \ \ \ \ \
| * | | | | | | | | | util.format: Tweak how nil values are handledKim Alvefur2018-11-281-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because [<nil>] seems exsessive
* | | | | | | | | | | util.serialization: Cache default serialization instance (fixes #1389)Kim Alvefur2019-07-081-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 Alvefur2019-05-301-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 conditionKim Alvefur2019-05-211-1/+5
| | | | | | | | |
* | | | | | | | | util.random: Coerce error to string (thanks waqas)Kim Alvefur2019-05-181-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 Alvefur2019-05-181-1/+5
| |_|_|_|_|_|_|/ |/| | | | | | |
* | | | | | | | util.ip: Add missing netmask for 192.168/16 range (fixes #1343)Kim Alvefur2019-04-141-1/+1
| |_|_|_|_|_|/ |/| | | | | |
* | | | | | | util.pubsub: Validate node configuration on node creation (fixes #1328)Kim Alvefur2019-03-031-1/+10
| |_|_|_|_|/ |/| | | | |
* | | | | | util.pubsub: Add support for requesting multiple specific items (needed for ↵Kim Alvefur2019-01-281-8/+13
| |_|_|_|/ |/| | | | | | | | | | | | | | #1305)
* | | | | util.startup: Always reload logging after config (fixes #1284)Kim Alvefur2019-01-061-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 Alvefur2018-12-291-0/+14
| |_|/ |/| |
* | | util.datetime: Make sure timezone difference is calculated correctly (fixes ↵Kim Alvefur2018-12-091-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 Alvefur2018-12-011-27/+17
|/
* util.stanza: Validate input to clone() (with brief tests)Kim Alvefur2018-11-171-2/+9
|
* util.sql: Switch from hacky multi-arg xpcall implementation to util.xpcallKim Alvefur2018-11-111-5/+4
|
* util.sslconfig: Recognise TLS 1.3 as a protocol versionKim Alvefur2018-10-281-1/+1
| | | | This enables it to understand protocol = "tlsv1_3+"
* util.serialization: Encode non-fatal error in way that can be restoredKim Alvefur2018-10-271-1/+1
| | | | It could previously encode to eg `{ [nil] = ... }` which doesn't get decoded
* util.serialization: Rename non-fatal fallback handler for clarityKim Alvefur2018-10-271-3/+3
|
* util.serialization: Disable use of unquoted table keys by defaultKim Alvefur2018-10-271-1/+3
| | | | For safety against future new keywords
* util.serialization: Add option for allowing multiple references to the same ↵Kim Alvefur2018-10-271-0/+10
| | | | table (but not cycles)
* util.serialization: Separate errors for multiple table references and max depthKim Alvefur2018-10-271-2/+5
|
* util.serialization: Make maximum table depth configurableKim Alvefur2018-10-271-1/+2
|
* Many things: switch from hacky multi-arg xpcall implementations to a ↵Matthew Wild2018-10-263-13/+12
| | | | standard util.xpcall
* util.xpcall, util.compat: Add non-hacky multi-argument xpcall() for Lua 5.1Matthew Wild2018-10-261-0/+9
|
* util.dependencies: Remove ztact compatability warningMatthew Wild2018-10-261-13/+0
|
* util.promise: Switch from pcall to xpcall to get tracebacks on exceptionsMatthew Wild2018-10-261-1/+1
|
* util.promise: Remove the non-standard ability to pass a promise to reject()Matthew Wild2018-10-261-3/+1
|
* util.promise: Fix missing parametersMatthew Wild2018-10-251-2/+2
|
* util.promise: Ensure chained promises always receive a value/rejection even ↵Matthew Wild2018-10-251-22/+23
| | | | if an intermediate promise has no handlers
* util.promise: Export is_promise()Matthew Wild2018-10-251-0/+1
|
* util.promise: Remove debug print and assertMatthew Wild2018-10-251-1/+0
|
* util.pubsub: Clarify comment about return valueKim Alvefur2018-10-211-1/+1
|
* util.array: Add __div for parity with util.setMatthew Wild2018-10-211-0/+19
|
* util.array: Break long lineMatthew Wild2018-10-191-1/+5
|
* util.promise: Add promise.try()Matthew Wild2018-10-181-0/+6
|
* util.pubsub: Allow publishing with a config that should be used as defaults onlyMatthew Wild2018-10-181-4/+7
|
* util.promise: Add a string representationKim Alvefur2018-10-181-0/+4
|
* util.promise: Add promise:finally()Matthew Wild2018-10-181-0/+6
|
* util.promise: Some code relocationMatthew Wild2018-10-181-23/+23
|
* util.promise: Also support automatic resolution by returning a promise from ↵Matthew Wild2018-10-181-1/+3
| | | | | | | an on_reject handler Originally unimplemented because it wasn't clear to me what the correct behaviour was, but the A+ spec is clear that both onFulfilled and onRejected may return a promise.
* util.promise: Fix promise.reject() to return a rejected promise, and fix ↵Matthew Wild2018-10-181-1/+1
| | | | buggy test for it
* mod_http: Move normalize_path to util.httpKim Alvefur2018-10-141-0/+11
|
* util.dependencies: Add compat code for normalization of socket constructorsKim Alvefur2018-10-121-0/+4
| | | | | | Old LuaSocket had only tcp() which was IPv4-only. LuaSocket ~3.0 adds a tcp6() that creates a IPv6 socket. Some version moves tcp() to tcp4() and adds an IP-version-agnostic tcp() constructor.
* util.stanza: Set preserialize as freeze metamethodKim Alvefur2018-10-121-0/+2
|