aboutsummaryrefslogtreecommitdiffstats
path: root/util-src
Commit message (Collapse)AuthorAgeFilesLines
* util.pposix: Bind isatty(3)Kim Alvefur2021-07-041-0/+9
| | | | | Useful for disabling certain behavior, ANSI colors etc when not connected to a terminal.
* util.hashes: Expose OpenSSL versionKim Alvefur2021-05-121-0/+4
|
* Merge 0.11->trunkMatthew Wild2021-05-131-0/+14
|\
| * util.hashes: Add constant-time string comparison (binding to CRYPTO_memcmp)Matthew Wild2021-05-101-0/+14
| |
* | Merge 0.11->trunkKim Alvefur2020-10-151-0/+4
|\|
| * Back out changeset 2c1583bb0e0fKim Alvefur2020-10-151-0/+4
| | | | | | | | Same reason as 712b2e6a09d9
* | Merge 0.11->trunkKim Alvefur2020-10-151-17/+6
|\|
| * Back out 6dde2c9fa272: Doesn't work on Lua 5.1Kim Alvefur2020-10-151-13/+6
| |
| * util.strbitop: Remove redundant init functionKim Alvefur2020-10-151-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->trunkKim Alvefur2020-10-151-15/+22
|\|
| * util.strbitop: Create buffer in the correct size (optimization)Kim Alvefur2020-10-151-6/+13
| | | | | | | | | | This avoids dynamically growing the buffer as Lua does when luaL_addchar is used, thus saving on realloc calls.
| * util.strbitop: Reformat codeKim Alvefur2020-10-151-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->trunkMatthew Wild2020-10-153-2/+93
|\|
| * util.strbitop: Library for bitwise operations on stringsKim Alvefur2019-09-073-2/+93
| |
* | configure: Pass compiler flag to enable ICU only when building util.encodingsKim Alvefur2020-07-122-0/+3
| | | | | | | | Passing it in CFLAGS applied to all modules, which was not needed.
* | util.ringbuffer: Ensure unsigned chars are always returned from :byte()Matthew Wild2020-06-241-3/+3
| |
* | util-src: Use the luaL_pushfail API added in Lua 5.4 to highlight all ↵Kim Alvefur2020-06-076-49/+70
| | | | | | | | | | | | | | failure conditions Actually just an alias of pushnil, but it does make it more obvious where the failure conditions are, which is good for readability.
* | util.ringbuffer: Add :sub() and :byte() methods equivalent to the string methodsMatthew Wild2020-06-041-1/+102
| |
* | util.ringbuffer: Prevent creation of buffer with negative sizeKim Alvefur2020-06-041-1/+1
| | | | | | | | | | Previously this would have been (unsigned)-1 which is a large positive integer.
* | util.ringbuffer: Prevent creation of zero-size bufferKim Alvefur2020-05-291-0/+1
| |
* | util.pposix,signal: Pass around various OS numbers as integers [Lua 5.3]Kim Alvefur2020-05-042-28/+34
| | | | | | | | | | | | | | Passing around PIDs, UIDs etc as integers makes it more sane in Lua 5.3. Getting 1234.0 as PID is silly. Shouldn't change any behavior as these are all integers on the C side and the integral floats are accepted as integers when passed back from Lua into C.
* | util.hashes: Fix output length of PBKDF2-HMAC-SHA256Kim Alvefur2020-04-221-1/+1
| | | | | | | | Somehow it got SHA1's 20 byte output instead of the proper 32 = 256/8
* | util.net: Fix signedness warning on ARMEmmanuel Gil Peyrot2020-01-301-2/+2
| | | | | | | | net.c:87:56: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘long int’ [-Wsign-compare]
* | util.*.c: Add static qualifiers everywhereEmmanuel Gil Peyrot2019-12-016-52/+47
| |
* | util.encodings: Remove redundant castEmmanuel Gil Peyrot2019-12-011-1/+1
| |
* | util.encodings: Don’t export unneeded symbolsEmmanuel Gil Peyrot2019-12-011-8/+8
| | | | | | | | This reduces the binary size from 22704 B to 18592 B.
* | Merge 0.11->trunkKim Alvefur2019-11-165-108/+146
|\ \ | |/ |/|
| * util.encodings: Don't ignore non-strings passed to stringprep functionsKim Alvefur2019-11-021-11/+1
| | | | | | | | | | If you manage to pass a table or something weird to these, you deserve to know.
| * util.encodings: Strictly verify that the 'strict' *prep argument is a booleanKim Alvefur2019-10-301-4/+10
| | | | | | | | | | This is to prevent mistakes like nodeprep(username:gsub("a","b")) from unintentionally invoking strict mode.
| * util.encodings: Optional strict flag to stringprepKim Alvefur2019-04-241-2/+14
| |
| * util.encodings: Spell out all IDNA 2008 options ICU hasKim Alvefur2019-09-111-1/+24
| |
| * util.encodings: Switch ICU binding to IDNA2008 (fixes #533, #1301)Kim Alvefur2019-09-111-4/+9
| |
| * util.poll: Add missing return statements in fallback modeKim Alvefur2019-07-281-0/+2
| | | | | | | | | | | | | | These allowed modifying or deleting select() state for unregistered FDs. During normal usage this should never happen. Modifying one that isn't set might cause weirdness but deleting an already deleted FD isn't a problem.
| * util.encodings: Declare absence of arguments [-Wstrict-prototypes]Kim Alvefur2019-05-131-1/+1
| |
| * util.encodings: Add compat with ICU before version 58Kim Alvefur2019-04-291-0/+5
| |
| * util.encodings: Add binding to confusables skeleton function in ICUKim Alvefur2019-04-241-0/+45
| |
| * Merge 0.11->trunkKim Alvefur2019-04-241-1/+1
| |\
| * | Backed out changeset 61bc5c52c941Kim Alvefur2019-04-211-12/+9
| | | | | | | | | | | | luaL_buffinitsize is only available in Lua 5.2+
| * | util.hashes: Allow specifying output key lengthKim Alvefur2019-04-201-9/+12
| | | | | | | | | | | | This is not needed for SCRAM but PBKDF2 takes this argument.
| * | util.hashes: Add PBKDF2-HMAC-SHA256Kim Alvefur2019-01-131-0/+18
| | |
| * | util.hashes: Rename PBKDF2 functionKim Alvefur2019-01-131-2/+3
| | | | | | | | | | | | It's not SCRAM-specific
| * | util.hashes: Remove now unused hmac() functionKim Alvefur2019-04-191-38/+0
| | |
| * | util.hashes: Use PBKDF2 from libcryptoKim Alvefur2019-01-131-44/+9
| | |
| * | Merge 0.11->trunkKim Alvefur2019-04-191-17/+11
| |\ \
| * | | util.hashes: Remove redundant semicolonKim Alvefur2019-04-191-1/+1
| | | |
| * | | util.poll: Minimize scope of methodsKim Alvefur2019-04-131-9/+9
| | | | | | | | | | | | | | | | File scope is enough
| * | | util.pposix: Don't define POSIX_C_SOURCE on FreeBSD to ensure visibility of ↵Matthew Wild2018-12-041-0/+4
| | | | | | | | | | | | | | | | initgroups()
| * | | util.time: Bump POSIX_C_SOURCE to ensure visibility of CLOCK_MONOTONIC on ↵Matthew Wild2018-12-041-1/+1
| | | | | | | | | | | | | | | | FreeBSD (fixes #1253)
* | | | util.pposix: Avoid overflow of malloc info at 2GB (fixes #1445 until 4GB)Kim Alvefur2019-11-161-5/+5
| |_|/ |/| |
* | | util.encodings: Allow unassigned code points in ICU mode to match libidn ↵Kim Alvefur2019-04-241-1/+1
| |/ |/| | | | | behavior (fixes #1348)