diff --git a/Cargo.lock b/Cargo.lock index e873c02a..3e19d4c1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,13 +5,13 @@ version = 4 [[package]] name = "admin-app" version = "0.1.0" -source = "git+https://github.com/Nitrokey/admin-app.git?tag=v0.1.0-nitrokey.20#ff574d810f718c7ce0912512f6c551ca2ea7c88a" +source = "git+https://github.com/Nitrokey/admin-app.git?tag=v0.1.0-nitrokey.21#261c47d791f7862a8fd1b52d485860ff82216478" dependencies = [ "apdu-app", "cbor-smol", "ctaphid-app", "delog", - "heapless", + "heapless 0.9.1", "heapless-bytes", "hex-literal 0.4.1", "iso7816", @@ -32,7 +32,7 @@ checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ "crypto-common", "generic-array", - "heapless", + "heapless 0.7.17", ] [[package]] @@ -55,12 +55,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_system_properties" version = "0.1.5" @@ -72,9 +66,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.19" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -102,48 +96,49 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.9" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys", + "windows-sys 0.60.2", ] [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "apdu-app" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce391931a2cc4597eaf0d464db9d4d5e1939ccc8dd6eda0f86cda117e914c02d" +checksum = "cfe0bbbf8e3c1034ec9b1d1f9f50ab634e65a8249972f2a34ada1cf115efb0a9" dependencies = [ + "heapless 0.9.1", "iso7816", ] [[package]] name = "apdu-dispatch" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d6e6883b2c23b9fe1a488913705c7b68f751bdb73da036ff8191da729337a5d" +checksum = "c3c9f7729cfb0991e556f650a1478e1e8bd8db7fc57ff2dec4a3a67669d406ff" dependencies = [ "apdu-app", "delog", - "heapless", + "heapless 0.9.1", "interchange", "iso7816", ] @@ -154,13 +149,13 @@ version = "1.8.3" dependencies = [ "admin-app", "apdu-app", - "bitflags 2.9.1", + "bitflags 2.9.4", "cbor-smol", "ctaphid-app", "delog", "embedded-hal", "fido-authenticator", - "heapless", + "heapless 0.9.1", "heapless-bytes", "hex", "if_chain", @@ -219,7 +214,7 @@ dependencies = [ "rustc-hash 2.1.1", "serde", "serde_derive", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -303,7 +298,7 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cexpr", "clang-sys", "itertools 0.12.1", @@ -314,7 +309,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -323,7 +318,7 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cexpr", "clang-sys", "itertools 0.13.0", @@ -332,7 +327,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -349,9 +344,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.1" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "block-buffer" @@ -399,8 +394,9 @@ dependencies = [ "generic-array", "interchange", "lfs-backup", - "littlefs2 0.6.1", + "littlefs2 0.7.0", "littlefs2-core", + "littlefs2-sys 0.3.2", "lpc55-hal", "lpc55-pac", "memory-regions", @@ -431,9 +427,9 @@ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "bytemuck" -version = "1.23.1" +version = "1.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" +checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" [[package]] name = "byteorder" @@ -443,11 +439,11 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "camino" -version = "1.1.10" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +checksum = "e1de8bc0aa9e9385ceb3bf0c152e3a9b9544f6c4a912c8ae504e80c1f0368603" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -463,12 +459,12 @@ dependencies = [ "csv", "getopts", "itertools 0.14.0", - "semver 1.0.26", + "semver 1.0.27", "serde", "serde_derive", "serde_json", "spdx", - "toml 0.9.4", + "toml 0.9.7", ] [[package]] @@ -477,7 +473,7 @@ version = "10.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06acb4f71407ba205a07cb453211e0e6a67b21904e47f6ba1f9589e38f2e454" dependencies = [ - "semver 1.0.26", + "semver 1.0.27", "serde", "toml 0.8.23", "url", @@ -507,11 +503,11 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dc1a6f7b5651af85774ae5a34b4e8be397d9cf4bc063b7e6dbd99a841837830" dependencies = [ - "semver 1.0.26", + "semver 1.0.27", "serde", "serde-untagged", "serde-value", - "thiserror 2.0.12", + "thiserror 2.0.16", "toml 0.8.23", "unicode-xid", "url", @@ -525,7 +521,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform 0.1.9", - "semver 1.0.26", + "semver 1.0.27", "serde", "serde_json", "thiserror 1.0.69", @@ -540,10 +536,10 @@ dependencies = [ "camino", "cargo-platform 0.2.0", "cargo-util-schemas", - "semver 1.0.26", + "semver 1.0.27", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -563,22 +559,23 @@ dependencies = [ [[package]] name = "cbor-smol" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087b31faa4ad4ba21c9bd0209204eef424dae6424195aafc7242006b69fc8d" +checksum = "0b6dd31f7069836e87169bc5910212571b873cebe389c7c7f2d8b1fb3e55c80d" dependencies = [ "delog", - "heapless", + "heapless 0.9.1", "heapless-bytes", - "serde", + "serde_core", ] [[package]] name = "cc" -version = "1.2.30" +version = "1.2.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7" +checksum = "80f41ae168f955c12fb8960b057d70d0ca153fb83182b57d86380443527be7e9" dependencies = [ + "find-msvc-tools", "shlex", ] @@ -593,9 +590,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "chacha20" @@ -623,14 +620,13 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "num-traits", - "windows-link", + "windows-link 0.2.0", ] [[package]] @@ -666,9 +662,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.41" +version = "4.5.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9" +checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae" dependencies = [ "clap_builder", "clap_derive", @@ -685,9 +681,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.41" +version = "4.5.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d" +checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9" dependencies = [ "anstream", "anstyle", @@ -697,14 +693,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.41" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491" +checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -730,7 +726,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" dependencies = [ - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -760,7 +756,7 @@ dependencies = [ "libc", "once_cell", "unicode-width 0.2.1", - "windows-sys", + "windows-sys 0.59.0", ] [[package]] @@ -824,7 +820,7 @@ dependencies = [ "bare-metal 1.0.0", "cortex-m", "cortex-m-rtic-macros", - "heapless", + "heapless 0.7.17", "rtic-core", "rtic-monotonic", "version_check", @@ -854,9 +850,9 @@ dependencies = [ [[package]] name = "cosey" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75494895fa1a9713ca725ddf2db084ee84fb0c20938fdd7c89293febe732d30a" +checksum = "540d9a2a9f2d35a876fedb35f4c0b51c7a69f71f042252cf34fc159708f962d4" dependencies = [ "heapless-bytes", "serde", @@ -935,15 +931,15 @@ dependencies = [ [[package]] name = "ctap-types" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb8b105c5e728afd373e99874f0c1911c170b3a56848456cc16feb4506321606" +checksum = "ab74c7ac39f3bde2a13960ab8257975a35cfcc3d45420ca59b21b55dcbadc6f9" dependencies = [ "bitflags 1.3.2", "cbor-smol", "cosey", "delog", - "heapless", + "heapless 0.9.1", "heapless-bytes", "iso7816", "serde", @@ -954,9 +950,9 @@ dependencies = [ [[package]] name = "ctaphid-app" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fe93489fe96c998488d0843dffea35c02ed9add2585e55228e1d45988727ecc" +checksum = "2dc7bdd7194322583c6f3ec411713cb555da3ab9b97414a322639ca4adc728c7" dependencies = [ "heapless-bytes", "trussed-core", @@ -964,9 +960,9 @@ dependencies = [ [[package]] name = "ctaphid-dispatch" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38fd4316573df369820c5a9f8285fe522d8871c0b20bcf7d390f73b8e6caee28" +checksum = "147f7046a868d513bfa57c04417a585cc9d5de126556cf6814318d5393901b87" dependencies = [ "ctaphid-app", "delog", @@ -1006,9 +1002,9 @@ dependencies = [ [[package]] name = "delog" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af2b93368262340c9d4441251b824500d1b641a50957ecf4219a2cc41b9eac8f" +checksum = "ed991f9823b19e8a0380e198dcbb6aa6ac82727b40bfecd2c6cc634f46b7e01c" dependencies = [ "log", ] @@ -1032,7 +1028,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1083,7 +1079,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1180,7 +1176,7 @@ dependencies = [ "embedded-hal", "interchange", "littlefs2-core", - "littlefs2-sys 0.3.1", + "littlefs2-sys 0.3.2", "lpc55-hal", "lpc55-pac", "memory-regions", @@ -1220,11 +1216,11 @@ checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encrypted_container" version = "0.1.0" -source = "git+https://github.com/Nitrokey/trussed-secrets-app?tag=v0.14.0#e72e80491b79962ac0f8030581eca8ba0004a732" +source = "git+https://github.com/Nitrokey/trussed-secrets-app?tag=v0.15.0#b22216f86a6c72827fb0900f38f1363c55b2619e" dependencies = [ "cbor-smol", "delog", - "heapless", + "heapless 0.9.1", "heapless-bytes", "serde", "trussed-core", @@ -1261,11 +1257,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" +checksum = "259d404d09818dec19332e31d94558aeb442fea04c817006456c24b5460bbd4b" dependencies = [ "serde", + "serde_core", "typeid", ] @@ -1281,9 +1278,9 @@ dependencies = [ [[package]] name = "fido-authenticator" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f7367d82579f74638875b1a277d55a4c23a3b4865b53d26cd315e99aa528b42" +checksum = "5a71f10c27a05873e7020d4c54eb8318236f35c60821b6d65b0a59b9ee8d821c" dependencies = [ "apdu-app", "cbor-smol", @@ -1291,7 +1288,7 @@ dependencies = [ "ctap-types", "ctaphid-app", "delog", - "heapless", + "heapless 0.9.1", "heapless-bytes", "iso7816", "littlefs2-core", @@ -1305,6 +1302,12 @@ dependencies = [ "trussed-hkdf", ] +[[package]] +name = "find-msvc-tools" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959" + [[package]] name = "fixed" version = "1.29.0" @@ -1319,13 +1322,13 @@ dependencies = [ [[package]] name = "flexiber" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2510a9088d9557aab93401404fc6786fad82f55705dedf4ee5884a3ace9be9b" +checksum = "b0dde85f89d92790f7052d357fa120881128e61431a70558bbc0355cc0a5dca4" dependencies = [ "delog", "flexiber_derive", - "heapless", + "heapless 0.9.1", ] [[package]] @@ -1336,7 +1339,7 @@ checksum = "e9985657bc39bae5cb7f4e686b46c67b1ea37390d82fe4bab56d7cd1933429d7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] @@ -1353,9 +1356,9 @@ dependencies = [ [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -1487,9 +1490,9 @@ dependencies = [ [[package]] name = "getopts" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cba6ae63eb948698e300f645f87c70f76630d505f23b8907cf1e193ee85048c1" +checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df" dependencies = [ "unicode-width 0.2.1", ] @@ -1507,9 +1510,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "group" @@ -1561,6 +1564,15 @@ dependencies = [ "byteorder", ] +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1575,9 +1587,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.4" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" [[package]] name = "heapless" @@ -1586,7 +1598,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" dependencies = [ "atomic-polyfill", - "hash32", + "hash32 0.2.1", "rustc_version 0.4.1", "serde", "spin", @@ -1594,14 +1606,24 @@ dependencies = [ ] [[package]] -name = "heapless-bytes" -version = "0.3.0" +name = "heapless" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7285eba272c6af3e9f15fb9e1c1b6e7d35aa70580ffe0d47af017e97dfb6f48b" +checksum = "b1edcd5a338e64688fbdcb7531a846cfd3476a54784dcb918a0844682bc7ada5" dependencies = [ - "heapless", + "hash32 0.3.1", "serde", - "typenum", + "stable_deref_trait", +] + +[[package]] +name = "heapless-bytes" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "774f9dbf3f3a66edc65579e68b9f564ad5ec52e770a755af46b87d40909b8024" +dependencies = [ + "heapless 0.9.1", + "serde_core", ] [[package]] @@ -1660,15 +1682,15 @@ dependencies = [ [[package]] name = "humantime" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] name = "iana-time-zone" -version = "0.1.63" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1776,9 +1798,9 @@ dependencies = [ [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -1797,9 +1819,9 @@ dependencies = [ [[package]] name = "if_chain" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" +checksum = "cd62e6b5e86ea8eeeb8db1de02880a6abc01a397b2ebb64b5d74ac255318f5cb" [[package]] name = "indexmap" @@ -1813,12 +1835,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" dependencies = [ "equivalent", - "hashbrown 0.15.4", + "hashbrown 0.16.0", ] [[package]] @@ -1848,7 +1870,7 @@ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ "hermit-abi", "libc", - "windows-sys", + "windows-sys 0.59.0", ] [[package]] @@ -1859,11 +1881,11 @@ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "iso7816" -version = "0.1.4" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3c7e91da489667bb054f9cd2f1c60cc2ac4478a899f403d11dbc62189215b0" +checksum = "4b574e1a9ae668e3167a82fe2c62fe629ca60383da01c6f70acb0fb642d9c55f" dependencies = [ - "heapless", + "heapless 0.9.1", ] [[package]] @@ -1901,9 +1923,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" dependencies = [ "once_cell", "wasm-bindgen", @@ -1929,9 +1951,9 @@ name = "lfs-backup" version = "0.1.0" dependencies = [ "generic-array", - "heapless", + "heapless 0.9.1", "heapless-bytes", - "littlefs2 0.6.1", + "littlefs2 0.7.0", "postcard 1.1.3", "rand", "serde", @@ -1942,18 +1964,18 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.174" +version = "0.2.176" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" [[package]] name = "libloading" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-targets 0.53.3", + "windows-link 0.2.0", ] [[package]] @@ -1982,30 +2004,32 @@ checksum = "6857dedc8aba748ea287177abe2bdfb3bb43464c3003f93cdc0a72e1e542b60f" dependencies = [ "delog", "generic-array", - "heapless", + "heapless 0.7.17", "littlefs2-core", "littlefs2-sys 0.2.0", ] [[package]] name = "littlefs2" -version = "0.6.1" -source = "git+https://github.com/trussed-dev/littlefs2.git?rev=v0.6.1-nitrokey.1#b3a7371d849695fa05ab75910c4b14057db7ceb2" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09962f5a4debc842f60156499ba53364cff174f4afb0ac210156d114d843cc4d" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "delog", "generic-array", - "heapless", + "heapless 0.9.1", "littlefs2-core", - "littlefs2-sys 0.3.1", + "littlefs2-sys 0.3.2", ] [[package]] name = "littlefs2-core" -version = "0.1.1" -source = "git+https://github.com/trussed-dev/littlefs2.git?rev=v0.6.1-nitrokey.1#b3a7371d849695fa05ab75910c4b14057db7ceb2" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd2d1cad5532f5e11b0fd871b8a981885efd3fdaec0427c0d637322ae09efbf" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "heapless-bytes", "serde", ] @@ -2022,8 +2046,9 @@ dependencies = [ [[package]] name = "littlefs2-sys" -version = "0.3.1" -source = "git+https://github.com/trussed-dev/littlefs2-sys.git?rev=v0.3.1-nitrokey.1#1cfd35c9974b877761e8bb45417f7ad2a61bedad" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae112b732df34c1420471e1ff21c562dfdf81219efb5960dd15b3947097e784a" dependencies = [ "bindgen 0.70.1", "cc", @@ -2041,9 +2066,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.27" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "loom" @@ -2093,11 +2118,11 @@ dependencies = [ [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata", ] [[package]] @@ -2136,7 +2161,7 @@ name = "ndef-app" version = "0.1.0" dependencies = [ "apdu-app", - "heapless", + "heapless 0.9.1", "iso7816", ] @@ -2147,7 +2172,7 @@ dependencies = [ "apdu-dispatch", "delog", "embedded-time", - "heapless", + "heapless 0.9.1", "interchange", "iso7816", "nb 1.1.0", @@ -2238,12 +2263,11 @@ dependencies = [ [[package]] name = "nu-ansi-term" -version = "0.46.0" +version = "0.50.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" dependencies = [ - "overload", - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -2346,16 +2370,16 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "opcard" -version = "1.6.1" -source = "git+https://github.com/Nitrokey/opcard-rs?tag=v1.6.1#d6eb2d6041ef13022c6cfb2a13eed9b0037b89d5" +version = "1.7.0" +source = "git+https://github.com/Nitrokey/opcard-rs?tag=v1.7.0#2b94d6aa0d1d533e01997b61332b229247e41c49" dependencies = [ "admin-app", "apdu-app", - "bitflags 2.9.1", + "bitflags 2.9.4", "cbor-smol", "cfg-if", "delog", - "heapless", + "heapless 0.9.1", "heapless-bytes", "hex-literal 0.4.1", "iso7816", @@ -2367,7 +2391,7 @@ dependencies = [ "trussed-auth", "trussed-chunked", "trussed-core", - "trussed-rsa-alloc", + "trussed-rsa-types", "trussed-wrap-key-to-file", ] @@ -2380,12 +2404,6 @@ dependencies = [ "num-traits", ] -[[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" @@ -2448,9 +2466,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pin-project-lite" @@ -2466,15 +2484,15 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piv-authenticator" -version = "0.5.3" -source = "git+https://github.com/trussed-dev/piv-authenticator.git?tag=v0.5.3#5c858c2dd60fe2c3f628f50e308e2a2c39e34bd3" +version = "0.6.0" +source = "git+https://github.com/trussed-dev/piv-authenticator.git?tag=v0.6.0#be6918199642d53ae1af75f181e0b5577449d7a2" dependencies = [ "apdu-app", "cbor-smol", "cfg-if", "delog", "flexiber", - "heapless", + "heapless 0.9.1", "heapless-bytes", "hex-literal 0.3.4", "iso7816", @@ -2486,7 +2504,7 @@ dependencies = [ "trussed-chunked", "trussed-core", "trussed-hpke", - "trussed-rsa-alloc", + "trussed-rsa-types", "trussed-wrap-key-to-file", "untrusted", ] @@ -2529,7 +2547,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a25c0b0ae06fcffe600ad392aabfa535696c8973f2253d9ac83171924c58a858" dependencies = [ - "heapless", + "heapless 0.7.17", "postcard-cobs", "serde", ] @@ -2541,7 +2559,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" dependencies = [ "cobs", - "heapless", + "heapless 0.7.17", "serde", ] @@ -2553,9 +2571,9 @@ checksum = "7c68cb38ed13fd7bc9dd5db8f165b7c8d9c1a315104083a2b10f11354c2af97f" [[package]] name = "potential_utf" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" dependencies = [ "zerovec", ] @@ -2614,9 +2632,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -2628,7 +2646,7 @@ dependencies = [ "apdu-app", "ctaphid-app", "delog", - "heapless", + "heapless 0.9.1", "heapless-bytes", "iso7816", "littlefs2-core", @@ -2699,7 +2717,7 @@ version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", ] [[package]] @@ -2710,47 +2728,32 @@ checksum = "09c30c54dffee5b40af088d5d50aa3455c91a0127164b51f0215efc4cb28fb3c" [[package]] name = "regex" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", + "regex-automata", + "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] name = "rfc6979" @@ -2856,14 +2859,14 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.26", + "semver 1.0.27", ] [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" @@ -2877,7 +2880,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b947325a585e90733e0e9ec097228f40b637cc346f9bd68f84d5c6297d0fcfef" dependencies = [ - "cosey", "ed25519", "subtle", "zeroize", @@ -2897,17 +2899,17 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "se05x" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ecad732a06c24e13e251c8822e52a00c33a37ff6e1d2741b912365cbe8fa196" +checksum = "5955f406f79ddb943663e865915cfa1f0fce43a63e5a046623e0d6ddea84ab27" dependencies = [ "aes", - "bitflags 2.9.1", + "bitflags 2.9.4", "cmac", "crc16", "delog", "embedded-hal", - "heapless", + "heapless 0.9.1", "hex-literal 0.4.1", "iso7816", "lpc55-hal", @@ -2933,18 +2935,18 @@ dependencies = [ [[package]] name = "secrets-app" -version = "0.14.0" -source = "git+https://github.com/Nitrokey/trussed-secrets-app?tag=v0.14.0#e72e80491b79962ac0f8030581eca8ba0004a732" +version = "0.15.0" +source = "git+https://github.com/Nitrokey/trussed-secrets-app?tag=v0.15.0#b22216f86a6c72827fb0900f38f1363c55b2619e" dependencies = [ "apdu-app", - "bitflags 2.9.1", + "bitflags 2.9.4", "block-padding", "cbor-smol", "ctaphid-app", "delog", "encrypted_container", "flexiber", - "heapless", + "heapless 0.9.1", "heapless-bytes", "hex-literal 0.3.4", "iso7816", @@ -2965,11 +2967,12 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" dependencies = [ "serde", + "serde_core", ] [[package]] @@ -2980,10 +2983,11 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.226" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "0dca6411025b24b60bfa7ec1fe1f8e710ac09782dca409ee8237ba74b51295fd" dependencies = [ + "serde_core", "serde_derive", ] @@ -3004,17 +3008,18 @@ checksum = "fca2da10b1f1623f47130256065e05e94fd7a98dbd26a780a4c5de831b21e5c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "serde-untagged" -version = "0.1.7" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "299d9c19d7d466db4ab10addd5703e4c615dec2a5a16dbbafe191045e87ee66e" +checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" dependencies = [ "erased-serde", "serde", + "serde_core", "typeid", ] @@ -3030,34 +3035,45 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ "serde", + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.226" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba2ba63999edb9dac981fb34b3e5c0d111a69b0924e253ed29d83f7c99e966a4" +dependencies = [ + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.226" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "8db53ae22f34573731bafa1db20f04027b2d25e02d8205921b569171699cdb33" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "serde_json" -version = "1.0.141" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] @@ -3068,7 +3084,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3082,11 +3098,11 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +checksum = "5417783452c2be558477e104686f7de5dae53dba813c28435e0e70f82d9b04ee" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -3169,9 +3185,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -3188,9 +3204,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" @@ -3258,7 +3274,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3293,9 +3309,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.104" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -3310,7 +3326,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3344,11 +3360,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.16", ] [[package]] @@ -3359,18 +3375,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3406,14 +3422,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.4" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ae868b5a0f67631c14589f7e250c1ea2c574ee5ba21c6c8dd4b1485705a5a1" +checksum = "00e5e5d9bf2475ac9d4f0d9edab68cc573dc2fd644b0dba36b0c30a92dd9eaa0" dependencies = [ - "indexmap 2.10.0", - "serde", - "serde_spanned 1.0.0", - "toml_datetime 0.7.0", + "indexmap 2.11.4", + "serde_core", + "serde_spanned 1.0.2", + "toml_datetime 0.7.2", "toml_parser", "toml_writer", "winnow", @@ -3430,11 +3446,11 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +checksum = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -3443,7 +3459,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.11.4", "serde", "serde_spanned 0.6.9", "toml_datetime 0.6.11", @@ -3453,9 +3469,9 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30" +checksum = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627" dependencies = [ "winnow", ] @@ -3468,9 +3484,9 @@ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" [[package]] name = "toml_writer" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" +checksum = "d163a63c116ce562a22cda521fcc4d79152e7aba014456fb5eb442f6d6a10109" [[package]] name = "tracing" @@ -3491,7 +3507,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3517,14 +3533,14 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "regex", + "regex-automata", "sharded-slab", "smallvec", "thread_local", @@ -3536,10 +3552,10 @@ dependencies = [ [[package]] name = "trussed" version = "0.1.0" -source = "git+https://github.com/trussed-dev/trussed.git?rev=e107ed315a07dc6c992fac39d542e847cc3a1b6c#e107ed315a07dc6c992fac39d542e847cc3a1b6c" +source = "git+https://github.com/trussed-dev/trussed.git?rev=0f8df68be879acdde1f8cf428c11e5d29692a47b#0f8df68be879acdde1f8cf428c11e5d29692a47b" dependencies = [ "aes", - "bitflags 2.9.1", + "bitflags 2.9.4", "cbc", "cbor-smol", "cfg-if", @@ -3550,12 +3566,12 @@ dependencies = [ "des", "flexiber", "generic-array", - "heapless", + "heapless 0.9.1", "heapless-bytes", "hex-literal 0.4.1", "hmac", "interchange", - "littlefs2 0.6.1", + "littlefs2 0.7.0", "littlefs2-core", "nb 1.1.0", "p256-cortex-m4", @@ -3572,9 +3588,9 @@ dependencies = [ [[package]] name = "trussed-auth" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3110004319491b9210f50c3653a574d354e27a3de73ae5a3dfc2e686027702e7" +checksum = "36b4123667b5c36495d1f650732338c64fd645d9a9f27cada941d5f00ce2b631" dependencies = [ "serde", "trussed-core", @@ -3583,7 +3599,7 @@ dependencies = [ [[package]] name = "trussed-auth-backend" version = "0.1.0" -source = "git+https://github.com/trussed-dev/trussed-auth?tag=v0.4.0#ab6ad8422531fb4801fee795cb44baa375320f15" +source = "git+https://github.com/trussed-dev/trussed-auth?tag=backend-v0.1.0#faeb596778be5739afc86c34e45634f57f0f28ff" dependencies = [ "chacha20poly1305", "hkdf", @@ -3601,9 +3617,9 @@ dependencies = [ [[package]] name = "trussed-chunked" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9268d9d812440965ce31684e0115ceafa2636b7a8cc04dc117594567c53ff75e" +checksum = "5773ec78597cb55f609c45ce1cf9566cd20d4749aba53a9a9408a47707289ff3" dependencies = [ "serde", "serde-byte-array", @@ -3612,9 +3628,9 @@ dependencies = [ [[package]] name = "trussed-core" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afddad280ae8a5235e1b06408cca909ce9454cdd89f941b94b024c580732b3ce" +checksum = "3ac4d4507be66aa1a5ba6921bed58d37af1e0118772e0a4955df58aa3cb4f5e8" dependencies = [ "heapless-bytes", "littlefs2-core", @@ -3626,9 +3642,9 @@ dependencies = [ [[package]] name = "trussed-fs-info" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44822e0abc5a32b3f370f82644ee9cb08aa693847aac0d48f6dc115389157aea" +checksum = "4f29e12a051798fc37e531379862a23ac62a1ca38e2357684cd04fc69dc4f1d9" dependencies = [ "serde", "serde-byte-array", @@ -3637,9 +3653,9 @@ dependencies = [ [[package]] name = "trussed-hkdf" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17884daee9214e24c7bb9cf2429d0f53c569cfa4a8d728106e459e60aed5be69" +checksum = "31644e234cbfa703017f13d98b643851d814c45f90d969ce0bbbb3cb28879edc" dependencies = [ "serde", "trussed-core", @@ -3647,9 +3663,9 @@ dependencies = [ [[package]] name = "trussed-hpke" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d382b3bb98a71862e7db71437204d3e9f1542e42d30c1f18515ba07db4d970a" +checksum = "eb285be4d1ddc4a69c81481fb2148e9f68c4153c6c2e9a3bfd234ab37c225601" dependencies = [ "serde", "serde-byte-array", @@ -3658,9 +3674,9 @@ dependencies = [ [[package]] name = "trussed-manage" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9663f2c1b5bddbb02f9edbbe9085313ae8cd03e53a2eb266f43b1dba365287" +checksum = "dfab5a172be33bcbbdb7362842a887f84bb594af6f3ccd248739673f1e890c42" dependencies = [ "littlefs2-core", "serde", @@ -3669,30 +3685,42 @@ dependencies = [ [[package]] name = "trussed-rsa-alloc" -version = "0.3.0" -source = "git+https://github.com/trussed-dev/trussed-rsa-backend.git?tag=v0.3.0#053d3b55622d6956610eff80a138ab92671df4ca" +version = "0.4.0" +source = "git+https://github.com/trussed-dev/trussed-rsa-backend.git?tag=v0.4.0#d9807ac604b2d66c943c48007795f1b732b708fe" dependencies = [ "delog", "heapless-bytes", "num-bigint-dig", - "postcard 0.7.3", "rsa", - "serde", "trussed", "trussed-core", + "trussed-rsa-types", +] + +[[package]] +name = "trussed-rsa-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808ceb762811c8e5373c36a68e75dda381e33e71e3edab283c01d0858afae818" +dependencies = [ + "heapless-bytes", + "postcard 0.7.3", + "serde", + "trussed-core", ] [[package]] name = "trussed-se050-backend" -version = "0.5.0" -source = "git+https://github.com/Nitrokey/trussed-se050-backend.git?tag=v0.5.0#f1405e79e46ec34bdfb5977613f084e172205ef9" +version = "0.6.0" +source = "git+https://github.com/Nitrokey/trussed-se050-backend.git?tag=v0.6.0#b62e9fb5a3eaaca32459d78c7304eb21c630f203" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cbor-smol", "chacha20poly1305", "crypto-bigint", "delog", "der", + "heapless 0.9.1", "hex-literal 0.4.1", "hkdf", "hmac", @@ -3715,15 +3743,16 @@ dependencies = [ "trussed-hpke", "trussed-manage", "trussed-rsa-alloc", + "trussed-rsa-types", "trussed-se050-manage", "trussed-wrap-key-to-file", ] [[package]] name = "trussed-se050-manage" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b1fd8a2ef2691183281ddf81630ef24c27211955c3c3998f83d21572f48673" +checksum = "94d5f46ac87ea5209b78334d24418120d89fe7a5c387b638a5d5112dfe56f17b" dependencies = [ "serde", "trussed-core", @@ -3731,13 +3760,15 @@ dependencies = [ [[package]] name = "trussed-staging" -version = "0.3.3" -source = "git+https://github.com/trussed-dev/trussed-staging.git?tag=v0.3.3#2e44cf8ca3e6597880a1e59757228da2d6cce3f1" +version = "0.4.0" +source = "git+https://github.com/trussed-dev/trussed-staging.git?tag=v0.4.0#bda6a9afec4f3ceeaf096002f95126653066615e" dependencies = [ "aead", "chacha20poly1305", "delog", "digest 0.10.7", + "heapless 0.9.1", + "heapless-bytes", "hex-literal 0.4.1", "hkdf", "littlefs2-core", @@ -3758,7 +3789,7 @@ dependencies = [ [[package]] name = "trussed-usbip" version = "0.0.1" -source = "git+https://github.com/trussed-dev/pc-usbip-runner.git?rev=504674453c9573a30aa2f155101df49eb2af1ba7#504674453c9573a30aa2f155101df49eb2af1ba7" +source = "git+https://github.com/trussed-dev/pc-usbip-runner.git?rev=017921df0930707c4af68882ccb1f8b3f1bbf7c5#017921df0930707c4af68882ccb1f8b3f1bbf7c5" dependencies = [ "apdu-dispatch", "ctaphid-dispatch", @@ -3776,9 +3807,9 @@ dependencies = [ [[package]] name = "trussed-wrap-key-to-file" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b923d89f632ac2b62af4193844f1afb6d0fe4e31af8a1a85053a328da1f512d7" +checksum = "ee53579ffe7d100a84a53ae29240552fa83a5686969db73c4f74cf13a23b00de" dependencies = [ "serde", "trussed-core", @@ -3786,22 +3817,22 @@ dependencies = [ [[package]] name = "typed-builder" -version = "0.20.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9d30e3a08026c78f246b173243cf07b3696d274debd26680773b6773c2afc7" +checksum = "31aa81521b70f94402501d848ccc0ecaa8f93c8eb6999eb9747e72287757ffda" dependencies = [ "typed-builder-macro", ] [[package]] name = "typed-builder-macro" -version = "0.20.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c36781cc0e46a83726d9879608e4cf6c2505237e263a8eb8c24502989cfdb28" +checksum = "076a02dc54dd46795c2e9c8282ed40bcfb1e22747e955de9389a1de28190fb26" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3824,9 +3855,9 @@ checksum = "e87a2ed6b42ec5e28cc3b94c09982969e9227600b2e3dcbc1db927a84c06bd69" [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" [[package]] name = "unicode-width" @@ -3864,13 +3895,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -3881,23 +3913,22 @@ checksum = "1f6cc3adc849b5292b4075fc0d5fdcf2f24866e88e336dd27a8943090a520508" [[package]] name = "usbd-ccid" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403fefa622483869d1b36f2accd7458291202c18aa2f2e5147caf638825dde0c" +checksum = "8acbc8d41fe1b6dc92347f5988a44252fc9e2511f7cb312fa23e9eee186bfdd3" dependencies = [ "delog", "embedded-time", - "heapless", + "heapless 0.9.1", "interchange", - "iso7816", "usb-device", ] [[package]] name = "usbd-ctaphid" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82f5a2aa6898726b4eeb3fa3796fb8dc49e76e2a16bd683db103f63bc8ceca97" +checksum = "c527a4840bcb38299924c7a6b0c31f95a89172bdfb4577c515315ce9b097f15a" dependencies = [ "ctaphid-dispatch", "delog", @@ -3932,7 +3963,7 @@ dependencies = [ "ctaphid-dispatch", "delog", "dialoguer", - "littlefs2 0.6.1", + "littlefs2 0.7.0", "littlefs2-core", "log", "pretty_env_logger", @@ -3961,10 +3992,10 @@ version = "1.8.3" dependencies = [ "chrono", "delog", - "littlefs2 0.6.1", + "littlefs2 0.7.0", "quickcheck", "regex", - "semver 1.0.26", + "semver 1.0.27", ] [[package]] @@ -4008,35 +4039,36 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4044,57 +4076,35 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" dependencies = [ "unicode-ident", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys", + "windows-sys 0.61.0", ] -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - [[package]] name = "windows" version = "0.48.0" @@ -4106,13 +4116,13 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.61.2" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +checksum = "57fe7168f7de578d2d8a05b07fd61870d2e73b4020e9f49aa00da8471723497c" dependencies = [ "windows-implement", "windows-interface", - "windows-link", + "windows-link 0.2.0", "windows-result", "windows-strings", ] @@ -4125,7 +4135,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4136,7 +4146,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4145,22 +4155,37 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +[[package]] +name = "windows-link" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" + [[package]] name = "windows-result" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +checksum = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" dependencies = [ - "windows-link", + "windows-link 0.2.0", ] [[package]] name = "windows-strings" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +checksum = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" dependencies = [ - "windows-link", + "windows-link 0.2.0", +] + +[[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", ] [[package]] @@ -4172,6 +4197,24 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.3", +] + +[[package]] +name = "windows-sys" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" +dependencies = [ + "windows-link 0.2.0", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -4209,7 +4252,7 @@ version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ - "windows-link", + "windows-link 0.1.3", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -4360,9 +4403,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] @@ -4393,28 +4436,28 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4434,7 +4477,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] @@ -4455,7 +4498,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4471,9 +4514,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke", "zerofrom", @@ -4488,5 +4531,5 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] diff --git a/Cargo.toml b/Cargo.toml index 0530eb4e..cb1cb80a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ resolver = "2" version = "1.8.3" [workspace.dependencies] -littlefs2 = "0.6" +littlefs2 = "0.7" [patch.crates-io] # components @@ -21,23 +21,20 @@ memory-regions = { path = "components/memory-regions" } # unreleased libraries p256-cortex-m4 = { git = "https://github.com/ycrypto/p256-cortex-m4.git", rev = "cdb31e12594b4dc1f045b860a885fdc94d96aee2" } -trussed = { git = "https://github.com/trussed-dev/trussed.git", rev = "e107ed315a07dc6c992fac39d542e847cc3a1b6c" } -trussed-usbip = { git = "https://github.com/trussed-dev/pc-usbip-runner.git", rev = "504674453c9573a30aa2f155101df49eb2af1ba7" } +trussed = { git = "https://github.com/trussed-dev/trussed.git", rev = "0f8df68be879acdde1f8cf428c11e5d29692a47b" } +trussed-usbip = { git = "https://github.com/trussed-dev/pc-usbip-runner.git", rev = "017921df0930707c4af68882ccb1f8b3f1bbf7c5" } # applications -admin-app = { git = "https://github.com/Nitrokey/admin-app.git", tag = "v0.1.0-nitrokey.20" } -opcard = { git = "https://github.com/Nitrokey/opcard-rs", tag = "v1.6.1" } -piv-authenticator = { git = "https://github.com/trussed-dev/piv-authenticator.git", tag = "v0.5.3" } -secrets-app = { git = "https://github.com/Nitrokey/trussed-secrets-app", tag = "v0.14.0" } +admin-app = { git = "https://github.com/Nitrokey/admin-app.git", tag = "v0.1.0-nitrokey.21" } +opcard = { git = "https://github.com/Nitrokey/opcard-rs", tag = "v1.7.0" } +piv-authenticator = { git = "https://github.com/trussed-dev/piv-authenticator.git", tag = "v0.6.0" } +secrets-app = { git = "https://github.com/Nitrokey/trussed-secrets-app", tag = "v0.15.0" } # backends -trussed-auth-backend = { git = "https://github.com/trussed-dev/trussed-auth", tag = "v0.4.0" } -trussed-rsa-alloc = { git = "https://github.com/trussed-dev/trussed-rsa-backend.git", tag = "v0.3.0" } -trussed-se050-backend = { git = "https://github.com/Nitrokey/trussed-se050-backend.git", tag = "v0.5.0" } -trussed-staging = { git = "https://github.com/trussed-dev/trussed-staging.git", tag = "v0.3.3" } -littlefs2-sys = { git = "https://github.com/trussed-dev/littlefs2-sys.git", rev = "v0.3.1-nitrokey.1" } -littlefs2 = { git = "https://github.com/trussed-dev/littlefs2.git", rev = "v0.6.1-nitrokey.1" } -littlefs2-core = { git = "https://github.com/trussed-dev/littlefs2.git", rev = "v0.6.1-nitrokey.1" } +trussed-auth-backend = { git = "https://github.com/trussed-dev/trussed-auth", tag = "backend-v0.1.0" } +trussed-rsa-alloc = { git = "https://github.com/trussed-dev/trussed-rsa-backend.git", tag = "v0.4.0" } +trussed-se050-backend = { git = "https://github.com/Nitrokey/trussed-se050-backend.git", tag = "v0.6.0" } +trussed-staging = { git = "https://github.com/trussed-dev/trussed-staging.git", tag = "v0.4.0" } [profile.release] codegen-units = 1 diff --git a/components/apps/Cargo.toml b/components/apps/Cargo.toml index 91fc475e..7fad2f2c 100644 --- a/components/apps/Cargo.toml +++ b/components/apps/Cargo.toml @@ -5,46 +5,46 @@ edition = "2021" [dependencies] delog = "0.1" -apdu-app = "0.1" +apdu-app = "0.2" bitflags = "2" -ctaphid-app = "0.1" +ctaphid-app = "0.2" embedded-hal = "0.2.7" -heapless = "0.7" -heapless-bytes = "0.3" +heapless = "0.9" +heapless-bytes = "0.5" interchange = "0.3" -se05x = { version = "0.2.1", optional = true} +se05x = { version = "0.3.1", optional = true} serde = { version = "1.0.180", default-features = false } trussed = { version = "0.1", default-features = false, features = ["crypto-client", "filesystem-client", "management-client", "serde-extensions", "ui-client"] } -trussed-core = "0.1.0-rc.1" +trussed-core = "0.2" trussed-usbip = { version = "0.0.1", default-features = false, features = ["ctaphid"], optional = true } -usbd-ctaphid = { version = "0.3", optional = true } +usbd-ctaphid = { version = "0.4", optional = true } utils = { path = "../utils" } if_chain = "1.0.2" littlefs2-core = "0.1" # Backends trussed-auth-backend = { version = "0.1.0", optional = true } -trussed-rsa-alloc = { version = "0.3.0", optional = true } -trussed-se050-backend = { version = "0.5.0", optional = true } -trussed-staging = { version = "0.3.2", features = ["wrap-key-to-file", "chunked", "hkdf", "manage", "fs-info"] } +trussed-rsa-alloc = { version = "0.4.0", optional = true } +trussed-se050-backend = { version = "0.6", optional = true } +trussed-staging = { version = "0.4", features = ["wrap-key-to-file", "chunked", "hkdf", "manage", "fs-info"] } # Extensions -trussed-auth = { version = "0.4", optional = true } -trussed-chunked = "0.2.0" -trussed-hkdf = "0.3.0" -trussed-manage = "0.2.0" -trussed-se050-manage = { version = "0.2.0", optional = true } -trussed-wrap-key-to-file = "0.2.0" -trussed-fs-info = "0.2.0" -trussed-hpke = "0.2.0" +trussed-auth = { version = "0.5", optional = true } +trussed-chunked = "0.3.0" +trussed-hkdf = "0.4.0" +trussed-manage = "0.3.0" +trussed-se050-manage = { version = "0.3", optional = true } +trussed-wrap-key-to-file = "0.3.0" +trussed-fs-info = "0.3.0" +trussed-hpke = "0.3.0" # apps admin-app = "0.1.0" -fido-authenticator = { version = "0.2", features = ["chunked", "dispatch"], optional = true } +fido-authenticator = { version = "0.3", features = ["chunked", "dispatch"], optional = true } ndef-app = { path = "../ndef-app", optional = true } -secrets-app = { version = "0.14.0", features = ["apdu-dispatch", "ctaphid"], optional = true } -opcard = { version = "1.6.1", features = ["apdu-dispatch", "delog", "rsa2048-gen", "rsa4096", "admin-app"], optional = true } -piv-authenticator = { version = "0.5.2", features = ["apdu-dispatch", "delog", "rsa"], optional = true } +secrets-app = { version = "0.15", features = ["apdu-dispatch", "ctaphid"], optional = true } +opcard = { version = "1.7", features = ["apdu-dispatch", "delog", "rsa2048-gen", "rsa4096", "admin-app"], optional = true } +piv-authenticator = { version = "0.6", features = ["apdu-dispatch", "delog", "rsa"], optional = true } provisioner-app = { path = "../provisioner-app", optional = true } [dev-dependencies] @@ -81,6 +81,7 @@ log-debug = [] log-trace = [] log-none = [] +trussed-usbip = ["dep:trussed-usbip", "backend-rsa", "trussed-rsa-alloc/raw"] trussed-usbip-ccid = ["trussed-usbip/ccid", "backend-software-hpke"] factory-reset = ["admin-app/factory-reset"] diff --git a/components/apps/src/lib.rs b/components/apps/src/lib.rs index 383402f3..15cdcd4a 100644 --- a/components/apps/src/lib.rs +++ b/components/apps/src/lib.rs @@ -703,11 +703,11 @@ impl Apps { (app, data.init_status) } - pub fn apdu_dispatch(&mut self, f: F) -> T + pub fn apdu_dispatch(&mut self, f: F) -> T where - F: FnOnce(&mut [&mut dyn ApduApp]) -> T, + F: FnOnce(&mut [&mut dyn ApduApp]) -> T, { - let mut apps: Vec<&mut dyn ApduApp, 7> = Default::default(); + let mut apps: Vec<&mut dyn ApduApp, 7> = Default::default(); // App 1: ndef #[cfg(feature = "ndef-app")] @@ -747,11 +747,11 @@ impl Apps { f(&mut apps) } - pub fn ctaphid_dispatch(&mut self, f: F) -> T + pub fn ctaphid_dispatch(&mut self, f: F) -> T where - F: FnOnce(&mut [&mut dyn CtaphidApp<'static, N>]) -> T, + F: FnOnce(&mut [&mut dyn CtaphidApp<'static>]) -> T, { - let mut apps: Vec<&mut dyn CtaphidApp<'static, N>, 4> = Default::default(); + let mut apps: Vec<&mut dyn CtaphidApp<'static>, 4> = Default::default(); #[cfg(feature = "fido-authenticator")] if let Some(fido) = self.fido.as_mut() { @@ -794,18 +794,15 @@ where apps } - fn with_ctaphid_apps( + fn with_ctaphid_apps( &mut self, - f: impl FnOnce(&mut [&mut dyn CtaphidApp<'static, N>]) -> T, + f: impl FnOnce(&mut [&mut dyn CtaphidApp<'static>]) -> T, ) -> T { self.ctaphid_dispatch(f) } #[cfg(feature = "trussed-usbip-ccid")] - fn with_ccid_apps( - &mut self, - f: impl FnOnce(&mut [&mut dyn apdu_app::App]) -> T, - ) -> T { + fn with_ccid_apps(&mut self, f: impl FnOnce(&mut [&mut dyn apdu_app::App]) -> T) -> T { self.apdu_dispatch(f) } } diff --git a/components/boards/Cargo.toml b/components/boards/Cargo.toml index f70f5b7e..d927e596 100644 --- a/components/boards/Cargo.toml +++ b/components/boards/Cargo.toml @@ -4,18 +4,19 @@ edition = "2021" version.workspace = true [dependencies] -apdu-dispatch = "0.3" +apdu-dispatch = "0.4" apps = { path = "../apps", features = ["fido-authenticator"] } cortex-m = "0.7" cortex-m-rtic = "1.0" cortex-m-rt = "0.6.15" -ctaphid-dispatch = "0.3" +ctaphid-dispatch = "0.4" delog = "0.1" embedded-hal = "0.2.3" embedded-time = "0.12" generic-array = "0.14" interchange = "0.3" -littlefs2 = { workspace = true, features = ["c-stubs"] } +littlefs2 = { version = "=0.7.0", features = ["c-stubs", "unstable-littlefs-patched"] } +littlefs2-sys = "=0.3.2" memory-regions = { path = "../memory-regions" } nb = "1" nfc-device = { path = "../nfc-device" } @@ -25,8 +26,8 @@ ref-swap = "0.1.0" spi-memory = "0.2.0" trussed = { version = "0.1", default-features = false } usb-device = "0.2" -usbd-ccid = "0.3" -usbd-ctaphid = "0.3" +usbd-ccid = "0.4" +usbd-ctaphid = "0.4" utils = { path = "../utils" } # soc-lpc55 @@ -50,9 +51,9 @@ cortex-m-semihosting = { version = "0.3.5", optional = true } rtt-target = { version = "0.3", features = ["cortex-m"], optional = true } # se050 -se05x = { version = "0.2.1", optional = true } +se05x = { version = "0.3.1", optional = true } -trussed-manage = "0.2.0" +trussed-manage = "0.3.0" [dev-dependencies] littlefs2-core = { version = "0.1", features = ["debug-error"] } diff --git a/components/boards/src/init.rs b/components/boards/src/init.rs index c05f53ab..f30e215f 100644 --- a/components/boards/src/init.rs +++ b/components/boards/src/init.rs @@ -43,6 +43,12 @@ pub struct Resources { pub usb: UsbResources, } +impl Default for Resources { + fn default() -> Self { + Self::new() + } +} + impl Resources { pub const fn new() -> Self { Self { @@ -57,6 +63,12 @@ pub struct UsbResources { usb_bus: Option::UsbBus>>, } +impl Default for UsbResources { + fn default() -> Self { + Self::new() + } +} + impl UsbResources { pub const fn new() -> Self { Self { usb_bus: None } @@ -296,7 +308,7 @@ pub fn init_trussed( let dispatch = if let Some(hw_key) = hw_key { Dispatch::with_hw_key( AUTH_LOCATION, - trussed::types::Bytes::from_slice(hw_key).unwrap(), + trussed::types::Bytes::try_from(hw_key).unwrap(), #[cfg(feature = "se050")] se050, ) diff --git a/components/boards/src/nk3am/migrations/ftl_journal/backends.rs b/components/boards/src/nk3am/migrations/ftl_journal/backends.rs index ae051427..ef83b0fe 100644 --- a/components/boards/src/nk3am/migrations/ftl_journal/backends.rs +++ b/components/boards/src/nk3am/migrations/ftl_journal/backends.rs @@ -30,7 +30,7 @@ impl BackupBackend for EFSBackupBackend<'_> { fn write(&mut self, content: &[u8]) -> Result { let len = content.len() + ((Self::RW_SIZE - (content.len() % Self::RW_SIZE)) % Self::RW_SIZE); - let mut data: Bytes = Bytes::from_slice(content).unwrap(); + let mut data: Bytes = Bytes::try_from(content).unwrap(); data.resize(len, 0x00) .map_err(|_| FSBackupError::BackendWriteErr)?; @@ -49,7 +49,7 @@ impl BackupBackend for EFSBackupBackend<'_> { fn read(&mut self, len: usize) -> Result> { let mut output = Bytes::::default(); - output.resize_default(len).expect("assuming: N > len"); + output.resize_zero(len).expect("assuming: N > len"); self.extflash .read(self.offset, &mut output) diff --git a/components/boards/src/store.rs b/components/boards/src/store.rs index 6b59062a..ae881cde 100644 --- a/components/boards/src/store.rs +++ b/components/boards/src/store.rs @@ -34,6 +34,12 @@ pub struct StoreResources { volatile: StorageResources, } +impl Default for StoreResources { + fn default() -> Self { + Self::new() + } +} + impl StoreResources { pub const fn new() -> Self { Self { @@ -50,6 +56,12 @@ pub struct StorageResources { storage: MaybeUninit, } +impl Default for StorageResources { + fn default() -> Self { + Self::new() + } +} + impl StorageResources { pub const fn new() -> Self { Self { diff --git a/components/lfs-backup/Cargo.toml b/components/lfs-backup/Cargo.toml index 74ef0cc4..1593166b 100644 --- a/components/lfs-backup/Cargo.toml +++ b/components/lfs-backup/Cargo.toml @@ -8,14 +8,14 @@ edition = "2021" littlefs2.workspace = true generic-array = "0.14.6" -heapless-bytes = "0.3.0" -heapless = "0.7.16" +heapless-bytes = "0.5.0" +heapless = "0.9.1" serde = { version = "1.0", default-features = false } postcard = "1.0" trussed = { version = "0.1", default-features = false } -trussed-core = "0.1.0-rc.1" +trussed-core = "0.2" [dev-dependencies] rand = "0.8.5" diff --git a/components/lfs-backup/src/lfs_backup.rs b/components/lfs-backup/src/lfs_backup.rs index 210998e1..129589ec 100644 --- a/components/lfs-backup/src/lfs_backup.rs +++ b/components/lfs-backup/src/lfs_backup.rs @@ -47,6 +47,16 @@ impl From for FSBackupError { } } +pub(crate) fn postcard_serialize_bytes( + object: &T, +) -> postcard::Result> { + let mut vec = Vec::new(); + vec.resize(N, 0u8).unwrap(); + let serialized = postcard::to_slice(object, &mut vec)?.len(); + vec.resize(serialized, 0).unwrap(); + Ok(vec) +} + pub type Result = core::result::Result; #[derive(Clone, Debug)] @@ -95,7 +105,7 @@ pub trait BackupBackend { attr: Option, ) -> Result { let path_bytes = - Bytes::::from_slice(entry.path().as_str_ref_with_trailing_nul().as_bytes()) + Bytes::::try_from(entry.path().as_str_ref_with_trailing_nul().as_bytes()) .map_err(|_| FSBackupError::PathAssemblyErr)?; let blob = FSEntryBlob { @@ -106,7 +116,7 @@ pub trait BackupBackend { }; // assemble to-be-written blob => let raw_blob: Vec = - postcard::to_vec(&blob).map_err(|_| FSBackupError::SerializeErr)?; + postcard_serialize_bytes(&blob).map_err(|_| FSBackupError::SerializeErr)?; let raw_blob_len: u32 = raw_blob.len() as u32; let raw_blob_len_bin = raw_blob_len.to_be_bytes(); @@ -145,7 +155,7 @@ pub trait BackupBackend { buf // all data for entry already `read` no further `read` calls needed } else { - Bytes::from_slice(&chunk_one.as_slice()[4..]) + Bytes::try_from(&chunk_one.as_slice()[4..]) .map_err(|_| FSBackupError::BackendReadErr)? }; @@ -234,7 +244,7 @@ pub trait BackupBackend { .map_err(|_| FSBackupError::PathStackFullErr)?; let file_contents = entry.file_type().is_file().then(|| { - Message::from_slice( + Message::try_from( fs.read::(entry.path()) .unwrap() .as_slice(), diff --git a/components/ndef-app/Cargo.toml b/components/ndef-app/Cargo.toml index 91acb055..1b587adf 100644 --- a/components/ndef-app/Cargo.toml +++ b/components/ndef-app/Cargo.toml @@ -7,7 +7,7 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -heapless = "0.7" +heapless = "0.9" -apdu-app = "0.1" -iso7816 = "0.1" +apdu-app = "0.2" +iso7816 = "0.2" diff --git a/components/ndef-app/src/ndef.rs b/components/ndef-app/src/ndef.rs index 411eed15..05357085 100644 --- a/components/ndef-app/src/ndef.rs +++ b/components/ndef-app/src/ndef.rs @@ -1,4 +1,5 @@ -use apdu_app::{CommandView, Data, Interface}; +use apdu_app::{CommandView, Interface}; +use heapless::VecView; use iso7816::{Instruction, Status}; pub struct App<'a> { @@ -45,12 +46,12 @@ impl iso7816::App for App<'_> { } } -impl apdu_app::App for App<'_> { +impl apdu_app::App for App<'_> { fn select( &mut self, _interface: Interface, _apdu: CommandView<'_>, - _reply: &mut Data, + _reply: &mut VecView, ) -> apdu_app::Result { Ok(()) } @@ -61,7 +62,7 @@ impl apdu_app::App for App<'_> { &mut self, _type: Interface, apdu: CommandView<'_>, - reply: &mut Data, + reply: &mut VecView, ) -> apdu_app::Result { let instruction = apdu.instruction(); let p1 = apdu.p1; diff --git a/components/nfc-device/Cargo.toml b/components/nfc-device/Cargo.toml index 548f481d..cba8ff5a 100644 --- a/components/nfc-device/Cargo.toml +++ b/components/nfc-device/Cargo.toml @@ -7,11 +7,11 @@ edition = "2018" [dependencies] delog = "0.1.0" embedded-time = "0.12" -heapless = "0.7" +heapless = "0.9" nb = "1" -apdu-dispatch = "0.3" -iso7816 = "0.1" +apdu-dispatch = "0.4" +iso7816 = "0.2" interchange = "0.3.0" [features] diff --git a/components/provisioner-app/Cargo.toml b/components/provisioner-app/Cargo.toml index 1800feba..44af412f 100644 --- a/components/provisioner-app/Cargo.toml +++ b/components/provisioner-app/Cargo.toml @@ -7,14 +7,14 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -apdu-app = "0.1" -ctaphid-app = "0.1.0-rc.1" +apdu-app = "0.2" +ctaphid-app = "0.2" delog = "0.1" -heapless = "0.7" -heapless-bytes = "0.3" -iso7816 = "0.1" +heapless = "0.9" +heapless-bytes = "0.5" +iso7816 = "0.2" littlefs2-core = "0.1" -salty = { version = "0.3", features = ["cose"] } +salty = "0.3" trussed = { version = "0.1", default-features = false, features = ["crypto-client"] } p256-cortex-m4 = "0.1.0-alpha.6" diff --git a/components/provisioner-app/src/apdu.rs b/components/provisioner-app/src/apdu.rs index 546f8919..7ce2f3b8 100644 --- a/components/provisioner-app/src/apdu.rs +++ b/components/provisioner-app/src/apdu.rs @@ -1,7 +1,8 @@ use crate::{Error, Provisioner}; -use apdu_app::{App, CommandView, Data, Interface, Result, Status}; +use apdu_app::{App, CommandView, Interface, Result}; use core::convert::{TryFrom, TryInto}; -use iso7816::{Aid, Instruction}; +use heapless::VecView; +use iso7816::{Aid, Instruction, Status}; use trussed::{client, store::Store}; const SOLO_PROVISIONER_AID: &[u8] = &[0xA0, 0x00, 0x00, 0x08, 0x47, 0x01, 0x00, 0x00, 0x01]; @@ -40,7 +41,7 @@ where } } -impl App for Provisioner +impl App for Provisioner where S: Store, T: client::CryptoClient, @@ -49,7 +50,7 @@ where &mut self, _interface: Interface, _apdu: CommandView<'_>, - reply: &mut Data, + reply: &mut VecView, ) -> Result { self.buffer_file_contents.clear(); self.buffer_filename.clear(); @@ -64,7 +65,7 @@ where &mut self, _interface_type: Interface, apdu: CommandView<'_>, - reply: &mut Data, + reply: &mut VecView, ) -> Result { apdu.instruction() .try_into() diff --git a/components/provisioner-app/src/ctaphid.rs b/components/provisioner-app/src/ctaphid.rs index d464b2fd..6e7d1533 100644 --- a/components/provisioner-app/src/ctaphid.rs +++ b/components/provisioner-app/src/ctaphid.rs @@ -1,12 +1,12 @@ use crate::{Instruction, Provisioner}; use core::convert::TryFrom; use ctaphid_app::{App, Command, Error, VendorCommand}; -use heapless_bytes::Bytes; +use heapless_bytes::BytesView; use trussed::{client, store::Store}; const COMMAND_PROVISIONER: VendorCommand = VendorCommand::H71; -impl App<'_, N> for Provisioner +impl App<'_> for Provisioner where S: Store, T: client::CryptoClient, @@ -19,7 +19,7 @@ where &mut self, command: Command, request: &[u8], - response: &mut Bytes, + response: &mut BytesView, ) -> Result<(), Error> { if command != Command::Vendor(COMMAND_PROVISIONER) { return Err(Error::InvalidCommand); @@ -28,7 +28,7 @@ where return Err(Error::InvalidLength); } Instruction::try_from(request[0]) - .and_then(|instruction| self.handle(instruction, &request[1..], response)) + .and_then(|instruction| self.handle(instruction, &request[1..], response.as_mut())) .map_err(|_| Error::InvalidCommand) } } diff --git a/components/provisioner-app/src/lib.rs b/components/provisioner-app/src/lib.rs index 187931e2..36ef73e5 100644 --- a/components/provisioner-app/src/lib.rs +++ b/components/provisioner-app/src/lib.rs @@ -18,7 +18,7 @@ extern crate delog; generate_macros!(); use core::convert::TryFrom; -use heapless::Vec; +use heapless::{Vec, VecView}; use littlefs2_core::{path, Path, PathBuf}; use trussed::{ client, @@ -136,11 +136,11 @@ where } } - fn handle( + fn handle( &mut self, instruction: Instruction, data: &[u8], - reply: &mut Vec, + reply: &mut VecView, ) -> Result<(), Error> { match instruction { Instruction::Select => self.select(data), diff --git a/runners/embedded/Cargo.toml b/runners/embedded/Cargo.toml index 2f77dc77..1d8350a0 100644 --- a/runners/embedded/Cargo.toml +++ b/runners/embedded/Cargo.toml @@ -20,10 +20,10 @@ embedded-hal = "0.2.3" littlefs2-core = "0.1" nfc-device = { path = "../../components/nfc-device" } utils = { path = "../../components/utils", features = ["storage"] } -se05x = { version = "0.2.0", optional = true } +se05x = { version = "0.3.0", optional = true } ### protocols and dispatchers -apdu-dispatch = "0.3" +apdu-dispatch = "0.4" ### trussed core trussed = { version = "0.1", default-features = false } diff --git a/runners/embedded/build.rs b/runners/embedded/build.rs index 5bcf896a..013f4c7c 100644 --- a/runners/embedded/build.rs +++ b/runners/embedded/build.rs @@ -22,16 +22,14 @@ fn check_build_triplet() -> SocType { if soc_is_lpc55 && !soc_is_nrf52840 { if target != "thumbv8m.main-none-eabi" { panic!( - "Wrong build triplet for LPC55, expecting thumbv8m.main-none-eabi, got {}", - target + "Wrong build triplet for LPC55, expecting thumbv8m.main-none-eabi, got {target}" ); } SocType::Lpc55 } else if soc_is_nrf52840 && !soc_is_lpc55 { if target != "thumbv7em-none-eabihf" { panic!( - "Wrong build triplet for NRF52840, expecting thumbv7em-none-eabihf, got {}", - target + "Wrong build triplet for NRF52840, expecting thumbv7em-none-eabihf, got {target}", ); } SocType::Nrf52840 @@ -78,8 +76,8 @@ fn main() -> Result<(), Box> { SocType::Nrf52840 => ("ld/nrf52", "../ld/nrf52-memory-template.x"), }; - println!("cargo:rerun-if-changed={}", template_file); - println!("cargo:rerun-if-changed={}", template_file); + println!("cargo:rerun-if-changed={template_file}"); + println!("cargo:rerun-if-changed={template_file}"); let memory_x_dir = Path::new(&env::var("CARGO_MANIFEST_DIR").expect("$CARGO_MANIFEST_DIR not set")) diff --git a/runners/nkpk/Cargo.toml b/runners/nkpk/Cargo.toml index 7cfd4666..d8f32b37 100644 --- a/runners/nkpk/Cargo.toml +++ b/runners/nkpk/Cargo.toml @@ -6,12 +6,12 @@ license = "Apache-2.0 OR MIT" authors = ["Nitrokey GmbH "] [dependencies] -apdu-dispatch = "0.3" +apdu-dispatch = "0.4" apps = { path = "../../components/apps", features = ["nkpk"] } boards = { path = "../../components/boards", features = ["board-nkpk"] } cortex-m = { version = "0.7", features = ["critical-section-single-core"]} cortex-m-rtic = "1.0" -ctaphid-dispatch = "0.3" +ctaphid-dispatch = "0.4" delog = "0.1" interchange = "0.3" nrf52840-hal = "0.15.1" diff --git a/runners/nkpk/build.rs b/runners/nkpk/build.rs index ecf9a016..45983650 100644 --- a/runners/nkpk/build.rs +++ b/runners/nkpk/build.rs @@ -37,8 +37,8 @@ fn main() -> Result<(), Box> { // @todo: move this decision into 'profile.cfg' let (memory_x_infix, template_file) = ("ld/nrf52", "../ld/nrf52-memory-template.x"); - println!("cargo:rerun-if-changed={}", template_file); - println!("cargo:rerun-if-changed={}", template_file); + println!("cargo:rerun-if-changed={template_file}"); + println!("cargo:rerun-if-changed={template_file}"); let memory_x_dir = Path::new(&env::var("CARGO_MANIFEST_DIR").expect("$CARGO_MANIFEST_DIR not set")) diff --git a/runners/usbip/Cargo.toml b/runners/usbip/Cargo.toml index 79ef15ce..b4486ebd 100644 --- a/runners/usbip/Cargo.toml +++ b/runners/usbip/Cargo.toml @@ -8,7 +8,7 @@ apps = { path = "../../components/apps", features = ["log-all", "nk3", "trussed- cfg-if = { version = "1.0.0" } clap = { version = "4.0.0", features = ["cargo", "derive"] } clap-num = "1.0.0" -ctaphid-dispatch = "0.3" +ctaphid-dispatch = "0.4" delog = { version = "0.1.6", features = ["std-log"] } dialoguer = { version = "0.10.4", default-features = false } littlefs2.workspace = true diff --git a/runners/usbip/src/main.rs b/runners/usbip/src/main.rs index 42ad7d43..03cc2113 100644 --- a/runners/usbip/src/main.rs +++ b/runners/usbip/src/main.rs @@ -158,7 +158,7 @@ fn print_version() { "provisioner", ]; - print!("{} {}", crate_name, crate_version); + print!("{crate_name} {crate_version}"); if !enabled_features.is_empty() { print!(" ({})", enabled_features.join(", ")); } @@ -202,7 +202,7 @@ fn exec( trussed_usbip::Builder::new(options) .dispatch(Dispatch::with_hw_key( Location::Internal, - Bytes::from_slice(b"Unique hw key").unwrap(), + Bytes::from(b"Unique hw key"), )) .build::>() .exec(platform, (runner, data)); diff --git a/runners/usbip/src/ui.rs b/runners/usbip/src/ui.rs index 64e603a8..1d8564f2 100644 --- a/runners/usbip/src/ui.rs +++ b/runners/usbip/src/ui.rs @@ -78,7 +78,7 @@ impl trussed::platform::UserInterface for UserInterface { } fn set_status(&mut self, status: Status) { - info!("Set status: {:?}", status); + info!("Set status: {status:?}"); let is_waiting = status == Status::WaitingForUserPresence; trussed_usbip::set_waiting(is_waiting); @@ -100,7 +100,7 @@ impl trussed::platform::UserInterface for UserInterface { } fn reboot(&mut self, to: reboot::To) -> ! { - info!("Restart! ({:?})", to); + info!("Restart! ({to:?})"); process::exit(25); } }