Brian Smith
9d2abfcf52
build.rs: Set compiler C and CPP (preprocessor) flags in one place.
...
Apparently it is OK to set `-std=c1x` even when compiling assembly
code, so just set it no matter what we're compiling. This simplifies
the code and allows future simplification.
It's not clear why certain warnings were separated from the others.
Combine them too, for the same reasons.
2023-10-05 10:17:08 -07:00
pkubaj
7218f22bc6
Fix powerpc64 detection
...
Both powerpc64 and powerpc define __powerpc__. Also remove endianness check for powerpc64* since it's not necessary.
2023-10-05 07:27:37 -07:00
Brian Smith
096a99f426
Benchmarks: Add X25519 benchmark.
2023-10-04 20:59:49 -07:00
Brian Smith
5a5f6d71c6
NFC: Reduce scope of #[allow(unused_variables)]
in X25519.
2023-10-04 11:26:12 -07:00
Brian Smith
38b9bb7de0
Reorganize, simplify, and clarify BUILDING.md.
2023-10-03 14:23:46 -07:00
Luis Cruz
8387c3953e
Add apple tvos support
2023-10-03 11:54:18 -07:00
Brian Smith
c8e4b23af8
Don't hard-code use of static CRT in GitHub Actions AArch64 Windows build.
2023-10-03 09:13:53 -07:00
Brian Smith
49b47eabfa
Use Visual Studio 2022 in GitHub Actions for AArch64 Windows.
2023-10-03 09:13:53 -07:00
Brian Smith
c4a6ec8662
ECC: Better encapsulate Curve25519 base point multiplication.
...
Combine some `unsafe` blocks and create a more logical interface.
2023-10-02 15:18:28 -07:00
Brian Smith
52582adbce
CI: Remove PowerPC and s390x jobs from test-features. Add PowerPC to test.
...
Add the powerpc-unknown-linux-gnu target to `test`. Remove PowerPC and
s390x targets from `test-features` because they slow down CI too much.
2023-10-02 14:15:12 -07:00
Brian Smith
d34858a918
0.17.0.
2023-10-02 01:18:18 -07:00
Brian Smith
93d1807dd0
0.17.0-beta.3
2023-10-02 01:18:18 -07:00
Brian Smith
851f9f339b
0.17.0-beta.2
2023-10-02 01:18:18 -07:00
Brian Smith
812592f5f3
0.17.0-beta.1
2023-10-02 01:18:18 -07:00
Brian Smith
3d993da504
Revert "AES: Use SSE2-based implementation as the fallback on x86 and x86-64."
...
This reverts commit 1a5ad00222405b8e64ee322c61942bdd63cc1e29.
Not all C compilers for i686 support SSE2 by default.
2023-10-01 23:08:30 -07:00
Brian Smith
edf5830cb2
NFC: Tests: Address clippy lint.
2023-10-01 21:36:43 -07:00
Brian Smith
1a5ad00222
AES: Use SSE2-based implementation as the fallback on x86 and x86-64.
...
Address some warnings from Clang/GCC in the SSE2 code that are disabled
by default in BoringSSL but not in *ring*.
2023-10-01 21:30:19 -07:00
Brian Smith
e4a85afb58
ARM & Aarch64: Add ability to disable hardware crypto for testing.
2023-10-01 21:29:57 -07:00
Brian Smith
00d639339a
Add support for 64-bit big-endian PowerPC.
...
Not added to CI. We need to find a better solution for supporting PowerPC
(and s390x and other less-common archs) in CI.
2023-10-01 21:29:33 -07:00
Noel Tautges
0bf9d2ac1f
Encode public key in Ed25519 PKCS#8 v2 template with a primitive encoding to conform with spec and make it parse with der
>=0.5
2023-10-01 21:29:14 -07:00
Brian Smith
a73bd052a7
Add regression test for Ed25519KeyPair::generate_pkcs8()
.
2023-10-01 21:29:14 -07:00
ZHAI Xiaojuan
3d592b27bf
Add support for LoongArch64
2023-10-01 18:43:17 -07:00
Brian Smith
3878b1b28a
CI: Temporarily move powerpc-unknown-linux-gnu from coverage to test-features.
2023-10-01 18:25:37 -07:00
Brian Smith
acc256193e
CI: Document critical aspects of each target in coverage
.
2023-10-01 18:25:37 -07:00
Brian Smith
6e82dd3c75
Add powerpc-unknown-linux-gnu support.
2023-10-01 18:25:37 -07:00
Ulrich Weigand
baa823bb4d
Basic support for s390x target
2023-10-01 14:33:16 -07:00
Ulrich Weigand
079a4faef6
Support big-endian platforms
2023-10-01 14:33:16 -07:00
Brian Smith
7b1937d3a8
NFC: CPU: Clarify safety invariants around OPENSSL_armcap_P
.
2023-10-01 14:25:39 -07:00
Brian Smith
bad63fb73f
CPU: ARM: Remove bogus static assertion about 32-bit ARM.
...
It is possible that a 32-bit ARM target could have static crypto CPU features.
2023-09-30 22:28:29 -07:00
Brian Smith
301f31671b
NFC: Polyfill const_option
feature.
2023-09-30 20:25:46 -07:00
Brian Smith
901441fd59
MSRV 1.61.0: Use cfg!(target_feature)
for static AARCH64 feature detection.
2023-09-30 17:41:26 -07:00
Eric Richter
3161c01ec5
CI: add powerpc64le-unknown-linux-gnu as a target
...
Signed-off-by: Eric Richter <erichte@linux.ibm.com>
2023-09-30 17:18:58 -07:00
Eric Richter
c163528d3e
cpu/arm: allow dead code in cpu/arm mod when building on non-arm
...
Other architectures may not need to do feature checks, and therefore
Feature::available, Feature::mask, etc are never used/read.
This snippet mirrors the similar bit at the top of cpu/intel.
Signed-off-by: Eric Richter <erichte@linux.ibm.com>
2023-09-30 17:18:58 -07:00
Eric Richter
3a8c095f3d
Add Little-endian PPC64LE definition to ring-core/target.h
...
Signed-off-by: Eric Richter <erichte@linux.ibm.com>
2023-09-30 17:18:58 -07:00
Brian Smith
4b87b67335
CI: Reduce size of test-features
matrix to speed up CI.
2023-09-30 15:47:16 -07:00
Jessica Hamilton
f5c5014f12
Enable Haiku platform.
2023-09-30 14:34:26 -07:00
Brian Smith
7bd536e9df
Replicate BoringSSL's test for constant_time_conditional_memxor
.
2023-09-30 13:40:06 -07:00
Brian Smith
165e8a797c
Cherry-pick BoringSSL RISC-V target support (64-bit only).
2023-09-30 11:46:06 -07:00
Brian Smith
4e54361385
CI: Add riscv64gc-unknown-linux-gnu to the coverage
target.
2023-09-30 11:46:06 -07:00
Brian Smith
e5908b9626
CI: Use riscv64-linux-gnu-gcc as RISC-V linker.
2023-09-30 11:46:06 -07:00
leso-kn
036b80aa97
CI: Enable riscv64 build
...
Co-authored-by: light4 <root@i01.io>
Signed-off-by: leso-kn <info@lesosoftware.com>
2023-09-30 11:46:06 -07:00
leso-kn
1e1e8e1ee6
Add support for riscv64
...
Co-authored-by: Alan Mock <alan@alanmock.com>
Co-authored-by: Patrick Elsen <pelsen@xfbs.net>
Signed-off-by: leso-kn <info@lesosoftware.com>
2023-09-30 11:46:06 -07:00
Brian Smith
bb50d70299
Don't run test
jobs on Beta or Nightly channels.
...
These are duplicated by `coverage` (temporarily) and the `features` tests.
Do this to reduce the latency between submitting a PR and it passing CI.
Right now we have so many jobs with the huge matrix and CI takes too long.
2023-09-30 11:42:55 -07:00
Brian Smith
bb64b55bf0
Do not deprecate the signature::RsaPublicKey
alias yet.
...
Unless/until a bigger refactoring is completed, don't bother people about the new name.
2023-09-30 07:20:44 -07:00
Joshua Liebow-Feeser
d7b8b6192b
aead: Add a safety comment
2023-09-29 22:44:47 -07:00
Joshua Liebow-Feeser
e3e27e525f
rsa: Use NonZero::new instead of new_unchecked
2023-09-29 22:43:22 -07:00
Brian Smith
8406e2cbb6
Merge pull request #1667 from briansmith/b/EcdsaKeyPair-sign-is-not-deprecated
...
Remove the word "deprecated" From the `EcdsaKeyPair::sign` documentation
2023-09-29 22:05:10 -07:00
Brian Smith
9dbbc55cfd
Remove the word "deprecated" From the EcdsaKeyPair::sign
documentation.
2023-09-29 22:02:49 -07:00
Brian Smith
feb3942526
Merge pull request #1666 from briansmith/b/merge-boringssl-18
...
Merge BoringSSL through bd20800c22fc8402611b537287bd6948c3f2a5a8
2023-09-29 20:29:35 -07:00
Brian Smith
4581b6fee7
Merge BoringSSL 'bd20800': Add a comment for what compiler_test.cc is about
...
Try to support more than what BoringSSL does w.r.t. aliasing pointers.
2023-09-29 17:59:31 -07:00