Disable default dep features (#1364)

This commit is contained in:
Eugene 2025-06-04 10:12:02 +02:00 committed by GitHub
parent 450b3066d8
commit fa0a0d19be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 137 additions and 169 deletions

40
Cargo.lock generated
View file

@ -2462,16 +2462,6 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d"
[[package]]
name = "nu-ansi-term"
version = "0.46.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
dependencies = [
"overload",
"winapi",
]
[[package]]
name = "num-bigint"
version = "0.4.6"
@ -2671,12 +2661,6 @@ dependencies = [
"syn 2.0.101",
]
[[package]]
name = "overload"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "p256"
version = "0.13.2"
@ -2835,9 +2819,9 @@ dependencies = [
[[package]]
name = "pgwire"
version = "0.28.0"
version = "0.30.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c84e671791f3a354f265e55e400be8bb4b6262c1ec04fac4289e710ccf22ab43"
checksum = "4ca6c26b25be998208a13ff2f0c55b567363f34675410e6d6f1c513a150583fd"
dependencies = [
"async-trait",
"aws-lc-rs",
@ -2849,8 +2833,9 @@ dependencies = [
"lazy-regex",
"md5",
"postgres-types",
"rand 0.8.5",
"rand 0.9.1",
"rust_decimal",
"rustls-pki-types",
"thiserror 2.0.12",
"tokio",
"tokio-rustls",
@ -3370,8 +3355,8 @@ version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2"
dependencies = [
"aws-lc-rs",
"pem",
"ring",
"rustls-pki-types",
"time",
"yasna",
@ -3636,7 +3621,6 @@ dependencies = [
"ed25519-dalek",
"elliptic-curve",
"enum_dispatch",
"flate2",
"futures",
"generic-array",
"getrandom 0.2.16",
@ -5099,17 +5083,6 @@ dependencies = [
"valuable",
]
[[package]]
name = "tracing-log"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [
"log",
"once_cell",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.19"
@ -5117,16 +5090,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
dependencies = [
"matchers",
"nu-ansi-term",
"once_cell",
"regex",
"sharded-slab",
"smallvec",
"thread_local",
"time",
"tracing",
"tracing-core",
"tracing-log",
]
[[package]]

View file

@ -20,17 +20,17 @@ default-members = ["warpgate"]
resolver = "2"
[workspace.dependencies]
bytes = "1.4"
data-encoding = "2.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
russh = { version = "0.52.1", features = ["des"] }
futures = "0.3"
tokio-stream = { version = "0.1.17", features = ["net"] }
tokio-rustls = "0.26"
enum_dispatch = "0.3.13"
rustls = "0.23"
sqlx = { version = "0.8", features = ["tls-rustls-aws-lc-rs"] }
bytes = { version = "1.4", default-features = false }
data-encoding = { version = "2.3", default-features = false }
serde = { version = "1.0", features = ["derive"], default-features = false }
serde_json = { version = "1.0", default-features = false }
russh = { version = "0.52.1", features = ["des"], default-features = false }
futures = { version = "0.3", default-features = false }
tokio-stream = { version = "0.1.17", features = ["net"], default-features = false }
tokio-rustls = { version = "0.26", default-features = false }
enum_dispatch = { version = "0.3.13", default-features = false }
rustls = { version = "0.23", default-features = false }
sqlx = { version = "0.8", features = ["tls-rustls-aws-lc-rs"], default-features = false }
sea-orm = { version = "1.0", default-features = false, features = ["runtime-tokio", "macros"] }
sea-orm-migration = { version = "1.0", default-features = false, features = [
"cli",
@ -42,17 +42,18 @@ poem = { version = "3.1", features = [
"websocket",
"rustls",
"embed",
] }
password-hash = { version = "0.5", features = ["std"] }
delegate = "0.13"
tracing = "0.1"
schemars = "0.9.0"
rustls-pemfile = "2.2"
thiserror = "2"
rand = "0.8"
rand_chacha = "0.3"
rand_core = { version = "0.6", features = ["std"] }
dialoguer = "0.11"
], default-features = false }
password-hash = { version = "0.5", features = ["std"], default-features = false }
delegate = { version = "0.13", default-features = false }
tracing = { version = "0.1", default-features = false }
schemars = { version = "0.9.0", default-features = false, features = ["derive", "std"] }
rustls-pemfile = { version = "2.2", default-features = false }
thiserror = { version = "2", default-features = false }
rand = { version = "0.8", default-features = false }
rand_chacha = { version = "0.3", default-features = false }
rand_core = { version = "0.6", features = ["std"], default-features = false }
dialoguer = { version = "0.11", default-features = false, features = ["editor", "password"] }
tokio = { version = "1.20", features = ["tracing", "signal", "macros", "rt-multi-thread", "io-util"], default-features = false }
[profile.release]
lto = true

View file

@ -23,13 +23,10 @@
# dependencies not shared by any other crates, would be ignored, as the target
# list here is effectively saying which targets you are building for.
targets = [
# The triple can be any string, but only the target triples built in to
# rustc (as of 1.40) can be checked against actual config expressions
#"x86_64-unknown-linux-musl",
# You can also specify which target_features you promise are enabled for a
# particular target. target_features are currently not validated against
# the actual valid features supported by the target architecture.
#{ triple = "wasm32-unknown-unknown", features = ["atomics"] },
"x86_64-unknown-linux-gnu",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"aarch64-apple-darwin",
]
# When creating the dependency graph used as the source of truth when checks are
# executed, this field can be used to prune crates from the graph, removing them
@ -101,7 +98,7 @@ highlight = "all"
# The default lint level for `default` features for crates that are members of
# the workspace that is being checked. This can be overridden by allowing/denying
# `default` on a crate-by-crate basis if desired.
workspace-default-features = "allow"
workspace-default-features = "warn"
# The default lint level for `default` features for external crates that are not
# members of the workspace. This can be overridden by allowing/denying `default`
# on a crate-by-crate basis if desired.

View file

@ -5,12 +5,12 @@ name = "warpgate-admin"
version = "0.14.0"
[dependencies]
anyhow = { version = "1.0", features = ["std"] }
async-trait = "0.1"
anyhow = { version = "1.0", features = ["std"], default-features = false }
async-trait = { version = "0.1", default-features = false }
bytes.workspace = true
chrono = { version = "0.4", default-features = false }
futures.workspace = true
hex = "0.4"
hex = { version = "0.4", default-features = false }
mime_guess = { version = "2.0", default-features = false }
poem.workspace = true
poem-openapi = { version = "5.1", features = [
@ -18,18 +18,18 @@ poem-openapi = { version = "5.1", features = [
"chrono",
"uuid",
"static-files",
] }
], default-features = false }
russh.workspace = true
rust-embed = "8.3"
rust-embed = { version = "8.3", default-features = false }
sea-orm.workspace = true
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
tokio = { version = "1.20", features = ["tracing"] }
tokio.workspace = true
tracing.workspace = true
uuid = { version = "1.3", features = ["v4", "serde"] }
uuid = { version = "1.3", features = ["v4", "serde"], default-features = false }
warpgate-common = { version = "*", path = "../warpgate-common" }
warpgate-core = { version = "*", path = "../warpgate-core" }
warpgate-db-entities = { version = "*", path = "../warpgate-db-entities" }
warpgate-protocol-ssh = { version = "*", path = "../warpgate-protocol-ssh" }
regex = "1.6"
regex = { version = "1.6", default-features = false }

View file

@ -9,44 +9,44 @@ name = "config-schema"
path = "src/config_schema.rs"
[dependencies]
anyhow = "1.0"
argon2 = "0.5"
async-trait = "0.1"
anyhow = { version = "1.0", default-features = false }
argon2 = { version = "0.5", default-features = false }
async-trait = { version = "0.1", default-features = false }
bytes.workspace = true
chrono = { version = "0.4", default-features = false, features = ["serde"] }
data-encoding.workspace = true
delegate.workspace = true
humantime-serde = "1.1"
humantime-serde = { version = "1.1", default-features = false }
futures.workspace = true
once_cell = "1.17"
once_cell = { version = "1.17", default-features = false }
password-hash.workspace = true
poem = { version = "3.1", features = ["rustls"] }
poem = { version = "3.1", features = ["rustls"], default-features = false }
poem-openapi = { version = "5.1", features = [
"swagger-ui",
"chrono",
"uuid",
"static-files",
] }
], default-features = false }
rand.workspace = true
rand_chacha.workspace = true
rand_core.workspace = true
russh.workspace = true
rustls-native-certs = "0.8"
rustls-native-certs = { version = "0.8", default-features = false }
sea-orm.workspace = true
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
tokio = { version = "1.20", features = ["tracing"] }
tokio.workspace = true
tokio-rustls.workspace = true
totp-rs = { version = "5.0", features = ["otpauth"] }
totp-rs = { version = "5.0", features = ["otpauth"], default-features = false }
tracing.workspace = true
tracing-core = "0.1"
url = "2.2"
uuid = { version = "1.3", features = ["v4", "serde"] }
warpgate-sso = { version = "*", path = "../warpgate-sso" }
tracing-core = { version = "0.1", default-features = false }
url = { version = "2.2", default-features = false }
uuid = { version = "1.3", features = ["v4", "serde"], default-features = false }
warpgate-sso = { version = "*", path = "../warpgate-sso", default-features = false }
rustls.workspace = true
rustls-pemfile.workspace = true
webpki = "0.22"
webpki = { version = "0.22", default-features = false }
tokio-stream.workspace = true
git-version = "0.3.9"
git-version = { version = "0.3.9", default-features = false }
schemars.workspace = true

View file

@ -28,7 +28,7 @@ poem-openapi = { version = "5.1", features = [
"chrono",
"uuid",
"static-files",
] }
], default-features = false }
rand.workspace = true
rand_chacha.workspace = true
rand_core.workspace = true
@ -36,17 +36,17 @@ sea-orm.workspace = true
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
tokio = { version = "1.20", features = ["tracing"] }
totp-rs = { version = "5.0", features = ["otpauth"] }
tokio.workspace = true
totp-rs = { version = "5.0", features = ["otpauth"], default-features = false }
tracing.workspace = true
tracing-core = "0.1"
tracing-subscriber = "0.3"
url = "2.2"
uuid = { version = "1.3", features = ["v4", "serde"] }
warpgate-sso = { version = "*", path = "../warpgate-sso" }
tracing-core = { version = "0.1", default-features = false }
tracing-subscriber = { version = "0.3", default-features = false }
url = { version = "2.2", default-features = false }
uuid = { version = "1.3", features = ["v4", "serde"], default-features = false }
warpgate-sso = { version = "*", path = "../warpgate-sso", default-features = false }
rustls.workspace = true
rustls-pemfile.workspace = true
webpki = "0.22"
webpki = { version = "0.22", default-features = false }
[features]
postgres = ["sea-orm/sqlx-postgres"]

View file

@ -12,7 +12,7 @@ authors = [
]
[dependencies]
tokio = { version = "1.20", features = ["io-util"] }
tokio.workspace = true
bitflags = { version = "2", default-features = false }
bytes.workspace = true
futures-core = { version = "0.3", default-features = false }

View file

@ -5,9 +5,9 @@ name = "warpgate-db-entities"
version = "0.14.0"
[dependencies]
bytes = "1.4"
bytes = { version = "1.4", default-features = false }
chrono = { version = "0.4", default-features = false, features = ["serde"] }
poem-openapi = { version = "5.1", features = ["chrono", "uuid"] }
poem-openapi = { version = "5.1", features = ["chrono", "uuid"], default-features = false }
sqlx.workspace = true
sea-orm = { workspace = true, features = [
"macros",
@ -17,5 +17,5 @@ sea-orm = { workspace = true, features = [
], default-features = false }
serde.workspace = true
serde_json.workspace = true
uuid = { version = "1.3", features = ["v4", "serde"] }
warpgate-common = { version = "*", path = "../warpgate-common" }
uuid = { version = "1.3", features = ["v4", "serde"], default-features = false }
warpgate-common = { version = "*", path = "../warpgate-common", default-features = false }

View file

@ -8,7 +8,7 @@ version = "0.14.0"
[lib]
[dependencies]
tokio = { version = "1.20", features = ["macros", "rt-multi-thread"] }
tokio.workspace = true
chrono = { version = "0.4", default-features = false, features = ["serde"] }
data-encoding.workspace = true
sea-orm = { workspace = true, features = [

View file

@ -12,10 +12,10 @@ cookie = "0.18"
data-encoding.workspace = true
delegate.workspace = true
futures.workspace = true
http = "1.0"
once_cell = "1.17"
http = { version = "1.0", default-features = false }
once_cell = { version = "1.17", default-features = false }
poem.workspace = true
poem-openapi = { version = "5.1", features = ["swagger-ui"] }
poem-openapi = { version = "5.1", features = ["swagger-ui"], default-features = false }
reqwest = { version = "0.12", features = [
"http2", # required for connecting to targets behind AWS ELB
"rustls-tls-native-roots-no-provider",
@ -24,16 +24,16 @@ reqwest = { version = "0.12", features = [
sea-orm.workspace = true
serde.workspace = true
serde_json.workspace = true
tokio = { version = "1.20", features = ["tracing", "signal"] }
tokio-tungstenite = { version = "0.25", features = ["rustls-tls-native-roots"] }
tokio.workspace = true
tokio-tungstenite = { version = "0.25", features = ["rustls-tls-native-roots"], default-features = false }
tracing.workspace = true
warpgate-admin = { version = "*", path = "../warpgate-admin" }
warpgate-common = { version = "*", path = "../warpgate-common" }
warpgate-core = { version = "*", path = "../warpgate-core" }
warpgate-db-entities = { version = "*", path = "../warpgate-db-entities" }
warpgate-web = { version = "*", path = "../warpgate-web" }
warpgate-sso = { version = "*", path = "../warpgate-sso" }
percent-encoding = "2.1"
uuid = { version = "1.3", features = ["v4"] }
regex = "1.6"
url = "2.4"
warpgate-admin = { version = "*", path = "../warpgate-admin", default-features = false }
warpgate-common = { version = "*", path = "../warpgate-common", default-features = false }
warpgate-core = { version = "*", path = "../warpgate-core", default-features = false }
warpgate-db-entities = { version = "*", path = "../warpgate-db-entities", default-features = false }
warpgate-web = { version = "*", path = "../warpgate-web", default-features = false }
warpgate-sso = { version = "*", path = "../warpgate-sso", default-features = false }
percent-encoding = { version = "2.1", default-features = false }
uuid = { version = "1.3", features = ["v4"], default-features = false }
regex = { version = "1.6", default-features = false }
url = { version = "2.4", default-features = false }

View file

@ -5,25 +5,25 @@ name = "warpgate-protocol-mysql"
version = "0.14.0"
[dependencies]
warpgate-common = { version = "*", path = "../warpgate-common" }
warpgate-core = { version = "*", path = "../warpgate-core" }
warpgate-db-entities = { version = "*", path = "../warpgate-db-entities" }
warpgate-database-protocols = { version = "*", path = "../warpgate-database-protocols" }
anyhow = { version = "1.0", features = ["std"] }
async-trait = "0.1"
warpgate-common = { version = "*", path = "../warpgate-common", default-features = false }
warpgate-core = { version = "*", path = "../warpgate-core", default-features = false }
warpgate-db-entities = { version = "*", path = "../warpgate-db-entities", default-features = false }
warpgate-database-protocols = { version = "*", path = "../warpgate-database-protocols", default-features = false }
anyhow = { version = "1.0", features = ["std"], default-features = false }
async-trait = { version = "0.1", default-features = false }
futures.workspace = true
tokio = { version = "1.20", features = ["tracing", "signal"] }
tokio.workspace = true
tracing.workspace = true
uuid = { version = "1.3", features = ["v4"] }
uuid = { version = "1.3", features = ["v4"], default-features = false }
bytes.workspace = true
mysql_common = { version = "0.34", default-features = false }
flate2 = { version = "1", features = ["zlib"] } # flate2 requires a backend selection feature, but mysql_common does not depend on any when default-features = false
flate2 = { version = "1", features = ["zlib"], default-features = false }
rand.workspace = true
sha1 = "0.10"
sha1 = { version = "0.10", default-features = false }
password-hash.workspace = true
rustls.workspace = true
rustls-pemfile.workspace = true
tokio-rustls.workspace = true
thiserror.workspace = true
webpki = "0.22"
once_cell = "1.17"
webpki = { version = "0.22", default-features = false }
once_cell = { version = "1.17", default-features = false }

View file

@ -5,19 +5,19 @@ name = "warpgate-protocol-postgres"
version = "0.14.0"
[dependencies]
warpgate-common = { version = "*", path = "../warpgate-common" }
warpgate-core = { version = "*", path = "../warpgate-core" }
anyhow = { version = "1.0", features = ["std"] }
async-trait = "0.1"
tokio = { version = "1.20", features = ["tracing", "signal"] }
warpgate-common = { version = "*", path = "../warpgate-common", default-features = false }
warpgate-core = { version = "*", path = "../warpgate-core", default-features = false }
anyhow = { version = "1.0", features = ["std"], default-features = false }
async-trait = { version = "0.1", default-features = false }
tokio.workspace = true
tracing.workspace = true
uuid = { version = "1.2" }
uuid = { version = "1.2", default-features = false }
bytes.workspace = true
rustls.workspace = true
rustls-pemfile.workspace = true
tokio-rustls.workspace = true
thiserror.workspace = true
rustls-native-certs = "0.8"
pgwire = { version = "0.28" }
rustls-native-certs = { version = "0.8", default-features = false }
pgwire = { version = "0.30", default-features = false, features = ["server-api-aws-lc-rs"] }
rsasl = { version = "2.1.0", default-features = false, features = ["config_builder", "scram-sha-2", "std", "plain", "provider"] }
futures.workspace = true

View file

@ -5,23 +5,23 @@ name = "warpgate-protocol-ssh"
version = "0.14.0"
[dependencies]
ansi_term = "0.12"
anyhow = { version = "1.0", features = ["std"] }
async-trait = "0.1"
bimap = "0.6"
ansi_term = { version = "0.12", default-features = false }
anyhow = { version = "1.0", features = ["std"], default-features = false }
async-trait = { version = "0.1", default-features = false }
bimap = { version = "0.6", default-features = false, features = ["std"] }
bytes.workspace = true
dialoguer.workspace = true
curve25519-dalek = "4.0.0" # pin due to build fail on x86
ed25519-dalek = "2.0.0" # pin due to build fail on x86 in 2.1
curve25519-dalek = { version = "4.0.0", default-features = false } # pin due to build fail on x86
ed25519-dalek = { version = "2.0.0", default-features = false } # pin due to build fail on x86 in 2.1
futures.workspace = true
russh.workspace = true
sea-orm.workspace = true
thiserror.workspace = true
time = "0.3"
tokio = { version = "1.20", features = ["tracing", "signal"] }
time = { version = "0.3", default-features = false }
tokio.workspace = true
tracing.workspace = true
uuid = { version = "1.3", features = ["v4"] }
warpgate-common = { version = "*", path = "../warpgate-common" }
warpgate-core = { version = "*", path = "../warpgate-core" }
warpgate-db-entities = { version = "*", path = "../warpgate-db-entities" }
zeroize = "^1.5"
uuid = { version = "1.3", features = ["v4"], default-features = false }
warpgate-common = { version = "*", path = "../warpgate-common", default-features = false }
warpgate-core = { version = "*", path = "../warpgate-core", default-features = false }
warpgate-db-entities = { version = "*", path = "../warpgate-db-entities", default-features = false }
zeroize = { version = "^1.5", default-features = false }

View file

@ -7,7 +7,7 @@ version = "0.14.0"
[dependencies]
bytes.workspace = true
thiserror.workspace = true
tokio = { version = "1.20", features = ["tracing", "macros"] }
tokio.workspace = true
tracing.workspace = true
openidconnect = { version = "4.0", default-features = false, features = [
"reqwest",
@ -15,8 +15,8 @@ openidconnect = { version = "4.0", default-features = false, features = [
] }
serde.workspace = true
serde_json.workspace = true
once_cell = "1.17"
jsonwebtoken = "9"
once_cell = { version = "1.17", default-features = false }
jsonwebtoken = { version = "9", default-features = false, features = ["use_pem"] }
data-encoding.workspace = true
futures.workspace = true
schemars.workspace = true

View file

@ -6,6 +6,6 @@ version = "0.14.0"
[dependencies]
serde.workspace = true
rust-embed = "8.3"
rust-embed = { version = "8.3", default-features = false }
serde_json.workspace = true
thiserror.workspace = true

View file

@ -5,32 +5,32 @@ name = "warpgate"
version = "0.14.0"
[dependencies]
ansi_term = "0.12"
anyhow = { version = "1.0", features = ["backtrace"] }
async-trait = "0.1"
ansi_term = { version = "0.12", default-features = false }
anyhow = { version = "1.0", features = ["backtrace"], default-features = false }
async-trait = { version = "0.1", default-features = false }
bytes.workspace = true
clap = { version = "4.0", features = ["derive"] }
clap = { version = "4.0", features = ["derive"], default-features = false }
config = { version = "0.15", features = ["yaml"], default-features = false }
console = { version = "0.15", default-features = false }
console-subscriber = { version = "0.4", optional = true }
console-subscriber = { version = "0.4", optional = true, default-features = false }
data-encoding.workspace = true
dialoguer.workspace = true
enum_dispatch.workspace = true
futures.workspace = true
notify = "8.0"
rcgen = { version = "0.13", features = ["zeroize"] }
notify = { version = "8.0", default-features = false, features = ["fsevent-sys"] }
rcgen = { version = "0.13", features = ["zeroize", "crypto", "aws_lc_rs", "pem"], default-features = false }
rustls.workspace = true
serde_json.workspace = true
serde_yaml = "0.9"
serde_yaml = { version = "0.9", default-features = false }
sea-orm.workspace = true
time = "0.3"
tokio = { version = "1.20", features = ["tracing", "signal", "macros"] }
time = { version = "0.3", default-features = false }
tokio.workspace = true
tracing.workspace = true
tracing-subscriber = { version = "0.3", features = [
"env-filter",
"local-time",
] }
uuid = "1.3"
], default-features = false }
uuid = { version = "1.3", default-features = false }
warpgate-admin = { version = "*", path = "../warpgate-admin" }
warpgate-common = { version = "*", path = "../warpgate-common" }
warpgate-core = { version = "*", path = "../warpgate-core" }
@ -42,7 +42,7 @@ warpgate-protocol-ssh = { version = "*", path = "../warpgate-protocol-ssh" }
schemars.workspace = true
[target.'cfg(target_os = "linux")'.dependencies]
sd-notify = "0.4"
sd-notify = { version = "0.4", default-features = false }
[features]
default = ["sqlite"]