zig/lib/std
Frank Denis 9ee0a706da
crypto.bcrypt: allow very large passwords to be pre-hashed (#15955)
crypto.bcrypt: allow very large passwords to be pre-hashed

bcrypt has a slightly annoying limitation: passwords are limited
to 72 characters. In the original implementation, additional characters
are silently ignored.

When they care, applications adopt different strategies to work around
this, in incompatible ways.

Ideally, large passwords should be pre-hashed using a hash function that
hinders GPU attackers, and the hashed function should not be deterministic
in order to defeat shucking attacks.

This change improves the developer experience by adding a very explicit
`silently_truncate_password` option, that can be set to `false` in
order to do that automatically, and consistently across Zig applications.

By default, passwords are still truncated, so this is not a breaking
change.

Add some inline documentation for our beloved autodoc by the way.
2023-06-06 09:08:57 +02:00
..
atomic std: fix a bunch of typos 2023-04-30 18:16:04 -07:00
Build Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
c std.os: fix uname usage. 2023-05-29 22:08:43 +03:00
compress std.sort: add pdqsort and heapsort 2023-05-23 17:55:59 -07:00
crypto crypto.bcrypt: allow very large passwords to be pre-hashed (#15955) 2023-06-06 09:08:57 +02:00
dwarf
event std.event.loop: Rename Loop.Request.Finish enum values to snake case 2023-05-25 20:17:07 +01:00
fmt Use the word 'base' consistently instead of 'radix' 2023-06-01 00:02:16 +03:00
fs Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
hash Fix std.hash benchmarks (#15917) 2023-06-02 20:08:28 +02:00
heap std: fix a bunch of typos 2023-04-30 18:16:04 -07:00
http Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
io std.io.reader.Reader: add streamUntilDelimiter 2023-06-03 13:38:23 -07:00
json std: Rewrite low-level json api to support streaming (#15602) 2023-05-13 14:31:53 -04:00
math Use the word 'base' consistently instead of 'radix' 2023-06-01 00:02:16 +03:00
mem update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
meta Zir: implement explicit block_comptime instruction 2023-04-12 12:06:19 -04:00
net Disallow named test decls with duplicate names 2023-05-08 10:59:06 +03:00
os Merge pull request #15905 from jacobly0/x86_64-hotfix 2023-05-30 13:22:13 +02:00
rand std.crypto.chacha: support larger vectors on AVX2 and AVX512 targets (#15809) 2023-05-22 20:33:35 +02:00
sort std.sort: add pdqsort and heapsort 2023-05-23 17:55:59 -07:00
target target: fix typos in x86 feature descriptions 2023-05-08 07:36:20 -04:00
testing update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
Thread Zir: eliminate field_call_bind and field_call_bind_named 2023-05-20 12:27:48 -07:00
time
tz
unicode update usages of @call 2022-12-13 13:14:20 +02:00
valgrind std: fix a bunch of typos 2023-04-30 18:16:04 -07:00
zig Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
array_hash_map.zig update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
array_list.zig convert s[start..start+len] to s[start..][0..len] 2023-05-07 15:55:21 +10:00
ascii.zig update std lib and compiler sources to new for loop syntax 2023-02-18 19:17:21 -07:00
atomic.zig std: remove names from incorrectly named tests 2023-04-21 23:08:48 -04:00
base64.zig update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
bit_set.zig std: update to use @memcpy directly 2023-04-28 13:24:43 -07:00
bounded_array.zig convert s[start..start+len] to s[start..][0..len] 2023-05-07 15:55:21 +10:00
buf_map.zig doc: fix minor grammar issues 2023-04-22 13:09:15 +03:00
buf_set.zig update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
Build.zig Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
builtin.zig Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
c.zig std.c: fix return type of recv/recvfrom on windows 2023-06-03 13:45:52 -07:00
child_process.zig Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
coff.zig update std lib and compiler sources to new for loop syntax 2023-02-18 19:17:21 -07:00
compress.zig std.compress.zstd: renamed from std.compress.zstandard 2023-02-22 00:11:20 +11:00
comptime_string_map.zig std.sort: add pdqsort and heapsort 2023-05-23 17:55:59 -07:00
crypto.zig std.crypto.ff - Alloc-free, constant-time field arithmetic for crypto (#15795) 2023-05-22 16:11:06 +02:00
cstr.zig update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
debug.zig std.debug: disable sporadically failing test 2023-05-29 16:29:19 -07:00
dwarf.zig std.dwarf: handle DWARF 5 compile unit DW_AT_ranges correctly 2023-05-29 11:28:39 -07:00
dynamic_library.zig update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
elf.zig elf: fix typo in def of SHT_LLVM_ADDRSIG 2023-05-07 09:09:19 +02:00
enums.zig std.sort: add pdqsort and heapsort 2023-05-23 17:55:59 -07:00
event.zig
fifo.zig update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
fmt.zig Use the word 'base' consistently instead of 'radix' 2023-06-01 00:02:16 +03:00
fs.zig Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
hash.zig std: remove names from incorrectly named tests 2023-04-21 23:08:48 -04:00
hash_map.zig Prevent analysis of functions only referenced at comptime 2023-05-29 23:06:08 +01:00
heap.zig std: fix a bunch of typos 2023-04-30 18:16:04 -07:00
http.zig std.http: add simple standalone http tests, add state check for http server 2023-05-06 21:35:15 -05:00
Ini.zig add std.Ini for basic .ini file parsing 2023-01-11 15:39:48 -08:00
io.zig std: Move std.debug.{TTY.Config,detectTTYConfig} to std.io.tty 2023-05-24 10:15:02 +01:00
json.zig std: Rewrite low-level json api to support streaming (#15602) 2023-05-13 14:31:53 -04:00
leb128.zig update uses of overflow arithmetic builtins 2022-12-27 15:13:14 +02:00
linked_list.zig std: fix a bunch of typos 2023-04-30 18:16:04 -07:00
log.zig std.log.defaultLog: remove freestanding compile error 2023-05-03 11:19:37 +03:00
macho.zig std: fix a bunch of typos 2023-04-30 18:16:04 -07:00
math.zig std.io.Writer: add support for non-power-of-two int sizes 2023-05-29 13:01:54 +03:00
mem.zig Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
meta.zig std.sort: add pdqsort and heapsort 2023-05-23 17:55:59 -07:00
multi_array_list.zig Prevent analysis of functions only referenced at comptime 2023-05-29 23:06:08 +01:00
net.zig Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
once.zig update std lib and compiler sources to new for loop syntax 2023-02-18 19:17:21 -07:00
os.zig Merge pull request #15579 from squeek502/mem-delimiters 2023-06-03 13:51:02 -07:00
packed_int_array.zig std: fix a bunch of typos 2023-04-30 18:16:04 -07:00
pdb.zig std: fix a bunch of typos 2023-04-30 18:16:04 -07:00
priority_dequeue.zig Disallow named test decls with duplicate names 2023-05-08 10:59:06 +03:00
priority_queue.zig update std lib and compiler sources to new for loop syntax 2023-02-18 19:17:21 -07:00
process.zig Update all std.mem.split calls to their appropriate function 2023-05-13 13:45:05 -07:00
Progress.zig update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
rand.zig Improvements to docs and text 2023-04-23 21:06:21 +03:00
RingBuffer.zig Improvements to docs and text 2023-04-23 21:06:21 +03:00
segmented_list.zig update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
SemanticVersion.zig Update all std.mem.split calls to their appropriate function 2023-05-13 13:45:05 -07:00
simd.zig std.simd.suggestVectorSizeForCpu: fix missing argument in body 2023-05-13 13:35:50 +03:00
sort.zig std.sort: add pdqsort and heapsort 2023-05-23 17:55:59 -07:00
start.zig x86_64: enable normal start/test_runner logic on more targets 2023-05-01 19:22:52 -04:00
start_windows_tls.zig cbe: fixes for tls, support for not linking libc, and enabling tests 2023-01-29 15:04:13 -05:00
std.zig add BoundedArrayAligned (#14580) 2023-03-17 17:50:25 +01:00
tar.zig std: update to use @memcpy directly 2023-04-28 13:24:43 -07:00
target.zig std.Target adjustments 2023-05-26 21:42:19 -07:00
testing.zig Prevent analysis of functions only referenced at comptime 2023-05-29 23:06:08 +01:00
Thread.zig std.Thread: refining stack size from platform minimum, changes more targetted towards platform like Linux/musl (#15791) 2023-05-25 14:32:17 -05:00
time.zig std: fix a bunch of typos 2023-04-30 18:16:04 -07:00
treap.zig
tz.zig update codebase to use @memset and @memcpy 2023-04-28 13:24:43 -07:00
unicode.zig convert s[start..start+len] to s[start..][0..len] 2023-05-07 15:55:21 +10:00
Uri.zig std.http: add simple standalone http tests, add state check for http server 2023-05-06 21:35:15 -05:00
valgrind.zig
wasm.zig wasm: add atomics opcodes and refactoring 2023-03-18 20:13:30 +01:00
zig.zig integrate the build runner and the compiler server 2023-03-15 10:48:13 -07:00