Skip to content

Release/111 #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 62 commits into from
Jul 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
b3bc32a
only build necessary target (#43)
BusyJay Nov 29, 2019
1450970
Bump to 111.6.1+1.1.1d
alexcrichton Dec 2, 2019
8aa5e83
Update checkout actions reference
alexcrichton Dec 3, 2019
212f292
Fixed apparent typo in the readme (#46)
alex Jan 6, 2020
a5f624a
Work around upstream cargo issues
alexcrichton Jan 9, 2020
1cd89f7
Add handling for target riscv64gc-unknown-linux-gnu (#48)
msizanoen1 Jan 9, 2020
6c789af
Disable asmjs for now
alexcrichton Jan 9, 2020
f8aa5b2
Allow to specify custom path for Perl (#49)
D4nte Jan 10, 2020
5e2626a
Add support for non-x86 archs on FreeBSD (#50)
t6 Jan 13, 2020
d8c15ed
Update CI installation of Rust on macos~
alexcrichton Jan 28, 2020
f97ac55
support for illumos systems (#52)
jclulow Mar 17, 2020
311d70c
More comment out of asmjs
alexcrichton Mar 17, 2020
287bc07
Use gmake by default on all DragonFlyBSD, FreeBSD or Solaris targets …
MikaelUrankar Mar 17, 2020
128c0c5
Bump to 1.1.1e (#54)
sfackler Mar 20, 2020
5f94f6c
Add support for illumos triple (#56)
pfmooney Mar 26, 2020
5de7a3d
Bump to 1.1.1f (#58)
sfackler Mar 31, 2020
889f9ba
Release 111.8.1+1.1.1f
sfackler Apr 1, 2020
b568893
Bump to 1.1.1g
sfackler Apr 21, 2020
babdbf0
Merge pull request #60 from alexcrichton/1.1.1g
sfackler Apr 21, 2020
269427f
Do not overwrite AR and RANLIB env vars if set (#62)
jamesmcm May 18, 2020
20bbf32
Add engine support for linux-gnu (#63)
hunterlxt Jun 9, 2020
6012eaa
Bump to 111.10.0+1.1.1g
alexcrichton Jun 10, 2020
f125198
Fix build on macOS with latest cc crate (#67)
benesch Jul 8, 2020
9713ad8
Bump to 111.10.1+1.1.1g
alexcrichton Jul 8, 2020
a6f44b7
add optional features for less used algorithms (#68)
petreeftime Jul 20, 2020
266e96f
Bump to 111.10.2+1.1.1g
alexcrichton Jul 20, 2020
9e7d91a
Bump to 1.1.1h (#73)
sfackler Sep 24, 2020
546ccc6
Add FreeBSD powerpc64le support (#75)
bdragon28 Sep 26, 2020
faeadb3
Add upstream patch to allow building on aarch64-apple-darwin (#74)
shepmaster Sep 27, 2020
5edac7c
i586 support (#76)
mon Sep 30, 2020
8338b33
Bump to 111.12.0+1.1.1h
alexcrichton Oct 11, 2020
6d9bf2c
Add aarch64-apple-darwin to CI (#77)
shepmaster Oct 16, 2020
3e0a44e
OpenBSD support (#78)
kiron1 Nov 3, 2020
5b21772
Update OpenSSL to 1.1.1i
alexcrichton Dec 9, 2020
eef95f2
Update CI
alexcrichton Dec 9, 2020
c73bd12
Remove now no-longer-necessary patches
alexcrichton Dec 9, 2020
889f573
Support targets `armv7-unknown-linux-gnueabi/musleabi` (#80)
IceCodeNew Dec 21, 2020
6eaa2b2
Make it compile for wasm32-wasi (#81)
tomaka Jan 4, 2021
a85d18b
Catch more failures on Windows in CI (#84)
alexcrichton Jan 5, 2021
19f8b13
Moved "no-shared" so that also windows statically link to the librari…
molleafauss Jan 7, 2021
e634b86
Bump to OpenSSL 1.1.1j (#85)
sfackler Feb 18, 2021
0ac015f
add nasm support for msvc (#87)
KaneGreen Mar 25, 2021
1182683
Bump to 1.1.1k
sfackler Mar 25, 2021
9cc3301
Add FreeBSD powerpc support (#90)
bdragon28 Apr 24, 2021
bef3839
Upgrade to GitHub-native Dependabot (#92)
dependabot-preview[bot] Apr 29, 2021
da063c1
Support targets `armv5te-unknown-linux-gnueabi/musleabi` (#94)
messense May 10, 2021
d09d550
Support targets `popwerpc64(le)-unknown-linux-musl` (#95)
messense May 10, 2021
75a4f8f
Support targets `mips64(el)-unknown-linux-muslabi64` (#96)
messense May 10, 2021
9b1da59
Support target `s390x-unknown-linux-musl` (#97)
messense May 10, 2021
164696d
Bump to openssl 1.1.1l (#100)
amousset Aug 24, 2021
5b7983e
Bump to 1.1.1m
sfackler Dec 14, 2021
8601de5
test on 1.1.1 branch
sfackler Dec 14, 2021
bec6cc8
Fix aarch64-apple-darwin CI (#116)
ehuss Dec 14, 2021
f082ecc
Merge pull request #117 from alexcrichton/1.1.1m
sfackler Dec 15, 2021
6e37830
Bump to 1.1.1n (#123)
amousset Mar 16, 2022
e66f5a1
Update "old" windows image on CI (#126)
alexcrichton Mar 16, 2022
ef76fcd
Bump to 1.1.1o (#136)
amousset May 5, 2022
24f3ff4
Backport wycheproof exclude to 1.1.1 branch (#139)
amousset May 19, 2022
7c37600
Configure `--openssldir` to its default location (#141) (#142)
alexcrichton May 19, 2022
8540eb2
Bump to 111.20.0+1.1.1o (#143)
alexcrichton May 19, 2022
e4efee1
Bump to 1.1.1p (#145)
amousset Jun 21, 2022
021754a
Bump to 1.1.1q (#147)
amousset Jul 5, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: cargo
directory: "/"
schedule:
interval: daily
time: "08:00"
open-pull-requests-limit: 10
149 changes: 63 additions & 86 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,148 +1,125 @@
name: CI
on: [push, pull_request]
on:
push:
branches: [master, release/111]
pull_request:
branches: [master, release/111]

defaults:
run:
shell: bash

jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
thing:
- stable
- beta
- nightly
- macos-x86_64
- arm-android
- arm64-android
- i686-android
- x86_64-android
- i686-linux
- arm-linux
- aarch64-linux
- x86_64-musl
- x86_64-mingw
- asmjs
- i686-msvc
- i686-msvc-static
- x86_64-msvc
- x86_64-msvc-static
include:
- thing: stable
target: x86_64-unknown-linux-gnu
- target: x86_64-unknown-linux-gnu
rust: stable
os: ubuntu-latest
- thing: beta
target: x86_64-unknown-linux-gnu
- target: x86_64-unknown-linux-gnu
rust: beta
os: ubuntu-latest
- thing: nightly
target: x86_64-unknown-linux-gnu
- target: x86_64-unknown-linux-gnu
rust: nightly
os: ubuntu-latest
- thing: macos-x86_64
target: x86_64-apple-darwin
- target: x86_64-apple-darwin
rust: stable
os: macos-latest
- thing: arm-android
target: arm-linux-androideabi
rust: stable
os: ubuntu-latest
- thing: arm64-android
target: aarch64-linux-android
rust: stable
os: ubuntu-latest
- thing: i686-android
target: i686-linux-android
- target: aarch64-apple-darwin
rust: nightly
os: macos-latest
#- target: arm-linux-androideabi
# rust: stable
# os: ubuntu-latest
- target: aarch64-linux-android
rust: stable
os: ubuntu-latest
- thing: x86_64-android
target: x86_64-linux-android
- target: i686-linux-android
rust: stable
os: ubuntu-latest
- thing: i686-linux
target: i686-unknown-linux-gnu
- target: x86_64-linux-android
rust: stable
os: ubuntu-latest
- thing: arm-linux
target: arm-unknown-linux-gnueabi
- target: i686-unknown-linux-gnu
rust: stable
os: ubuntu-latest
- thing: aarch64-linux
target: aarch64-unknown-linux-gnu
- target: arm-unknown-linux-gnueabi
rust: stable
os: ubuntu-latest
- thing: x86_64-musl
target: x86_64-unknown-linux-musl
- target: aarch64-unknown-linux-gnu
rust: stable
os: ubuntu-latest
- thing: x86_64-mingw
target: x86_64-pc-windows-gnu
- target: x86_64-unknown-linux-musl
rust: stable
os: ubuntu-latest
- thing: asmjs
target: asmjs-unknown-emscripten
- target: x86_64-pc-windows-gnu
rust: stable
os: ubuntu-latest
- thing: i686-msvc
target: i686-pc-windows-msvc
# - target: asmjs-unknown-emscripten
# rust: stable
# os: ubuntu-latest
- target: i686-pc-windows-msvc
rust: stable-i686-msvc
os: windows-2016
- thing: i686-msvc-static
target: i686-pc-windows-msvc
os: windows-2019
- target: i686-pc-windows-msvc
rust: stable-i686-msvc
os: windows-2016
crt_static: true
- thing: x86_64-msvc
target: x86_64-pc-windows-msvc
os: windows-2019
crt_static: yes
- target: x86_64-pc-windows-msvc
rust: stable-x86_64-msvc
os: windows-latest
- thing: x86_64-msvc-static
target: x86_64-pc-windows-msvc
- target: x86_64-pc-windows-msvc
rust: stable-x86_64-msvc
os: windows-latest
crt_static: true
crt_static: yes
- target: x86_64-pc-windows-msvc
rust: stable-x86_64-msvc
os: windows-latest
nasm_exe: installed

steps:
- uses: actions/checkout@master
- uses: actions/checkout@v1
with:
submodules: true
- name: Install Rust (rustup)
run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
if: matrix.os != 'macos-latest'
shell: bash
- name: Install Rust (macos)
run: |
curl https://sh.rustup.rs | sh -s -- -y
echo ::add-path::$HOME/.cargo/bin
if: matrix.os == 'macos-latest'
- run: rustup target add ${{ matrix.target }}
- name: Set crt-static
if: matrix.crt_static == 'yes'
run: echo ::set-env name=RUSTFLAGS::-Ctarget-feature=+crt-static
shell: bash
run: echo RUSTFLAGS=-Ctarget-feature=+crt-static >> $GITHUB_ENV
- name: Use strawberry perl
if: startsWith(matrix.os, 'windows')
run: echo ::add-path::C:/Strawberry/perl/bin
shell: bash
- run: |
run: echo OPENSSL_SRC_PERL=C:/Strawberry/perl/bin/perl >> $GITHUB_ENV
- name: Run tests (not Windows)
if: "!startsWith(matrix.os, 'windows')"
run: |
set -e
cargo generate-lockfile
./ci/run-docker.sh ${{ matrix.target }}
if: "!startsWith(matrix.os, 'windows')"
name: Run tests (not Windows)
- run: |
cargo test --manifest-path testcrate/Cargo.toml --target ${{ matrix.target }}
cargo test --manifest-path testcrate/Cargo.toml --target ${{ matrix.target }} --release
cargo run --release --target ${{ matrix.target }} --manifest-path testcrate/Cargo.toml --features package
- name: Download nasm.exe (Windows)
if: matrix.nasm_exe == 'installed'
run: |
WINNASMVERSION='2.15.05'
curl -O https://www.nasm.us/pub/nasm/releasebuilds/${WINNASMVERSION}/win64/nasm-${WINNASMVERSION}-win64.zip
unzip nasm-${WINNASMVERSION}-win64.zip
echo "$GITHUB_WORKSPACE\\nasm-${WINNASMVERSION}" >> $GITHUB_PATH
echo "OPENSSL_RUST_USE_NASM=1" >> $GITHUB_ENV
- name: Run tests (Windows)
if: startsWith(matrix.os, 'windows')
name: Run tests (Windows)
shell: cmd
run: |
cargo test --manifest-path testcrate/Cargo.toml --target ${{ matrix.target }} -vv
cargo test --manifest-path testcrate/Cargo.toml --target ${{ matrix.target }} --release -vv
cargo run --release --target ${{ matrix.target }} --manifest-path testcrate/Cargo.toml --features package -vv

rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v1
- name: Install Rust
run: rustup update stable && rustup default stable && rustup component add rustfmt
- run: cargo fmt -- --check
19 changes: 18 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "openssl-src"
version = "111.6.0+1.1.1d"
version = "111.22.0+1.1.1q"
authors = ["Alex Crichton <alex@alexcrichton.com>"]
license = "MIT/Apache-2.0"
readme = "README.md"
Expand All @@ -14,10 +14,27 @@ exclude = [
'openssl/krb5/*',
'openssl/pyca-cryptography/*',
'openssl/test/*',
'openssl/wycheproof/*',
]

[features]
default = []
# Enables compilation of some older algorithms: md2 (hash), rc5 (block cypher) and enabled use of
# some weaker algorithms in SSL connections. These are generally not recommended for use.
weak-crypto = []
# Enables compilation of the Camellia symmetric key block cypher. Since hardware acceleration for
# it is not available on most systems, this is not as used as AES.
camellia = []
# Enables compilation of International Data Encryption Algorithm (IDEA), a symmetric key block
# cypher sometimes used as an AES128 alternative.
idea = []
# Enables compilation of SEED, a symmetric key block cypher mostly used in South Korea, but
# otherwise not widely supported.
seed = []

[workspace]
members = ['testcrate']
exclude = ['target']

[dependencies]
cc = "1.0"
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,24 @@ This project is licensed under either of

at your option.

### Windows MSVC Assembly
Building OpenSSL for `windows-msvc` targets, users can choose whether to enable
assembly language routines, which requires [nasm](https://www.nasm.us/).
The build process will automatically detect whether `nasm.exe` is installed in
PATH. If found, the assembly language routines will be enabled (in other words,
the `no-asm` option will NOT be configured).
You can manipulate this behavior by setting the `OPENSSL_RUST_USE_NASM` environment
variable:
* `1`: Force enable the assembly language routines. (panic if `nasm.exe` is not
availible.)
* `0`: Force disable the assembly language routines even if the `nasm.exe` can be
found in PATH.
* not set: Let the build process automatically detect whether `nasm.exe` is
installed. If found, enable. If not, disable.
However, this environment variable does not take effects on non-windows platforms.

### Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in Serde by you, as defined in the Apache-2.0 license, shall be
for inclusion in openssl-src by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.
2 changes: 1 addition & 1 deletion ci/docker/aarch64-linux-android/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ RUN android-ndk-r15b/build/tools/make_standalone_toolchain.py \

ENV PATH=$PATH:/android/ndk/bin \
CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android-gcc \
CARGO_TARGET_AARCH64_LINUX_ANDROID_RUNNER=true
CARGO_TARGET_AARCH64_LINUX_ANDROID_RUNNER=echo
2 changes: 1 addition & 1 deletion ci/docker/aarch64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ RUN apt-get update -y && apt-get install -y --no-install-recommends \
libc6-dev \
gcc-aarch64-linux-gnu \
libc6-dev-arm64-cross
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER=true \
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER=echo \
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
2 changes: 1 addition & 1 deletion ci/docker/arm-linux-androideabi/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ RUN android-ndk-r15b/build/tools/make_standalone_toolchain.py \

ENV PATH=$PATH:/android/ndk/bin \
CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \
CARGO_TARGET_ARM_LINUX_ANDROIDEABI_RUNNER=true
CARGO_TARGET_ARM_LINUX_ANDROIDEABI_RUNNER=echo
2 changes: 1 addition & 1 deletion ci/docker/arm-unknown-linux-gnueabi/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ RUN apt-get update -y && apt-get install -y --no-install-recommends \
gcc-arm-linux-gnueabi \
libc6-dev-armel-cross

ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER=true \
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER=echo \
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-linux-gnueabi-gcc
2 changes: 1 addition & 1 deletion ci/docker/i686-linux-android/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ RUN android-ndk-r15b/build/tools/make_standalone_toolchain.py \

ENV PATH=$PATH:/android/ndk/bin \
CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android-gcc \
CARGO_TARGET_I686_LINUX_ANDROID_RUNNER=true
CARGO_TARGET_I686_LINUX_ANDROID_RUNNER=echo
2 changes: 1 addition & 1 deletion ci/docker/x86_64-linux-android/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ RUN android-ndk-r15b/build/tools/make_standalone_toolchain.py \

ENV PATH=$PATH:/android/ndk/bin \
CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=x86_64-linux-android-gcc \
CARGO_TARGET_X86_64_LINUX_ANDROID_RUNNER=true
CARGO_TARGET_X86_64_LINUX_ANDROID_RUNNER=echo
2 changes: 1 addition & 1 deletion ci/docker/x86_64-pc-windows-gnu/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ RUN apt-get update -y && apt-get install -y --no-install-recommends \
gcc-mingw-w64-x86-64

ENV CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER=x86_64-w64-mingw32-gcc \
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUNNER=true
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUNNER=echo
39 changes: 37 additions & 2 deletions ci/run.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,39 @@
#!/bin/bash

target=$1
testcrate_dir="$(pwd)/testcrate"
set -ex
cargo test --manifest-path testcrate/Cargo.toml --target $1 -vv
cargo test --manifest-path testcrate/Cargo.toml --target $1 -vv --release

if [ "$1" = "aarch64-apple-darwin" ] ; then
export CARGO_TARGET_AARCH64_APPLE_DARWIN_RUNNER=echo
fi

cargo test --manifest-path "$testcrate_dir/Cargo.toml" --target $1 -vv
cargo test --manifest-path "$testcrate_dir/Cargo.toml" --target $1 -vv --release

if [ "$1" = "x86_64-unknown-linux-gnu" ] ; then
cargo test --manifest-path "$testcrate_dir/Cargo.toml" --target $1 -vv --all-features

# Run a few tests here:
#
# * Make sure the packaged crate file isn't bigger than 10MB which is
# crate.io's limit.
# * Make sure that the package crate itself works.
#
# A lot of OpenSSL's source code is excluded on crates.io because it makes the
# crate file much too large, so the test here should inform us if we're
# missing anything actually required to build OpenSSL.
rm -rf target/ci
cargo package --allow-dirty --target-dir target/ci
crate=`ls target/ci/package/*.crate`
filesize=$(stat -c%s "$crate")
echo "tarball is $filesize bytes"
if (( filesize > 10000000 )); then
echo "file size too big"
exit 1
fi
rm "$crate"
cd target/ci/package/openssl-src-*
cp -r "$testcrate_dir" .
cargo test --manifest-path "testcrate/Cargo.toml" --target $1 -vv
fi
2 changes: 1 addition & 1 deletion openssl
Submodule openssl updated 1372 files
Loading