commit 6fd9b45cd277c750fbb30997589751155c580406
parent 2ce2c13402d8dcec749d25ddc3a2c9ccbe225ea7
Author: Antoine A <>
Date: Mon, 19 Oct 2026 12:45:39 +0200
common: update dependencies
Diffstat:
7 files changed, 274 insertions(+), 263 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -220,7 +220,7 @@ dependencies = [
"serde_json",
"serde_path_to_error",
"serde_urlencoded",
- "sha1",
+ "sha1 0.10.7",
"sync_wrapper",
"tokio",
"tokio-tungstenite",
@@ -319,6 +319,15 @@ dependencies = [
]
[[package]]
+name = "block-buffer"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa"
+dependencies = [
+ "hybrid-array",
+]
+
+[[package]]
name = "blowfish"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -384,9 +393,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.8.0"
+version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6651c9ed80effdc7db0ff72512157f901af5e3549e341e24b1dd4887d836d838"
+checksum = "877bf67ac8e52449eb2f9e98a344ea163beb70dd1f9eebe3cc5357dcfeaee4df"
dependencies = [
"find-msvc-tools",
"jobserver",
@@ -489,6 +498,12 @@ dependencies = [
]
[[package]]
+name = "cmov"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a"
+
+[[package]]
name = "codepage"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -515,18 +530,17 @@ dependencies = [
[[package]]
name = "compact_str"
-version = "0.9.1"
+version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dfdd1c2274d9aa354115b09dc9a901d6c5576818cdf70d14cae2bdb47df00ab"
+checksum = "79fcda08c33bb58b97008b2cdada6622500e949e060f5913361763121abd2416"
dependencies = [
"castaway",
"cfg-if",
"itoa",
- "rustversion",
- "ryu",
"serde",
"sqlx",
"static_assertions",
+ "zmij",
]
[[package]]
@@ -690,9 +704,9 @@ dependencies = [
[[package]]
name = "crypto-common"
-version = "0.1.7"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
"generic-array",
"typenum",
@@ -708,6 +722,15 @@ dependencies = [
]
[[package]]
+name = "ctutils"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03bb0e1cc970d482d121d9a1744999169b69a07470b3d644a7894e53fcaf4574"
+dependencies = [
+ "cmov",
+]
+
+[[package]]
name = "darling"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -864,9 +887,19 @@ version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
- "block-buffer",
- "crypto-common 0.1.7",
- "subtle",
+ "block-buffer 0.10.4",
+ "crypto-common 0.1.6",
+]
+
+[[package]]
+name = "digest"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
+dependencies = [
+ "block-buffer 0.12.1",
+ "crypto-common 0.2.2",
+ "ctutils",
]
[[package]]
@@ -954,13 +987,12 @@ dependencies = [
[[package]]
name = "etcetera"
-version = "0.8.0"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"
+checksum = "de48cc4d1c1d97a20fd819def54b890cadde72ed3ad0c614822a0a433361be96"
dependencies = [
"cfg-if",
- "home",
- "windows-sys 0.48.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -998,9 +1030,9 @@ dependencies = [
[[package]]
name = "find-msvc-tools"
-version = "0.1.14"
+version = "0.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484"
+checksum = "1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48"
[[package]]
name = "flate2"
@@ -1012,6 +1044,17 @@ dependencies = [
]
[[package]]
+name = "flume"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+ "spin",
+]
+
+[[package]]
name = "fnv"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1019,9 +1062,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foldhash"
-version = "0.1.5"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
+checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
[[package]]
name = "form_urlencoded"
@@ -1139,9 +1182,9 @@ dependencies = [
[[package]]
name = "generic-array"
-version = "0.14.7"
+version = "0.14.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2"
dependencies = [
"typenum",
"version_check",
@@ -1232,9 +1275,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
[[package]]
name = "hashbrown"
-version = "0.15.5"
+version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
+checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
dependencies = [
"allocator-api2",
"equivalent",
@@ -1249,11 +1292,11 @@ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
[[package]]
name = "hashlink"
-version = "0.10.0"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1"
+checksum = "824e001ac4f3012dd16a264bec811403a67ca9deb6c102fc5049b32c4574b35f"
dependencies = [
- "hashbrown 0.15.5",
+ "hashbrown 0.16.1",
]
[[package]]
@@ -1270,29 +1313,20 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hkdf"
-version = "0.12.4"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
+checksum = "4aaa26c720c68b866f2c96ef5c1264b3e6f473fe5d4ce61cd44bbe913e553018"
dependencies = [
"hmac",
]
[[package]]
name = "hmac"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-dependencies = [
- "digest",
-]
-
-[[package]]
-name = "home"
-version = "0.5.12"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d"
+checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f"
dependencies = [
- "windows-sys 0.61.2",
+ "digest 0.11.3",
]
[[package]]
@@ -1331,7 +1365,7 @@ dependencies = [
[[package]]
name = "http-client"
version = "1.5.0"
-source = "git+git://git.taler.net/taler-rust.git/#d05b51e0311cc01db1202d43f201ccdb9e4d6e2a"
+source = "git+git://git.taler.net/taler-rust.git/#ffe63892e479bf21f5318994d104c40dbc8d64c7"
dependencies = [
"futures-util",
"http",
@@ -1588,9 +1622,9 @@ dependencies = [
[[package]]
name = "inout"
-version = "0.2.3"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8c0d789294fb457b791f7797a04478704788f30b407e5d0b01deaa846572d9f"
+checksum = "3ce983bb6fb399067d101fbfc9e74174e07e9f29a2bc679efefeb8c645819c3f"
dependencies = [
"hybrid-array",
]
@@ -1608,15 +1642,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
[[package]]
-name = "itertools"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
-dependencies = [
- "either",
-]
-
-[[package]]
name = "itoa"
version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1752,9 +1777,9 @@ checksum = "20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb"
[[package]]
name = "libc"
-version = "0.2.190"
+version = "0.2.191"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78"
+checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
[[package]]
name = "libeufin-bank"
@@ -1902,10 +1927,17 @@ version = "0.1.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61ff90caf6077a803a240f62fdbe88645a890bbca49ef8174c3cb0404362171d"
dependencies = [
- "bitflags 2.13.2",
"libc",
- "plain",
- "redox_syscall 0.9.4",
+]
+
+[[package]]
+name = "libsqlite3-sys"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1f111c8c41e7c61a49cd34e44c7619462967221a6443b0ec299e0ac30cfb9b1"
+dependencies = [
+ "pkg-config",
+ "vcpkg",
]
[[package]]
@@ -1966,12 +1998,12 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
[[package]]
name = "md-5"
-version = "0.10.6"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
+checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98"
dependencies = [
"cfg-if",
- "digest",
+ "digest 0.11.3",
]
[[package]]
@@ -2112,6 +2144,24 @@ dependencies = [
]
[[package]]
+name = "objc2-core-foundation"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
+dependencies = [
+ "bitflags 2.13.2",
+]
+
+[[package]]
+name = "objc2-system-configuration"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7216bd11cbda54ccabcab84d523dc93b858ec75ecfb3a7d89513fa22464da396"
+dependencies = [
+ "objc2-core-foundation",
+]
+
+[[package]]
name = "oid-registry"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2168,7 +2218,7 @@ checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.5.18",
+ "redox_syscall",
"smallvec",
"windows-link",
]
@@ -2214,12 +2264,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548"
[[package]]
-name = "plain"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
-
-[[package]]
name = "portable-atomic"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2390,22 +2434,11 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
[[package]]
name = "rand"
-version = "0.8.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c"
-dependencies = [
- "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41"
dependencies = [
- "rand_chacha 0.9.0",
+ "rand_chacha",
"rand_core 0.9.5",
]
@@ -2422,16 +2455,6 @@ dependencies = [
[[package]]
name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
@@ -2442,15 +2465,6 @@ dependencies = [
[[package]]
name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom 0.2.17",
-]
-
-[[package]]
-name = "rand_core"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
@@ -2497,30 +2511,18 @@ dependencies = [
]
[[package]]
-name = "redox_syscall"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "737970939a87c6fa31e7acad13307bccbb017a073b695b6089a2c484f929e20e"
-dependencies = [
- "bitflags 2.13.2",
-]
-
-[[package]]
name = "reedline"
-version = "0.49.0"
+version = "0.52.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "826c1fc22a2b1f14c3f6a80fc3d56adfbfb913d07f170bce4246700de7adfd50"
+checksum = "cc0282eb061a7d039435f10075f22988e0dd7468901ee247a803021786afc662"
dependencies = [
"chrono",
"crossterm",
"fd-lock",
- "itertools",
"nu-ansi-term",
"serde",
"strip-ansi-escapes",
"strum",
- "thiserror",
- "unicase",
"unicode-segmentation",
"unicode-width",
]
@@ -2769,9 +2771,9 @@ dependencies = [
[[package]]
name = "schannel"
-version = "0.1.29"
+version = "0.1.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939"
+checksum = "9cb23c424d8ee841bb4d813677ca237e2a610067d594fec130f87d6093495ab5"
dependencies = [
"windows-sys 0.61.2",
]
@@ -2907,7 +2909,18 @@ checksum = "a978451301f4db1d02937a4ab3ccce137717b81826e79b7d49ffe3244a13c3b8"
dependencies = [
"cfg-if",
"cpufeatures 0.2.17",
- "digest",
+ "digest 0.10.7",
+]
+
+[[package]]
+name = "sha1"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214"
+dependencies = [
+ "cfg-if",
+ "cpufeatures 0.3.1",
+ "digest 0.11.3",
]
[[package]]
@@ -2918,7 +2931,18 @@ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
dependencies = [
"cfg-if",
"cpufeatures 0.2.17",
- "digest",
+ "digest 0.10.7",
+]
+
+[[package]]
+name = "sha2"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47d7069beb7d6ac7b9acd1039986e73443f24234f41074da099d6f994ac9ad19"
+dependencies = [
+ "cfg-if",
+ "cpufeatures 0.3.1",
+ "digest 0.11.3",
]
[[package]]
@@ -3025,26 +3049,32 @@ name = "spin"
version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e"
+dependencies = [
+ "lock_api",
+]
[[package]]
name = "sqlx"
-version = "0.8.6"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc"
+checksum = "378620ccc25c62c89d8be1c819e76a88d59bdcc3304733330788948e619bfd71"
dependencies = [
"sqlx-core",
"sqlx-macros",
+ "sqlx-mysql",
"sqlx-postgres",
+ "sqlx-sqlite",
]
[[package]]
name = "sqlx-core"
-version = "0.8.6"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6"
+checksum = "05b44e85bf579a8eeb4ceaa77a3a523baf2bf0e9bac7e40f405d537b5d2d5ccb"
dependencies = [
"base64 0.22.1",
"bytes",
+ "cfg-if",
"crc",
"crossbeam-queue",
"either",
@@ -3053,17 +3083,16 @@ dependencies = [
"futures-intrusive",
"futures-io",
"futures-util",
- "hashbrown 0.15.5",
+ "hashbrown 0.16.1",
"hashlink",
"indexmap",
"log",
"memchr",
- "once_cell",
"percent-encoding",
"rustls",
"serde",
"serde_json",
- "sha2",
+ "sha2 0.10.9",
"smallvec",
"thiserror",
"tokio",
@@ -3071,14 +3100,14 @@ dependencies = [
"tracing",
"url",
"uuid",
- "webpki-roots 0.26.11",
+ "webpki-roots",
]
[[package]]
name = "sqlx-macros"
-version = "0.8.6"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d"
+checksum = "bd2b84f2bc39a5705ef27ec785a11c934a41bbd4a24941e257927cddc26b60bf"
dependencies = [
"proc-macro2",
"quote",
@@ -3089,32 +3118,58 @@ dependencies = [
[[package]]
name = "sqlx-macros-core"
-version = "0.8.6"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b"
+checksum = "fb8d96de5fdc85a5c4ec813432b523ec637e80ba98f046555f75f7908ddac7c3"
dependencies = [
+ "cfg-if",
"dotenvy",
"either",
"heck",
"hex",
- "once_cell",
"proc-macro2",
"quote",
"serde",
"serde_json",
- "sha2",
+ "sha2 0.10.9",
"sqlx-core",
"sqlx-postgres",
"syn 2.0.119",
+ "thiserror",
"tokio",
"url",
]
[[package]]
+name = "sqlx-mysql"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90b8020fe17c5f2c245bfa2505d7ef59c5604839527c740266ad2214acebea27"
+dependencies = [
+ "bitflags 2.13.2",
+ "byteorder",
+ "bytes",
+ "digest 0.11.3",
+ "dotenvy",
+ "either",
+ "futures-core",
+ "futures-util",
+ "generic-array",
+ "log",
+ "percent-encoding",
+ "serde",
+ "sha1 0.11.0",
+ "sha2 0.11.1",
+ "sqlx-core",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
name = "sqlx-postgres"
-version = "0.8.6"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46"
+checksum = "87a2bdd6e83f6b3ea525ca9fee568030508b58355a43d0b2c1674d5f79dcd65e"
dependencies = [
"atoi",
"base64 0.22.1",
@@ -3129,16 +3184,14 @@ dependencies = [
"hex",
"hkdf",
"hmac",
- "home",
"itoa",
"log",
"md-5",
"memchr",
- "once_cell",
- "rand 0.8.8",
+ "rand 0.10.3",
"serde",
"serde_json",
- "sha2",
+ "sha2 0.11.1",
"smallvec",
"sqlx-core",
"stringprep",
@@ -3149,6 +3202,30 @@ dependencies = [
]
[[package]]
+name = "sqlx-sqlite"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "488e99c397a62007e4229aec669a179816339afc6d2620ca6fa420dbee2e982c"
+dependencies = [
+ "atoi",
+ "flume",
+ "form_urlencoded",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-intrusive",
+ "futures-util",
+ "libsqlite3-sys",
+ "log",
+ "percent-encoding",
+ "serde",
+ "sqlx-core",
+ "thiserror",
+ "tracing",
+ "url",
+]
+
+[[package]]
name = "sse-core"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3202,18 +3279,18 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "strum"
-version = "0.27.2"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf"
+checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd"
dependencies = [
"strum_macros",
]
[[package]]
name = "strum_macros"
-version = "0.27.2"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7"
+checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664"
dependencies = [
"heck",
"proc-macro2",
@@ -3304,7 +3381,7 @@ dependencies = [
[[package]]
name = "taler-api"
version = "1.5.0"
-source = "git+git://git.taler.net/taler-rust.git/#d05b51e0311cc01db1202d43f201ccdb9e4d6e2a"
+source = "git+git://git.taler.net/taler-rust.git/#ffe63892e479bf21f5318994d104c40dbc8d64c7"
dependencies = [
"aws-lc-rs",
"axum",
@@ -3334,12 +3411,12 @@ dependencies = [
[[package]]
name = "taler-build"
version = "1.5.0"
-source = "git+git://git.taler.net/taler-rust.git/#d05b51e0311cc01db1202d43f201ccdb9e4d6e2a"
+source = "git+git://git.taler.net/taler-rust.git/#ffe63892e479bf21f5318994d104c40dbc8d64c7"
[[package]]
name = "taler-common"
version = "1.5.0"
-source = "git+git://git.taler.net/taler-rust.git/#d05b51e0311cc01db1202d43f201ccdb9e4d6e2a"
+source = "git+git://git.taler.net/taler-rust.git/#ffe63892e479bf21f5318994d104c40dbc8d64c7"
dependencies = [
"anyhow",
"aws-lc-rs",
@@ -3365,12 +3442,13 @@ dependencies = [
"tracing",
"tracing-subscriber",
"url",
+ "whoami",
]
[[package]]
name = "taler-macros"
version = "1.5.0"
-source = "git+git://git.taler.net/taler-rust.git/#d05b51e0311cc01db1202d43f201ccdb9e4d6e2a"
+source = "git+git://git.taler.net/taler-rust.git/#ffe63892e479bf21f5318994d104c40dbc8d64c7"
dependencies = [
"proc-macro2",
"quote",
@@ -3380,7 +3458,7 @@ dependencies = [
[[package]]
name = "taler-test-utils"
version = "1.5.0"
-source = "git+git://git.taler.net/taler-rust.git/#d05b51e0311cc01db1202d43f201ccdb9e4d6e2a"
+source = "git+git://git.taler.net/taler-rust.git/#ffe63892e479bf21f5318994d104c40dbc8d64c7"
dependencies = [
"aws-lc-rs",
"axum",
@@ -3745,7 +3823,7 @@ dependencies = [
"httparse",
"log",
"rand 0.9.5",
- "sha1",
+ "sha1 0.10.7",
"thiserror",
"utf-8",
]
@@ -3762,7 +3840,7 @@ dependencies = [
"httparse",
"log",
"rand 0.9.5",
- "sha1",
+ "sha1 0.10.7",
"thiserror",
]
@@ -3798,9 +3876,9 @@ checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
[[package]]
name = "unicode-normalization"
-version = "0.1.25"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8"
+checksum = "75cd3fb03d5288b3ba9a1ee103ac7e9cbb59f0b03d64f8ddfcc04dd42758a85d"
dependencies = [
"tinyvec",
]
@@ -3892,6 +3970,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
name = "version_check"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3941,12 +4025,6 @@ dependencies = [
]
[[package]]
-name = "wasite"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
-
-[[package]]
name = "wasm-bindgen"
version = "0.2.129"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4033,15 +4111,6 @@ dependencies = [
[[package]]
name = "webpki-roots"
-version = "0.26.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
-dependencies = [
- "webpki-roots 1.0.9",
-]
-
-[[package]]
-name = "webpki-roots"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a"
@@ -4051,12 +4120,14 @@ dependencies = [
[[package]]
name = "whoami"
-version = "1.6.1"
+version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d"
+checksum = "626c4bac6755d76ffc12cb01b2eac751db1996b9e0041de9aa02c8c211ddc82c"
dependencies = [
+ "libc",
"libredox",
- "wasite",
+ "objc2-system-configuration",
+ "web-sys",
]
[[package]]
@@ -4162,20 +4233,11 @@ dependencies = [
[[package]]
name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-sys"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
@@ -4184,7 +4246,7 @@ version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
dependencies = [
- "windows-targets 0.52.6",
+ "windows-targets",
]
[[package]]
@@ -4198,67 +4260,34 @@ dependencies = [
[[package]]
name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
-[[package]]
-name = "windows-targets"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
- "windows_aarch64_gnullvm 0.52.6",
- "windows_aarch64_msvc 0.52.6",
- "windows_i686_gnu 0.52.6",
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
"windows_i686_gnullvm",
- "windows_i686_msvc 0.52.6",
- "windows_x86_64_gnu 0.52.6",
- "windows_x86_64_gnullvm 0.52.6",
- "windows_x86_64_msvc 0.52.6",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
]
[[package]]
name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
@@ -4271,48 +4300,24 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
[[package]]
name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "windows_x86_64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
diff --git a/Cargo.toml b/Cargo.toml
@@ -26,14 +26,14 @@ anyhow = "1.0"
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1.42", features = ["macros", "process"] }
-sqlx = { version = "0.8", default-features = false, features = [
+sqlx = { version = "0.9", default-features = false, features = [
"postgres",
"runtime-tokio",
"tls-rustls-aws-lc-rs",
] }
-sqlx-postgres = { version = "0.8", default-features = false, features = ["uuid", "json"] }
+sqlx-postgres = { version = "0.9", default-features = false, features = ["uuid", "json"] }
aws-lc-rs = "1.15"
-compact_str = { version = "0.9.0", features = ["serde", "sqlx-postgres"] }
+compact_str = { version = "0.10.0", features = ["serde", "sqlx-postgres"] }
reqwest = "0.13.2"
libeufin-ebics = { path = "libeufin-ebics" }
jiff = { version = "0.2", default-features = false, features = ["perf-inline", "std"] }
diff --git a/libeufin-bank/src/api.rs b/libeufin-bank/src/api.rs
@@ -327,7 +327,7 @@ pub mod test {
use compact_str::{CompactString, CompactStringExt};
use jiff::Timestamp;
use rand::{random_range, seq::IndexedRandom};
- use sqlx::{PgPool, postgres::PgConnectOptions};
+ use sqlx::{AssertSqlSafe, PgPool, postgres::PgConnectOptions};
use taler_api::{api::TalerRouter, db::BindHelper};
use taler_common::{
api::{EddsaPublicKey, HashCode, ShortHashCode},
@@ -666,7 +666,10 @@ pub mod test {
.unwrap();
let procedure =
std::fs::read_to_string(dir.join("libeufin-conversion-setup.sql")).unwrap();
- sqlx::raw_sql(&procedure).execute(&mut *conn).await.unwrap();
+ sqlx::raw_sql(AssertSqlSafe(procedure))
+ .execute(&mut *conn)
+ .await
+ .unwrap();
drop(conn);
let state = Arc::new(BankState::start(db.clone(), cfg).await);
diff --git a/libeufin-bank/src/db.rs b/libeufin-bank/src/db.rs
@@ -23,7 +23,7 @@ use std::time::Duration;
use anyhow::bail;
use jiff::Timestamp;
-use sqlx::{PgConnection, PgPool, postgres::PgRow};
+use sqlx::{AssertSqlSafe, PgConnection, PgPool, postgres::PgRow};
use taler_api::{config::DbCfg, db::TypeHelper, notification::NotificationChannel, serialized};
use taler_common::types::amount::{Amount, Currency};
use tokio::join;
@@ -74,7 +74,7 @@ pub async fn setup_conversion(
info!(target: "db", "Ensure conversion is enabled");
match std::fs::read_to_string(format!("{}/libeufin-conversion-setup.sql", cfg.sql_dir)) {
Ok(sql) => {
- sqlx::raw_sql(&sql).execute(&mut *db).await?;
+ sqlx::raw_sql(AssertSqlSafe(sql)).execute(&mut *db).await?;
}
Err(e) => {
bail!(
@@ -88,7 +88,7 @@ pub async fn setup_conversion(
info!(target: "db", "Ensure conversion is disabled");
match std::fs::read_to_string(format!("{}/libeufin-conversion-drop.sql", cfg.sql_dir)) {
Ok(sql) => {
- sqlx::raw_sql(&sql).execute(&mut *db).await?;
+ sqlx::raw_sql(AssertSqlSafe(sql)).execute(&mut *db).await?;
}
Err(e) => {
bail!(
diff --git a/libeufin-bank/src/db/account.rs b/libeufin-bank/src/db/account.rs
@@ -439,7 +439,7 @@ pub async fn reconfig(
.push("conversion_rate_class_id=")
.push_bind_unseparated(v.map(|it| *it as i64));
}
- if !sql.sql().ends_with("SET ") {
+ if !sql.sql().as_str().ends_with("SET ") {
sql.push(" WHERE owning_customer_id=")
.push_bind(curr.id as i64);
let res = sql.build().execute(&mut *tx).await;
@@ -475,7 +475,7 @@ pub async fn reconfig(
if let Some(v) = &req.name {
separated.push("name=").push_bind_unseparated(v);
}
- if !sql.sql().ends_with("SET ") {
+ if !sql.sql().as_str().ends_with("SET ") {
sql.push(" WHERE customer_id=")
.push_bind(curr.id as i64)
.build()
diff --git a/libeufin-bank/src/db/conversion.rs b/libeufin-bank/src/db/conversion.rs
@@ -19,7 +19,7 @@
//! Data access logic for conversion
-use sqlx::{PgPool, QueryBuilder, Row, postgres::PgRow};
+use sqlx::{AssertSqlSafe, PgPool, QueryBuilder, Row, postgres::PgRow};
use taler_api::{
db::{PgError, TypeHelper, page},
serialized,
@@ -248,9 +248,9 @@ pub async fn conversion(
let lambda = if to { "to" } else { "from" };
let direction = if cashin { "cashin" } else { "cashout" };
serialized!(
- sqlx::query(&format!(
+ sqlx::query(AssertSqlSafe(format!(
"SELECT too_small, converted FROM conversion_{lambda}($1,$2,$3)"
- ))
+ )))
.bind(amount)
.bind(direction)
.bind(rate_id.map(|it| it as i64))
@@ -285,13 +285,13 @@ pub async fn user_conversion(
let lambda = if to { "to" } else { "from" };
let direction = if cashin { "cashin" } else { "cashout" };
serialized!(
- sqlx::query(&format!(
+ sqlx::query(AssertSqlSafe(format!(
"SELECT is_taler_exchange, too_small, converted
FROM bank_accounts
JOIN customers ON customer_id=owning_customer_id,
LATERAL conversion_{lambda}($1,$2,conversion_rate_class_id)
WHERE username=$3"
- ))
+ )))
.bind(amount)
.bind(direction)
.bind(username)
diff --git a/testbench/src/lib.rs b/testbench/src/lib.rs
@@ -44,7 +44,7 @@ mod test {
use libeufin_ebics::keys::{BankKeys, ClientKeys, persist_bank_keys, persist_client_keys};
use libeufin_nexus::config::{NexusCfg, NexusKeysCfg};
- use sqlx::PgPool;
+ use sqlx::{AssertSqlSafe, PgPool};
use taler_test_utils::cli::clap_parse;
use crate::full_cfg;
@@ -184,13 +184,16 @@ mod test {
.unwrap();
let execute = async |sql: &str| {
- sqlx::raw_sql(sql).execute(&db).await.unwrap();
+ sqlx::raw_sql(AssertSqlSafe(sql))
+ .execute(&db)
+ .await
+ .unwrap();
};
let execute_fs = async |file: &str| {
dbg!(file);
- sqlx::raw_sql(
- &std::fs::read_to_string(format!("../database-versioning/{file}")).unwrap(),
- )
+ sqlx::raw_sql(AssertSqlSafe(
+ std::fs::read_to_string(format!("../database-versioning/{file}")).unwrap(),
+ ))
.execute(&db)
.await
.unwrap();