diff --git a/Cargo.lock b/Cargo.lock index 962a758..1b99596 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -89,6 +89,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + [[package]] name = "anchor-attribute-access-control" version = "0.22.1" @@ -97,8 +103,8 @@ checksum = "fb45cc9d1ce72e5eda341126de495a2c3810108c2333c6f3b4e09d99605f3f48" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "regex", "syn 1.0.86", ] @@ -112,8 +118,8 @@ dependencies = [ "anchor-syn", "anyhow", "bs58 0.4.0", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "rustversion", "syn 1.0.86", ] @@ -125,7 +131,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d347ce462ceba4473d216bab2c9d0d9702a027d25e93b5376d8d8593d9e13de0" dependencies = [ "anchor-syn", - "proc-macro2 1.0.36", + "proc-macro2 1.0.94", "syn 1.0.86", ] @@ -136,8 +142,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "354582d796f8309252d18f787f0e49df8ab6fdfe48f838f059f001ee2f04b5c8" dependencies = [ "anchor-syn", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -149,8 +155,8 @@ checksum = "1a2e218dd8a446993463e38c00159349ae25aa76076191cde0ba460c9c65a180" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -163,8 +169,8 @@ dependencies = [ "anchor-syn", "anyhow", "heck 0.3.3", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -176,8 +182,8 @@ checksum = "6519b3ac626c1bd9df407fe22ec6a283f4b1067ee7f3be896ca580be510b7196" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -189,8 +195,8 @@ checksum = "88e6a21070bcb053f092a1a9054924e8a1b5afd68f7317d0138327401ac154e1" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -202,8 +208,8 @@ checksum = "09a65890c2132f30a3ff160fb83f74e0a0454f904f46f1c9be38d3e94c2d06ed" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -228,7 +234,7 @@ dependencies = [ "borsh", "bytemuck", "solana-program", - "thiserror", + "thiserror 1.0.30", ] [[package]] @@ -240,14 +246,14 @@ dependencies = [ "anyhow", "bs58 0.3.1", "heck 0.3.3", - "proc-macro2 1.0.36", + "proc-macro2 1.0.94", "proc-macro2-diagnostics", - "quote 1.0.15", + "quote 1.0.40", "serde", "serde_json", "sha2 0.9.9", "syn 1.0.86", - "thiserror", + "thiserror 1.0.30", ] [[package]] @@ -289,8 +295,8 @@ version = "0.1.52" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -399,7 +405,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" dependencies = [ "borsh-derive", - "hashbrown", + "hashbrown 0.11.2", ] [[package]] @@ -411,7 +417,7 @@ dependencies = [ "borsh-derive-internal", "borsh-schema-derive-internal", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.36", + "proc-macro2 1.0.94", "syn 1.0.86", ] @@ -421,8 +427,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -432,8 +438,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -480,8 +486,8 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e215f8c2f9f79cb53c8335e687ffd07d5bfcb6fe5fc80723762d0be46e7cc54" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -526,7 +532,7 @@ checksum = "61bf7211aad104ce2769ec05efcdfabf85ee84ac92461d142f22cf8badd0e54c" dependencies = [ "errno", "libc", - "thiserror", + "thiserror 1.0.30", ] [[package]] @@ -617,8 +623,8 @@ checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16" dependencies = [ "heck 0.4.0", "proc-macro-error", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -973,8 +979,8 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -991,6 +997,12 @@ dependencies = [ "termcolor", ] +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + [[package]] name = "errno" version = "0.2.8" @@ -1075,6 +1087,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + [[package]] name = "form_urlencoded" version = "1.0.1" @@ -1139,8 +1157,8 @@ version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -1253,6 +1271,17 @@ dependencies = [ "ahash", ] +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + [[package]] name = "heck" version = "0.3.3" @@ -1414,7 +1443,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.11.2", ] [[package]] @@ -1697,8 +1726,8 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -1730,8 +1759,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -1780,8 +1809,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" dependencies = [ "proc-macro-crate 1.1.3", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -1840,8 +1869,8 @@ checksum = "ed9a247206016d424fe8497bc611e510887af5c261fbbf977877c4bb55ca4d82" dependencies = [ "Inflector", "proc-macro-error", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -1949,7 +1978,7 @@ version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ - "thiserror", + "thiserror 1.0.30", "toml", ] @@ -1960,8 +1989,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", "version_check", ] @@ -1972,8 +2001,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "version_check", ] @@ -1988,11 +2017,11 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.36" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" dependencies = [ - "unicode-xid 0.2.2", + "unicode-ident", ] [[package]] @@ -2001,8 +2030,8 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", "version_check", "yansi", @@ -2040,11 +2069,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.15" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ - "proc-macro2 1.0.36", + "proc-macro2 1.0.94", ] [[package]] @@ -2360,8 +2389,8 @@ version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -2522,7 +2551,7 @@ dependencies = [ "solana-sdk", "solana-vote-program", "spl-token", - "thiserror", + "thiserror 1.0.30", "zstd", ] @@ -2543,7 +2572,7 @@ dependencies = [ "solana-frozen-abi-macro", "solana-program-runtime", "solana-sdk", - "thiserror", + "thiserror 1.0.30", ] [[package]] @@ -2592,7 +2621,7 @@ dependencies = [ "solana-perf", "solana-remote-wallet", "solana-sdk", - "thiserror", + "thiserror 1.0.30", "tiny-bip39", "uriparse", "url", @@ -2643,7 +2672,7 @@ dependencies = [ "solana-transaction-status", "solana-version", "solana-vote-program", - "thiserror", + "thiserror 1.0.30", "tokio", "tokio-stream", "tokio-tungstenite", @@ -2695,7 +2724,7 @@ dependencies = [ "solana-sdk", "solana-version", "spl-memo", - "thiserror", + "thiserror 1.0.30", "tokio", ] @@ -2715,7 +2744,7 @@ dependencies = [ "serde_derive", "sha2 0.10.2", "solana-frozen-abi-macro", - "thiserror", + "thiserror 1.0.30", ] [[package]] @@ -2724,8 +2753,8 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96bf045e938c042c59739ba3a77bf1d25cb7cf073bbf3690cc2d56c7cff27ba2" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "rustc_version", "syn 1.0.86", ] @@ -2853,7 +2882,7 @@ dependencies = [ "solana-frozen-abi", "solana-frozen-abi-macro", "solana-sdk-macro", - "thiserror", + "thiserror 1.0.30", "wasm-bindgen", ] @@ -2878,7 +2907,7 @@ dependencies = [ "solana-frozen-abi-macro", "solana-measure", "solana-sdk", - "thiserror", + "thiserror 1.0.30", ] [[package]] @@ -2906,7 +2935,7 @@ dependencies = [ "qstring", "semver", "solana-sdk", - "thiserror", + "thiserror 1.0.30", "uriparse", ] @@ -2963,7 +2992,7 @@ dependencies = [ "symlink", "tar", "tempfile", - "thiserror", + "thiserror 1.0.30", "zstd", ] @@ -3013,7 +3042,7 @@ dependencies = [ "solana-logger", "solana-program", "solana-sdk-macro", - "thiserror", + "thiserror 1.0.30", "uriparse", "wasm-bindgen", ] @@ -3025,8 +3054,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2388e9b1690e83413393f3e20d98551cbebae9d9385397600d25ae9992873736" dependencies = [ "bs58 0.4.0", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "rustversion", "syn 1.0.86", ] @@ -3035,7 +3064,8 @@ dependencies = [ name = "solana-security-txt" version = "1.1.1" dependencies = [ - "thiserror", + "hashbrown 0.15.2", + "thiserror 2.0.12", "twoway", ] @@ -3059,7 +3089,7 @@ dependencies = [ "solana-program-runtime", "solana-sdk", "solana-vote-program", - "thiserror", + "thiserror 1.0.30", ] [[package]] @@ -3086,7 +3116,7 @@ dependencies = [ "spl-associated-token-account", "spl-memo", "spl-token", - "thiserror", + "thiserror 1.0.30", ] [[package]] @@ -3122,7 +3152,7 @@ dependencies = [ "solana-metrics", "solana-program-runtime", "solana-sdk", - "thiserror", + "thiserror 1.0.30", ] [[package]] @@ -3166,7 +3196,7 @@ dependencies = [ "solana-program", "solana-sdk", "subtle", - "thiserror", + "thiserror 1.0.30", "zeroize", ] @@ -3206,7 +3236,7 @@ dependencies = [ "num-traits", "num_enum", "solana-program", - "thiserror", + "thiserror 1.0.30", ] [[package]] @@ -3262,19 +3292,30 @@ version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "unicode-xid 0.2.2", ] +[[package]] +name = "syn" +version = "2.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +dependencies = [ + "proc-macro2 1.0.94", + "quote 1.0.40", + "unicode-ident", +] + [[package]] name = "synstructure" version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", "unicode-xid 0.2.2", ] @@ -3344,7 +3385,16 @@ version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.30", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -3353,11 +3403,22 @@ version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2 1.0.94", + "quote 1.0.40", + "syn 2.0.100", +] + [[package]] name = "thread_local" version = "1.1.4" @@ -3390,7 +3451,7 @@ dependencies = [ "rand 0.7.3", "rustc-hash", "sha2 0.9.9", - "thiserror", + "thiserror 1.0.30", "unicode-normalization", "wasm-bindgen", "zeroize", @@ -3437,8 +3498,8 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", ] @@ -3572,7 +3633,7 @@ dependencies = [ "rand 0.8.5", "rustls", "sha-1", - "thiserror", + "thiserror 1.0.30", "url", "utf-8", "webpki", @@ -3607,6 +3668,12 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + [[package]] name = "unicode-normalization" version = "0.1.19" @@ -3754,8 +3821,8 @@ dependencies = [ "bumpalo", "lazy_static", "log", - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", "wasm-bindgen-shared", ] @@ -3778,7 +3845,7 @@ version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" dependencies = [ - "quote 1.0.15", + "quote 1.0.40", "wasm-bindgen-macro-support", ] @@ -3788,8 +3855,8 @@ version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", "wasm-bindgen-backend", "wasm-bindgen-shared", @@ -3952,8 +4019,8 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.15", + "proc-macro2 1.0.94", + "quote 1.0.40", "syn 1.0.86", "synstructure", ] diff --git a/security-txt/Cargo.toml b/security-txt/Cargo.toml index 9c33563..ab2bdb7 100644 --- a/security-txt/Cargo.toml +++ b/security-txt/Cargo.toml @@ -12,5 +12,6 @@ license = "MIT OR Apache-2.0" parser = ["thiserror", "twoway"] [dependencies] -thiserror = { version = "=1.0.30", optional = true } +hashbrown = "=0.15.2" +thiserror = { version = "=2.0.12", optional = true } twoway = { version = "=0.2.2", optional = true } diff --git a/security-txt/src/lib.rs b/security-txt/src/lib.rs index 8e43422..e1aa141 100644 --- a/security-txt/src/lib.rs +++ b/security-txt/src/lib.rs @@ -1,4 +1,8 @@ #![doc = include_str!("../README.md")] +#![no_std] + +#[cfg(feature = "parser")] +extern crate alloc; #[cfg(feature = "parser")] mod parser; @@ -18,7 +22,7 @@ macro_rules! security_txt { #[allow(dead_code)] #[no_mangle] /// Static string containing the security.txt file. - pub static security_txt: &str = concat! { + pub static SECURITY_TXT: &str = concat! { "=======BEGIN SECURITY.TXT V1=======\0", $(stringify!($name), "\0", $value, "\0",)* "=======END SECURITY.TXT V1=======\0" diff --git a/security-txt/src/parser.rs b/security-txt/src/parser.rs index 12b6faa..de8935a 100644 --- a/security-txt/src/parser.rs +++ b/security-txt/src/parser.rs @@ -1,6 +1,13 @@ use crate::{SECURITY_TXT_BEGIN, SECURITY_TXT_END}; -use core::fmt::{self, Display}; -use std::collections::HashMap; +use alloc::{ + string::{String, ToString}, + vec::Vec, +}; +use core::{ + fmt::{self, Display}, + str::from_utf8, +}; +use hashbrown::HashMap; use thiserror::Error; use twoway::find_bytes; @@ -99,8 +106,10 @@ impl Display for SecurityTxt { } } -impl Contact { - pub fn from_str(s: &str) -> Result { +impl TryFrom<&str> for Contact { + type Error = SecurityTxtError; + + fn try_from(s: &str) -> Result { let (typ, value) = s .split_once(":") .ok_or_else(|| SecurityTxtError::InvalidContact(s.to_string()))?; @@ -157,13 +166,13 @@ pub fn parse(mut data: &[u8]) -> Result { let mut field: Option = None; for part in data.split(|&b| b == 0) { if let Some(ref f) = field { - let value = std::str::from_utf8(part) + let value = from_utf8(part) .map_err(|_| SecurityTxtError::InvalidValue(part.to_vec(), f.clone()))?; attributes.insert(f.clone(), value.to_string()); field = None; } else { field = Some({ - let field = std::str::from_utf8(part) + let field = from_utf8(part) .map_err(|_| SecurityTxtError::InvalidField(part.to_vec()))? .to_string(); if attributes.contains_key(&field) { @@ -194,7 +203,7 @@ pub fn parse(mut data: &[u8]) -> Result { .remove("contacts") .ok_or_else(|| SecurityTxtError::MissingField("contacts".to_string()))? .split(",") - .map(|s| Contact::from_str(s.trim())) + .map(|s| Contact::try_from(s.trim())) .collect(); let contacts = contacts?; let auditors: Vec<_> = attributes