alexcrichton / alexcrichton/curl-rust

Building expects `openssl/engine.h` despite engine API being deprecated?

未关闭
#570 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Rust
星标
1.1k
派生
259
PR 合并指标
30 天内没有已合并 PR

描述

Equivalent of https://github.com/alexcrichton/ssh2-rs/issues/328

```
cargo:warning=curl/lib/vtls/openssl.c:103:10: fatal error: 'openssl/engine.h' file not found
cargo:warning= 103 | #include
cargo:warning= | ^~~~~~~~~~~~~~~~~~
cargo:warning=1 warning and 1 error generated.
```

---

Curl likewise can opt-out:

https://github.com/curl/curl/blob/curl-8_9_1/lib/vtls/openssl.c#L100-L104

```c
#if (OPENSSL_VERSION_NUMBER >= 0x0090700fL) && /* 0.9.7 or later */ \
!defined(OPENSSL_NO_ENGINE) && !defined(OPENSSL_NO_UI_CONSOLE)
#define USE_OPENSSL_ENGINE
#include
#endif
```

For Fedora 41 onwards `openssl-devel-engine` provides build compatibility for the time being. A brief overview follows:

> https://discussion.fedoraproject.org/t/f41-change-proposal-openssl-deprecate-engine-system-wide
>
> Engines are not FIPS compatible and corresponding API is deprecated since OpenSSL 3.0. The engine functionality we are aware of (`PKCS#11`, TPM) is either covered by providers or will be covered soon.
>
> We are going to prevent creating the new packages dependent on OpenSSL ENGINE API and remove ENGINE dependencies from the existing packages.
>
> OpenSSL `libcrypto.so` exports the same `ENGINE_*` symbols as for f40. Applications relying on the ENGINE API can’t be built but still work.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。