Compare commits

...

5 Commits

Author SHA1 Message Date
Joe Birr-Pixton d5dce3b912
Merge b8758d8468 into 94e6e88ed9 2024-02-21 01:53:40 -07:00
Brian Smith 94e6e88ed9 CI: Use free macOS runners for aarch64-apple-darwin jobs. 2024-02-18 14:48:35 -08:00
Brian Smith 9613e5d115 Sync mk/{cargo.sh,install-build-tools.sh} with *ring*.
In particular, LLVM/Clang 18 so that the coverage jobs succeed after
Rust Nightly upgraded to LLVM 18.
2024-02-18 14:46:52 -08:00
Brian Smith 8f81719df5 Appease Clippy. 2024-02-18 13:14:42 -08:00
Joseph Birr-Pixton b8758d8468 Add additional test cases sourced from x509test 2022-02-27 14:48:49 +00:00
182 changed files with 2045 additions and 4 deletions

View File

@ -141,7 +141,7 @@ jobs:
include:
- target: aarch64-apple-darwin
host_os: macos-13-xlarge
host_os: macos-14
- target: aarch64-pc-windows-msvc
host_os: windows-latest

View File

@ -21,6 +21,9 @@ rustflags_self_contained="-Clink-self-contained=yes -Clinker=rust-lld"
qemu_aarch64="qemu-aarch64 -L /usr/aarch64-linux-gnu"
qemu_arm_gnueabi="qemu-arm -L /usr/arm-linux-gnueabi"
qemu_arm_gnueabihf="qemu-arm -L /usr/arm-linux-gnueabihf"
qemu_mips="qemu-mips -L /usr/mips-linux-gnu"
qemu_mips64="qemu-mips64 -L /usr/mips64-linux-gnuabi64"
qemu_mips64el="qemu-mips64el -L /usr/mips64el-linux-gnuabi64"
qemu_mipsel="qemu-mipsel -L /usr/mipsel-linux-gnu"
qemu_powerpc="qemu-ppc -L /usr/powerpc-linux-gnu"
qemu_powerpc64="qemu-ppc64 -L /usr/powerpc64-linux-gnu"
@ -51,7 +54,7 @@ for arg in $*; do
done
# See comments in install-build-tools.sh.
llvm_version=16
llvm_version=18
case $target in
aarch64-linux-android)
@ -112,6 +115,24 @@ case $target in
export AR_i686_unknown_linux_musl=llvm-ar-$llvm_version
export CARGO_TARGET_I686_UNKNOWN_LINUX_MUSL_RUSTFLAGS="$rustflags_self_contained"
;;
mips-unknown-linux-gnu)
export CC_mips_unknown_linux_gnu=mips-linux-gnu-gcc
export AR_mips_unknown_linux_gnu=mips-linux-gnu-gcc-ar
export CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER=mips-linux-gnu-gcc
export CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER="$qemu_mips"
;;
mips64-unknown-linux-gnuabi64)
export CC_mips64_unknown_linux_gnuabi64=mips64-linux-gnuabi64-gcc
export AR_mips64_unknown_linux_gnuabi64=mips64-linux-gnuabi64-gcc-ar
export CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_LINKER=mips64-linux-gnuabi64-gcc
export CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_RUNNER="$qemu_mips64"
;;
mips64el-unknown-linux-gnuabi64)
export CC_mips64el_unknown_linux_gnuabi64=mips64el-linux-gnuabi64-gcc
export AR_mips64el_unknown_linux_gnuabi64=mips64el-linux-gnuabi64-gcc-ar
export CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_LINKER=mips64el-linux-gnuabi64-gcc
export CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_RUNNER="$qemu_mips64el"
;;
mipsel-unknown-linux-gnu)
export CC_mipsel_unknown_linux_gnu=mipsel-linux-gnu-gcc
export AR_mipsel_unknown_linux_gnu=mipsel-linux-gnu-gcc-ar

View File

@ -94,6 +94,24 @@ case $target in
--target=loongarch64-unknown-linux-gnu)
use_clang=1
;;
--target=mips-unknown-linux-gnu)
install_packages \
gcc-mips-linux-gnu \
libc6-dev-mips-cross \
qemu-user
;;
--target=mips64-unknown-linux-gnuabi64)
install_packages \
gcc-mips64-linux-gnuabi64 \
libc6-dev-mips64-cross \
qemu-user
;;
--target=mips64el-unknown-linux-gnuabi64)
install_packages \
gcc-mips64el-linux-gnuabi64 \
libc6-dev-mips64el-cross \
qemu-user
;;
--target=mipsel-unknown-linux-gnu)
install_packages \
gcc-mipsel-linux-gnu \
@ -155,7 +173,7 @@ esac
case "$OSTYPE" in
linux*)
ubuntu_codename=$(lsb_release --codename --short)
llvm_version=16
llvm_version=18
sudo apt-key add mk/llvm-snapshot.gpg.key
sudo add-apt-repository "deb http://apt.llvm.org/$ubuntu_codename/ llvm-toolchain-$ubuntu_codename-$llvm_version main"
sudo apt-get update

