Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
181 changes: 178 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions deny.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ allow = [
"BSL-1.0",
"ISC",
"MIT",
"CDLA-Permissive-2.0",
"MPL-2.0",
# "OpenSSL",
"Unicode-3.0",
Expand Down
2 changes: 2 additions & 0 deletions sdk/core/azure_core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ reqwest = ["typespec_client_core/reqwest"]
reqwest_deflate = ["reqwest", "typespec_client_core/reqwest_deflate"]
reqwest_gzip = ["reqwest", "typespec_client_core/reqwest_gzip"]
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because azure_core’s default features still include reqwest_native_tls, users who add features = ["reqwest_rustls"] without also disabling default features will end up enabling both TLS backends and will still pull in native-tls/OpenSSL on some platforms. Consider documenting the intended dependency pattern (default-features = false + explicitly selecting one TLS backend), or adding a guard (e.g., a compile-time error or a dedicated reqwest_default_tls_backend feature) to reduce accidental misconfiguration.

Suggested change
reqwest_gzip = ["reqwest", "typespec_client_core/reqwest_gzip"]
reqwest_gzip = ["reqwest", "typespec_client_core/reqwest_gzip"]
# TLS backend selection for reqwest:
# - By default, this crate enables `reqwest_native_tls` via the `default` feature set above.
# - To use `reqwest_rustls` instead, depend on `azure_core` with `default-features = false`
# and then enable exactly one of `reqwest_native_tls` or `reqwest_rustls`, e.g.:
# azure_core = { version = "0.33", default-features = false, features = ["reqwest", "reqwest_rustls"] }
# - Enabling both `reqwest_native_tls` and `reqwest_rustls` at the same time will pull in
# both TLS backends (including native-tls/OpenSSL on some platforms).

Copilot uses AI. Check for mistakes.
reqwest_native_tls = ["reqwest", "typespec_client_core/reqwest_native_tls"]
reqwest_rustls = ["reqwest", "typespec_client_core/reqwest_rustls"]
test = ["typespec_client_core/test"]
tokio = ["dep:tokio", "typespec_client_core/tokio"]
xml = ["typespec_client_core/xml"]
Expand All @@ -88,6 +89,7 @@ features = [
"reqwest_deflate",
"reqwest_gzip",
"reqwest_native_tls",
"reqwest_rustls",
"tokio",
"xml",
]
Expand Down
2 changes: 2 additions & 0 deletions sdk/core/typespec_client_core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ reqwest = ["dep:reqwest"]
reqwest_deflate = ["reqwest", "reqwest/deflate"]
reqwest_gzip = ["reqwest", "reqwest/gzip"]
reqwest_native_tls = ["reqwest", "reqwest/native-tls"]
reqwest_rustls = ["reqwest", "reqwest/rustls-no-provider"]
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reqwest_rustls is wired to reqwest/rustls-no-provider. Given the intent is an “it just works” OpenSSL-free TLS option, this feature choice is surprising because it implies reqwest/rustls is being enabled without an associated provider. If this is intentional, please add crate-level documentation for what downstream users must do to make TLS work; otherwise, consider switching to the reqwest rustls feature that includes a provider by default (so enabling reqwest_rustls is sufficient on its own).

Suggested change
reqwest_rustls = ["reqwest", "reqwest/rustls-no-provider"]
reqwest_rustls = ["reqwest", "reqwest/rustls-tls-native-roots"]

Copilot uses AI. Check for mistakes.
test = [] # Enables extra tracing including error bodies that may contain PII.
tokio = ["tokio/sync", "tokio/time"]
xml = [
Expand All @@ -84,6 +85,7 @@ features = [
"reqwest_deflate",
"reqwest_gzip",
"reqwest_native_tls",
"reqwest_rustls",
"tokio",
"xml",
]
Expand Down
Loading