Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Branch Next has dependency on openssl even when running with rusttls #647

Open
angelorodem opened this issue Dec 10, 2024 · 1 comment
Open
Labels
bug Something isn't working

Comments

@angelorodem
Copy link

angelorodem commented Dec 10, 2024

Describe the bug

While trying to use the next branch in a machine without openssl it does not work because the rusttls feature gate still has dependency on openssl

To Reproduce

run cargo tree --package async-stripe

Expected behavior

The crate should not depend on openssl when using the feature rustls-tls-webpki-roots or other rust tls

seems that this is a possible misconfiguration where dependencies end up not using the rusttls variant like hyper

Library version

next branch 0.22.2

Additional context

async-stripe v0.22.2 (https://github.com/arlyon/async-stripe?branch=next#40caf235)
├── async-stripe-client-core v0.22.2 (https://github.com/arlyon/async-stripe?branch=next#40caf235)
│ ├── async-stripe-shared v0.22.2 (https://github.com/arlyon/async-stripe?branch=next#40caf235)
│ │ ├── async-stripe-types v0.22.2 (https://github.com/arlyon/async-stripe?branch=next#40caf235)
│ │ │ ├── miniserde v0.1.40
│ │ │ │ ├── itoa v1.0.14
│ │ │ │ ├── mini-internal v0.1.40 (proc-macro)
│ │ │ │ │ ├── proc-macro2 v1.0.92
│ │ │ │ │ │ └── unicode-ident v1.0.14
│ │ │ │ │ ├── quote v1.0.37
│ │ │ │ │ │ └── proc-macro2 v1.0.92 ()
│ │ │ │ │ └── syn v2.0.90
│ │ │ │ │ ├── proc-macro2 v1.0.92 (
)
│ │ │ │ │ ├── quote v1.0.37 ()
│ │ │ │ │ └── unicode-ident v1.0.14
│ │ │ │ └── ryu v1.0.18
│ │ │ ├── serde v1.0.215
│ │ │ │ └── serde_derive v1.0.215 (proc-macro)
│ │ │ │ ├── proc-macro2 v1.0.92 (
)
│ │ │ │ ├── quote v1.0.37 ()
│ │ │ │ └── syn v2.0.90 (
)
│ │ │ └── smol_str v0.2.2
│ │ │ └── serde v1.0.215 ()
│ │ ├── miniserde v0.1.40 (
)
│ │ ├── serde v1.0.215 ()
│ │ └── smol_str v0.2.2 (
)
│ ├── async-stripe-types v0.22.2 (https://github.com/arlyon/async-stripe?branch=next#40caf235) ()
│ ├── bytes v1.9.0
│ ├── futures-util v0.3.31
│ │ ├── futures-core v0.3.31
│ │ ├── futures-macro v0.3.31 (proc-macro)
│ │ │ ├── proc-macro2 v1.0.92 (
)
│ │ │ ├── quote v1.0.37 ()
│ │ │ └── syn v2.0.90 (
)
│ │ ├── futures-sink v0.3.31
│ │ ├── futures-task v0.3.31
│ │ ├── pin-project-lite v0.2.15
│ │ ├── pin-utils v0.1.0
│ │ └── slab v0.4.9
│ │ [build-dependencies]
│ │ └── autocfg v1.4.0
│ ├── miniserde v0.1.40 ()
│ ├── serde v1.0.215 (
)
│ ├── serde_json v1.0.133
│ │ ├── itoa v1.0.14
│ │ ├── memchr v2.7.4
│ │ ├── ryu v1.0.18
│ │ └── serde v1.0.215 ()
│ ├── serde_qs v0.12.0
│ │ ├── percent-encoding v2.3.1
│ │ ├── serde v1.0.215 (
)
│ │ └── thiserror v1.0.69
│ │ └── thiserror-impl v1.0.69 (proc-macro)
│ │ ├── proc-macro2 v1.0.92 ()
│ │ ├── quote v1.0.37 (
)
│ │ └── syn v2.0.90 ()
│ └── tracing v0.1.41
│ ├── log v0.4.22
│ ├── pin-project-lite v0.2.15
│ ├── tracing-attributes v0.1.28 (proc-macro)
│ │ ├── proc-macro2 v1.0.92 (
)
│ │ ├── quote v1.0.37 ()
│ │ └── syn v2.0.90 (
)
│ └── tracing-core v0.1.33
│ └── once_cell v1.20.2
├── async-stripe-shared v0.22.2 (https://github.com/arlyon/async-stripe?branch=next#40caf235) ()
├── bytes v1.9.0
├── hyper v0.14.31
│ ├── bytes v1.9.0
│ ├── futures-channel v0.3.31
│ │ ├── futures-core v0.3.31
│ │ └── futures-sink v0.3.31
│ ├── futures-core v0.3.31
│ ├── futures-util v0.3.31 (
)
│ ├── h2 v0.3.26
│ │ ├── bytes v1.9.0
│ │ ├── fnv v1.0.7
│ │ ├── futures-core v0.3.31
│ │ ├── futures-sink v0.3.31
│ │ ├── futures-util v0.3.31 ()
│ │ ├── http v0.2.12
│ │ │ ├── bytes v1.9.0
│ │ │ ├── fnv v1.0.7
│ │ │ └── itoa v1.0.14
│ │ ├── indexmap v2.7.0
│ │ │ ├── equivalent v1.0.1
│ │ │ └── hashbrown v0.15.2
│ │ ├── slab v0.4.9 (
)
│ │ ├── tokio v1.42.0
│ │ │ ├── bytes v1.9.0
│ │ │ ├── libc v0.2.167
│ │ │ ├── mio v1.0.3
│ │ │ │ └── libc v0.2.167
│ │ │ ├── parking_lot v0.12.3
│ │ │ │ ├── lock_api v0.4.12
│ │ │ │ │ └── scopeguard v1.2.0
│ │ │ │ │ [build-dependencies]
│ │ │ │ │ └── autocfg v1.4.0
│ │ │ │ └── parking_lot_core v0.9.10
│ │ │ │ ├── cfg-if v1.0.0
│ │ │ │ ├── libc v0.2.167
│ │ │ │ └── smallvec v1.13.2
│ │ │ ├── pin-project-lite v0.2.15
│ │ │ ├── signal-hook-registry v1.4.2
│ │ │ │ └── libc v0.2.167
│ │ │ ├── socket2 v0.5.8
│ │ │ │ └── libc v0.2.167
│ │ │ └── tokio-macros v2.4.0 (proc-macro)
│ │ │ ├── proc-macro2 v1.0.92 ()
│ │ │ ├── quote v1.0.37 (
)
│ │ │ └── syn v2.0.90 ()
│ │ ├── tokio-util v0.7.13
│ │ │ ├── bytes v1.9.0
│ │ │ ├── futures-core v0.3.31
│ │ │ ├── futures-sink v0.3.31
│ │ │ ├── pin-project-lite v0.2.15
│ │ │ └── tokio v1.42.0 (
)
│ │ └── tracing v0.1.41 ()
│ ├── http v0.2.12 (
)
│ ├── http-body v0.4.6
│ │ ├── bytes v1.9.0
│ │ ├── http v0.2.12 ()
│ │ └── pin-project-lite v0.2.15
│ ├── httparse v1.9.5
│ ├── httpdate v1.0.3
│ ├── itoa v1.0.14
│ ├── pin-project-lite v0.2.15
│ ├── socket2 v0.5.8 (
)
│ ├── tokio v1.42.0 ()
│ ├── tower-service v0.3.3
│ ├── tracing v0.1.41 (
)
│ └── want v0.3.1
│ └── try-lock v0.2.5
├── hyper-rustls v0.24.2
│ ├── futures-util v0.3.31 ()
│ ├── http v0.2.12 (
)
│ ├── hyper v0.14.31 ()
│ ├── log v0.4.22
│ ├── rustls v0.21.12
│ │ ├── log v0.4.22
│ │ ├── ring v0.17.8
│ │ │ ├── cfg-if v1.0.0
│ │ │ ├── getrandom v0.2.15
│ │ │ │ ├── cfg-if v1.0.0
│ │ │ │ └── libc v0.2.167
│ │ │ ├── spin v0.9.8
│ │ │ └── untrusted v0.9.0
│ │ │ [build-dependencies]
│ │ │ └── cc v1.2.3
│ │ │ └── shlex v1.3.0
│ │ ├── rustls-webpki v0.101.7
│ │ │ ├── ring v0.17.8 (
)
│ │ │ └── untrusted v0.9.0
│ │ └── sct v0.7.1
│ │ ├── ring v0.17.8 ()
│ │ └── untrusted v0.9.0
│ ├── rustls-native-certs v0.6.3
│ │ ├── openssl-probe v0.1.5
│ │ └── rustls-pemfile v1.0.4
│ │ └── base64 v0.21.7
│ ├── tokio v1.42.0 (
)
│ ├── tokio-rustls v0.24.1
│ │ ├── rustls v0.21.12 ()
│ │ └── tokio v1.42.0 (
)
│ └── webpki-roots v0.25.4
├── hyper-tls v0.5.0
│ ├── bytes v1.9.0
│ ├── hyper v0.14.31 ()
│ ├── native-tls v0.2.12
│ │ ├── log v0.4.22
│ │ ├── openssl v0.10.68
│ │ │ ├── bitflags v2.6.0
│ │ │ ├── cfg-if v1.0.0
│ │ │ ├── foreign-types v0.3.2
│ │ │ │ └── foreign-types-shared v0.1.1
│ │ │ ├── libc v0.2.167
│ │ │ ├── once_cell v1.20.2
│ │ │ ├── openssl-macros v0.1.1 (proc-macro)
│ │ │ │ ├── proc-macro2 v1.0.92 (
)
│ │ │ │ ├── quote v1.0.37 ()
│ │ │ │ └── syn v2.0.90 (
)
│ │ │ └── openssl-sys v0.9.104
│ │ │ └── libc v0.2.167
│ │ │ [build-dependencies]
│ │ │ ├── cc v1.2.3 ()
│ │ │ ├── pkg-config v0.3.31
│ │ │ └── vcpkg v0.2.15
**│ │ ├── openssl-probe v0.1.5
│ │ └── openssl-sys v0.9.104 (
)**
│ ├── tokio v1.42.0 ()
│ └── tokio-native-tls v0.3.1
│ ├── native-tls v0.2.12 (
)
│ └── tokio v1.42.0 ()
├── miniserde v0.1.40 (
)
├── thiserror v1.0.69 ()
└── tokio v1.42.0 (
)

@angelorodem angelorodem added the bug Something isn't working label Dec 10, 2024
@mzeitlin11
Copy link
Collaborator

Thanks for reporting this @angelorodem! Working on bumping some of the next branch deps, so wanted to look into this.

I can't reproduce this on the next branch - and also use the same commit you reference above in a personal project that has no openssl related dependency. Is it possible you have another dependency enabling a hyper native-tls feature, so then additive feature behavior shows it here as well? It's also very possible there's something we could improve in feature handling here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants