Commit Graph

4277 Commits

Author SHA1 Message Date
gingerBill 79173ef119 Merge pull request #3136 from Yawning/feature/crypto-hash
core:crypto/hash - Add and refactor
2024-02-06 17:40:45 +00:00
Yawning Angel 44758f2a60 core/crypto: Stop using context.temp_allocator
The max digest size for the foreseeable future will be 512 bits, and the
max block size is currently 1152 bits (SHA3-224).  If people add more
exotic hash algorithms without bumping the constants when required,
tests will fail.

The stream buffer will currently be 576 bytes, which is "fine" to just
stick on the stack, and is a sensible multiple of the more common block
size of 64 bytes.
2024-02-07 02:33:53 +09:00
gingerBill 1f0b24b735 Remove unneeded casts 2024-02-06 17:22:13 +00:00
gingerBill a6878fcd91 Clean up code for initialize_symbols 2024-02-06 17:20:07 +00:00
Yawning Angel 56516ee8b2 core/crypto/poly1305: Relax the tag length check on the verify helper 2024-02-07 00:42:01 +09:00
Yawning Angel 1cc639bc93 core/crypto/hmac: Initial import 2024-02-07 00:42:01 +09:00
Yawning Angel 2357293e05 core/crypto/hash: Make the low level interface allocator-less
Just (ab)using reflect to victory is probably fine.
2024-02-07 00:37:18 +09:00
Yawning Angel 7a8b1669b0 core/crypto: Expose the block sizes for every hash algorithm
While I just went and made this private, this information is required
for keying HMAC.
2024-02-07 00:37:18 +09:00
Yawning Angel b02b85d242 core/crypto/shake: SHAKE is an XOF, not a hash 2024-02-07 00:37:18 +09:00
Yawning Angel 899fab64d9 core/crypto: Documentation cleanups 2024-02-07 00:37:18 +09:00
Yawning Angel 00ab3beed9 core:crypto/hash: Add a generic higher level hash interface
There is a lot of code duplicated in convenience methods in each hash
implementation, and having a generic hash type makes implementing
higher-level constructs such as HMAC significantly easier down the road.
2024-02-07 00:37:18 +09:00
gingerBill b0675358c3 Add angle_between and matrix2_rotate 2024-02-06 14:09:05 +00:00
gingerBill 4685cf1085 Merge pull request #3140 from JustinRyanH/master
Implement `last_write_time` and `last_write_time_by_name` for Darwin
2024-02-05 13:57:28 +00:00
gingerBill dd7c65a89c Merge pull request #2998 from laytan/os-improvements
OS improvements
2024-02-03 12:29:39 +00:00
Justin Hurstwright 8a63b6dff7 fix: remove returns ErrNo for Windows, FreeBSD, Unix 2024-02-02 09:10:25 -06:00
Justin Hurstwright 829654e3a2 steal the last_write from freebsd implementation 2024-02-02 09:10:25 -06:00
gingerBill 539cec7496 Move Tracking_Allocator to its own file. 2024-02-01 13:01:38 +00:00
gingerBill 000709b594 Make file_console_logger.odin be ignored on freestanding targets 2024-01-31 22:01:35 +00:00
gingerBill 6736205723 Merge pull request #3138 from FourteenBrush/master
Add a testing.expectf proc as a way to avoid a tprintf call.
2024-01-29 17:33:29 +00:00
gingerBill a626adac8e Use long-form names and alias with short-form UNIX-like names 2024-01-29 13:33:39 +00:00
gingerBill 3a4c82abf8 Move core:(builtin|intrinsics) to base: 2024-01-29 11:46:16 +00:00
gingerBill 6da82e038d Fix types for BSD 2024-01-28 23:27:30 +00:00
gingerBill 535b8a9483 Remove core:os dependency completely from base:runtime 2024-01-28 23:11:38 +00:00
gingerBill 038086d1d9 Alias heap calls from base:runtime is core:os 2024-01-28 22:47:55 +00:00
gingerBill 9a16bc5fc5 Remove core:os dependency for base:runtime 2024-01-28 22:40:46 +00:00
gingerBill 3e7e779abf Replace core:* to base:* where appropriate 2024-01-28 22:18:51 +00:00
gingerBill f67691c457 Move matrix related procedures to the different linalg packages 2024-01-28 21:28:54 +00:00
gingerBill 09fa1c29cd Move core:runtime to base:runtime; keep alias around 2024-01-28 21:05:53 +00:00
gingerBill ddcaa0de53 Remove core:mem dependency from core:reflect 2024-01-28 20:52:01 +00:00
gingerBill 621b3c7829 Add missing clone for Struct_Type 2024-01-28 17:34:32 +00:00
gingerBill 68df35b378 Add #field_align(N)
It sets the minimum alignment for the fields within a struct. This cannot be used with `#packed`, but can be used with `#align(N)`.
If `#align(N)` is less than `#field_align(N)`, then a warning will be printed.
2024-01-28 17:33:29 +00:00
gingerBill c1d853a24e Remove dead code 2024-01-28 17:32:34 +00:00
gingerBill 30636f5114 Change return values from Struct_Tag to string 2024-01-28 15:48:19 +00:00
gingerBill da6edb3764 Merge pull request #3139 from flysand7/file-attrib
sys/windows: Make `INVALID_FILE_ATTRIBUTES` a `u32` constant
2024-01-26 15:05:23 +00:00
gingerBill 9a9625f885 Fix #3053 2024-01-26 13:04:47 +00:00
flysand7 d5b0ec712b os/os2: Remove file attribute casting from core:os2 2024-01-26 09:07:12 +11:00
FourteenBrush 766d6aa946 Fix typo 2024-01-25 12:05:19 +01:00
FourteenBrush 895ebb95d5 Need to unpack args 2024-01-25 11:44:53 +01:00
flysand7 af636eedde os: Fix casting errors in other files 2024-01-25 21:32:24 +11:00
flysand7 57b7822e12 Merge branch 'master' into unsigned-file-attrib 2024-01-25 20:57:18 +11:00
flysand7 03736d8bcb sys/windows: Make INVALID_FILE_ATTRIBUTES a u32 constant 2024-01-25 20:52:39 +11:00
FourteenBrush 3a5d80b291 Forgot to include loc param 2024-01-25 10:20:23 +01:00
FourteenBrush 967ccfc7cc Merge branch 'master' of https://github.com/FourteenBrush/Odin 2024-01-25 10:15:25 +01:00
FourteenBrush 712ae1c5ac Add testing.expectf 2024-01-25 10:08:09 +01:00
Kyle Burke 14e2cc17d6 Remove mention of map in builtin resize proc group 2024-01-24 09:39:47 -06:00
gingerBill 5f41741e8c Merge pull request #3126 from DanielGavin/parser-fix-paran
Improve recovery from faulty parameters in parse_proc_type
2024-01-24 11:23:49 +00:00
gingerBill cfdf2bfb77 Merge pull request #3129 from DragosPopse/assert-fix
`fmt.assertf` now correctly gets disabled on `-disable-assert`. `log.assert/f` procs. `@cold` trick on everything fixed.
2024-01-24 11:21:37 +00:00
flysand7 a660098106 os2: Add .Resize_Non_Zeroed allocation mode to os2/heap_windows 2024-01-24 15:51:47 +11:00
Dragos Popescu 90d1f9ab27 Removed return value of assertf. assertf now correctly responds to -disable-assert. Added log.assert and log.assertf. All asserts now do the @cold trick, first added to builtin.assert 2024-01-23 20:56:13 +02:00
DanielGavin f63f28302e Recover from faulty parameter in parse_proc_type 2024-01-22 20:35:26 +01:00