diff --git a/Cargo.lock b/Cargo.lock index b98cf7234..7ce64ef74 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,7 +58,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", "version_check", ] @@ -70,7 +70,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom", + "getrandom 0.2.15", "once_cell", "serde", "version_check", @@ -366,9 +366,9 @@ dependencies = [ [[package]] name = "aws-lc-rs" -version = "1.12.1" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ea835662a0af02443aa1396d39be523bbf8f11ee6fad20329607c480bea48c3" +checksum = "4c2b7ddaa2c56a367ad27a094ad8ef4faacf8a617c2575acb2ba88949df999ca" dependencies = [ "aws-lc-sys", "paste", @@ -438,7 +438,7 @@ dependencies = [ "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.5.2", + "hyper 1.6.0", "hyper-util", "itoa", "matchit 0.8.4", @@ -511,7 +511,7 @@ dependencies = [ "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.5.2", + "hyper 1.6.0", "hyper-util", "pin-project-lite", "rustls", @@ -558,7 +558,7 @@ checksum = "2b1866ecef4f2d06a0bb77880015fdf2b89e25a1c2e5addacb87e459c86dc67e" dependencies = [ "base64 0.22.1", "blowfish", - "getrandom", + "getrandom 0.2.15", "subtle", "zeroize", ] @@ -676,9 +676,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.4" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb65153674e51d3a42c8f27b05b9508cea85edfaade8aa46bc8fc18cecdfef3" +checksum = "5430e3be710b68d984d1391c854eb431a9d548640711faa54eecb1df93db91cc" dependencies = [ "borsh-derive", "cfg_aliases", @@ -686,9 +686,9 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.4" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a396e17ad94059c650db3d253bb6e25927f1eb462eede7e7a153bb6e75dce0a7" +checksum = "f8b668d39970baad5356d7c83a86fee3a539e6f93bf6764c97368243e17a0487" dependencies = [ "once_cell", "proc-macro-crate", @@ -710,9 +710,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byte-unit" @@ -820,9 +820,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.9" +version = "1.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b" +checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229" dependencies = [ "jobserver", "libc", @@ -905,9 +905,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.26" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" +checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796" dependencies = [ "clap_builder", "clap_derive", @@ -915,9 +915,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.26" +version = "4.5.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" +checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" dependencies = [ "anstream", "anstyle", @@ -927,9 +927,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.42" +version = "4.5.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33a7e468e750fa4b6be660e8b5651ad47372e8fb114030b594c2d75d48c5ffd0" +checksum = "0952013545c9c6dca60f491602655b795c6c062ab180c9cb0bccb83135461861" dependencies = [ "clap", ] @@ -954,9 +954,9 @@ checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "cmake" -version = "0.1.52" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e" +checksum = "e24a03c8b52922d68a1589ad61032f2c1aa5a8158d2aa0d93c6e9534944bbad6" dependencies = [ "cc", ] @@ -1061,7 +1061,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -1108,9 +1108,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -1197,9 +1197,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-common" @@ -1825,10 +1825,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + [[package]] name = "ghash" version = "0.5.1" @@ -1876,7 +1888,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.2.0", - "indexmap 2.7.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -2019,9 +2031,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "httpdate" @@ -2060,9 +2072,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -2087,7 +2099,7 @@ checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", "http 1.2.0", - "hyper 1.5.2", + "hyper 1.6.0", "hyper-util", "rustls", "rustls-pki-types", @@ -2103,7 +2115,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "hyper 1.5.2", + "hyper 1.6.0", "hyper-util", "pin-project-lite", "tokio", @@ -2131,7 +2143,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.5.2", + "hyper 1.6.0", "hyper-util", "native-tls", "tokio", @@ -2150,7 +2162,7 @@ dependencies = [ "futures-util", "http 1.2.0", "http-body 1.0.1", - "hyper 1.5.2", + "hyper 1.6.0", "pin-project-lite", "socket2", "tokio", @@ -2441,9 +2453,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -2509,16 +2521,16 @@ dependencies = [ "tempfile", "tokio", "tracing-subscriber", + "twox-hash", "uuid", - "xxhash-rust", "zip", ] [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is_terminal_polyfill" @@ -2844,7 +2856,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -2902,14 +2914,14 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" dependencies = [ "libc", "log", @@ -3074,9 +3086,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "f5e534d133a060a3c19daec1eb3e98ec6f4685978834f2dbadfe2ec215bab64e" dependencies = [ "bitflags 2.8.0", "cfg-if", @@ -3100,9 +3112,9 @@ dependencies = [ [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-src" @@ -3688,7 +3700,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", + "getrandom 0.2.15", "rand", "ring", "rustc-hash 2.1.0", @@ -3758,7 +3770,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -3818,7 +3830,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ - "getrandom", + "getrandom 0.2.15", "libredox", "thiserror 2.0.11", ] @@ -3892,7 +3904,7 @@ dependencies = [ "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.5.2", + "hyper 1.6.0", "hyper-rustls", "hyper-tls 0.6.0", "hyper-util", @@ -3950,9 +3962,9 @@ dependencies = [ "anyhow", "async-trait", "futures", - "getrandom", + "getrandom 0.2.15", "http 1.2.0", - "hyper 1.5.2", + "hyper 1.6.0", "parking_lot 0.11.2", "reqwest", "reqwest-middleware", @@ -3980,7 +3992,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -4109,9 +4121,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.43" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ "bitflags 2.8.0", "errno", @@ -4160,9 +4172,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -4231,9 +4243,9 @@ checksum = "22a197350ece202f19a166d1ad6d9d6de145e1d2a8ef47db299abe164dbd7530" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "same-file" @@ -4312,9 +4324,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" dependencies = [ "serde", ] @@ -4341,9 +4353,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", "memchr", @@ -4392,7 +4404,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.7.0", + "indexmap 2.7.1", "serde", "serde_derive", "serde_json", @@ -4496,10 +4508,10 @@ dependencies = [ "tracing-appender", "tracing-opentelemetry", "tracing-subscriber", + "twox-hash", "ulid", "uuid", "vergen-git2", - "xxhash-rust", "zip", ] @@ -4778,13 +4790,13 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.15.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand", - "getrandom", + "getrandom 0.3.1", "once_cell", "rustix", "windows-sys 0.59.0", @@ -5014,7 +5026,7 @@ version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.7.0", + "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", @@ -5036,7 +5048,7 @@ dependencies = [ "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.5.2", + "hyper 1.6.0", "hyper-timeout", "hyper-util", "percent-encoding", @@ -5232,6 +5244,15 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "twox-hash" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7b17f197b3050ba473acf9181f7b1d3b66d1cf7356c6cc57886662276e65908" +dependencies = [ + "rand", +] + [[package]] name = "typenum" version = "1.17.0" @@ -5265,9 +5286,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-segmentation" @@ -5344,7 +5365,7 @@ version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" dependencies = [ - "getrandom", + "getrandom 0.2.15", "rand", "serde", "zerocopy 0.8.14", @@ -5352,9 +5373,9 @@ dependencies = [ [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -5454,6 +5475,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" version = "0.2.100" @@ -5908,13 +5938,22 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.24" +version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a" +checksum = "ad699df48212c6cc6eb4435f35500ac6fd3b9913324f938aea302022ce19d310" dependencies = [ "memchr", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "write16" version = "1.0.0" @@ -5936,12 +5975,6 @@ dependencies = [ "tap", ] -[[package]] -name = "xxhash-rust" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" - [[package]] name = "yansi" version = "1.0.1" @@ -6101,7 +6134,7 @@ dependencies = [ "displaydoc", "flate2", "hmac", - "indexmap 2.7.0", + "indexmap 2.7.1", "lzma-rs", "memchr", "pbkdf2", diff --git a/dependencies.md b/dependencies.md index bc06c487e..cdb3316b3 100644 --- a/dependencies.md +++ b/dependencies.md @@ -1,98 +1,98 @@ -|Name |Description |License |Repository | -|----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|-------------------------------------------------------------------------------------------------| -|aes-gcm |Pure Rust implementation of the AES-GCM (Galois/Counter Mode) Authenticated Encryption with Associated Data (AEAD) Cipher with optional architecture-specific hardware acceleration |Apache-2.0 OR MIT |https://github.com/RustCrypto/AEADs | -|ahash |A non-cryptographic hash function using AES-NI for high performance |MIT OR Apache-2.0 |https://github.com/tkaitchuck/ahash | -|anyhow |Flexible concrete Error type built on std::error::Error |MIT OR Apache-2.0 |https://github.com/dtolnay/anyhow | -|assert_cmd |Test CLI Applications. |MIT OR Apache-2.0 |https://github.com/assert-rs/assert_cmd.git | -|async-broadcast |Async broadcast channels |MIT OR Apache-2.0 |https://github.com/smol-rs/async-broadcast | -|async-dropper |The least-worst ad-hoc implementation of AsyncDrop as a Derive macro |MIT |https://github.com/t3hmrman/async-dropper | -|async-trait |Type erasure for async trait methods |MIT OR Apache-2.0 |https://github.com/dtolnay/async-trait | -|atone |A VecDeque and Vec variant that spreads resize load across pushes. |MIT OR Apache-2.0 |https://github.com/jonhoo/atone.git | -|axum |Web framework that focuses on ergonomics and modularity |MIT |https://github.com/tokio-rs/axum | -|axum-server |High level server designed to be used with axum framework. |MIT |https://github.com/programatik29/axum-server | -|base64 |encodes and decodes base64 as bytes or utf8 |MIT OR Apache-2.0 |https://github.com/marshallpierce/rust-base64 | -|bcrypt |Easily hash and verify passwords using bcrypt |MIT |https://github.com/Keats/rust-bcrypt | -|bincode |A binary serialization / deserialization strategy for transforming structs into bytes and vice versa! |MIT |https://github.com/bincode-org/bincode | -|blake3 |the BLAKE3 hash function |CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception|https://github.com/BLAKE3-team/BLAKE3 | -|byte-unit |A library for interacting with units of bytes. |MIT |https://github.com/magiclen/byte-unit | -|bytes |Types and traits for working with bytes |MIT |https://github.com/tokio-rs/bytes | -|chrono |Date and time library for Rust |MIT OR Apache-2.0 |https://github.com/chronotope/chrono | -|clap |A simple to use, efficient, and full-featured Command Line Argument Parser |MIT OR Apache-2.0 |https://github.com/clap-rs/clap | -|clap_complete |Generate shell completion scripts for your clap::Command |MIT OR Apache-2.0 |https://github.com/clap-rs/clap | -|colored |The most simple way to add colors in your terminal |MPL-2.0 |https://github.com/mackwic/colored | -|comfy-table |An easy to use library for building beautiful tables with automatic content wrapping |MIT |https://github.com/nukesor/comfy-table | -|console-subscriber |A `tracing-subscriber::Layer` for collecting Tokio console telemetry. |MIT |https://github.com/tokio-rs/console/ | -|convert_case |Convert strings into any case |MIT |https://github.com/rutrum/convert-case | -|crc32fast |Fast, SIMD-accelerated CRC32 (IEEE) checksum computation |MIT OR Apache-2.0 |https://github.com/srijs/rust-crc32fast | -|csv |Fast CSV parsing with support for serde. |Unlicense/MIT |https://github.com/BurntSushi/rust-csv | -|ctor |__attribute__((constructor)) for Rust |Apache-2.0 OR MIT |https://github.com/mmastrac/rust-ctor | -|dashmap |Blazing fast concurrent HashMap for Rust. |MIT |https://github.com/xacrimon/dashmap | -|derive-new |`#[derive(new)]` implements simple constructor functions for structs and enums. |MIT |https://github.com/nrc/derive-new | -|derive_more |Adds #[derive(x)] macros for more traits |MIT |https://github.com/JelteF/derive_more | -|dirs |A tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.|MIT OR Apache-2.0 |https://github.com/soc/dirs-rs | -|dotenvy |A well-maintained fork of the dotenv crate |MIT |https://github.com/allan2/dotenvy | -|env_logger |A logging implementation for `log` which is configured via an environment variable. |MIT OR Apache-2.0 |https://github.com/rust-cli/env_logger | -|error_set |An error set macro that simplifies error management by providing a streamlined method for defining errors and easily converting between them. Inspired by Zig's error set type. |Apache-2.0 |https://github.com/mcmah309/error_set | -|fast-async-mutex |It is a lib which provide asynchronous locking mechanisms (Mutex, RwLock, OrderedMutex and OrderedRwLock) |Apache-2.0/MIT |https://github.com/Mnwa/fast-async-mutex | -|figlet-rs |Rust implementation of FIGlet to create ascii art |Apache-2.0 |https://github.com/yuanbohan/rs-figlet | -|figment |A configuration library so con-free, it's unreal. |MIT OR Apache-2.0 |https://github.com/SergioBenitez/Figment | -|flume |A blazingly fast multi-producer channel |Apache-2.0/MIT |https://github.com/zesterer/flume | -|futures |An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces. |MIT OR Apache-2.0 |https://github.com/rust-lang/futures-rs | -|futures-util |Common utilities and extension traits for the futures-rs library. |MIT OR Apache-2.0 |https://github.com/rust-lang/futures-rs | -|human_format |Rust Port of human-format from node, formatting numbers for us, while the machines are still at bay. |MIT |https://github.com/BobGneu/human-format-rs | -|humantime | A parser and formatter for std::time::{Duration, SystemTime} |MIT/Apache-2.0 |https://github.com/tailhook/humantime | -|iggy |Iggy is the persistent message streaming platform written in Rust, supporting QUIC, TCP and HTTP transport protocols, capable of processing millions of messages per second. |Apache-2.0 |https://github.com/iggy-rs/iggy | -|jsonwebtoken |Create and decode JWTs in a strongly typed way. |MIT |https://github.com/Keats/jsonwebtoken | -|keyring |Cross-platform library for managing passwords/credentials |MIT OR Apache-2.0 |https://github.com/hwchen/keyring-rs.git | -|lazy_static |A macro for declaring lazily evaluated statics in Rust. |MIT OR Apache-2.0 |https://github.com/rust-lang-nursery/lazy-static.rs | -|libc |Raw FFI bindings to platform libraries like libc. |MIT OR Apache-2.0 |https://github.com/rust-lang/libc | -|log |A lightweight logging facade for Rust |MIT OR Apache-2.0 |https://github.com/rust-lang/log | -|mimalloc |Performance and security oriented drop-in allocator |MIT |https://github.com/purpleprotocol/mimalloc_rust | -|mockall |A powerful mock object library for Rust. |MIT OR Apache-2.0 |https://github.com/asomers/mockall | -|moka |A fast and concurrent cache library inspired by Java Caffeine |MIT OR Apache-2.0 |https://github.com/moka-rs/moka | -|nonzero_lit |Easy, safe, and fully zero-cost NonZero constants and literals. |MIT OR Apache-2.0 OR CC0-1.0 |https://github.com/thomcc/nonzero_lit | -|openssl |OpenSSL bindings |Apache-2.0 |https://github.com/sfackler/rust-openssl | -|opentelemetry |OpenTelemetry API for Rust |Apache-2.0 |https://github.com/open-telemetry/opentelemetry-rust | -|opentelemetry-appender-tracing |An OpenTelemetry log appender for the tracing crate |Apache-2.0 |https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-tracing | -|opentelemetry-otlp |Exporter for the OpenTelemetry Collector |Apache-2.0 |https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp | -|opentelemetry-semantic-conventions|Semantic conventions for OpenTelemetry |Apache-2.0 |https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-semantic-conventions| -|opentelemetry_sdk |The SDK for the OpenTelemetry metrics collection and distributed tracing framework |Apache-2.0 |https://github.com/open-telemetry/opentelemetry-rust | -|passterm |Read terminal password, check isatty |BSD-3-Clause |https://github.com/finfet/passterm | -|predicates |An implementation of boolean-valued predicate functions. |MIT OR Apache-2.0 |https://github.com/assert-rs/predicates-rs | -|prometheus-client |Open Metrics client library allowing users to natively instrument applications. |Apache-2.0 OR MIT |https://github.com/prometheus/client_rust | -|quinn |Versatile QUIC transport protocol implementation |MIT OR Apache-2.0 |https://github.com/quinn-rs/quinn | -|rcgen |Rust X.509 certificate generator |MIT OR Apache-2.0 |https://github.com/rustls/rcgen | -|regex |An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs. |MIT OR Apache-2.0 |https://github.com/rust-lang/regex | -|reqwest |higher level HTTP client library |MIT OR Apache-2.0 |https://github.com/seanmonstar/reqwest | -|reqwest-middleware |Wrapper around reqwest to allow for client middleware chains. |MIT OR Apache-2.0 |https://github.com/TrueLayer/reqwest-middleware | -|reqwest-retry |Retry middleware for reqwest. |MIT OR Apache-2.0 |https://github.com/TrueLayer/reqwest-middleware | -|ring |Safe, fast, small crypto using Rust. |non-standard |https://github.com/briansmith/ring | -|rust-s3 |Rust library for working with AWS S3 and compatible object storage APIs |MIT |https://github.com/durch/rust-s3 | -|rustls |Rustls is a modern TLS library written in Rust. |Apache-2.0 OR ISC OR MIT |https://github.com/rustls/rustls | -|rustls-pemfile |Basic .pem file parser for keys and certificates |Apache-2.0 OR ISC OR MIT |https://github.com/rustls/pemfile | -|serde |A generic serialization/deserialization framework |MIT OR Apache-2.0 |https://github.com/serde-rs/serde | -|serde_derive |Macros 1.1 implementation of #[derive(Serialize, Deserialize)] |MIT OR Apache-2.0 |https://github.com/serde-rs/serde | -|serde_json |A JSON serialization file format |MIT OR Apache-2.0 |https://github.com/serde-rs/json | -|serde_with |Custom de/serialization functions for Rust's serde |MIT OR Apache-2.0 |https://github.com/jonasbb/serde_with/ | -|serial_test |Allows for the creation of serialised Rust tests |MIT |https://github.com/palfrey/serial_test/ | -|static-toml |Effortlessly embed TOML files into your Rust code as static data with custom data structures. |MIT |https://github.com/cptpiepmatz/static-toml | -|strip-ansi-escapes |Strip ANSI escape sequences from byte streams. |Apache-2.0/MIT |https://github.com/luser/strip-ansi-escapes | -|strum |Helpful macros for working with enums and strings |MIT |https://github.com/Peternator7/strum | -|sysinfo |Library to get system information such as processes, CPUs, disks, components and networks |MIT |https://github.com/GuillaumeGomez/sysinfo | -|tempfile |A library for managing temporary files and directories. |MIT OR Apache-2.0 |https://github.com/Stebalien/tempfile | -|thiserror |derive(Error) |MIT OR Apache-2.0 |https://github.com/dtolnay/thiserror | -|tokio |An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications. |MIT |https://github.com/tokio-rs/tokio | -|tokio-native-tls |An implementation of TLS/SSL streams for Tokio using native-tls giving an implementation of TLS for nonblocking I/O streams. |MIT |https://github.com/tokio-rs/tls | -|tokio-rustls |Asynchronous TLS/SSL streams for Tokio using Rustls. |MIT OR Apache-2.0 |https://github.com/rustls/tokio-rustls | -|toml |A native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the standard Serialize/Deserialize traits for TOML data to facilitate deserializing and serializing Rust structures. |MIT OR Apache-2.0 |https://github.com/toml-rs/toml | -|tower-http |Tower middleware and utilities for HTTP clients and servers |MIT |https://github.com/tower-rs/tower-http | -|tracing |Application-level tracing for Rust. |MIT |https://github.com/tokio-rs/tracing | -|tracing-appender |Provides utilities for file appenders and making non-blocking writers. |MIT |https://github.com/tokio-rs/tracing | -|tracing-opentelemetry |OpenTelemetry integration for tracing |MIT |https://github.com/tokio-rs/tracing-opentelemetry | -|tracing-subscriber |Utilities for implementing and composing `tracing` subscribers. |MIT |https://github.com/tokio-rs/tracing | -|ulid |a Universally Unique Lexicographically Sortable Identifier implementation |MIT |https://github.com/dylanhart/ulid-rs | -|uuid |A library to generate and parse UUIDs. |Apache-2.0 OR MIT |https://github.com/uuid-rs/uuid | -|vergen-git2 |Generate 'cargo:rustc-env' instructions via 'build.rs' for use in your code via the 'env!' macro |MIT OR Apache-2.0 |https://github.com/rustyhorde/vergen | -|webpki-roots |Mozilla's CA root certificates for use with webpki |MPL-2.0 |https://github.com/rustls/webpki-roots | -|xxhash-rust |Implementation of xxhash |BSL-1.0 |https://github.com/DoumanAsh/xxhash-rust | -|zip |Library to support the reading and writing of zip files. |MIT |https://github.com/zip-rs/zip2.git | +| Name |Description | License | Repository | +|------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|---------------------------------------------------------------------------------------------------| +| aes-gcm |Pure Rust implementation of the AES-GCM (Galois/Counter Mode) Authenticated Encryption with Associated Data (AEAD) Cipher with optional architecture-specific hardware acceleration | Apache-2.0 OR MIT | https://github.com/RustCrypto/AEADs | +| ahash |A non-cryptographic hash function using AES-NI for high performance | MIT OR Apache-2.0 | https://github.com/tkaitchuck/ahash | +| anyhow |Flexible concrete Error type built on std::error::Error | MIT OR Apache-2.0 | https://github.com/dtolnay/anyhow | +| assert_cmd |Test CLI Applications. | MIT OR Apache-2.0 | https://github.com/assert-rs/assert_cmd.git | +| async-broadcast |Async broadcast channels | MIT OR Apache-2.0 | https://github.com/smol-rs/async-broadcast | +| async-dropper |The least-worst ad-hoc implementation of AsyncDrop as a Derive macro | MIT | https://github.com/t3hmrman/async-dropper | +| async-trait |Type erasure for async trait methods | MIT OR Apache-2.0 | https://github.com/dtolnay/async-trait | +| atone |A VecDeque and Vec variant that spreads resize load across pushes. | MIT OR Apache-2.0 | https://github.com/jonhoo/atone.git | +| axum |Web framework that focuses on ergonomics and modularity | MIT | https://github.com/tokio-rs/axum | +| axum-server |High level server designed to be used with axum framework. | MIT | https://github.com/programatik29/axum-server | +| base64 |encodes and decodes base64 as bytes or utf8 | MIT OR Apache-2.0 | https://github.com/marshallpierce/rust-base64 | +| bcrypt |Easily hash and verify passwords using bcrypt | MIT | https://github.com/Keats/rust-bcrypt | +| bincode |A binary serialization / deserialization strategy for transforming structs into bytes and vice versa! | MIT | https://github.com/bincode-org/bincode | +| blake3 |the BLAKE3 hash function | CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception | https://github.com/BLAKE3-team/BLAKE3 | +| byte-unit |A library for interacting with units of bytes. | MIT | https://github.com/magiclen/byte-unit | +| bytes |Types and traits for working with bytes | MIT | https://github.com/tokio-rs/bytes | +| chrono |Date and time library for Rust | MIT OR Apache-2.0 | https://github.com/chronotope/chrono | +| clap |A simple to use, efficient, and full-featured Command Line Argument Parser | MIT OR Apache-2.0 | https://github.com/clap-rs/clap | +| clap_complete |Generate shell completion scripts for your clap::Command | MIT OR Apache-2.0 | https://github.com/clap-rs/clap | +| colored |The most simple way to add colors in your terminal | MPL-2.0 | https://github.com/mackwic/colored | +| comfy-table |An easy to use library for building beautiful tables with automatic content wrapping | MIT | https://github.com/nukesor/comfy-table | +| console-subscriber |A `tracing-subscriber::Layer` for collecting Tokio console telemetry. | MIT | https://github.com/tokio-rs/console/ | +| convert_case |Convert strings into any case | MIT | https://github.com/rutrum/convert-case | +| crc32fast |Fast, SIMD-accelerated CRC32 (IEEE) checksum computation | MIT OR Apache-2.0 | https://github.com/srijs/rust-crc32fast | +| csv |Fast CSV parsing with support for serde. | Unlicense/MIT | https://github.com/BurntSushi/rust-csv | +| ctor |__attribute__((constructor)) for Rust | Apache-2.0 OR MIT | https://github.com/mmastrac/rust-ctor | +| dashmap |Blazing fast concurrent HashMap for Rust. | MIT | https://github.com/xacrimon/dashmap | +| derive-new |`#[derive(new)]` implements simple constructor functions for structs and enums. | MIT | https://github.com/nrc/derive-new | +| derive_more |Adds #[derive(x)] macros for more traits | MIT | https://github.com/JelteF/derive_more | +| dirs |A tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.| MIT OR Apache-2.0 | https://github.com/soc/dirs-rs | +| dotenvy |A well-maintained fork of the dotenv crate | MIT | https://github.com/allan2/dotenvy | +| env_logger |A logging implementation for `log` which is configured via an environment variable. | MIT OR Apache-2.0 | https://github.com/rust-cli/env_logger | +| error_set |An error set macro that simplifies error management by providing a streamlined method for defining errors and easily converting between them. Inspired by Zig's error set type. | Apache-2.0 | https://github.com/mcmah309/error_set | +| fast-async-mutex |It is a lib which provide asynchronous locking mechanisms (Mutex, RwLock, OrderedMutex and OrderedRwLock) | Apache-2.0/MIT | https://github.com/Mnwa/fast-async-mutex | +| figlet-rs |Rust implementation of FIGlet to create ascii art | Apache-2.0 | https://github.com/yuanbohan/rs-figlet | +| figment |A configuration library so con-free, it's unreal. | MIT OR Apache-2.0 | https://github.com/SergioBenitez/Figment | +| flume |A blazingly fast multi-producer channel | Apache-2.0/MIT | https://github.com/zesterer/flume | +| futures |An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces. | MIT OR Apache-2.0 | https://github.com/rust-lang/futures-rs | +| futures-util |Common utilities and extension traits for the futures-rs library. | MIT OR Apache-2.0 | https://github.com/rust-lang/futures-rs | +| human_format |Rust Port of human-format from node, formatting numbers for us, while the machines are still at bay. | MIT | https://github.com/BobGneu/human-format-rs | +| humantime | A parser and formatter for std::time::{Duration, SystemTime} | MIT/Apache-2.0 | https://github.com/tailhook/humantime | +| iggy |Iggy is the persistent message streaming platform written in Rust, supporting QUIC, TCP and HTTP transport protocols, capable of processing millions of messages per second. | Apache-2.0 | https://github.com/iggy-rs/iggy | +| jsonwebtoken |Create and decode JWTs in a strongly typed way. | MIT | https://github.com/Keats/jsonwebtoken | +| keyring |Cross-platform library for managing passwords/credentials | MIT OR Apache-2.0 | https://github.com/hwchen/keyring-rs.git | +| lazy_static |A macro for declaring lazily evaluated statics in Rust. | MIT OR Apache-2.0 | https://github.com/rust-lang-nursery/lazy-static.rs | +| libc |Raw FFI bindings to platform libraries like libc. | MIT OR Apache-2.0 | https://github.com/rust-lang/libc | +| log |A lightweight logging facade for Rust | MIT OR Apache-2.0 | https://github.com/rust-lang/log | +| mimalloc |Performance and security oriented drop-in allocator | MIT | https://github.com/purpleprotocol/mimalloc_rust | +| mockall |A powerful mock object library for Rust. | MIT OR Apache-2.0 | https://github.com/asomers/mockall | +| moka |A fast and concurrent cache library inspired by Java Caffeine | MIT OR Apache-2.0 | https://github.com/moka-rs/moka | +| nonzero_lit |Easy, safe, and fully zero-cost NonZero constants and literals. | MIT OR Apache-2.0 OR CC0-1.0 | https://github.com/thomcc/nonzero_lit | +| openssl |OpenSSL bindings | Apache-2.0 | https://github.com/sfackler/rust-openssl | +| opentelemetry |OpenTelemetry API for Rust | Apache-2.0 | https://github.com/open-telemetry/opentelemetry-rust | +| opentelemetry-appender-tracing |An OpenTelemetry log appender for the tracing crate | Apache-2.0 | https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-tracing | +| opentelemetry-otlp |Exporter for the OpenTelemetry Collector | Apache-2.0 | https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp | +| opentelemetry-semantic-conventions |Semantic conventions for OpenTelemetry | Apache-2.0 | https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-semantic-conventions | +| opentelemetry_sdk |The SDK for the OpenTelemetry metrics collection and distributed tracing framework | Apache-2.0 | https://github.com/open-telemetry/opentelemetry-rust | +| passterm |Read terminal password, check isatty | BSD-3-Clause | https://github.com/finfet/passterm | +| predicates |An implementation of boolean-valued predicate functions. | MIT OR Apache-2.0 | https://github.com/assert-rs/predicates-rs | +| prometheus-client |Open Metrics client library allowing users to natively instrument applications. | Apache-2.0 OR MIT | https://github.com/prometheus/client_rust | +| quinn |Versatile QUIC transport protocol implementation | MIT OR Apache-2.0 | https://github.com/quinn-rs/quinn | +| rcgen |Rust X.509 certificate generator | MIT OR Apache-2.0 | https://github.com/rustls/rcgen | +| regex |An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs. | MIT OR Apache-2.0 | https://github.com/rust-lang/regex | +| reqwest |higher level HTTP client library | MIT OR Apache-2.0 | https://github.com/seanmonstar/reqwest | +| reqwest-middleware |Wrapper around reqwest to allow for client middleware chains. | MIT OR Apache-2.0 | https://github.com/TrueLayer/reqwest-middleware | +| reqwest-retry |Retry middleware for reqwest. | MIT OR Apache-2.0 | https://github.com/TrueLayer/reqwest-middleware | +| ring |Safe, fast, small crypto using Rust. | non-standard | https://github.com/briansmith/ring | +| rust-s3 |Rust library for working with AWS S3 and compatible object storage APIs | MIT | https://github.com/durch/rust-s3 | +| rustls |Rustls is a modern TLS library written in Rust. | Apache-2.0 OR ISC OR MIT | https://github.com/rustls/rustls | +| rustls-pemfile |Basic .pem file parser for keys and certificates | Apache-2.0 OR ISC OR MIT | https://github.com/rustls/pemfile | +| serde |A generic serialization/deserialization framework | MIT OR Apache-2.0 | https://github.com/serde-rs/serde | +| serde_derive |Macros 1.1 implementation of #[derive(Serialize, Deserialize)] | MIT OR Apache-2.0 | https://github.com/serde-rs/serde | +| serde_json |A JSON serialization file format | MIT OR Apache-2.0 | https://github.com/serde-rs/json | +| serde_with |Custom de/serialization functions for Rust's serde | MIT OR Apache-2.0 | https://github.com/jonasbb/serde_with/ | +| serial_test |Allows for the creation of serialised Rust tests | MIT | https://github.com/palfrey/serial_test/ | +| static-toml |Effortlessly embed TOML files into your Rust code as static data with custom data structures. | MIT | https://github.com/cptpiepmatz/static-toml | +| strip-ansi-escapes |Strip ANSI escape sequences from byte streams. | Apache-2.0/MIT | https://github.com/luser/strip-ansi-escapes | +| strum |Helpful macros for working with enums and strings | MIT | https://github.com/Peternator7/strum | +| sysinfo |Library to get system information such as processes, CPUs, disks, components and networks | MIT | https://github.com/GuillaumeGomez/sysinfo | +| tempfile |A library for managing temporary files and directories. | MIT OR Apache-2.0 | https://github.com/Stebalien/tempfile | +| thiserror |derive(Error) | MIT OR Apache-2.0 | https://github.com/dtolnay/thiserror | +| tokio |An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications. | MIT | https://github.com/tokio-rs/tokio | +| tokio-native-tls |An implementation of TLS/SSL streams for Tokio using native-tls giving an implementation of TLS for nonblocking I/O streams. | MIT | https://github.com/tokio-rs/tls | +| tokio-rustls |Asynchronous TLS/SSL streams for Tokio using Rustls. | MIT OR Apache-2.0 | https://github.com/rustls/tokio-rustls | +| toml |A native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the standard Serialize/Deserialize traits for TOML data to facilitate deserializing and serializing Rust structures. | MIT OR Apache-2.0 | https://github.com/toml-rs/toml | +| tower-http |Tower middleware and utilities for HTTP clients and servers | MIT | https://github.com/tower-rs/tower-http | +| tracing |Application-level tracing for Rust. | MIT | https://github.com/tokio-rs/tracing | +| tracing-appender |Provides utilities for file appenders and making non-blocking writers. | MIT | https://github.com/tokio-rs/tracing | +| tracing-opentelemetry |OpenTelemetry integration for tracing | MIT | https://github.com/tokio-rs/tracing-opentelemetry | +| tracing-subscriber |Utilities for implementing and composing `tracing` subscribers. | MIT | https://github.com/tokio-rs/tracing | +| twox-hash |A Rust implementation of the XXHash and XXH3 algorithms | MIT | https://github.com/shepmaster/twox-hash | +| ulid |a Universally Unique Lexicographically Sortable Identifier implementation | MIT | https://github.com/dylanhart/ulid-rs | +| uuid |A library to generate and parse UUIDs. | Apache-2.0 OR MIT | https://github.com/uuid-rs/uuid | +| vergen-git2 |Generate 'cargo:rustc-env' instructions via 'build.rs' for use in your code via the 'env!' macro | MIT OR Apache-2.0 | https://github.com/rustyhorde/vergen | +| webpki-roots |Mozilla's CA root certificates for use with webpki | Apache-2.0 OR MIT OR MPL-2.0 | https://github.com/rustls/webpki-roots | +| zip |Library to support the reading and writing of zip files. | MIT | https://github.com/zip-rs/zip2.git | diff --git a/integration/Cargo.toml b/integration/Cargo.toml index 2bbd657a5..7c854b529 100644 --- a/integration/Cargo.toml +++ b/integration/Cargo.toml @@ -27,8 +27,8 @@ server = { path = "../server" } tempfile = "3.14.0" tokio = { version = "1.43.0", features = ["full"] } tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] } +twox-hash = { version = "2.1.0", features = ["xxhash32"] } uuid = { version = "1.11.0", features = ["v7", "fast-rng", "zerocopy"] } -xxhash-rust = { version = "0.8.15", features = ["xxh32"] } zip = "2.2.2" # Some tests are failing in CI due to lack of IPv6 interfaces diff --git a/integration/tests/cli/message/test_message_send_command.rs b/integration/tests/cli/message/test_message_send_command.rs index efddafad2..696942258 100644 --- a/integration/tests/cli/message/test_message_send_command.rs +++ b/integration/tests/cli/message/test_message_send_command.rs @@ -14,7 +14,7 @@ use predicates::str::diff; use serial_test::parallel; use std::collections::HashMap; use std::str::from_utf8; -use xxhash_rust::xxh32::xxh32; +use twox_hash::XxHash32; #[derive(Debug)] enum PartitionSelection { @@ -118,7 +118,7 @@ impl TestMessageSendCmd { } fn calculate_partition_id_from_messages_key(&self, messages_key: &[u8]) -> u32 { - let messages_key_hash = xxh32(messages_key, 0); + let messages_key_hash = XxHash32::oneshot(0, messages_key); let mut partition_id = messages_key_hash % self.partitions_count; if partition_id == 0 { partition_id = self.partitions_count; diff --git a/licenses/passterm-BSD 3-Clause.txt b/licenses/passterm-BSD 3-Clause.txt new file mode 100644 index 000000000..2e6410e78 --- /dev/null +++ b/licenses/passterm-BSD 3-Clause.txt @@ -0,0 +1,26 @@ +Copyright (c) 2021-2024 Kyle Schreiber. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/ring-BoringSSL.txt b/licenses/ring-BoringSSL.txt new file mode 100644 index 000000000..bf787438e --- /dev/null +++ b/licenses/ring-BoringSSL.txt @@ -0,0 +1,204 @@ +Note that it is easy for this file to get out of sync with the licenses in the +source code files. It's recommended to compare the licenses in the source code +with what's mentioned here. + +*ring* is derived from BoringSSL, so the licensing situation in *ring* is +similar to BoringSSL. + +*ring* uses an ISC-style license like BoringSSL for code in new files, +including in particular all the Rust code: + + Copyright 2015-2016 Brian Smith. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY + SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +BoringSSL is a fork of OpenSSL. As such, large parts of it fall under OpenSSL +licensing. Files that are completely new have a Google copyright and an ISC +license. This license is reproduced at the bottom of this file. + +Contributors to BoringSSL are required to follow the CLA rules for Chromium: +https://cla.developers.google.com/clas + +Files in third_party/ have their own licenses, as described therein. The MIT +license, for third_party/fiat, which, unlike other third_party directories, is +compiled into non-test libraries, is included below. + +The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the +OpenSSL License and the original SSLeay license apply to the toolkit. See below +for the actual license texts. Actually both licenses are BSD-style Open Source +licenses. In case of any license issues related to OpenSSL please contact +openssl-core@openssl.org. + +The following are Google-internal bug numbers where explicit permission from +some authors is recorded for use of their work: + 27287199 + 27287880 + 27287883 + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + + +ISC license used for completely new code in BoringSSL: + +/* Copyright (c) 2015, Google Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ + + +The code in third_party/fiat carries the MIT license: + +Copyright (c) 2015-2016 the fiat-crypto authors (see +https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/server/Cargo.toml b/server/Cargo.toml index aea53ed9f..f0a9737b5 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -85,9 +85,9 @@ tracing = { version = "0.1.41" } tracing-appender = "0.2.3" tracing-opentelemetry = { version = "0.28.0" } tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] } +twox-hash = { version = "2.1.0", features = ["xxhash32"] } ulid = "1.1.3" uuid = { version = "1.11.0", features = ["v7", "fast-rng", "zerocopy"] } -xxhash-rust = { version = "0.8.15", features = ["xxh32"] } zip = "2.2.2" [dev-dependencies] diff --git a/server/src/streaming/utils/hash.rs b/server/src/streaming/utils/hash.rs index 50640d546..6781061da 100644 --- a/server/src/streaming/utils/hash.rs +++ b/server/src/streaming/utils/hash.rs @@ -1,7 +1,7 @@ -use xxhash_rust::xxh32::xxh32; +use twox_hash::XxHash32; pub fn calculate_32(data: &[u8]) -> u32 { - xxh32(data, 0) + XxHash32::oneshot(0, data) } pub fn calculate_256(data: &[u8]) -> String {