Andrew Kelley
b393112674
std: update uses of unbuffered_writer
2025-07-01 16:35:29 -07:00
Andrew Kelley
1e2aab2f97
std: combine BufferedWriter into Writer
2025-07-01 16:35:29 -07:00
Andrew Kelley
3c98e2c826
std: combine BufferedReader into Reader
2025-07-01 16:35:29 -07:00
Andrew Kelley
2f5574ac08
std: finish renaming RwError to StreamError
2025-07-01 16:35:29 -07:00
Andrew Kelley
3650cd3e8e
std.fs.File: update for new writeFile API
2025-07-01 16:35:29 -07:00
Andrew Kelley
7b417c6caf
std: improve the discarding writer
...
by making the vtable use File.Reader instead of File and Offset
2025-07-01 16:35:29 -07:00
Andrew Kelley
74c56376ee
std: update http.WebSocket to new API
2025-07-01 16:35:29 -07:00
Andrew Kelley
da303bdaf1
std: fix a bunch of compilation errors
2025-07-01 16:35:29 -07:00
Andrew Kelley
06b44a0afa
update git fetching logic to new reader/writer API
...
- flatten std.crypto.hash.Sha1 and give it a writable interface that
optimizes splats
- flatten std.hash.crc and give it a writable interface that optimizes
splats
- remove old writer impls from std.crypto
- add fs.File.Writer.moveToReader
- add fs.File.Writer.seekTo
- add std.io.Reader.Hashed and std.io.Writer.Hashed which are
passthrough streams. Instead of passing through to null writer, use
the writable interface implemented directly on hashers which doesn't
have to account for passing through the data.
- add std.io.BufferedWriter.writeSplatAll
2025-07-01 16:35:29 -07:00
Andrew Kelley
d603121dc3
std.crypto.Certificate.Bundle.macos: rework
...
- use ArrayList strategically to reduce allocations
- use a BufferedReader to avoid unnecessary memcpy of the certs
- use for loops
- skip certs with invalid magic instead of asserting
2025-07-01 16:35:29 -07:00
Andrew Kelley
5ac895c820
std.crypto.tls.Client: give all cleartext in read
2025-07-01 16:35:28 -07:00
Andrew Kelley
bb7af21d6f
std.crypto.tls.Client: update to new reader/writer API
2025-07-01 16:35:28 -07:00
Andrew Kelley
685d55c1a4
std.compress.zstd: rewrite
...
WIP - passing AstGen but not yet Sema
2025-07-01 16:35:28 -07:00
Andrew Kelley
25ac70f973
std: WIP update more to new reader/writer
...
delete some bad readers/writers
add limited reader
update TLS
about to do something drastic to compress
2025-07-01 16:35:28 -07:00
Andrew Kelley
396464ee6b
update std.net and nail down delimiter APIs
...
"exclusive" functions still need to report EndOfStream after the last
returned slice
2025-07-01 16:35:28 -07:00
Jacob Young
a90f07b537
fix more compiler errors
2025-07-01 16:35:28 -07:00
Andrew Kelley
d9b9e3c272
std: update some http to new reader/writer
2025-07-01 16:35:28 -07:00
Jacob Young
4004c8058e
siphash: fix std.io.Writer API non-conformance
2025-07-01 16:35:28 -07:00
Andrew Kelley
f333267782
update std.http.Server to new API
...
and rename std.io.BufferedWriter.writableSlice to writableSliceGreedy
and make writableSlice and writableArray advance the buffer end position
introduce std.io.BufferedWriter.writeSplatLimit but it's unimplemented
2025-07-01 16:35:27 -07:00
Jacob Young
ffb0e283d7
build_runner: fix compile errors
2025-07-01 16:35:27 -07:00
Andrew Kelley
a4fdda6ae0
std.io: redo Reader and Writer yet again
...
explicit error sets ahoy matey
delete some sus APIs from File that need to be reworked
2025-07-01 16:35:27 -07:00
Andrew Kelley
20a784f713
std: start converting networking stuff to new reader/writer
2025-07-01 16:35:27 -07:00
Andrew Kelley
890a02c345
std.io: move getStdIn, getStdOut, getStdErr functions to fs.File
...
preparing to rearrange std.io namespace into an interface
2025-07-01 16:35:26 -07:00
Andrew Kelley
5ada2e3937
std.http tests passing with updated writer API
...
fix splat implementation in std.fs.File
update http.Client, with caveats:
* TODO: only 1 underlying write call
* TODO: don't rely on max_buffers_len exceeding the caller
* TODO: handle splat
update net.Stream API. also make it use WSASend on windows
2025-07-01 16:35:26 -07:00
Andrew Kelley
6c7b103122
std.crypto.tls.Client: upgrade to std.io.BufferedWriter
...
This is pretty clearly a better API.
2025-07-01 16:35:26 -07:00
Andrew Kelley
bf00eb3006
more of the compiler updated to new Writer API
2025-07-01 16:35:26 -07:00
Andrew Kelley
bb1dffcf32
much of the compiler upgraded to new API
2025-07-01 16:35:26 -07:00
Andrew Kelley
c2fc6b0b6c
ArrayListWriter
2025-07-01 16:35:25 -07:00
Andrew Kelley
00c6c836a6
std: start reworking std.io
...
hello world is compiling
2025-07-01 16:35:25 -07:00
Elaine Gibson
ed48e2eb75
std.crypto.Certificate.Bundle: haiku support
2025-06-05 13:45:52 +01:00
Alex Rønne Petersen
9d534790eb
std.Target: Introduce Cpu convenience functions for feature tests.
...
Before:
* std.Target.arm.featureSetHas(target.cpu.features, .has_v7)
* std.Target.x86.featureSetHasAny(target.cpu.features, .{ .sse, .avx, .cmov })
* std.Target.wasm.featureSetHasAll(target.cpu.features, .{ .atomics, .bulk_memory })
After:
* target.cpu.has(.arm, .has_v7)
* target.cpu.hasAny(.x86, &.{ .sse, .avx, .cmov })
* target.cpu.hasAll(.wasm, &.{ .atomics, .bulk_memory })
2025-06-05 06:12:00 +02:00
Jacob Young
ec579aa0f3
Legalize: implement scalarization of @shuffle
2025-06-01 08:24:01 +01:00
Jacob Young
1f6f8b0ffe
x86_64: implement integer @reduce(.Add)
2025-05-28 15:10:22 -04:00
Jacob Young
d69f4c48fc
x86_64: rewrite bitwise @reduce
2025-05-28 15:10:22 -04:00
HydroH
cc1475c91d
std: remove std.crypto.Certificate.Parsed.pubKeySigAlgo method ( #23811 )
2025-05-16 00:21:25 +02:00
Alex Rønne Petersen
bc3c50c21e
Merge pull request #23700 from sorairolake/rename-trims
...
chore(std.mem): Rename `trimLeft` and `trimRight` to `trimStart` and `trimEnd`
2025-05-12 17:11:52 +02:00
HydroH
a14352b0b2
std: fix compile errors in std.crypto.ecc ( #23797 )
...
Implemented `neg()` method for `AffineCoordinates` struct of p256,
p384 and secp256k1 curves.
Resolves : #20505 (partially)
2025-05-05 18:50:25 +00:00
David Rubin
369177f0ba
crypto: add sub function to Ristretto255 ( #23724 )
2025-05-05 15:30:59 +02:00
Deatil
8e79fc64cd
fixed codecs.zig ( #23706 )
2025-04-29 22:07:30 +00:00
Shun Sakai
5fc4448e45
chore(std.mem): Rename trimLeft and trimRight
...
Rename `trimLeft` to `trimStart`, and `trimRight` to `trimEnd`.
`trimLeft` and `trimRight` functions remain as deprecated aliases for
these new names.
2025-04-27 18:03:59 +09:00
Frank Denis
f01833e03e
crypto.ecdsa: add the ability to sign/verify prehashed messages ( #23607 )
2025-04-20 04:27:10 +02:00
Frank Denis
933beb4cbd
crypto.ecdsa: stricter DER decoding of signatures ( #23554 )
...
Reject DER-encoded signatures with the top bit set but no leading
0x00
Also add test vectors from Project Wycheproof with ECDSA-P384
2025-04-15 18:12:12 +02:00
Andrew Kelley
f32a5d349d
std: eradicate u29 and embrace std.mem.Alignment
2025-04-13 02:20:32 -04:00
Frank Denis
a7122b7323
std.crypto: add constant-time codecs ( #23420 )
...
std.crypto: add constant-time codecs
Add constant-time hex/base64 codecs designed to process cryptographic
secrets, adapted from libsodium's implementations.
Introduce a `crypto.codecs` namespace for crypto-related encoders and
decoders. Move ASN.1 codecs to this namespace.
This will also naturally accommodate the proposed PEM codecs.
2025-04-12 20:13:45 +02:00
Frank Denis
ca1fc3827e
crypto.ecdsa: fix EcdsaP384Sha3_384 constant name ( #23403 )
...
Spotted by @deatil -- Thanks!
2025-03-29 14:52:34 +00:00
Roman Frołow
37bbe7e930
typo: was issues -> was issued
2025-03-15 12:14:00 +01:00
Linus Groh
f660675467
std: Add support for SerenityOS in various places
...
Not nearly the entire downstream patchset but these are completely
uncontroversial and known to work.
2025-03-11 14:59:42 +00:00
Jeremy Hertel
801a95035c
std.time.epoch: change getDaysInMonth to accept the year as an argument
2025-03-08 14:25:28 -05:00
Frank Denis
d8d2aa9af4
crypto.pcurves.common: generalize invert() ( #23039 )
...
The Bernstein-Yang inversion code was meant to be used only with the
fields we currently use for the NIST curves.
But people copied that code and were confused that it didn't work as
expected with other field sizes.
It doesn't cost anything to make it work with other field sizes,
that may support in the future. So let's do it.
This also reduces the diff with the example zig code in fiat crypto.
Suggested by @Rexicon226 -- Thank you!
2025-03-02 11:27:04 +01:00
Linus Groh
4b0f77cc1f
std.crypto.tlcsprng: Fix hardcoded use of defaultRandomSeed()
...
Instead of hardcoding a call to defaultRandomSeed() use the customizable
std.options.cryptoRandomSeed() like in the rest of the function.
Closes #19943 .
2025-02-22 22:39:40 -05:00