Skip to content

Commit 4eef238

Browse files
committed
Remove vendored OpenSSL in favor of platform-native TLS
Switch to using platform-native TLS implementations: - Windows: WinHTTP/Schannel (built-in) - macOS: SecureTransport (built-in) - Linux: System OpenSSL (via package manager) This removes the vendor-openssl feature and the openssl-sys dependency, eliminating the need to bundle OpenSSL with the binary. Users on Windows and macOS get TLS support out of the box, while Linux users need to have OpenSSL development libraries installed (which is common on most systems). Closes #2004
1 parent 450caed commit 4eef238

File tree

3 files changed

+11
-10
lines changed

3 files changed

+11
-10
lines changed

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,13 @@ members = [
2424
]
2525

2626
[features]
27-
default = ["ghemoji", "regex-fancy", "trace-libgit", "vendor-openssl"]
27+
default = ["ghemoji", "regex-fancy", "trace-libgit"]
2828
ghemoji = ["gh-emoji"]
2929
# regex-* features are mutually exclusive.
3030
regex-fancy = ["syntect/regex-fancy", "two-face/syntect-fancy"]
3131
regex-onig = ["syntect/regex-onig", "two-face/syntect-onig"]
3232
timing = ["scopetime/enabled"]
3333
trace-libgit = ["asyncgit/trace-libgit"]
34-
vendor-openssl = ["asyncgit/vendor-openssl"]
3534

3635
[dependencies]
3736
anyhow = "1.0"

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,9 +223,12 @@ see [NIGHTLIES.md](./NIGHTLIES.md)
223223
- Minimum supported `rust`/`cargo` version: `1.82`
224224
- See [Install Rust](https://www.rust-lang.org/tools/install)
225225

226-
- To build openssl dependency (see https://docs.rs/openssl/latest/openssl/)
227-
- perl >= 5.12 (strawberry perl works for windows https://strawberryperl.com/)
228-
- a c compiler (msvc, gcc or clang, cargo will find it)
226+
- TLS/SSL support uses platform-native libraries:
227+
- **Windows**: Uses WinHTTP/Schannel (built-in, no additional setup needed)
228+
- **macOS**: Uses SecureTransport (built-in, no additional setup needed)
229+
- **Linux**: Requires system OpenSSL development libraries (e.g., `libssl-dev` on Debian/Ubuntu, `openssl-devel` on Fedora)
230+
231+
- A C compiler is required to build native dependencies (msvc on Windows, gcc or clang on Unix)
229232

230233
- To run the complete test suite python is required (and it must be invocable as `python`)
231234

asyncgit/Cargo.toml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,17 @@ keywords = ["git"]
1414
[features]
1515
default = ["trace-libgit"]
1616
trace-libgit = []
17-
vendor-openssl = ["openssl-sys"]
1817

1918
[dependencies]
2019
bitflags = "2"
2120
crossbeam-channel = "0.5"
2221
dirs = "6.0"
2322
easy-cast = "0.5"
2423
fuzzy-matcher = "0.3"
24+
# TLS is provided by platform-native libraries:
25+
# - Windows: WinHTTP/Schannel (built-in)
26+
# - macOS: SecureTransport (built-in)
27+
# - Linux: System OpenSSL (install via package manager)
2528
git2 = "0.20"
2629
git2-hooks = { path = "../git2-hooks", version = ">=0.6" }
2730
gix = { version = "0.77.0", default-features = false, features = [
@@ -31,10 +34,6 @@ gix = { version = "0.77.0", default-features = false, features = [
3134
"status",
3235
] }
3336
log = "0.4"
34-
# git2 = { path = "../../extern/git2-rs", features = ["vendored-openssl"]}
35-
# git2 = { git="https://github.com/extrawurst/git2-rs.git", rev="fc13dcc", features = ["vendored-openssl"]}
36-
# pinning to vendored openssl, using the git2 feature this gets lost with new resolver
37-
openssl-sys = { version = '0.9', features = ["vendored"], optional = true }
3837
rayon = "1.11"
3938
rayon-core = "1.13"
4039
scopetime = { path = "../scopetime", version = "0.1" }

0 commit comments

Comments
 (0)