remove openssl / native-tls in favor of rustls -- this lets Artcraft run on Linux! (#907)

This commit is contained in:
Brandon Thomas
2025-11-20 22:46:05 -05:00
committed by GitHub
parent d852d24226
commit 0a5f220a7d
39 changed files with 123 additions and 156 deletions
Generated
+73 -65
View File
@@ -916,31 +916,7 @@ dependencies = [
"hmac 0.12.1",
"http-types",
"hyper 0.14.28",
"hyper-tls 0.5.0",
"serde",
"serde_json",
"serde_path_to_error",
"serde_qs 0.10.1",
"sha2 0.10.8",
"smart-default 0.6.0",
"smol_str 0.1.24",
"thiserror 1.0.63",
"tokio",
]
[[package]]
name = "async-stripe"
version = "0.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cecbddf002ad7a13d2041eadf1b234cb3f57653ffdd901a01bc3f1c65aa77440"
dependencies = [
"chrono",
"futures-util",
"hex",
"hmac 0.12.1",
"http-types",
"hyper 0.14.28",
"hyper-tls 0.5.0",
"hyper-rustls 0.24.2",
"serde",
"serde_json",
"serde_path_to_error",
@@ -963,7 +939,7 @@ dependencies = [
"bytes 1.10.1",
"http-body-util",
"hyper 1.6.0",
"hyper-tls 0.6.0",
"hyper-rustls 0.27.3",
"hyper-util",
"miniserde",
"thiserror 2.0.12",
@@ -1148,10 +1124,11 @@ checksum = "9a13149d0cf3f7f9b9261fad4ec63b2efbf9a80665f52def86282d26255e6331"
dependencies = [
"http 1.3.1",
"log",
"native-tls",
"rustls 0.22.4",
"serde",
"serde_json",
"url",
"webpki-roots 0.26.2",
]
[[package]]
@@ -5262,6 +5239,22 @@ dependencies = [
"want",
]
[[package]]
name = "hyper-rustls"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
dependencies = [
"futures-util",
"http 0.2.11",
"hyper 0.14.28",
"log",
"rustls 0.21.12",
"rustls-native-certs 0.6.3",
"tokio",
"tokio-rustls 0.24.1",
]
[[package]]
name = "hyper-rustls"
version = "0.27.3"
@@ -5272,11 +5265,12 @@ dependencies = [
"http 1.3.1",
"hyper 1.6.0",
"hyper-util",
"log",
"rustls 0.23.13",
"rustls-native-certs",
"rustls-native-certs 0.8.0",
"rustls-pki-types",
"tokio",
"tokio-rustls",
"tokio-rustls 0.26.0",
"tower-service",
"webpki-roots 0.26.2",
]
@@ -5293,19 +5287,6 @@ dependencies = [
"tokio-io-timeout",
]
[[package]]
name = "hyper-tls"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
dependencies = [
"bytes 1.10.1",
"hyper 0.14.28",
"native-tls",
"tokio",
"tokio-native-tls",
]
[[package]]
name = "hyper-tls"
version = "0.6.0"
@@ -6133,13 +6114,15 @@ dependencies = [
"httpdate",
"idna 0.5.0",
"mime",
"native-tls",
"nom",
"once_cell",
"quoted_printable",
"rustls 0.21.12",
"rustls-pemfile 1.0.4",
"socket2 0.5.10",
"tokio",
"url",
"webpki-roots 0.25.3",
]
[[package]]
@@ -9103,15 +9086,15 @@ dependencies = [
"http 0.2.11",
"http-body 0.4.6",
"hyper 0.14.28",
"hyper-tls 0.5.0",
"hyper-rustls 0.24.2",
"ipnet",
"js-sys",
"log",
"mime",
"native-tls",
"once_cell",
"percent-encoding",
"pin-project-lite",
"rustls 0.21.12",
"rustls-pemfile 1.0.4",
"serde",
"serde_json",
@@ -9119,13 +9102,14 @@ dependencies = [
"sync_wrapper 0.1.2",
"system-configuration 0.5.1",
"tokio",
"tokio-native-tls",
"tokio-rustls 0.24.1",
"tokio-util",
"tower-service",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"webpki-roots 0.25.3",
"winreg 0.50.0",
]
@@ -9149,8 +9133,8 @@ dependencies = [
"http-body 1.0.1",
"http-body-util",
"hyper 1.6.0",
"hyper-rustls",
"hyper-tls 0.6.0",
"hyper-rustls 0.27.3",
"hyper-tls",
"hyper-util",
"js-sys",
"log",
@@ -9161,7 +9145,7 @@ dependencies = [
"pin-project-lite",
"quinn",
"rustls 0.23.13",
"rustls-native-certs",
"rustls-native-certs 0.8.0",
"rustls-pki-types",
"serde",
"serde_json",
@@ -9169,7 +9153,7 @@ dependencies = [
"sync_wrapper 1.0.2",
"tokio",
"tokio-native-tls",
"tokio-rustls",
"tokio-rustls 0.26.0",
"tokio-util",
"tower 0.5.2",
"tower-http",
@@ -9190,6 +9174,7 @@ dependencies = [
"serde",
"serde_derive",
"sqlx",
"sqlx-core",
"toml 0.8.22",
"workspace-build-acceleration",
]
@@ -9497,17 +9482,33 @@ version = "0.21.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
dependencies = [
"log",
"ring",
"rustls-webpki 0.101.7",
"sct",
]
[[package]]
name = "rustls"
version = "0.22.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
dependencies = [
"log",
"ring",
"rustls-pki-types",
"rustls-webpki 0.102.8",
"subtle",
"zeroize",
]
[[package]]
name = "rustls"
version = "0.23.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8"
dependencies = [
"log",
"once_cell",
"ring",
"rustls-pki-types",
@@ -9516,6 +9517,18 @@ dependencies = [
"zeroize",
]
[[package]]
name = "rustls-native-certs"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
dependencies = [
"openssl-probe",
"rustls-pemfile 1.0.4",
"schannel",
"security-framework",
]
[[package]]
name = "rustls-native-certs"
version = "0.8.0"
@@ -10608,7 +10621,6 @@ dependencies = [
"indexmap 2.9.0",
"log",
"memchr",
"native-tls",
"once_cell",
"paste",
"percent-encoding",
@@ -10825,7 +10837,6 @@ dependencies = [
"anyhow",
"artcraft_api_defs",
"async-stripe 0.26.0",
"async-stripe 0.41.0",
"async-trait",
"base64 0.22.1",
"billing_artcraft_component",
@@ -12092,6 +12103,16 @@ dependencies = [
"tokio-sync",
]
[[package]]
name = "tokio-rustls"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
"rustls 0.21.12",
"tokio",
]
[[package]]
name = "tokio-rustls"
version = "0.26.0"
@@ -14074,11 +14095,6 @@ dependencies = [
"hashbrown 0.14.5",
"heck 0.4.1",
"hmac 0.12.1",
"hyper 0.14.28",
"hyper 1.6.0",
"hyper-rustls",
"hyper-tls 0.6.0",
"hyper-util",
"idna 1.0.3",
"indexmap 1.9.3",
"indexmap 2.9.0",
@@ -14088,15 +14104,12 @@ dependencies = [
"md-5 0.10.6",
"memchr",
"mime_guess",
"native-tls",
"num-bigint",
"num-integer",
"num-iter",
"num-rational",
"num-traits",
"once_cell",
"openssl",
"openssl-sys",
"parking_lot 0.12.2",
"percent-encoding",
"proc-macro2",
@@ -14109,7 +14122,6 @@ dependencies = [
"regex",
"regex-automata",
"regex-syntax",
"reqwest 0.12.23",
"rsa",
"rustls-pki-types",
"schemars",
@@ -14123,10 +14135,6 @@ dependencies = [
"smallvec 1.15.1",
"socket2 0.5.10",
"spin 0.9.8",
"sqlx",
"sqlx-core",
"sqlx-macros",
"sqlx-macros-core",
"sqlx-mysql",
"sqlx-sqlite",
"stable_deref_trait",
+1 -1
View File
@@ -246,7 +246,7 @@ log = "0.4.27"
once_cell = "1.21.3"
rand = "0.9.1"
regex = "1.12.2"
reqwest = { version = "0.12.23", features = ["json", "cookies"] }
reqwest = { version = "0.12.23", default-features = false, features = [ "charset", "http2", "system-proxy", "json", "cookies", "rustls-tls" ] }
reqwest-websocket = { version = "0.5.0" }
serde = { version = "1.0.219", features = ["derive"] }
serde_derive = "1.0.219"
+1 -1
View File
@@ -36,7 +36,7 @@ env_logger = "0.11.3"
async-trait = "0.1.75"
# The "never-encode-slash" feature seems to have been removed:
# https://github.com/durch/rust-s3/pull/254
rust-s3 = { version = "0.36.0-beta.2" }
rust-s3 = { version = "0.36.0-beta.2", default-features = false, features = ["fail-on-err", "tags", "tokio-rustls-tls"] }
# Runtime
tokio.workspace = true
@@ -15,5 +15,5 @@ workspace-build-acceleration.workspace = true
# External
easyenv = { path = "../../lib/easyenv" }
log.workspace = true
reqwest = "0.12.4"
reqwest = { version = "0.12.4", default-features = false, features = [ "charset", "http2", "system-proxy", "rustls-tls" ] }
serde_json.workspace = true
@@ -43,9 +43,9 @@ rand.workspace = true
# NB: We switched to Tokio from `async-std` for broader ecosystem support.
tokio = { version = "1.38.0", features = ["macros"] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
elasticsearch = "8.5.0-alpha.1"
elasticsearch = { version = "8.5.0-alpha.1", default-features = false, features = ["rustls-tls"] }
[dev-dependencies]
# None yet
@@ -39,7 +39,7 @@ log.workspace = true
# NB: We switched to Tokio from `async-std` for broader ecosystem support.
tokio.workspace = true
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
[dev-dependencies]
# None yet
+1 -1
View File
@@ -36,7 +36,7 @@ log = "0.4.14"
# Bigger pieces
futures = { version = "0.3.17", features = ["thread-pool"] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
tokio = { version = "1.38.0", features = ["macros"] }
# Serialization
+1 -1
View File
@@ -36,7 +36,7 @@ log = "0.4.14"
# Bigger pieces
tokio = { version = "1.38.0", features = ["macros"] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Serialization
serde = "1.0.125"
@@ -38,8 +38,8 @@ strum = { version = "0.26", features = ["derive"] }
# Bigger pieces
tokio = { version = "1.38.0", features = ["macros"] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
elasticsearch = "8.5.0-alpha.1"
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
elasticsearch = { version = "8.5.0-alpha.1", default-features = false, features = ["rustls-tls"] }
# Serialization
serde = "1.0.125"
@@ -40,7 +40,7 @@ tempdir.workspace = true
# Async + clients
tokio.workspace = true
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Serialization
serde.workspace = true
+1 -1
View File
@@ -20,5 +20,5 @@ errors = { path = "../errors" }
workspace-build-acceleration = { version = "0.1", path = "../../workspace-build-acceleration" }
# External
lettre = "0.11.2"
lettre = { version = "0.11.2", default-features = false, features = ["smtp-transport", "pool", "hostname", "builder", "rustls-tls"] }
+1 -1
View File
@@ -42,7 +42,7 @@ toml.workspace = true
# Runtime + Clients
tokio = { version = "1.38.0", features = ["full"] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
[dev-dependencies]
# None yet
+1 -1
View File
@@ -23,7 +23,7 @@ errors = { path = "../errors" }
workspace-build-acceleration = { version = "0.1", path = "../../workspace-build-acceleration" }
# External
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
[dev-dependencies]
# None yet
+1 -1
View File
@@ -36,7 +36,7 @@ serde_derive = "1.0.125"
serde_json = "1.0.108"
# HTTP
reqwest = { version = "0.12", features = ["json"] } # HTTP Client
reqwest = { version = "0.12", default-features = false, features = ["charset", "http2", "system-proxy", "rustls-tls", "json"] } # HTTP Client
# Scraping
rss = "2.0.2"
@@ -25,7 +25,7 @@ errors = { workspace = true }
tokens = { workspace = true }
# External
elasticsearch = "8.5.0-alpha.1"
elasticsearch = { version = "8.5.0-alpha.1", default-features = false, features = ["rustls-tls"] }
jsonpath_lib = "0.3.0"
log = "0.4.14"
once_cell = "1.19.0"
@@ -47,7 +47,7 @@ num-traits = "0.2.19"
tokio = { version = "1.38.0", features = ["full"] }
rand.workspace = true
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono", "bigdecimal" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono", "bigdecimal" ] }
[dev-dependencies]
serial_test = "3.0.0"
@@ -1,3 +1,5 @@
# NOTE: THIS IS NOT THE ACTIVE `sqlite` package!
[package]
name = "sqlite_queries"
edition = "2018"
@@ -28,7 +30,7 @@ log = "0.4.14"
once_cell = "1.9.0"
regex = "1.5.4"
sqlx = { version = "0.7.4", features = [ "sqlite", "runtime-tokio-native-tls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "sqlite", "runtime-tokio-rustls", "chrono" ] }
[dev-dependencies]
# None yet
@@ -27,7 +27,7 @@ log.workspace = true
# TODO(bt,2025-07-09): Update sqlx ASAP. We're stuck on 0.7 because of the complex use of internal types and macros in the database crate.
# We're going to embed in-memory SQLite
sqlx = { package = "sqlx", version = "0.7.4", features = ["runtime-tokio", "sqlite", "chrono"] }
sqlx = { package = "sqlx", version = "0.7.4", features = ["runtime-tokio-rustls", "sqlite", "chrono"] }
# Needed to safety check some queries we can't use escaping for
once_cell.workspace = true
@@ -43,5 +43,5 @@ serde_json.workspace = true
[build-dependencies]
tempfile.workspace = true
sqlx = { package = "sqlx", version = "0.7.4", features = ["runtime-tokio", "sqlite", "chrono"] }
sqlx = { package = "sqlx", version = "0.7.4", features = ["runtime-tokio-rustls", "sqlite", "chrono"] }
#rusqlite = "0.25.4" # NB: For the build.rs file
@@ -28,7 +28,7 @@ tokens = { workspace = true }
serde = "1.0.125"
serde_derive = "1.0.125"
sqlx = { version = "0.7.4", features = [ "mysql", "sqlite", "runtime-tokio-native-tls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "sqlite", "runtime-tokio-rustls", "chrono" ] }
sqlx-core = { version = "0.7.4" }
sqlx-mysql= { version = "0.7.4" }
+1 -1
View File
@@ -31,7 +31,7 @@ serde.workspace = true
serde_derive.workspace = true
# Database conversion of enum types is optional
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-native-tls", "chrono" ], optional = true }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ], optional = true }
sqlx-core = { version = "0.7.4" , optional = true }
sqlx-mysql = { version = "0.7.4" , optional = true }
@@ -30,7 +30,8 @@ serde = { workspace = true }
serde_derive = { workspace = true }
# MySql Database
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", default-features = false, features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
sqlx-core = { version = "0.7.4", features = ["rustls"] }
[dev-dependencies]
# Test serialization
+1 -1
View File
@@ -36,7 +36,7 @@ rand = { version = "0.8.5", features = ["std_rng"] }
once_cell.workspace = true
# Database conversion of enum types is optional
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ], optional = true }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ], optional = true }
sqlx-core = { version = "0.7.4", optional = true }
sqlx-mysql= { version = "0.7.4", optional = true }
+1 -1
View File
@@ -38,7 +38,7 @@ hostname = "0.4.0"
log = "0.4.14"
rand = "0.8.5"
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Runtime
# NB: We switched to Tokio from `async-std` for broader ecosystem support.
+1 -1
View File
@@ -50,7 +50,7 @@ subprocess = "0.2.9"
tempdir.workspace = true
zip = "0.6.6"
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Redis
r2d2_redis = "0.14.0"
@@ -37,7 +37,7 @@ server_environment = { path = "../../../lib/server_environment" }
anyhow = { workspace = true }
log = { workspace = true }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Redis
r2d2_redis = "0.14.0"
+2 -2
View File
@@ -43,9 +43,9 @@ log = "0.4.14"
once_cell = "1.18.0"
rand = "0.8.5"
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
elasticsearch = "8.5.0-alpha.1"
elasticsearch = { version = "8.5.0-alpha.1", default-features = false, features = ["rustls-tls"] }
# Runtime
# NB: We switched to Tokio from `async-std` for broader ecosystem support.
+2 -2
View File
@@ -62,7 +62,7 @@ once_cell.workspace = true
subprocess = "0.2.9"
tempdir.workspace = true
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Redis
r2d2_redis = "0.14.0"
@@ -74,7 +74,7 @@ tokio-util = "0.7.12"
tokio-stream = "0.1.16"
# HTTP Client
reqwest = { version = "0.12.4", features = ["blocking"] }
reqwest = { version = "0.12.4", default-features = false, features = ["charset", "http2", "system-proxy", "blocking", "rustls-tls"] }
# HTTP Server
actix-web.workspace = true
@@ -42,7 +42,7 @@ log.workspace = true
subprocess = "0.2.9"
tempdir.workspace = true
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Redis
r2d2_redis = "0.14.0"
@@ -42,7 +42,7 @@ lfu = "0.2.5"
log = "0.4.14"
tempdir.workspace = true
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Redis
r2d2_redis = "0.14.0"
@@ -51,7 +51,7 @@ r2d2_redis = "0.14.0"
tokio.workspace = true
# HTTP
reqwest = { version = "0.12.4", features = ["blocking"] }
reqwest = { version = "0.12.4", default-features = false, features = ["charset", "http2", "system-proxy", "blocking", "rustls-tls"] }
# Serialization
serde.workspace = true
@@ -40,7 +40,7 @@ log.workspace = true
subprocess = "0.2.9"
tempdir.workspace = true
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Redis
r2d2_redis = "0.14.0"
@@ -40,7 +40,7 @@ log.workspace = true
subprocess = "0.2.9"
tempdir.workspace = true
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Redis
r2d2_redis = "0.14.0"
+2 -2
View File
@@ -45,7 +45,7 @@ serde_derive = { workspace = true }
serde_json = { workspace = true }
# Money
async-stripe = { version = "0.26.0", default-features = false, features = ["runtime-tokio-hyper", "connect", "billing", "checkout", "webhook-events"] }
async-stripe = { version = "0.26.0", default-features = false, features = ["runtime-tokio-hyper-rustls", "connect", "billing", "checkout", "webhook-events"] }
# Async traits
# NB: note: `async` trait functions are not currently supported
@@ -53,7 +53,7 @@ async-stripe = { version = "0.26.0", default-features = false, features = ["runt
# include support for async fn in traits.
async-trait = "0.1.58"
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
utoipa = { version = "4", features = ["chrono","actix_extras"] }
@@ -41,10 +41,10 @@ once_cell.workspace = true
serde.workspace = true
serde_derive.workspace = true
serde_json.workspace = true
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Money
async-stripe = { version = "1.0.0-alpha.2", features = [] }
async-stripe = { version = "1.0.0-alpha.2", default-features = false, features = ["rustls-tls-native"] }
async-stripe-checkout = { version = "1.0.0-alpha.2", features = ["checkout_session"] }
async-stripe-core = { version = "1.0.0-alpha.2", features = ["customer"] }
async-stripe-shared= { version = "1.0.0-alpha.2", features = [] }
@@ -47,7 +47,7 @@ serde_json.workspace = true
# include support for async fn in traits.
async-trait = "0.1.58"
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
#sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
#utoipa = { version = "4", features = ["chrono","actix_extras"] }
@@ -101,13 +101,8 @@ strum_macros = "0.26.4"
time = "0.3.30"
url.workspace = true
# Stripe for ArtCraft
async_stripe_artcraft = { package = "async-stripe", version = "0.41.0", default-features = false, features = ["runtime-tokio-hyper", "connect", "billing", "checkout", "webhook-events"] }
#async_stripe_artcraft = { git = "https://github.com/arlyon/async-stripe", branch = "openapi-1720743905", default-features = false, features = ["runtime-tokio-hyper", "connect", "billing", "checkout", "webhook-events"] }
#async_stripe_artcraft = { git = "https://github.com/arlyon/async-stripe", branch = "next", default-features = false, features = ["runtime-tokio-hyper", "connect", "billing", "checkout", "webhook-events"] }
# Money
async-stripe = { version = "0.26.0", default-features = false, features = ["runtime-tokio-hyper", "connect", "billing", "checkout", "webhook-events"] }
async-stripe = { version = "0.26.0", default-features = false, features = ["runtime-tokio-hyper-rustls", "connect", "billing", "checkout", "webhook-events"] }
# Language tag parsing
# TODO: Move to language support crate
@@ -125,14 +120,14 @@ futures = { version = "0.3.17", features = ["thread-pool"] } # feature for Threa
futures-util = "0.3.29"
futures_old_for_limiter = { package = "futures", version = "0.1.29" } # Older version of futures for `limiter` crate
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio", "tls-rustls", "chrono" ] }
sqlx = { version = "0.7.4", features = [ "mysql", "runtime-tokio-rustls", "chrono" ] }
# Redis Database
limitation = { path = "../../../vendor/limitation" }
r2d2_redis = "0.14.0"
# Elasticsearch
elasticsearch = "8.5.0-alpha.1"
elasticsearch = { version = "8.5.0-alpha.1", default-features = false, features = ["rustls-tls"] }
# Files
infer = "0.16.0"
@@ -142,7 +137,7 @@ tempfile.workspace = true
# The "never-encode-slash" feature seems to have been removed:
# https://github.com/durch/rust-s3/pull/254
rust-s3 = { version = "0.36.0-beta.2" }
rust-s3 = { version = "0.36.0-beta.2", default-features = false, features = ["fail-on-err", "tags", "tokio-rustls-tls"] }
actix.workspace = true
actix-http.workspace = true
@@ -82,7 +82,7 @@ use crate::http_server::web_utils::handle_multipart_error::handle_multipart_erro
use crate::http_server::web_utils::scoped_temp_dir_creator::ScopedTempDirCreator;
use crate::state::certs::google_sign_in_cert::GoogleSignInCert;
use crate::state::memory_cache::model_token_to_info_cache::ModelTokenToInfoCache;
use crate::state::server_state::{DurableInMemoryCaches, EnvConfig, EphemeralInMemoryCaches, FalData, InMemoryCaches, OpenAiData, ServerInfo, ServerState, StaticFeatureFlags, StripeArtcraftSettings, StripeSettings, TrollBans};
use crate::state::server_state::{DurableInMemoryCaches, EnvConfig, EphemeralInMemoryCaches, FalData, InMemoryCaches, OpenAiData, ServerInfo, ServerState, StaticFeatureFlags, StripeSettings, TrollBans};
use crate::threads::db_health_checker_thread::db_health_check_status::HealthCheckStatus;
use crate::threads::db_health_checker_thread::db_health_checker_thread::db_health_checker_thread;
use crate::threads::poll_ip_banlist_thread::poll_ip_bans;
@@ -227,15 +227,6 @@ pub struct StripeSettings {
pub client: stripe::Client,
}
#[derive(Clone)]
pub struct StripeArtcraftSettings {
pub secret_key: String,
pub secret_webhook_signing_key: String,
pub checkout_success_url: String,
pub checkout_cancel_url: String,
pub client: async_stripe_artcraft::Client,
}
/// Flags set at service startup
#[derive(Clone)]
pub struct StaticFeatureFlags {
+1 -1
View File
@@ -5,7 +5,7 @@ edition = "2021"
publish = false
[dependencies]
reqwest = { version = "0.12", features = ["json", "stream", "multipart"] }
reqwest = { version = "0.12", default-features = false, features = ["charset", "http2", "system-proxy", "json", "stream", "multipart", "rustls-tls"] }
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1" }
@@ -50,7 +50,6 @@ generic-array = { version = "0.14.7", default-features = false, features = ["mor
getrandom-6f8ce4dd05d13bba = { package = "getrandom", version = "0.2.14", default-features = false, features = ["js", "std"] }
hashbrown = { version = "0.14.5" }
hmac = { version = "0.12.1", default-features = false, features = ["reset"] }
hyper-582f2526e08bb6a0 = { package = "hyper", version = "0.14.28", features = ["full"] }
idna = { version = "1.0.3" }
indexmap-dff4ba8e3ae991db = { package = "indexmap", version = "1.9.3", default-features = false, features = ["serde-1"] }
indexmap-f595c2ba2a3f28df = { package = "indexmap", version = "2.9.0", features = ["serde"] }
@@ -60,7 +59,6 @@ log = { version = "0.4.27", default-features = false, features = ["kv_unstable",
md-5 = { version = "0.10.6" }
memchr = { version = "2.7.4", features = ["use_std"] }
mime_guess = { version = "2.0.4" }
native-tls = { version = "0.2.14", default-features = false, features = ["alpn", "vendored"] }
num-bigint = { version = "0.4.6" }
num-integer = { version = "0.1.46", features = ["i128"] }
num-iter = { version = "0.1.45", default-features = false, features = ["i128", "std"] }
@@ -78,7 +76,6 @@ rand_core = { version = "0.6.4", default-features = false, features = ["std"] }
regex = { version = "1.11.1" }
regex-automata = { version = "0.4.9", default-features = false, features = ["dfa-onepass", "hybrid", "meta", "nfa-backtrack", "perf-inline", "perf-literal", "unicode"] }
regex-syntax = { version = "0.8.5" }
reqwest = { version = "0.12.15", features = ["blocking", "brotli", "cookies", "deflate", "gzip", "json", "multipart", "native-tls-alpn", "native-tls-vendored", "rustls-tls", "rustls-tls-manual-roots", "rustls-tls-native-roots", "socks", "stream", "trust-dns", "zstd"] }
rsa = { version = "0.9.6", features = ["getrandom", "hazmat", "sha2"] }
schemars = { version = "0.8.21", features = ["preserve_order", "url", "uuid1"] }
scopeguard = { version = "1.2.0" }
@@ -89,8 +86,6 @@ sha1 = { version = "0.10.6" }
sha2 = { version = "0.10.8", features = ["oid"] }
smallvec = { version = "1.13.2", default-features = false, features = ["const_new", "union"] }
socket2 = { version = "0.5.7", default-features = false, features = ["all"] }
sqlx = { version = "0.7.3", features = ["bigdecimal", "chrono", "mysql", "runtime-tokio-native-tls", "sqlite", "tls-rustls"] }
sqlx-core = { version = "0.7.3", features = ["_rt-tokio", "_tls-native-tls", "_tls-rustls", "any", "bigdecimal", "chrono", "json", "migrate", "offline"] }
sqlx-mysql = { version = "0.7.3", default-features = false, features = ["any", "bigdecimal", "chrono", "json", "migrate", "offline"] }
sqlx-sqlite = { version = "0.7.3", default-features = false, features = ["any", "chrono", "json", "migrate", "offline"] }
stable_deref_trait = { version = "1.2.0" }
@@ -145,7 +140,6 @@ libc = { version = "0.2.170", features = ["extra_traits"] }
log = { version = "0.4.27", default-features = false, features = ["kv_unstable", "std"] }
md-5 = { version = "0.10.6" }
memchr = { version = "2.7.4", features = ["use_std"] }
native-tls = { version = "0.2.14", default-features = false, features = ["alpn", "vendored"] }
num-bigint = { version = "0.4.6" }
num-integer = { version = "0.1.46", features = ["i128"] }
num-iter = { version = "0.1.45", default-features = false, features = ["i128", "std"] }
@@ -171,9 +165,6 @@ serde_json = { version = "1.0.140", features = ["alloc", "preserve_order", "raw_
sha1 = { version = "0.10.6" }
sha2 = { version = "0.10.8", features = ["oid"] }
smallvec = { version = "1.13.2", default-features = false, features = ["const_new", "union"] }
sqlx-core = { version = "0.7.3", features = ["_rt-tokio", "_tls-native-tls", "_tls-rustls", "any", "bigdecimal", "chrono", "json", "migrate", "offline"] }
sqlx-macros = { version = "0.7.3", features = ["_rt-tokio", "_tls-native-tls", "_tls-rustls", "bigdecimal", "chrono", "json", "migrate", "mysql", "sqlite"] }
sqlx-macros-core = { version = "0.7.3", features = ["_rt-tokio", "_tls-native-tls", "_tls-rustls", "bigdecimal", "chrono", "json", "migrate", "mysql", "sqlite"] }
sqlx-mysql = { version = "0.7.3", default-features = false, features = ["any", "bigdecimal", "chrono", "json", "migrate", "offline"] }
sqlx-sqlite = { version = "0.7.3", default-features = false, features = ["any", "chrono", "json", "migrate", "offline"] }
stable_deref_trait = { version = "1.2.0" }
@@ -195,12 +186,6 @@ zeroize = { version = "1.8.1", features = ["zeroize_derive"] }
[target.x86_64-unknown-linux-gnu.dependencies]
async-compression = { version = "0.4.5", default-features = false, features = ["brotli", "gzip", "tokio", "zlib", "zstd"] }
getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3.1", default-features = false, features = ["std"] }
hyper-dff4ba8e3ae991db = { package = "hyper", version = "1.6.0", features = ["client", "http1", "http2"] }
hyper-rustls = { version = "0.27.3", default-features = false, features = ["http1", "http2", "native-tokio", "ring", "tls12", "webpki-tokio"] }
hyper-tls = { version = "0.6.0", default-features = false, features = ["alpn"] }
hyper-util = { version = "0.1.10", features = ["client-legacy", "http1", "http2"] }
openssl = { version = "0.10.71", features = ["vendored"] }
openssl-sys = { version = "0.9.106", default-features = false, features = ["vendored"] }
rustls-pki-types = { version = "1.7.0", features = ["std"] }
spin = { version = "0.9.8" }
tokio-util = { version = "0.7.12", features = ["codec", "io"] }
@@ -212,8 +197,6 @@ zstd-sys = { version = "2.0.10", default-features = false, features = ["legacy",
[target.x86_64-unknown-linux-gnu.build-dependencies]
getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3.1", default-features = false, features = ["std"] }
heck = { version = "0.4.1", features = ["unicode"] }
openssl = { version = "0.10.71", features = ["vendored"] }
openssl-sys = { version = "0.9.106", default-features = false, features = ["vendored"] }
socket2 = { version = "0.5.7", default-features = false, features = ["all"] }
spin = { version = "0.9.8" }
toml_edit = { version = "0.19.15", features = ["serde"] }
@@ -225,10 +208,6 @@ zstd-sys = { version = "2.0.10", default-features = false, features = ["legacy",
async-compression = { version = "0.4.5", default-features = false, features = ["brotli", "gzip", "tokio", "zlib", "zstd"] }
core-foundation-sys = { version = "0.8.7" }
getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3.1", default-features = false, features = ["std"] }
hyper-dff4ba8e3ae991db = { package = "hyper", version = "1.6.0", features = ["client", "http1", "http2"] }
hyper-rustls = { version = "0.27.3", default-features = false, features = ["http1", "http2", "native-tokio", "ring", "tls12", "webpki-tokio"] }
hyper-tls = { version = "0.6.0", default-features = false, features = ["alpn"] }
hyper-util = { version = "0.1.10", features = ["client-legacy", "http1", "http2"] }
quick-xml = { version = "0.32.0", features = ["serialize"] }
rustls-pki-types = { version = "1.7.0", features = ["std"] }
security-framework = { version = "2.10.0", features = ["alpn"] }
@@ -254,10 +233,6 @@ zstd-sys = { version = "2.0.10", default-features = false, features = ["legacy",
[target.x86_64-pc-windows-msvc.dependencies]
async-compression = { version = "0.4.5", default-features = false, features = ["brotli", "gzip", "tokio", "zlib", "zstd"] }
getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3.1", default-features = false, features = ["std"] }
hyper-dff4ba8e3ae991db = { package = "hyper", version = "1.6.0", features = ["client", "http1", "http2"] }
hyper-rustls = { version = "0.27.3", default-features = false, features = ["http1", "http2", "native-tokio", "ring", "tls12", "webpki-tokio"] }
hyper-tls = { version = "0.6.0", default-features = false, features = ["alpn"] }
hyper-util = { version = "0.1.10", features = ["client-legacy", "http1", "http2"] }
rustls-pki-types = { version = "1.7.0", features = ["std"] }
spin = { version = "0.9.8" }
tokio-util = { version = "0.7.12", features = ["codec", "io"] }
@@ -274,12 +249,7 @@ async-compression = { version = "0.4.5", default-features = false, features = ["
cookie = { version = "0.18.1", default-features = false, features = ["percent-encode"] }
deranged = { version = "0.3.11", default-features = false, features = ["powerfmt", "serde", "std"] }
getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3.1", default-features = false, features = ["std"] }
hyper-dff4ba8e3ae991db = { package = "hyper", version = "1.6.0", features = ["client", "http1", "http2"] }
hyper-rustls = { version = "0.27.3", default-features = false, features = ["http1", "http2", "native-tokio", "ring", "tls12", "webpki-tokio"] }
hyper-tls = { version = "0.6.0", default-features = false, features = ["alpn"] }
hyper-util = { version = "0.1.10", features = ["client-legacy", "http1", "http2"] }
mime_guess = { version = "2.0.4" }
reqwest = { version = "0.12.15", features = ["blocking", "brotli", "cookies", "deflate", "gzip", "json", "multipart", "native-tls-alpn", "native-tls-vendored", "rustls-tls", "rustls-tls-manual-roots", "rustls-tls-native-roots", "socks", "stream", "trust-dns", "zstd"] }
rustls-pki-types = { version = "1.7.0", features = ["std"] }
socket2 = { version = "0.5.7", default-features = false, features = ["all"] }
spin = { version = "0.9.8" }