Skip to content

ci: build the release tarballs with rustls - #38

Merged
BKPepe merged 1 commit into
masterfrom
release-rustls
Nov 5, 2026
Merged

BKPepe merged 1 commit into
masterfrom
release-rustls

Conversation

@BKPepe

@BKPepe BKPepe commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

The tarballs compiled in OpenSSL through openssl-src, which is stuck on 3.6.3 because openssl-sys only accepts its 300.x series. OpenSSL lists 24 CVEs fixed since, and the advisory databases this project scans do not cover them.

Tarballs now use rustls, the default feature. They stay static and the aarch64 one goes from 6.67 MB to 3.15 MB. vendored-openssl goes away, and --features native-tls,native-tls/vendored still builds the same thing. OpenWrt keeps linking its own libopenssl.

What changes for tarball users:

  • A self-signed certificate that is its own trust anchor is refused even with --ca-cert. --skip-cert-verify remains.
  • AES can be slower on ARM without NEON. Not measured.

A tag now also stops on a known advisory in its Cargo.lock, because advisories in rustls reach the tarballs from now on. v1.2.1 therefore needs the rustls and rustls-webpki updates first.

Checked: aarch64, armv7 and arm musl builds run --list over HTTPS, the ARM ones under qemu, and aarch64 ran a download test against the same server as v1.2.0. cross 0.2.5 builds the OpenSSL backend with this lock file. CI starts every cross-built binary with --help under the image's QEMU runner, without network. The cross job gets a cache per matrix entry, because entries restoring each other's build fail with E0463. #22 has the same fix. release.yml itself has not run.

@BKPepe
BKPepe force-pushed the release-rustls branch 3 times, most recently from b21c71e to b1e02b9 Compare November 5, 2026 19:35
The tarballs compiled in OpenSSL through openssl-src, which is stuck on
3.6.3 because openssl-sys only accepts its 300.x series. OpenSSL lists 24
CVEs fixed since, and the advisory databases this project scans do not
cover them.

rustls is the default feature, static as well, and the aarch64 binary goes
from 6.67 MB to 3.15 MB. vendored-openssl goes. OpenWrt keeps linking its
own libopenssl.

A tag now also stops on a known advisory in its lock file, because
advisories in rustls reach the tarballs from now on.

CI starts each cross-built binary with --help under the QEMU runner of its
image, without network, and the cross job gets a cache per matrix entry,
because entries restoring each other's build fail with E0463.
@BKPepe
BKPepe merged commit f0b6310 into master Nov 5, 2026
20 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant