mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-10-29 15:06:59 +00:00
sqlx 0.8 pins the unmaintained webpki-roots 0.26 line for its rustls trust store, which still contains the recently compromised e-Tugra CA root. Upgrading sqlx to 0.9 switches its dependency to webpki-roots 1.x, and the lockfile now resolves to 1.0.10 where the distrusted root has been removed from the compiled-in Mozilla trust store. sqlx 0.9 requires dynamic SQL strings to be explicitly audited via the new SqlSafeStr trait: only &'static str literals are accepted as-is. All affected call sites (MySQL KV backend, MySQL election, integration tests and fuzz targets) now wrap their internally generated SQL templates in AssertSqlSafe; the wrapped SQL is built from operator config or test-local identifiers only, and dynamic data keeps flowing through bind parameters. The mysql-rsa feature is enabled alongside mysql to preserve 0.8 authentication behavior: sqlx 0.9 gates non-TLS RSA password auth (caching_sha2_password / sha256_password) behind it. Signed-off-by: Ning Sun <sunning@greptime.com>
201 lines
4.4 KiB
TOML
201 lines
4.4 KiB
TOML
[package]
|
|
name = "tests-fuzz"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[package.metadata]
|
|
cargo-fuzz = true
|
|
|
|
[features]
|
|
default = []
|
|
unstable = ["nix"]
|
|
|
|
[dependencies]
|
|
arbitrary = { version = "1.3.0", features = ["derive"] }
|
|
async-trait = { workspace = true }
|
|
axum.workspace = true
|
|
chrono = { workspace = true }
|
|
clap.workspace = true
|
|
common-base = { workspace = true }
|
|
common-error = { workspace = true }
|
|
common-macro = { workspace = true }
|
|
common-meta = { workspace = true }
|
|
common-query = { workspace = true }
|
|
common-runtime = { workspace = true }
|
|
common-telemetry = { workspace = true }
|
|
common-time = { workspace = true }
|
|
datatypes = { workspace = true }
|
|
derive_builder = { workspace = true }
|
|
dotenv = "0.15"
|
|
futures = { workspace = true }
|
|
humantime = { workspace = true }
|
|
k8s-openapi = { version = "0.22", features = ["v1_30"] }
|
|
kube = { version = "0.92", features = [
|
|
"runtime",
|
|
"derive",
|
|
"client",
|
|
"admission",
|
|
] }
|
|
lazy_static = { workspace = true }
|
|
libfuzzer-sys = "0.4"
|
|
nix = { version = "0.28", features = ["process", "signal"], optional = true }
|
|
partition = { workspace = true }
|
|
paste.workspace = true
|
|
rand = { workspace = true }
|
|
rand_chacha = "0.9"
|
|
reqwest = { workspace = true }
|
|
rskafka.workspace = true
|
|
rustls = { workspace = true, default-features = false, features = ["aws_lc_rs", "std", "tls12"] }
|
|
schemars = "0.8"
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_yaml = "0.9"
|
|
snafu = { workspace = true }
|
|
sql = { workspace = true }
|
|
sqlparser.workspace = true
|
|
sqlx = { workspace = true, features = [
|
|
"mysql",
|
|
"mysql-rsa",
|
|
"chrono",
|
|
] }
|
|
store-api = { workspace = true }
|
|
strum.workspace = true
|
|
tinytemplate = "1.2"
|
|
tokio = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
dotenv.workspace = true
|
|
|
|
[[bin]]
|
|
name = "fuzz_create_table"
|
|
path = "targets/ddl/fuzz_create_table.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_create_logical_table"
|
|
path = "targets/ddl/fuzz_create_logical_table.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_insert"
|
|
path = "targets/fuzz_insert.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_insert_logical_table"
|
|
path = "targets/fuzz_insert_logical_table.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_repartition_table"
|
|
path = "targets/ddl/fuzz_repartition_table.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_repartition_table_chaos"
|
|
path = "targets/ddl/fuzz_repartition_table_chaos.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_repartition_metric_table"
|
|
path = "targets/ddl/fuzz_repartition_metric_table.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_alter_table"
|
|
path = "targets/ddl/fuzz_alter_table.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_alter_logical_table"
|
|
path = "targets/ddl/fuzz_alter_logical_table.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_create_database"
|
|
path = "targets/ddl/fuzz_create_database.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "unstable_fuzz_create_table_standalone"
|
|
path = "targets/unstable/fuzz_create_table_standalone.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
required-features = ["unstable"]
|
|
|
|
[[bin]]
|
|
name = "fuzz_failover_mito_regions"
|
|
path = "targets/failover/fuzz_failover_mito_regions.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_failover_metric_regions"
|
|
path = "targets/failover/fuzz_failover_metric_regions.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_migrate_mito_regions"
|
|
path = "targets/migration/fuzz_migrate_mito_regions.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_migrate_metric_regions"
|
|
path = "targets/migration/fuzz_migrate_metric_regions.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "fuzz_remote_wal_logical_prune"
|
|
path = "targets/wal/fuzz_remote_wal_logical_prune.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "kafka_wal_helper"
|
|
path = "utils/kafka_wal_helper.rs"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
|
|
[package.metadata.cargo-shear]
|
|
# `common-error` is required by `common-macro`'s `stack_trace_debug`: the
|
|
# generated code references `::common_error` paths, so it must stay a direct
|
|
# dependency.
|
|
# `k8s-openapi` is a feature-pinning dependency: it enables the `v1_30`
|
|
# version feature required by the transitive `kube` -> `k8s-openapi` chain,
|
|
# but is never referenced by name in source code.
|
|
ignored = ["common-error", "k8s-openapi"]
|