zig/lib/std/crypto
Alex Rønne Petersen dba1bf9353 remove all Oracle Solaris support
There is no straightforward way for the Zig team to access the Solaris system
headers; to do this, one has to create an Oracle account, accept their EULA to
download the installer ISO, and finally install it on a machine or VM. We do not
have to jump through hoops like this for any other OS that we support, and no
one on the team has expressed willingness to do it.

As a result, we cannot audit any Solaris contributions to std.c or other
similarly sensitive parts of the standard library. The best we would be able to
do is assume that Solaris and illumos are 100% compatible with no way to verify
that assumption. But at that point, the solaris and illumos OS tags would be
functionally identical anyway.

For Solaris especially, any contributions that involve APIs introduced after the
OS was made closed-source would also be inherently more risky than equivalent
contributions for other proprietary OSs due to the case of Google LLC v. Oracle
America, Inc., wherein Oracle clearly demonstrated its willingness to pursue
legal action against entities that merely copy API declarations.

Finally, Oracle laid off most of the Solaris team in 2017; the OS has been in
maintenance mode since, presumably to be retired completely sometime in the 2030s.

For these reasons, this commit removes all Oracle Solaris support.

Anyone who still wishes to use Zig on Solaris can try their luck by simply using
illumos instead of solaris in target triples - chances are it'll work. But there
will be no effort from the Zig team to support this use case; we recommend that
people move to illumos instead.
2025-10-27 07:35:38 -07:00
..
25519 tweak tests to avoid timeouts 2025-10-18 09:28:42 +01:00
aes std.crypto: remove inline from most functions 2025-07-13 18:26:13 +02:00
Certificate remove all Oracle Solaris support 2025-10-27 07:35:38 -07:00
codecs std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
pcurves std.crypto: remove inline from most functions 2025-07-13 18:26:13 +02:00
tls std.crypto.tls.Client: fix infinite loop in std.Io.Writer.writeAll 2025-10-09 12:34:34 -07:00
aegis.zig std.Io: delete GenericWriter 2025-08-28 18:30:57 -07:00
aes.zig std.crypto: add AES-SIV and AES-GCM-SIV 2025-09-16 12:45:08 +02:00
aes_ccm.zig std.crypto: add AES-CCM and CBC-MAC (#25526) 2025-10-14 12:00:44 +02:00
aes_gcm.zig Add documentation to std.crypto.aes_gcm.AesGcm.encrypt (#24427) 2025-07-13 07:33:08 +00:00
aes_gcm_siv.zig Parallelize deriveKeys 2025-09-16 23:13:58 +02:00
aes_ocb.zig Fix #24999: copy left-overs before we XOR into c. (#25001) 2025-08-25 15:59:42 +00:00
aes_siv.zig std.crypto: add AES-SIV and AES-GCM-SIV 2025-09-16 12:45:08 +02:00
argon2.zig std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
ascon.zig std.crypto.ascon: disable Ascon-AEAD128 test on RISC-V with V support 2025-09-20 19:05:32 +02:00
bcrypt.zig crypto.pwhash.bcrypt: make silently_truncate_password a member of Params (#22792) 2025-02-19 22:37:51 +01:00
benchmark.zig Remove usages of deprecatedWriter 2025-09-18 22:39:33 -07:00
blake2.zig std.Io: delete GenericWriter 2025-08-28 18:30:57 -07:00
blake3.zig Faster BLAKE3 implementation (#25574) 2025-10-15 14:03:56 +02:00
cbc_mac.zig std.crypto: add AES-CCM and CBC-MAC (#25526) 2025-10-14 12:00:44 +02:00
Certificate.zig Validate wildcard TLS certificates correctly (#24829) 2025-08-14 13:57:00 +00:00
chacha20.zig coerce vectors to arrays rather than inline for 2025-09-20 18:33:00 -07:00
cmac.zig std: update std.builtin.Type fields to follow naming conventions 2024-08-28 08:39:59 +01:00
codecs.zig fixed codecs.zig (#23706) 2025-04-29 22:07:30 +00:00
ecdsa.zig std: split up ecdsa tests 2025-10-18 09:28:43 +01:00
errors.zig crypto.edwards25519: add the ability to check for group membership (#20175) 2024-06-04 10:11:05 +02:00
ff.zig std: update std.builtin.Type fields to follow naming conventions 2024-08-28 08:39:59 +01:00
ghash_polyval.zig std.crypto: remove inline from most functions 2025-07-13 18:26:13 +02:00
hash_composition.zig x86_64: implement enough to pass unicode tests 2023-10-23 22:42:18 -04:00
hkdf.zig closes #21824 (#21832) 2024-10-28 14:54:02 +00:00
hmac.zig Remove redundant test name prefixes now that test names are fully qualified 2024-02-26 15:18:31 -08:00
isap.zig std.crypto: better names for everything in utils 2024-08-09 19:47:06 -07:00
keccak_p.zig crypto.keccak.State: add checks to prevent insecure transitions (#22020) 2024-11-20 11:16:09 +01:00
md5.zig std.tar: update to new I/O API 2025-07-22 09:41:44 -07:00
ml_kem.zig std.crypto.ml_kem: disable some Kyber tests on LoongArch with LSX 2025-09-18 12:42:24 +02:00
modes.zig std.crypto: add AES-SIV and AES-GCM-SIV 2025-09-16 12:45:08 +02:00
pbkdf2.zig lib: correct unnecessary uses of 'var' 2023-11-19 09:55:07 +00:00
phc_encoding.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
poly1305.zig std.crypto: remove inline from most functions 2025-07-13 18:26:13 +02:00
salsa20.zig std.crypto: remove inline from most functions 2025-07-13 18:26:13 +02:00
scrypt.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
Sha1.zig std.crypto: fix Sha1 namespace 2025-07-14 00:14:21 -07:00
sha2.zig std.Io: delete GenericWriter 2025-08-28 18:30:57 -07:00
sha3.zig std: disable sha3-512 single test on RISC-V with V support 2025-08-30 13:27:25 +02:00
siphash.zig std.Io: delete GenericWriter 2025-08-28 18:30:57 -07:00
test.zig update std lib and compiler sources to new for loop syntax 2023-02-18 19:17:21 -07:00
timing_safe.zig zig fmt: apply new cast builtin order 2025-08-03 14:59:56 +02:00
tlcsprng.zig std.crypto.tlcsprng: Fix hardcoded use of defaultRandomSeed() 2025-02-22 22:39:40 -05:00
tls.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00