From 8e9c461a452527f4180aebccc1a30d05dcb1061d Mon Sep 17 00:00:00 2001 From: Dreaded_X Date: Wed, 21 Oct 2026 07:30:51 +0200 Subject: [PATCH] chore(deps): Upgrade all deps --- Cargo.lock | 673 +++++++++++++++------------------------------ Cargo.toml | 10 +- src/environment.rs | 20 +- src/file.rs | 4 +- src/main.rs | 6 +- src/patch.rs | 6 +- src/tftp/server.rs | 7 +- 7 files changed, 258 insertions(+), 468 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 45b927e..85dcb58 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -469,7 +469,7 @@ dependencies = [ "clap", "clap_complete", "futures", - "gix-discover 0.56.0", + "gix-discover", "ipxe", "minijinja", "netascii", @@ -901,51 +901,51 @@ version = "0.89.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2156d2e07fc3afa7632a82bf3cb0db91f995645a2852f642105c9ac9b52e1cb2" dependencies = [ - "gix-actor 0.44.0", + "gix-actor", "gix-attributes", "gix-command", "gix-commitgraph", "gix-config", "gix-credentials", - "gix-date 0.18.0", + "gix-date", "gix-diff", "gix-dir", - "gix-discover 0.57.0", - "gix-error 0.5.1", + "gix-discover", + "gix-error", "gix-filter", - "gix-fs 0.24.0", + "gix-fs", "gix-glob", - "gix-hash 0.28.0", - "gix-hashtable 0.18.0", + "gix-hash", + "gix-hashtable", "gix-ignore", "gix-index", - "gix-lock 26.0.0", + "gix-lock", "gix-negotiate", "gix-note", - "gix-object 0.66.0", + "gix-object", "gix-odb", "gix-pack", "gix-parallel", - "gix-path 0.14.0", + "gix-path", "gix-pathspec", "gix-prompt", "gix-protocol", "gix-quote", - "gix-ref 0.69.0", + "gix-ref", "gix-refspec", "gix-revision", "gix-revwalk", - "gix-sec 0.16.0", + "gix-sec", "gix-shallow", "gix-status", "gix-submodule", - "gix-tempfile 26.0.0", - "gix-trace 0.3.0", + "gix-tempfile", + "gix-trace", "gix-transport", "gix-traverse", "gix-url", - "gix-utils 0.5.1", - "gix-validate 0.13.0", + "gix-utils", + "gix-validate", "gix-worktree", "gix-worktree-state", "gix-worktree-stream", @@ -954,17 +954,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "gix-actor" -version = "0.43.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e046e9a929e8e1f40f9a34f736408c4c079f9cf004429f3e718d270e847be96" -dependencies = [ - "bstr", - "gix-date 0.17.0", - "gix-error 0.4.0", -] - [[package]] name = "gix-actor" version = "0.44.0" @@ -972,8 +961,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2127da41042965ed205568a52443465806944f71c8acd73f48ec94b8cd8e798e" dependencies = [ "bstr", - "gix-date 0.18.0", - "gix-error 0.5.1", + "gix-date", + "gix-error", ] [[package]] @@ -983,12 +972,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0feca0b8919aba9f123b75de54062dd61eb37d2a2130f34be520da6ed8b8ef72" dependencies = [ "bstr", - "gix-error 0.5.1", + "gix-error", "gix-glob", "gix-parallel", - "gix-path 0.14.0", + "gix-path", "gix-quote", - "gix-trace 0.3.0", + "gix-trace", "smallvec", "unicode-bom", ] @@ -999,7 +988,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "408cb9e482e0dcc5fc481850556348dda6981ec054a4a8e81a8e1bbf84f85eef" dependencies = [ - "gix-error 0.5.1", + "gix-error", ] [[package]] @@ -1008,7 +997,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "626335faf30ed235744642c2309aa370683b8bb2757f1c22a807e274dff60074" dependencies = [ - "gix-error 0.5.1", + "gix-error", ] [[package]] @@ -1018,10 +1007,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac560c05e19455016a4a94b33a77debe59aaed8783da32a73d31c9975947152e" dependencies = [ "bstr", - "gix-error 0.5.1", - "gix-path 0.14.0", + "gix-error", + "gix-path", "gix-quote", - "gix-trace 0.3.0", + "gix-trace", ] [[package]] @@ -1032,8 +1021,8 @@ checksum = "dfede9936d4b789867c09722576aea4ceb0e3aacf962eef035ebab0686b41a80" dependencies = [ "bstr", "gix-chunk", - "gix-error 0.5.1", - "gix-hash 0.28.0", + "gix-error", + "gix-hash", "memmap2", "nonempty", ] @@ -1046,14 +1035,14 @@ checksum = "65a9c000fa9a9154f22ffc8f8d74426e9300d759c2029e8701e2ba39d5d464ea" dependencies = [ "bstr", "gix-config-value", - "gix-error 0.5.1", + "gix-error", "gix-glob", "gix-parallel", - "gix-path 0.14.0", - "gix-ref 0.69.0", - "gix-sec 0.16.0", - "gix-trace 0.3.0", - "gix-utils 0.5.1", + "gix-path", + "gix-ref", + "gix-sec", + "gix-trace", + "gix-utils", "smallvec", "unicode-bom", ] @@ -1066,9 +1055,9 @@ checksum = "ab206c2fccfd35e0de7fb1b424997cfd42912062c66dae024e08a06e22d46674" dependencies = [ "bitflags 2.13.2", "bstr", - "gix-error 0.5.1", - "gix-path 0.14.0", - "gix-utils 0.5.1", + "gix-error", + "gix-path", + "gix-utils", "libc", ] @@ -1081,29 +1070,17 @@ dependencies = [ "bstr", "gix-command", "gix-config-value", - "gix-date 0.18.0", - "gix-error 0.5.1", - "gix-path 0.14.0", + "gix-date", + "gix-error", + "gix-path", "gix-prompt", "gix-quote", - "gix-sec 0.16.0", - "gix-trace 0.3.0", + "gix-sec", + "gix-trace", "gix-url", "percent-encoding", ] -[[package]] -name = "gix-date" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb8beceb16a77fb222923592864b94beb4ad4c2b175a7055c2cac6815ee0370a" -dependencies = [ - "bstr", - "gix-error 0.4.0", - "itoa", - "jiff", -] - [[package]] name = "gix-date" version = "0.18.0" @@ -1111,7 +1088,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f7eeeecc599082f32b5ea6a8c4c734e38be9730e2c09e3fe2851bb4692393e9" dependencies = [ "bstr", - "gix-error 0.5.1", + "gix-error", "itoa", "jiff", ] @@ -1125,17 +1102,17 @@ dependencies = [ "bstr", "gix-attributes", "gix-command", - "gix-error 0.5.1", + "gix-error", "gix-filter", - "gix-fs 0.24.0", - "gix-hash 0.28.0", + "gix-fs", + "gix-hash", "gix-imara-diff", "gix-index", - "gix-object 0.66.0", - "gix-path 0.14.0", + "gix-object", + "gix-path", "gix-pathspec", - "gix-tempfile 26.0.0", - "gix-trace 0.3.0", + "gix-tempfile", + "gix-trace", "gix-traverse", "gix-worktree", ] @@ -1147,34 +1124,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84e916ef77f19161b738ae9913662bc36fed1e48256a943f40277b3a585841da" dependencies = [ "bstr", - "gix-discover 0.57.0", - "gix-error 0.5.1", - "gix-fs 0.24.0", + "gix-discover", + "gix-error", + "gix-fs", "gix-ignore", "gix-index", - "gix-object 0.66.0", - "gix-path 0.14.0", + "gix-object", + "gix-path", "gix-pathspec", - "gix-trace 0.3.0", - "gix-utils 0.5.1", + "gix-trace", + "gix-utils", "gix-worktree", ] -[[package]] -name = "gix-discover" -version = "0.56.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4476ba055ec5fbb05f59dd98380b596428da060beac5f9dccd7374302ad1fbfb" -dependencies = [ - "bstr", - "dunce", - "gix-error 0.4.0", - "gix-fs 0.23.0", - "gix-path 0.13.0", - "gix-ref 0.68.0", - "gix-sec 0.15.0", -] - [[package]] name = "gix-discover" version = "0.57.0" @@ -1183,20 +1145,11 @@ checksum = "a7d0f8fd2c7e4b458eb3081362d49b54bd0131d23ecd49be802085a11f0d3cee" dependencies = [ "bstr", "dunce", - "gix-error 0.5.1", - "gix-fs 0.24.0", - "gix-path 0.14.0", - "gix-ref 0.69.0", - "gix-sec 0.16.0", -] - -[[package]] -name = "gix-error" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4a5c4cd326ddfe7f046ad9eed05461c59af6ea98b681648bac73954317addd" -dependencies = [ - "bstr", + "gix-error", + "gix-fs", + "gix-path", + "gix-ref", + "gix-sec", ] [[package]] @@ -1208,20 +1161,6 @@ dependencies = [ "bstr", ] -[[package]] -name = "gix-features" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3a430dbc02d6c5e30a9f92083459593495ea22a476e837d248b22d800eed80" -dependencies = [ - "gix-path 0.13.0", - "gix-trace 0.2.0", - "gix-utils 0.4.0", - "libc", - "prodash", - "walkdir", -] - [[package]] name = "gix-filter" version = "0.36.0" @@ -1232,30 +1171,17 @@ dependencies = [ "encoding_rs", "gix-attributes", "gix-command", - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-object 0.66.0", + "gix-error", + "gix-hash", + "gix-object", "gix-packetline", - "gix-path 0.14.0", + "gix-path", "gix-quote", - "gix-trace 0.3.0", - "gix-utils 0.5.1", + "gix-trace", + "gix-utils", "smallvec", ] -[[package]] -name = "gix-fs" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0105ab1cef4542d092c27766d2daf1548fcbad7e460dc2208642c120bb19b3ad" -dependencies = [ - "bstr", - "gix-error 0.4.0", - "gix-features", - "gix-path 0.13.0", - "gix-utils 0.4.0", -] - [[package]] name = "gix-fs" version = "0.24.0" @@ -1263,10 +1189,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44a05d043e670c055cd8b53d078562dc0bc1e322bff6b0376b407d37cf72dcc5" dependencies = [ "bstr", - "gix-error 0.5.1", + "gix-error", "gix-parallel", - "gix-path 0.14.0", - "gix-utils 0.5.1", + "gix-path", + "gix-utils", "libc", "walkdir", ] @@ -1279,22 +1205,10 @@ checksum = "7b0d03ab50fa841621031960679caf7fe94940968d9a0736d12a580f2c03e525" dependencies = [ "bitflags 2.13.2", "bstr", - "gix-fs 0.24.0", - "gix-path 0.14.0", - "gix-trace 0.3.0", - "gix-utils 0.5.1", -] - -[[package]] -name = "gix-hash" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a22b6febaaee8546eb0c9dd21ecdd93aca269a6cb3897e1250f0f60933c0174" -dependencies = [ - "faster-hex", - "gix-error 0.4.0", - "gix-features", - "sha1dc", + "gix-fs", + "gix-path", + "gix-trace", + "gix-utils", ] [[package]] @@ -1304,29 +1218,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40ca156064e378d8c657084365846cedb8dc498c6ea4500965a64d74f12af2be" dependencies = [ "faster-hex", - "gix-error 0.5.1", - "gix-utils 0.5.1", + "gix-error", + "gix-utils", "sha1dc", ] -[[package]] -name = "gix-hashtable" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55bff2f32f6f5a95bdd43e5e5e01b0656250cffbc48eda19db0afa3d73adf2f" -dependencies = [ - "gix-hash 0.27.0", - "hashbrown 0.17.1", - "parking_lot", -] - [[package]] name = "gix-hashtable" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "916cb6b2ec42ffaca624e7867bb382a4673015cb4ffcd7330b48085d02e4c615" dependencies = [ - "gix-hash 0.28.0", + "gix-hash", "hashbrown 0.17.1", "parking_lot", ] @@ -1339,8 +1242,8 @@ checksum = "cb1c93f60845d493a72fde38ae237498bc4e4464f45afa4af23e53f8295a3ba1" dependencies = [ "bstr", "gix-glob", - "gix-path 0.14.0", - "gix-trace 0.3.0", + "gix-path", + "gix-trace", "unicode-bom", ] @@ -1365,16 +1268,16 @@ dependencies = [ "filetime", "fnv", "gix-bitmap", - "gix-error 0.5.1", - "gix-fs 0.24.0", - "gix-hash 0.28.0", - "gix-lock 26.0.0", - "gix-object 0.66.0", + "gix-error", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", "gix-parallel", - "gix-trace 0.3.0", + "gix-trace", "gix-traverse", - "gix-utils 0.5.1", - "gix-validate 0.13.0", + "gix-utils", + "gix-validate", "hashbrown 0.17.1", "itoa", "libc", @@ -1383,27 +1286,16 @@ dependencies = [ "smallvec", ] -[[package]] -name = "gix-lock" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd5ddfd0cc476fef744ac544783b96a9ff5d49f8de541e6e9d6d6002aa90720" -dependencies = [ - "gix-error 0.4.0", - "gix-tempfile 25.0.0", - "gix-utils 0.4.0", -] - [[package]] name = "gix-lock" version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b2f7f5bd6b9fcd0b0dc58b0e6a708f3a47c3313876571dfe800c926c069aa5c" dependencies = [ - "gix-error 0.5.1", - "gix-fs 0.24.0", - "gix-tempfile 26.0.0", - "gix-utils 0.5.1", + "gix-error", + "gix-fs", + "gix-tempfile", + "gix-utils", ] [[package]] @@ -1425,10 +1317,10 @@ checksum = "29ddfb0d6da849bd938d929336e07c1f26970d9f6ec59621df74ec3f79c128ea" dependencies = [ "bitflags 2.13.2", "gix-commitgraph", - "gix-date 0.18.0", - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-object 0.66.0", + "gix-date", + "gix-error", + "gix-hash", + "gix-object", "gix-revwalk", ] @@ -1438,28 +1330,9 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd364f8bdceaed9e7f3ae40f324b16e39f20e9c7e6a6a058f7c6ec66c3e6205c" dependencies = [ - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-object 0.66.0", -] - -[[package]] -name = "gix-object" -version = "0.65.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a72909eeeed845721a143ef3dbeb4d6cd5df79c839fe7eefc138cb4f982eba3e" -dependencies = [ - "bstr", - "gix-actor 0.43.0", - "gix-date 0.17.0", - "gix-error 0.4.0", - "gix-features", - "gix-hash 0.27.0", - "gix-hashtable 0.17.0", - "gix-utils 0.4.0", - "gix-validate 0.12.0", - "itoa", - "smallvec", + "gix-error", + "gix-hash", + "gix-object", ] [[package]] @@ -1469,16 +1342,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0e38f50177e211642af154f9a7f710b7a3a637e635f9b6adb9d51973b0f9209" dependencies = [ "bstr", - "gix-actor 0.44.0", + "gix-actor", "gix-command", - "gix-date 0.18.0", - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-hashtable 0.18.0", - "gix-path 0.14.0", - "gix-tempfile 26.0.0", - "gix-utils 0.5.1", - "gix-validate 0.13.0", + "gix-date", + "gix-error", + "gix-hash", + "gix-hashtable", + "gix-path", + "gix-tempfile", + "gix-utils", + "gix-validate", "itoa", "smallvec", ] @@ -1491,17 +1364,17 @@ checksum = "ca444f33f2140876ed6b5313c2b550b4af699008193c96f3bff5023afa9ef4ea" dependencies = [ "arc-swap", "crc32fast", - "gix-error 0.5.1", - "gix-fs 0.24.0", - "gix-hash 0.28.0", - "gix-hashtable 0.18.0", - "gix-object 0.66.0", + "gix-error", + "gix-fs", + "gix-hash", + "gix-hashtable", + "gix-object", "gix-pack", "gix-parallel", - "gix-path 0.14.0", + "gix-path", "gix-quote", - "gix-trace 0.3.0", - "gix-utils 0.5.1", + "gix-trace", + "gix-utils", "gix-zlib", "memmap2", "parking_lot", @@ -1517,15 +1390,15 @@ dependencies = [ "clru", "crc32fast", "gix-chunk", - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-hashtable 0.18.0", - "gix-object 0.66.0", + "gix-error", + "gix-hash", + "gix-hashtable", + "gix-object", "gix-parallel", - "gix-path 0.14.0", - "gix-tempfile 26.0.0", - "gix-trace 0.3.0", - "gix-utils 0.5.1", + "gix-path", + "gix-tempfile", + "gix-trace", + "gix-utils", "gix-zlib", "memmap2", "parking_lot", @@ -1540,8 +1413,8 @@ checksum = "830e51b227f6a925fe9308858ac91170dd00fa2880f5480fc81e8a4594fe2c35" dependencies = [ "bstr", "faster-hex", - "gix-error 0.5.1", - "gix-trace 0.3.0", + "gix-error", + "gix-trace", ] [[package]] @@ -1551,23 +1424,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e994cf1eec247ba4be7f9e7c0d58cc73f83eecb5fcb9feb595df5ba3d2078546" dependencies = [ "crossbeam-channel", - "gix-trace 0.3.0", + "gix-trace", "once_cell", "parking_lot", ] -[[package]] -name = "gix-path" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd051ac60c5dbce2228daabf25b6a76408ac732d416c678cfa0a4914d13f60b8" -dependencies = [ - "bstr", - "gix-error 0.4.0", - "gix-trace 0.2.0", - "gix-validate 0.12.0", -] - [[package]] name = "gix-path" version = "0.14.0" @@ -1575,9 +1436,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6d563d4d0c975ed0df4e853f9ec962a2ba46633b1d324e1a5582541fcae0c6b" dependencies = [ "bstr", - "gix-error 0.5.1", - "gix-trace 0.3.0", - "gix-validate 0.13.0", + "gix-error", + "gix-trace", + "gix-validate", ] [[package]] @@ -1590,9 +1451,9 @@ dependencies = [ "bstr", "gix-attributes", "gix-config-value", - "gix-error 0.5.1", + "gix-error", "gix-glob", - "gix-path 0.14.0", + "gix-path", ] [[package]] @@ -1603,7 +1464,7 @@ checksum = "4f26063489b415c40bd960ec488251d77d4cfe3cf5ca4331e2122c0c726bcc2d" dependencies = [ "gix-command", "gix-config-value", - "gix-error 0.5.1", + "gix-error", "parking_lot", "rustix", ] @@ -1616,20 +1477,20 @@ checksum = "832b5dc46a3c0a6f6fa8f8e571c11074add4b545c6789799ae6d6c36ae1a294e" dependencies = [ "bstr", "gix-credentials", - "gix-date 0.18.0", - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-lock 26.0.0", + "gix-date", + "gix-error", + "gix-hash", + "gix-lock", "gix-macros", "gix-negotiate", - "gix-object 0.66.0", - "gix-ref 0.69.0", + "gix-object", + "gix-ref", "gix-refspec", "gix-revwalk", "gix-shallow", - "gix-trace 0.3.0", + "gix-trace", "gix-transport", - "gix-utils 0.5.1", + "gix-utils", "nonempty", ] @@ -1640,28 +1501,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7f92bc1b13c09e88388578e8aa1e987ec35f28fca158c13b1baa7ab1a85b124" dependencies = [ "bstr", - "gix-error 0.5.1", - "gix-utils 0.5.1", -] - -[[package]] -name = "gix-ref" -version = "0.68.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90ceeec67de03b737c30b1b69116ca56fec803edde022f3d25181f0f597083d" -dependencies = [ - "gix-actor 0.43.0", - "gix-error 0.4.0", - "gix-features", - "gix-fs 0.23.0", - "gix-hash 0.27.0", - "gix-lock 25.0.0", - "gix-object 0.65.0", - "gix-path 0.13.0", - "gix-tempfile 25.0.0", - "gix-utils 0.4.0", - "gix-validate 0.12.0", - "memmap2", + "gix-error", + "gix-utils", ] [[package]] @@ -1670,17 +1511,17 @@ version = "0.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "073bc0928e1f747823b1eaed94918119dacef4c616532bc3d17e5b7457863471" dependencies = [ - "gix-actor 0.44.0", - "gix-error 0.5.1", - "gix-fs 0.24.0", - "gix-hash 0.28.0", - "gix-lock 26.0.0", - "gix-object 0.66.0", + "gix-actor", + "gix-error", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", "gix-parallel", - "gix-path 0.14.0", - "gix-tempfile 26.0.0", - "gix-utils 0.5.1", - "gix-validate 0.13.0", + "gix-path", + "gix-tempfile", + "gix-utils", + "gix-validate", "memmap2", ] @@ -1691,9 +1532,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccc7010dae0df2900aa77cc67f8aca042cd80e35938ccc179010d863b1d42a0c" dependencies = [ "bstr", - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-validate 0.13.0", + "gix-error", + "gix-hash", + "gix-validate", "smallvec", ] @@ -1705,10 +1546,10 @@ checksum = "63210c1943b67fa700806c3c3486fc16a92b3ea871f5cf092340b8eec10a0ca1" dependencies = [ "bstr", "gix-commitgraph", - "gix-date 0.18.0", - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-object 0.66.0", + "gix-date", + "gix-error", + "gix-hash", + "gix-object", "gix-revwalk", "nonempty", ] @@ -1720,26 +1561,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "800479fbbf1e7f94f663e07943a91add5499343e7aac611a81e6a0460fd44af6" dependencies = [ "gix-commitgraph", - "gix-date 0.18.0", - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-hashtable 0.18.0", - "gix-object 0.66.0", + "gix-date", + "gix-error", + "gix-hash", + "gix-hashtable", + "gix-object", "smallvec", ] -[[package]] -name = "gix-sec" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d8eb983a830ba586b61f7005deaf44609e1a4186cbf13a0e8668154ca910461" -dependencies = [ - "bitflags 2.13.2", - "gix-path 0.13.0", - "libc", - "windows-sys 0.61.2", -] - [[package]] name = "gix-sec" version = "0.16.0" @@ -1747,7 +1576,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5640f642a1b471616d48230b1def7ca743cb30903441ff84800cafbab3c0fddf" dependencies = [ "bitflags 2.13.2", - "gix-path 0.14.0", + "gix-path", "libc", "windows-sys 0.61.2", ] @@ -1759,9 +1588,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94bc0720a3d6b10f18e3ac382a7780bcfc4c6bee94a8b5857b8e4ec94c50d754" dependencies = [ "bstr", - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-lock 26.0.0", + "gix-error", + "gix-hash", + "gix-lock", "nonempty", ] @@ -1775,17 +1604,17 @@ dependencies = [ "filetime", "gix-diff", "gix-dir", - "gix-error 0.5.1", + "gix-error", "gix-filter", - "gix-fs 0.24.0", - "gix-hash 0.28.0", + "gix-fs", + "gix-hash", "gix-index", - "gix-object 0.66.0", + "gix-object", "gix-parallel", - "gix-path 0.14.0", + "gix-path", "gix-pathspec", - "gix-trace 0.3.0", - "gix-utils 0.5.1", + "gix-trace", + "gix-utils", "gix-worktree", "hashbrown 0.16.1", "portable-atomic", @@ -1800,26 +1629,13 @@ checksum = "6d945257bd0d624ca844a5a36c79d748df080f355b0ac92d68793875aa529a3f" dependencies = [ "bstr", "gix-config", - "gix-error 0.5.1", - "gix-path 0.14.0", + "gix-error", + "gix-path", "gix-pathspec", "gix-refspec", "gix-url", ] -[[package]] -name = "gix-tempfile" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dd7dd8df3345933caddd6ce67821c9eec17192564f1011cf0bd0b8cb0d07ffb" -dependencies = [ - "gix-fs 0.23.0", - "libc", - "parking_lot", - "tempfile", - "windows-sys 0.61.2", -] - [[package]] name = "gix-tempfile" version = "26.0.0" @@ -1827,19 +1643,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9275c8ae0646d840ae0156d3f90d39b7beea6e31a398afb9ee72feb293a269c" dependencies = [ "dashmap", - "gix-fs 0.24.0", + "gix-fs", "libc", "parking_lot", "tempfile", "windows-sys 0.61.2", ] -[[package]] -name = "gix-trace" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df45b2cf6052d9e52681130c17d67505b023e8933ad974f94a2be0b0d24f636a" - [[package]] name = "gix-trace" version = "0.3.0" @@ -1856,14 +1666,14 @@ dependencies = [ "bstr", "gix-command", "gix-credentials", - "gix-error 0.5.1", + "gix-error", "gix-packetline", - "gix-path 0.14.0", + "gix-path", "gix-quote", - "gix-sec 0.16.0", - "gix-trace 0.3.0", + "gix-sec", + "gix-trace", "gix-url", - "gix-utils 0.5.1", + "gix-utils", "parking_lot", "reqwest", ] @@ -1876,11 +1686,11 @@ checksum = "a668a6e7f7688e5a43eaf161f1471ffc559de1a5fd8471e861c64d59d1699e1e" dependencies = [ "bitflags 2.13.2", "gix-commitgraph", - "gix-date 0.18.0", - "gix-error 0.5.1", - "gix-hash 0.28.0", - "gix-hashtable 0.18.0", - "gix-object 0.66.0", + "gix-date", + "gix-error", + "gix-hash", + "gix-hashtable", + "gix-object", "gix-revwalk", "smallvec", ] @@ -1892,23 +1702,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04317dea7a5dd5253bbcab060c230f3de6a57d17cc9600c6cd7030bf4795b414" dependencies = [ "bstr", - "gix-error 0.5.1", - "gix-path 0.14.0", - "gix-utils 0.5.1", + "gix-error", + "gix-path", + "gix-utils", "percent-encoding", ] -[[package]] -name = "gix-utils" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70525766f53426ca4cd2ea4d58b0b31488dfedb416b3254e2efdd9dc184cc880" -dependencies = [ - "fastrand", - "getrandom 0.4.3", - "unicode-normalization", -] - [[package]] name = "gix-utils" version = "0.5.1" @@ -1919,21 +1718,11 @@ dependencies = [ "bytes", "fastrand", "getrandom 0.4.3", - "gix-error 0.5.1", + "gix-error", "prodash", "unicode-normalization", ] -[[package]] -name = "gix-validate" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30574f81fc41b2ca3582ece2bdf8696bdfe9c170aa7e8bcafb81199c86b1ceea" -dependencies = [ - "bstr", - "gix-error 0.4.0", -] - [[package]] name = "gix-validate" version = "0.13.0" @@ -1941,7 +1730,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbcd59cc52742468bc5c8a0e7123390d154f45e6cbd37461b0dcecdc681f2179" dependencies = [ "bstr", - "gix-error 0.5.1", + "gix-error", ] [[package]] @@ -1953,17 +1742,17 @@ dependencies = [ "bstr", "dua-core", "gix-attributes", - "gix-error 0.5.1", - "gix-fs 0.24.0", + "gix-error", + "gix-fs", "gix-glob", - "gix-hash 0.28.0", + "gix-hash", "gix-ignore", "gix-index", - "gix-object 0.66.0", - "gix-path 0.14.0", - "gix-trace 0.3.0", - "gix-utils 0.5.1", - "gix-validate 0.13.0", + "gix-object", + "gix-path", + "gix-trace", + "gix-utils", + "gix-validate", ] [[package]] @@ -1973,15 +1762,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "003c1162556d4ebf51b8140b955cb04c2458d5ecbdffe50262dbbb270635208c" dependencies = [ "bstr", - "gix-error 0.5.1", + "gix-error", "gix-filter", - "gix-fs 0.24.0", + "gix-fs", "gix-index", - "gix-object 0.66.0", + "gix-object", "gix-parallel", - "gix-path 0.14.0", - "gix-trace 0.3.0", - "gix-utils 0.5.1", + "gix-path", + "gix-trace", + "gix-utils", "gix-worktree", "io-close", ] @@ -1993,16 +1782,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d2789610e8179d4e0e8e51170a52a66483c103a8ad3c7db4d075b571856cb6" dependencies = [ "gix-attributes", - "gix-error 0.5.1", + "gix-error", "gix-filter", - "gix-fs 0.24.0", - "gix-hash 0.28.0", - "gix-object 0.66.0", + "gix-fs", + "gix-hash", + "gix-object", "gix-parallel", - "gix-path 0.14.0", - "gix-trace 0.3.0", + "gix-path", + "gix-trace", "gix-traverse", - "gix-utils 0.5.1", + "gix-utils", "parking_lot", ] @@ -2012,7 +1801,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c2edb206bf06f3c801f4f6789c696396171558ab9b4c7f1fe3ba4d39b00b0f4" dependencies = [ - "gix-error 0.5.1", + "gix-error", "zlib-rs", ] @@ -2588,12 +2377,6 @@ dependencies = [ "libc", ] -[[package]] -name = "memo-map" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" - [[package]] name = "mime" version = "0.3.17" @@ -2602,13 +2385,11 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "minijinja" -version = "2.24.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +checksum = "789a6b737c4a13bec43cd3c1b982aa8a8a192ff4bf444e0fb1fd5a324f064fd1" dependencies = [ - "memo-map", "serde", - "serde_json", ] [[package]] @@ -3241,9 +3022,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "687274d293b6cdc6e73e0fee520bf2049650090d7164f87672d212a3c530cf4a" +checksum = "ab508826f74a77ca9d5aba6ff19b522583ee3eaf28a19384ff3d0e5835fadf6e" dependencies = [ "dyn-clone", "ref-cast", @@ -3255,9 +3036,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98c67716b46af2f0b8cf752abc930f6f9aecfbf671ecfb531db8a31dbe4e2ba" +checksum = "e1c3a92094fa7d61aa124645844facb6b554dfc797136d0f5fd1f890e2bffc69" dependencies = [ "proc-macro2", "quote", @@ -3347,9 +3128,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.151" +version = "1.0.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6" dependencies = [ "itoa", "memchr", @@ -3576,9 +3357,9 @@ checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee" [[package]] name = "tokio" -version = "1.53.2" +version = "1.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e95f91fcc7a621e8b030f6aa23c71fe9838ae2fb4d8118b75602a328f5144044" +checksum = "a0c168a474b95bfecfe908a65d4bdffc523144b649a74c09c286afb35d53e0bc" dependencies = [ "bytes", "libc", diff --git a/Cargo.toml b/Cargo.toml index 5ebf523..67ee6ad 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,8 +10,8 @@ license = "GPL-3.0-or-later" members = ["ipxe", "xtask"] [workspace.dependencies] -schemars = { version = "1.2.2", features = ["semver1"] } -serde_json = "1.0.151" +schemars = { version = "1.2.3", features = ["semver1"] } +serde_json = "1.0.154" [dependencies] async-walkdir = "2.2.0" @@ -19,8 +19,8 @@ byteorder = "1.5.0" clap = { version = "4.6.7", features = ["derive"] } clap_complete = "4.6.11" futures = "0.3.34" -gix-discover = { version = "0.56.0", features = ["sha1"] } -minijinja = { version = "2.24.0", features = ["json", "loader"] } +gix-discover = { version = "0.57.0", features = ["sha1"] } +minijinja = { version = "3.0.1", features = ["json", "serde"] } netascii = "0.1.0" num_enum = "0.7.6" optional_struct = "0.5.2" @@ -34,7 +34,7 @@ serde = { version = "1.0.229", features = ["derive"] } serde_json = { workspace = true } serde_yaml = "0.9.34" thiserror = "2.0.21" -tokio = { version = "1.52.1", features = ["full"] } +tokio = { version = "1.54.0", features = ["full"] } ipxe = { path = "./ipxe" } axum = { version = "0.8.9", features = ["macros"] } socket2 = "0.6.5" diff --git a/src/environment.rs b/src/environment.rs index 683123c..07375f2 100644 --- a/src/environment.rs +++ b/src/environment.rs @@ -4,8 +4,8 @@ use std::path::{Path, PathBuf}; use async_walkdir::WalkDir; use futures::{Stream, StreamExt}; -use minijinja::value::ViaDeserialize; -use minijinja::{AutoEscape, Environment, path_loader}; +use minijinja::syntax::SyntaxConfig; +use minijinja::{AutoEscape, Environment, path_loader, value}; use crate::{get_configs_path, get_talos_path}; @@ -19,21 +19,27 @@ pub struct PathEnvironment<'a> { } fn apply_netmask( - ip: ViaDeserialize, - netmask: ViaDeserialize, + ip: value::Serde, + netmask: value::Serde, ) -> Result { Ok((*ip & *netmask).to_string()) } pub fn configure_environment(env: &mut Environment) { // Configure jinja - env.set_trim_blocks(true); - env.set_lstrip_blocks(true); + // Configure jinja + env.set_syntax( + SyntaxConfig::builder() + .trim_blocks(true) + .lstrip_blocks(true) + .build() + .expect("Syntax config should be valid"), + ); env.set_undefined_behavior(minijinja::UndefinedBehavior::Strict); env.set_auto_escape_callback(|_| AutoEscape::None); // Add filters - env.add_filter("to_prefix", |netmask: ViaDeserialize| { + env.add_filter("to_prefix", |netmask: value::Serde| { let mask = netmask.to_bits(); let prefix = mask.leading_ones(); diff --git a/src/file.rs b/src/file.rs index 3860acc..d7da6dd 100644 --- a/src/file.rs +++ b/src/file.rs @@ -1,7 +1,7 @@ use crete::cluster::Cluster; use crete::environment::configure_environment; use ipxe::IPXE_DIR; -use minijinja::{Environment, context}; +use minijinja::{Environment, context, value}; use regex::regex; pub async fn get_file( @@ -26,7 +26,7 @@ pub async fn get_file( let clusters = Cluster::get_all().await; let content = template .render(context! { - clusters => clusters.values().collect::>(), + clusters => value::Serde(clusters.values().collect::>()), httpUrl => http_url.to_string() }) .unwrap(); diff --git a/src/main.rs b/src/main.rs index 03627bd..707932e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,7 +16,7 @@ use crete::talosconfig::{get_current_context, set_context}; use crete::{get_configs_path, get_repo_path, set_repo_path, tftp}; use futures::StreamExt; use futures::future::join_all; -use minijinja::context; +use minijinja::{context, value}; use crate::cli::{Cli, Commands, GlobalOpts}; use crate::error::Error; @@ -44,8 +44,8 @@ async fn generate(opts: &GlobalOpts) -> Result<(), Error> { let content = template .render(context! { - clusters => clusters.values().collect::>(), - root => opts.repo + clusters => value::Serde(clusters.values().collect::>()), + root => value::Serde(&opts.repo) }) .unwrap(); diff --git a/src/patch.rs b/src/patch.rs index a0b939f..d6815ed 100644 --- a/src/patch.rs +++ b/src/patch.rs @@ -1,4 +1,4 @@ -use minijinja::{Environment, context}; +use minijinja::{Environment, context, value}; use optional_struct::optional_struct; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; @@ -35,8 +35,8 @@ async fn render( .get_template(&name) .unwrap() .render(context! { - node, - cluster + node => value::Serde(&node), + cluster => value::Serde(&cluster) }) .unwrap(); diff --git a/src/tftp/server.rs b/src/tftp/server.rs index 026c1eb..e82a903 100644 --- a/src/tftp/server.rs +++ b/src/tftp/server.rs @@ -5,7 +5,7 @@ use std::time::Duration; use socket_pktinfo::{PktInfo, PktInfoUdpSocket}; use socket2::Domain; use thiserror::Error; -use tokio::io::unix::AsyncFd; +use tokio::io::unix::{AsyncFd, AsyncFdRegisterError}; use tokio::net::UdpSocket; use crate::tftp::packet::{ErrorCode, Mode, PACKET_SIZE}; @@ -29,6 +29,8 @@ pub enum Error { UnexpectedPacket(Packet), #[error("Timeout")] Timeout, + #[error("AsyncFd: {0}")] + AsyncFd(#[from] AsyncFdRegisterError), } pub async fn handle_connection( @@ -161,7 +163,8 @@ where let addr: SocketAddr = (ip, 69).into(); socket.bind(&addr.into())?; - let async_fd = AsyncFd::new(socket)?; + let async_fd = unsafe { AsyncFd::register(socket)? }; + let mut buf = [0u8; PACKET_SIZE]; println!("Tftp server started on {addr}"); -- 2.54.0