diff --git a/Cargo.lock b/Cargo.lock index 4250426d74..4c2aeca942 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -189,9 +189,9 @@ dependencies = [ [[package]] name = "atoi" -version = "1.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" dependencies = [ "num-traits", ] @@ -423,6 +423,16 @@ dependencies = [ "serde", ] +[[package]] +name = "bstr" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "bumpalo" version = "3.12.0" @@ -626,9 +636,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "core-foundation" @@ -759,16 +769,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crypto-bigint" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" -dependencies = [ - "generic-array", - "subtle", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -785,7 +785,7 @@ version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1" dependencies = [ - "bstr", + "bstr 0.2.17", "csv-core", "itoa 0.4.8", "ryu", @@ -892,13 +892,13 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", - "crypto-bigint", "pem-rfc7468", + "zeroize", ] [[package]] @@ -914,6 +914,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer", + "const-oid", "crypto-common", "subtle", ] @@ -1200,13 +1201,13 @@ dependencies = [ [[package]] name = "futures-intrusive" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" dependencies = [ "futures-core", "lock_api", - "parking_lot 0.11.2", + "parking_lot", ] [[package]] @@ -1998,17 +1999,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" -[[package]] -name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api", - "parking_lot_core 0.8.6", -] - [[package]] name = "parking_lot" version = "0.12.1" @@ -2016,21 +2006,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.6", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" -dependencies = [ - "cfg-if", - "instant", - "libc", - "redox_syscall", - "smallvec", - "winapi", + "parking_lot_core", ] [[package]] @@ -2065,9 +2041,9 @@ checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pem-rfc7468" -version = "0.3.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30" +checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac" dependencies = [ "base64ct", ] @@ -2112,24 +2088,24 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs1" -version = "0.3.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320" +checksum = "eff33bdbdfc54cc98a2eca766ebdec3e1b8fb7387523d5c9c9a2891da856f719" dependencies = [ "der", "pkcs8", + "spki", "zeroize", ] [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -2520,9 +2496,9 @@ dependencies = [ [[package]] name = "rsa" -version = "0.6.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b" +checksum = "89b3896c9b7790b70a9aa314a30e4ae114200992a19c96cbe0ca6070edd32ab8" dependencies = [ "byteorder", "digest", @@ -2533,7 +2509,7 @@ dependencies = [ "pkcs1", "pkcs8", "rand_core 0.6.4", - "smallvec", + "signature", "subtle", "zeroize", ] @@ -2811,6 +2787,16 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fe458c98333f9c8152221191a77e2a44e8325d0193484af2e9421a53019e57d" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + [[package]] name = "slab" version = "0.4.7" @@ -2853,9 +2839,9 @@ dependencies = [ [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -2948,7 +2934,7 @@ dependencies = [ "bigdecimal", "bit-vec", "bitflags", - "bstr", + "bstr 1.2.0", "byteorder", "bytes", "chrono", @@ -3129,7 +3115,7 @@ name = "sqlx-mysql" version = "0.6.2" dependencies = [ "atoi", - "base64 0.13.1", + "base64 0.21.0", "bigdecimal", "bitflags", "byteorder", @@ -3175,7 +3161,7 @@ name = "sqlx-postgres" version = "0.6.2" dependencies = [ "atoi", - "base64 0.13.1", + "base64 0.21.0", "bigdecimal", "bit-vec", "bitflags", @@ -3477,7 +3463,7 @@ dependencies = [ "memchr", "mio", "num_cpus", - "parking_lot 0.12.1", + "parking_lot", "pin-project-lite", "signal-hook-registry", "socket2", diff --git a/sqlx-core/Cargo.toml b/sqlx-core/Cargo.toml index 4a8f55330c..14eee17d48 100644 --- a/sqlx-core/Cargo.toml +++ b/sqlx-core/Cargo.toml @@ -52,7 +52,7 @@ uuid = { workspace = true, optional = true } async-io = { version = "1.9.0", optional = true } paste = "1.0.6" ahash = "0.7.6" -atoi = "1.0" +atoi = "2.0" bitflags = { version = "1.3.2", default-features = false } bytes = "1.1.0" @@ -66,7 +66,7 @@ either = "1.6.1" futures-channel = { version = "0.3.19", default-features = false, features = ["sink", "alloc", "std"] } futures-core = { version = "0.3.19", default-features = false } futures-io = "0.3.24" -futures-intrusive = "0.4.0" +futures-intrusive = "0.5.0" futures-util = { version = "0.3.19", default-features = false, features = ["alloc", "sink", "io"] } generic-array = { version = "0.14.4", default-features = false, optional = true } hex = "0.4.3" @@ -76,7 +76,7 @@ num-bigint = { version = "0.4.0", default-features = false, optional = true, fea once_cell = "1.9.0" percent-encoding = "2.1.0" regex = { version = "1.5.5", optional = true } -rsa = { version = "0.6.0", optional = true } +rsa = { version = "0.8.0", optional = true } serde = { version = "1.0.132", features = ["derive", "rc"], optional = true } serde_json = { version = "1.0.73", features = ["raw_value"], optional = true } sha1 = { version = "0.10.1", default-features = false, optional = true } @@ -87,7 +87,7 @@ tokio-stream = { version = "0.1.8", features = ["fs"], optional = true } tracing = { version = "0.1.37", features = ["log"] } smallvec = "1.7.0" url = { version = "2.2.2", default-features = false } -bstr = { version = "0.2.17", default-features = false, features = ["std"], optional = true } +bstr = { version = "1.0", default-features = false, features = ["std"], optional = true } hashlink = "0.8.0" # NOTE: *must* remain below 1.7.0 to allow users to avoid the `ahash` cyclic dependency problem by pinning the version # https://github.com/tkaitchuck/aHash/issues/95#issuecomment-874150078 diff --git a/sqlx-mysql/Cargo.toml b/sqlx-mysql/Cargo.toml index 12765fa0bb..cd0c5df773 100644 --- a/sqlx-mysql/Cargo.toml +++ b/sqlx-mysql/Cargo.toml @@ -30,7 +30,7 @@ hkdf = "0.12.0" hmac = { version = "0.12.0", default-features = false } md-5 = { version = "0.10.0", default-features = false } rand = { version = "0.8.4", default-features = false, features = ["std", "std_rng"] } -rsa = "0.6.0" +rsa = "0.8.0" sha1 = { version = "0.10.1", default-features = false } sha2 = { version = "0.10.0", default-features = false } @@ -42,8 +42,8 @@ time = { workspace = true, optional = true } uuid = { workspace = true, optional = true } # Misc -atoi = "1.0" -base64 = { version = "0.13.0", default-features = false, features = ["std"] } +atoi = "2.0" +base64 = { version = "0.21.0", default-features = false, features = ["std"] } bitflags = { version = "1.3.2", default-features = false } byteorder = { version = "1.4.3", default-features = false, features = ["std"] } bytes = "1.1.0" diff --git a/sqlx-mysql/src/connection/auth.rs b/sqlx-mysql/src/connection/auth.rs index 514bb102d8..5802e21eb9 100644 --- a/sqlx-mysql/src/connection/auth.rs +++ b/sqlx-mysql/src/connection/auth.rs @@ -3,7 +3,7 @@ use bytes::Bytes; use digest::{Digest, OutputSizeUser}; use generic_array::GenericArray; use rand::thread_rng; -use rsa::{pkcs8::DecodePublicKey, PaddingScheme, PublicKey, RsaPublicKey}; +use rsa::{pkcs8::DecodePublicKey, Oaep, PaddingScheme, PublicKey, RsaPublicKey}; use sha1::Sha1; use sha2::Sha256; @@ -156,7 +156,7 @@ async fn encrypt_rsa<'s>( // client sends an RSA encrypted password let pkey = parse_rsa_pub_key(rsa_pub_key)?; - let padding = PaddingScheme::new_oaep::(); + let padding = Oaep::new::(); pkey.encrypt(&mut thread_rng(), padding, &pass[..]) .map_err(Error::protocol) } diff --git a/sqlx-postgres/Cargo.toml b/sqlx-postgres/Cargo.toml index 7919457e58..878e58d065 100644 --- a/sqlx-postgres/Cargo.toml +++ b/sqlx-postgres/Cargo.toml @@ -46,8 +46,8 @@ time = { workspace = true, optional = true } uuid = { workspace = true, optional = true } # Misc -atoi = "1.0" -base64 = { version = "0.13.0", default-features = false, features = ["std"] } +atoi = "2.0" +base64 = { version = "0.21.0", default-features = false, features = ["std"] } bitflags = { version = "1.3.2", default-features = false } byteorder = { version = "1.4.3", default-features = false, features = ["std"] } dirs = "4.0.0" diff --git a/sqlx-sqlite/Cargo.toml b/sqlx-sqlite/Cargo.toml index c32a29650a..a5a2c3dc02 100644 --- a/sqlx-sqlite/Cargo.toml +++ b/sqlx-sqlite/Cargo.toml @@ -25,7 +25,7 @@ futures-core = { version = "0.3.19", default-features = false } futures-channel = { version = "0.3.19", default-features = false, features = ["sink", "alloc", "std"] } # used by the SQLite worker thread to block on the async mutex that locks the database handle futures-executor = { version = "0.3.19" } -futures-intrusive = "0.4.0" +futures-intrusive = "0.5.0" futures-util = { version = "0.3.19", default-features = false, features = ["alloc", "sink"] } chrono = { workspace = true, optional = true } @@ -39,7 +39,7 @@ percent-encoding = "2.1.0" flume = { version = "0.10.9", default-features = false, features = ["async"] } -atoi = "1.0" +atoi = "2.0" log = "0.4.17" tracing = { version = "0.1.37", features = ["log"] } @@ -62,4 +62,4 @@ version = "=0.6.2" path = "../sqlx-core" [dev-dependencies] -sqlx = { version = "0.6.2", path = "..", default-features = false, features = ["macros", "runtime-tokio", "tls-none"] } \ No newline at end of file +sqlx = { version = "0.6.2", path = "..", default-features = false, features = ["macros", "runtime-tokio", "tls-none"] }