View File

@ -14,7 +14,7 @@
use crate::{calendar, time, Error};
pub use ring::io::{
der::{nested, Tag, CONSTRUCTED},
der::{nested, Tag},
Positive,
};

View File

@ -80,6 +80,7 @@ fn build_chain_inner(
// TODO: revocation.
#[allow(clippy::blocks_in_conditions)]
match loop_while_non_fatal_error(trust_anchors, |trust_anchor: &TrustAnchor| {
let trust_anchor_subject = untrusted::Input::from(trust_anchor.subject);
if !equal(cert.issuer, trust_anchor_subject) {

22
tests/data/fake-ca.cert Normal file
View File

@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDpzCCAo+gAwIBAgIEBAbK/jANBgkqhkiG9w0BAQsFADBxMQswCQYDVQQGEwJH
QjEPMA0GA1UECBMGTG9uZG9uMQ8wDQYDVQQHEwZMb25kb24xDzANBgNVBAoTBkdv
b2dsZTEMMAoGA1UECxMDRW5nMSEwHwYDVQQDExhGYWtlQ2VydGlmaWNhdGVBdXRo
b3JpdHkwHhcNMjIwMjI2MTEzNTU2WhcNMjMwMjI2MTEzNTU2WjBxMQswCQYDVQQG
EwJHQjEPMA0GA1UECBMGTG9uZG9uMQ8wDQYDVQQHEwZMb25kb24xDzANBgNVBAoT
Bkdvb2dsZTEMMAoGA1UECxMDRW5nMSEwHwYDVQQDExhGYWtlQ2VydGlmaWNhdGVB
dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDH7YBnivKV
qNrzbdxGZfWQ98UK8OKB9zJeNEpLOoKEQDjS8at/0QTKDUtlbRxFOJnt7jHPGiNO
ZlSa7MZXaoVjkRwxDyXxXF3QtMNWeUjIeUrSOtfVXqLuO6vIHYxyZhgfizkD1BI2
k8HRefSxhsk1ik+nV4PQgcOxW8yZawvj3RdJ17u4XMRYhmbn0wsx8Hykfat3/Hl2
mupZB6iziovy/iEtR0KXmg3274OqMrlLNqHyLfpE78N/HDJgN+tSLbZv8bVPpYDs
hCfuYbqHih/vMgX3F8or5MTx6MDM4dzKazz+EbFy3X5uySYkH1wml2Rgl1RaS1uX
7gxKYX0G28CNAgMBAAGjRzBFMA0GA1UdDgQGBAQBAgMEMA8GA1UdIwQIMAaABAEC
AwQwEgYDVR0TAQH/BAgwBgEB/wIBCjAPBgNVHQ8BAf8EBQMDB/+AMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2jezfOsPIRKPMYvh+N0f/qzwDULU7Mjn8FVHIYR+DgeMtOhD
A9+r8DjE8C/2eP+wGoPRxyNRM+awkcdLf5tm/vdwQ9eEQ8XPCkQ8khcZz1sVt5ku
7v1lWhxOGtJ9ley1Df31U61RPlIK3PPHcHW/JyQcr/yqSizT3xtpG+QS/SYcV9ug
wk4pd6QjBgLEyrIQ/OlXRcKVnA9g8Mpj4O8KME5Nd+C+LDWG+g9gvD4Fp3/SPF96
9bv1o6pErHMfriMyDsQFGzuYO/stMaxiok1zpTpx1al4eDpro3EYjJDS8LtW5LGp
I1Ie0g6GeBIN5JbKWytoFgA5VEBBh0WlQ3EH
-----END CERTIFICATE-----

BIN
tests/data/fake-ca.der Normal file

Binary file not shown.

0
tests/data/ok-ca.der Normal file
View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
tests/data/ok-v1.der Normal file

Binary file not shown.

Binary file not shown.

BIN
tests/data/ok-v2.der Normal file

Binary file not shown.

BIN
tests/data/ok-v3.der Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More