proxmox/proxmox-http/Cargo.toml
Lukas Wagner e8e5c11c6a fix #5808: http: use native-tls instead of rustls for the sync client
In the reference Bugzilla entry, a certificate with an IP address as a
SAN was used. rustls seems to have problems with that [1].
Also, pretty much all of our code uses native-tls at the moment, so
it makes sense to not pull in a second TLS implementation.

Tested by rebuilding libpve-rs-perl and testing a Gotify notification
target with a self-signed TLS certificate (one that is accepted by
OpenSSL but not by rusttls).

[1] https://github.com/rustls/rustls/issues/184

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2024-10-30 12:19:56 +01:00

81 lines
2.2 KiB
TOML

[package]
name = "proxmox-http"
description = "Proxmox HTTP library"
version = "0.9.3"
authors.workspace = true
edition.workspace = true
exclude.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[dependencies]
anyhow.workspace = true
base64 = { workspace = true, optional = true }
futures = { workspace = true, optional = true }
http = { workspace = true, optional = true }
hyper = { workspace = true, optional = true }
native-tls = { workspace = true, optional = true }
openssl = { version = "0.10", optional = true }
serde_json = { workspace = true, optional = true }
tokio = { workspace = true, features = [], optional = true }
tokio-openssl = { workspace = true, optional = true }
ureq = { version = "2.4", features = ["native-certs", "native-tls"], optional = true, default-features = false }
url = { workspace = true, optional = true }
proxmox-async = { workspace = true, optional = true }
proxmox-sys = { workspace = true, optional = true }
proxmox-io = { workspace = true, optional = true }
proxmox-lang = { workspace = true, optional = true }
proxmox-compression = { workspace = true, optional = true }
[dev-dependencies]
tokio = { workspace = true, features = [ "macros" ] }
flate2 = { workspace = true }
[features]
default = []
rate-limiter = ["dep:hyper"]
rate-limited-stream = [
"dep:hyper",
"dep:tokio",
"hyper?/client",
"rate-limiter",
"tokio?/time",
]
client = [
"dep:futures",
"dep:hyper",
"dep:openssl",
"dep:proxmox-compression",
"dep:tokio",
"dep:tokio-openssl",
"http-helpers",
"hyper?/client",
"hyper?/http1",
"hyper?/http2",
"hyper?/stream",
"hyper?/tcp",
"rate-limited-stream",
"tokio?/io-util",
]
client-sync = [ "client-trait", "http-helpers", "dep:ureq", "dep:native-tls" ]
client-trait = [ "dep:http" ]
http-helpers = [ "dep:base64", "dep:http", "dep:proxmox-sys", "dep:serde_json", "dep:url" ]
websocket = [
"dep:base64",
"dep:futures",
"dep:hyper",
"dep:openssl",
"dep:proxmox-sys",
"dep:proxmox-io",
"proxmox-io?/tokio",
"dep:proxmox-lang",
"dep:tokio",
"tokio?/io-util",
"tokio?/sync",
]