aboutsummaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | | | 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
|
* util.set: Add freeze metamethodKim Alvefur2018-10-121-0/+8
|
* util.array: Add freeze metamethodKim Alvefur2018-10-121-0/+2
|
* util.serialization: Remove encoding of very large or very small numbers in ↵Kim Alvefur2018-10-121-12/+1
| | | | | | | | scientific notation Also difficult to describe this option, easier to remove it. %.18g covers a very large range of numbers
* util.serialization: Simpler metatable pre-processingKim Alvefur2018-10-121-14/+12
| | | | It was too difficult to describe what it did.
* util.serialization: Use '=' prefix for chunk source descriptionKim Alvefur2018-10-111-1/+1
| | | | Like in bd5e4485a245
* util.serialization: Make check of prefix for optional hex encoding stricterKim Alvefur2018-10-111-1/+1
|
* util.serialization: Make errors fatal by default (like the previous ↵Kim Alvefur2018-10-111-1/+1
| | | | implementation)