M Cargo.lock => Cargo.lock +283 -272
@@ 1,5 1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
+version = 3
+
[[package]]
name = "adler"
version = "1.0.2"
@@ 7,6 9,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
+name = "ahash"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
name = "ansi_term"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 17,9 30,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.40"
+version = "1.0.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
+checksum = "595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486"
[[package]]
name = "async-channel"
@@ 34,16 47,16 @@ dependencies = [
[[package]]
name = "async-executor"
-version = "1.4.0"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb877970c7b440ead138f6321a3b5395d6061183af779340b65e20c0fede9146"
+checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965"
dependencies = [
"async-task",
"concurrent-queue",
"fastrand",
"futures-lite",
"once_cell",
- "vec-arena",
+ "slab",
]
[[package]]
@@ 75,29 88,28 @@ dependencies = [
[[package]]
name = "async-io"
-version = "1.3.1"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9315f8f07556761c3e48fec2e6b276004acf426e6dc068b2c2251854d65ee0fd"
+checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b"
dependencies = [
"concurrent-queue",
- "fastrand",
"futures-lite",
"libc",
"log",
- "nb-connect",
"once_cell",
"parking",
"polling",
- "vec-arena",
+ "slab",
+ "socket2",
"waker-fn",
"winapi",
]
[[package]]
name = "async-lock"
-version = "2.3.0"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1996609732bde4a9988bc42125f55f2af5f3c36370e27c778d5191a4a1b63bfb"
+checksum = "e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b"
dependencies = [
"event-listener",
]
@@ 113,27 125,27 @@ dependencies = [
[[package]]
name = "async-net"
-version = "1.5.0"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06de475c85affe184648202401d7622afb32f0f74e02192857d0201a16defbe5"
+checksum = "5373304df79b9b4395068fb080369ec7178608827306ce4d081cba51cac551df"
dependencies = [
"async-io",
"blocking",
- "fastrand",
"futures-lite",
]
[[package]]
name = "async-process"
-version = "1.0.2"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef37b86e2fa961bae5a4d212708ea0154f904ce31d1a4a7f47e1bbc33a0c040b"
+checksum = "a8f38756dd9ac84671c428afbf7c9f7495feff9ec5b0710f17100098e5b354ac"
dependencies = [
"async-io",
"blocking",
"cfg-if",
"event-listener",
"futures-lite",
+ "libc",
"once_cell",
"signal-hook",
"winapi",
@@ 147,7 159,7 @@ checksum = "9c86f33abd5a4f3e2d6d9251a9e0c6a7e52eb1113caf893dae8429bf4a53f378"
dependencies = [
"futures-lite",
"rustls",
- "webpki",
+ "webpki 0.21.4",
]
[[package]]
@@ 196,9 208,9 @@ dependencies = [
[[package]]
name = "async-trait"
-version = "0.1.48"
+version = "0.1.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36ea56748e10732c49404c153638a15ec3d6211ec5ff35d9bb20e13b93576adf"
+checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722"
dependencies = [
"proc-macro2",
"quote",
@@ 280,9 292,9 @@ dependencies = [
[[package]]
name = "bstr"
-version = "0.2.15"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d"
+checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279"
dependencies = [
"lazy_static",
"memchr",
@@ 292,26 304,25 @@ dependencies = [
[[package]]
name = "bumpalo"
-version = "3.6.1"
+version = "3.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"
+checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631"
[[package]]
name = "bytecheck"
-version = "0.4.1"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc01d00caeff7a3d27dd7afd3a2dec62557d28684ee88e5c5ef2a8ff8a715913"
+checksum = "ff6e41b4c23aca8e5dd453b1142c330704cc461bff785cbebaf0b4582d6a0ea5"
dependencies = [
"bytecheck_derive",
- "memoffset",
"ptr_meta",
]
[[package]]
name = "bytecheck_derive"
-version = "0.4.1"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a9ccb631a8071909d61ede2a33ea6f0305c72999cd02245c85eec9ccb48844a"
+checksum = "fb785814a4df138638a22e448a4067ca0661a864ba2add6fea0d1cbece1c63d3"
dependencies = [
"proc-macro2",
"quote",
@@ 338,18 349,18 @@ checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba"
[[package]]
name = "cast"
-version = "0.2.4"
+version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f566d1fbeb40ec78c78344e9983f46ff9eb4e944fa930ed01b7d72b72a37c11"
+checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a"
dependencies = [
"rustc_version",
]
[[package]]
name = "cc"
-version = "1.0.67"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
+checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
dependencies = [
"jobserver",
]
@@ 386,9 397,9 @@ dependencies = [
[[package]]
name = "combine"
-version = "4.5.2"
+version = "4.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc4369b5e4c0cddf64ad8981c0111e7df4f7078f4d6ba98fb31f2e17c4c57b7e"
+checksum = "a2d47c1b11006b87e492b53b313bb699ce60e16613c4dddaa91f8f7c220ab2fa"
dependencies = [
"bytes",
"memchr",
@@ 420,10 431,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
[[package]]
-name = "cpuid-bool"
-version = "0.1.2"
+name = "cpufeatures"
+version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634"
+checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef"
+dependencies = [
+ "libc",
+]
[[package]]
name = "crc32fast"
@@ 445,7 459,7 @@ dependencies = [
"clap",
"criterion-plot",
"csv",
- "itertools 0.10.0",
+ "itertools 0.10.1",
"lazy_static",
"num-traits",
"oorandom",
@@ 493,9 507,9 @@ dependencies = [
[[package]]
name = "crossbeam-epoch"
-version = "0.9.3"
+version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12"
+checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd"
dependencies = [
"cfg-if",
"crossbeam-utils",
@@ 506,11 520,10 @@ dependencies = [
[[package]]
name = "crossbeam-utils"
-version = "0.8.3"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49"
+checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
dependencies = [
- "autocfg",
"cfg-if",
"lazy_static",
]
@@ 538,15 551,6 @@ dependencies = [
]
[[package]]
-name = "ct-logs"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8"
-dependencies = [
- "sct",
-]
-
-[[package]]
name = "ctor"
version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 585,9 589,9 @@ checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59"
[[package]]
name = "fastrand"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca5faf057445ce5c9d4329e382b2ce7ca38550ef3b73a5348362d5f24e0c7fe3"
+checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e"
dependencies = [
"instant",
]
@@ 622,24 626,24 @@ dependencies = [
[[package]]
name = "futures-channel"
-version = "0.3.14"
+version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce79c6a52a299137a6013061e0cf0e688fce5d7f1bc60125f520912fdb29ec25"
+checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2"
dependencies = [
"futures-core",
]
[[package]]
name = "futures-core"
-version = "0.3.14"
+version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "098cd1c6dda6ca01650f1a37a794245eb73181d0d4d4e955e2f3c37db7af1815"
+checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1"
[[package]]
name = "futures-delay-queue"
-version = "0.4.2"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4718889d33c594060b28bf5c9e976e1ac4f70e47e5473506ed55bf4a62bf3a3d"
+checksum = "bfb7ba4721aba38d3c78510a2cec8b9735e0c9d0def378f7395f65c4ddaf66af"
dependencies = [
"async-std",
"futures-intrusive",
@@ 661,15 665,15 @@ dependencies = [
[[package]]
name = "futures-io"
-version = "0.3.14"
+version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "365a1a1fb30ea1c03a830fdb2158f5236833ac81fa0ad12fe35b29cddc35cb04"
+checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1"
[[package]]
name = "futures-lite"
-version = "1.11.3"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4481d0cd0de1d204a4fa55e7d45f07b1d958abcb06714b3446438e2eff695fb"
+checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48"
dependencies = [
"fastrand",
"futures-core",
@@ 682,15 686,15 @@ dependencies = [
[[package]]
name = "futures-sink"
-version = "0.3.14"
+version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5629433c555de3d82861a7a4e3794a4c40040390907cfbfd7143a92a426c23"
+checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282"
[[package]]
name = "futures-task"
-version = "0.3.14"
+version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba7aa51095076f3ba6d9a1f702f74bd05ec65f555d70d2033d55ba8d69f581bc"
+checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae"
[[package]]
name = "futures-timer"
@@ 700,10 704,11 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
[[package]]
name = "futures-util"
-version = "0.3.14"
+version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c144ad54d60f23927f0a6b6d816e4271278b64f005ad65e4e35291d2de9c025"
+checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967"
dependencies = [
+ "autocfg",
"futures-core",
"futures-task",
"pin-project-lite",
@@ 722,9 727,9 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
+checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
dependencies = [
"cfg-if",
"libc",
@@ 733,18 738,19 @@ dependencies = [
[[package]]
name = "git-testament"
-version = "0.1.9"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60f131003265744033e147a3b1614cf953edc315d3350377442d8ad3df699103"
+checksum = "096cb9c8aa6f1924d079bf417f1d1685286958ff362fa58ae4d65a53ffec6c02"
dependencies = [
"git-testament-derive",
+ "no-std-compat",
]
[[package]]
name = "git-testament-derive"
-version = "0.1.10"
+version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "526ad4c79ca35ec046176e89787409f1d75d9cd51fa9258c01ca206d4fba9340"
+checksum = "45ceded7b01141664c3fc4a50199c408a6ed247e6c8415dc005e895f1d233374"
dependencies = [
"chrono",
"log",
@@ 768,9 774,9 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.3.2"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc018e188373e2777d0ef2467ebff62a08e66c3f5857b23c8fbec3018210dc00"
+checksum = "825343c4eef0b63f541f8903f395dc5beb362a979b5799a84062527ef1e37726"
dependencies = [
"bytes",
"fnv",
@@ 793,15 799,18 @@ checksum = "62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3"
[[package]]
name = "hashbrown"
-version = "0.9.1"
+version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
+checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
+dependencies = [
+ "ahash",
+]
[[package]]
name = "hermit-abi"
-version = "0.1.18"
+version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [
"libc",
]
@@ 819,9 828,9 @@ dependencies = [
[[package]]
name = "http-body"
-version = "0.4.1"
+version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfb77c123b4e2f72a2069aeae0b4b4949cc7e966df277813fc16347e7549737"
+checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9"
dependencies = [
"bytes",
"http",
@@ 830,21 839,21 @@ dependencies = [
[[package]]
name = "httparse"
-version = "1.3.6"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc35c995b9d93ec174cf9a27d425c7892722101e14993cd227fdb51d70cf9589"
+checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68"
[[package]]
name = "httpdate"
-version = "0.3.2"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
+checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440"
[[package]]
name = "hyper"
-version = "0.14.5"
+version = "0.14.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bf09f61b52cfcf4c00de50df88ae423d6c02354e385a86341133b5338630ad1"
+checksum = "7728a72c4c7d72665fde02204bcbd93b247721025b222ef78606f14513e0fd03"
dependencies = [
"bytes",
"futures-channel",
@@ 856,7 865,7 @@ dependencies = [
"httparse",
"httpdate",
"itoa",
- "pin-project",
+ "pin-project-lite",
"socket2",
"tokio",
"tower-service",
@@ 866,9 875,9 @@ dependencies = [
[[package]]
name = "idna"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21"
+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
dependencies = [
"matches",
"unicode-bidi",
@@ 877,9 886,9 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "1.6.2"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3"
+checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
dependencies = [
"autocfg",
"hashbrown",
@@ 887,9 896,9 @@ dependencies = [
[[package]]
name = "instant"
-version = "0.1.9"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec"
+checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d"
dependencies = [
"cfg-if",
]
@@ 905,9 914,9 @@ dependencies = [
[[package]]
name = "itertools"
-version = "0.10.0"
+version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319"
+checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf"
dependencies = [
"either",
]
@@ 920,18 929,18 @@ checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
[[package]]
name = "jobserver"
-version = "0.1.21"
+version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c71313ebb9439f74b00d9d2dcec36440beaf57a6aa0623068441dd7cd81a7f2"
+checksum = "972f5ae5d1cb9c6ae417789196c803205313edde988685da5e3aae0827b9e7fd"
dependencies = [
"libc",
]
[[package]]
name = "js-sys"
-version = "0.3.50"
+version = "0.3.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d99f9e3e84b8f67f846ef5b4cbbc3b1c29f6c759fcbce6f01aa0e73d932a24c"
+checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062"
dependencies = [
"wasm-bindgen",
]
@@ 953,7 962,6 @@ dependencies = [
"chrono",
"criterion",
"csv",
- "ct-logs",
"flate2",
"futures-delay-queue",
"futures-lite",
@@ 984,7 992,7 @@ dependencies = [
"tracing-attributes",
"tracing-futures",
"tracing-subscriber",
- "webpki",
+ "webpki 0.22.0",
"zstd",
]
@@ 1005,15 1013,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.93"
+version = "0.2.98"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"
+checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790"
[[package]]
name = "lock_api"
-version = "0.4.3"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176"
+checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"
dependencies = [
"scopeguard",
]
@@ 1045,15 1053,15 @@ checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
[[package]]
name = "memchr"
-version = "2.3.4"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
+checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
[[package]]
name = "memoffset"
-version = "0.6.3"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f83fb6581e8ed1f85fd45c116db8405483899489e38406156c25eb743554361d"
+checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
dependencies = [
"autocfg",
]
@@ 1070,9 1078,9 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.7.11"
+version = "0.7.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf80d3e903b34e0bd7282b218398aec54e082c840d9baf8339e0080a0c542956"
+checksum = "8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16"
dependencies = [
"libc",
"log",
@@ 1091,28 1099,25 @@ dependencies = [
]
[[package]]
-name = "nb-connect"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19900e7eee95eb2b3c2e26d12a874cc80aaf750e31be6fcbe743ead369fa45d"
-dependencies = [
- "libc",
- "socket2",
-]
-
-[[package]]
name = "nix"
-version = "0.20.0"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a"
+checksum = "cf1e25ee6b412c2a1e3fcb6a4499a5c1bfe7f43e014bdce9a6b6666e5aa2d187"
dependencies = [
"bitflags",
"cc",
"cfg-if",
"libc",
+ "memoffset",
]
[[package]]
+name = "no-std-compat"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c"
+
+[[package]]
name = "ntapi"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 1152,9 1157,9 @@ dependencies = [
[[package]]
name = "once_cell"
-version = "1.7.2"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
+checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
[[package]]
name = "oorandom"
@@ 1170,15 1175,15 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
name = "openssl-probe"
-version = "0.1.2"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
[[package]]
name = "packed_struct"
-version = "0.5.0"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cea50f42bba10123bd78c09425cf34369710399d18d16f73ff8a9cf00dba070d"
+checksum = "08033303454e0de627fc47aa039f622116a32d51addaec1b89acc4ccd2d14ee1"
dependencies = [
"packed_struct_codegen",
"serde",
@@ 1186,9 1191,9 @@ dependencies = [
[[package]]
name = "packed_struct_codegen"
-version = "0.5.0"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaaf71038d56e38aec6ab9f254737eb37450f97b7fba349fe1e3dfe6c1a68db4"
+checksum = "c85c2990633a4176cb730b76d15eb9fbdf575556ed1fc60eb6ca354c024b5ead"
dependencies = [
"proc-macro2",
"quote",
@@ 1234,18 1239,18 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
[[package]]
name = "pin-project"
-version = "1.0.6"
+version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc174859768806e91ae575187ada95c91a29e96a98dc5d2cd9a1fed039501ba6"
+checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
-version = "1.0.6"
+version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a490329918e856ed1b083f244e3bfe2d8c4f336407e4ea9e1a9f479ff09049e5"
+checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f"
dependencies = [
"proc-macro2",
"quote",
@@ 1254,9 1259,9 @@ dependencies = [
[[package]]
name = "pin-project-lite"
-version = "0.2.6"
+version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
+checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"
[[package]]
name = "pin-utils"
@@ 1266,9 1271,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "plotters"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45ca0ae5f169d0917a7c7f5a9c1a3d3d9598f18f529dd2b8373ed988efea307a"
+checksum = "32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a"
dependencies = [
"num-traits",
"plotters-backend",
@@ 1279,29 1284,29 @@ dependencies = [
[[package]]
name = "plotters-backend"
-version = "0.3.0"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b07fffcddc1cb3a1de753caa4e4df03b79922ba43cf882acc1bdd7e8df9f4590"
+checksum = "d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c"
[[package]]
name = "plotters-svg"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b38a02e23bd9604b842a812063aec4ef702b57989c37b655254bb61c471ad211"
+checksum = "521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9"
dependencies = [
"plotters-backend",
]
[[package]]
name = "polling"
-version = "2.0.3"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fc12d774e799ee9ebae13f4076ca003b40d18a11ac0f3641e6f899618580b7b"
+checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25"
dependencies = [
"cfg-if",
"libc",
"log",
- "wepoll-sys",
+ "wepoll-ffi",
"winapi",
]
@@ 1313,9 1318,9 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
[[package]]
name = "proc-macro2"
-version = "1.0.26"
+version = "1.0.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
+checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
dependencies = [
"unicode-xid",
]
@@ 1331,7 1336,7 @@ dependencies = [
"byteorder",
"lazy_static",
"num-traits",
- "quick-error 2.0.0",
+ "quick-error 2.0.1",
"rand",
"rand_chacha",
"rand_xorshift",
@@ 1342,18 1347,18 @@ dependencies = [
[[package]]
name = "ptr_meta"
-version = "0.1.2"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6de4703776ff261fe3cbf05c8781f129b284e57ee35a785fe6c92b1dcf93a612"
+checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
dependencies = [
"ptr_meta_derive",
]
[[package]]
name = "ptr_meta_derive"
-version = "0.1.2"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53005b9863728f508d3f23ae37e03d60986a01b65f7ae8397dcebaa1d5e54e10"
+checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
dependencies = [
"proc-macro2",
"quote",
@@ 1368,9 1373,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
[[package]]
name = "quick-error"
-version = "2.0.0"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ac73b1112776fc109b2e61909bc46c7e1bf0d7f690ffb1676553acce16d5cda"
+checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
[[package]]
name = "quote"
@@ 1383,9 1388,9 @@ dependencies = [
[[package]]
name = "rand"
-version = "0.8.3"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
+checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
dependencies = [
"libc",
"rand_chacha",
@@ 1395,9 1400,9 @@ dependencies = [
[[package]]
name = "rand_chacha"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
"rand_core",
@@ 1405,18 1410,18 @@ dependencies = [
[[package]]
name = "rand_core"
-version = "0.6.2"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
+checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
dependencies = [
"getrandom",
]
[[package]]
name = "rand_hc"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
+checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
dependencies = [
"rand_core",
]
@@ 1432,9 1437,9 @@ dependencies = [
[[package]]
name = "rayon"
-version = "1.5.0"
+version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674"
+checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90"
dependencies = [
"autocfg",
"crossbeam-deque",
@@ 1444,9 1449,9 @@ dependencies = [
[[package]]
name = "rayon-core"
-version = "1.9.0"
+version = "1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a"
+checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e"
dependencies = [
"crossbeam-channel",
"crossbeam-deque",
@@ 1457,9 1462,9 @@ dependencies = [
[[package]]
name = "redis"
-version = "0.20.0"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eeb8f8d059ead7805e171fc22de8348a3d611c0f985aaa4f5cf6c0dfc7645407"
+checksum = "3bbc1838d8d0b423f325d6fac80c5f19109c7d16c8c37c584893dc17cf71c63d"
dependencies = [
"async-trait",
"combine",
@@ 1472,37 1477,36 @@ dependencies = [
[[package]]
name = "redox_syscall"
-version = "0.2.5"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
+checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee"
dependencies = [
"bitflags",
]
[[package]]
name = "regex"
-version = "1.4.5"
+version = "1.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19"
+checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
dependencies = [
"regex-syntax",
]
[[package]]
name = "regex-automata"
-version = "0.1.9"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
dependencies = [
- "byteorder",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
-version = "0.6.23"
+version = "0.6.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
+checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
[[package]]
name = "remove_dir_all"
@@ 1514,6 1518,15 @@ dependencies = [
]
[[package]]
+name = "rend"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90b1d060a116ee1cf2522965825bed81136d04df7c731e211cd46dbd1107eab1"
+dependencies = [
+ "bytecheck",
+]
+
+[[package]]
name = "retainer"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 1542,22 1555,23 @@ dependencies = [
[[package]]
name = "rkyv"
-version = "0.5.1"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f181406deb3d7bd6c889cc40cee48ec95503dc96981a18979bda28c3f5f3fc6"
+checksum = "a5ff2771781b46ba9258c162626cbd77e7873d268130b765d96acda471668167"
dependencies = [
"bytecheck",
- "memoffset",
+ "hashbrown",
"ptr_meta",
+ "rend",
"rkyv_derive",
"seahash",
]
[[package]]
name = "rkyv_derive"
-version = "0.5.1"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8460ab714767ced2855344a673d49a7fddc5066fd0ee368ce40a6425c4d774f8"
+checksum = "3c3234a24ab92001174e8387816597008694cd842c33bfabf194414d4989677c"
dependencies = [
"proc-macro2",
"quote",
@@ 1566,24 1580,24 @@ dependencies = [
[[package]]
name = "rustc_version"
-version = "0.2.3"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
dependencies = [
"semver",
]
[[package]]
name = "rustls"
-version = "0.19.0"
+version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "064fd21ff87c6e87ed4506e68beb42459caa4a0e2eb144932e6776768556980b"
+checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7"
dependencies = [
"base64",
"log",
"ring",
"sct",
- "webpki",
+ "webpki 0.21.4",
]
[[package]]
@@ 1659,9 1673,9 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
[[package]]
name = "security-framework"
-version = "2.2.0"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3670b1d2fdf6084d192bc71ead7aabe6c06aa2ea3fbd9cc3ac111fa5c2b1bd84"
+checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467"
dependencies = [
"bitflags",
"core-foundation",
@@ 1672,9 1686,9 @@ dependencies = [
[[package]]
name = "security-framework-sys"
-version = "2.2.0"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3676258fd3cfe2c9a0ec99ce3038798d847ce3e4bb17746373eb9f0f1ac16339"
+checksum = "7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284"
dependencies = [
"core-foundation-sys",
"libc",
@@ 1682,24 1696,15 @@ dependencies = [
[[package]]
name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-dependencies = [
- "semver-parser",
-]
-
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+checksum = "5f3aac57ee7f3272d8395c6e4f502f434f0e289fcd62876f70daa008c20dcabe"
[[package]]
name = "serde"
-version = "1.0.125"
+version = "1.0.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171"
+checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
dependencies = [
"serde_derive",
]
@@ 1716,9 1721,9 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.125"
+version = "1.0.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d"
+checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"
dependencies = [
"proc-macro2",
"quote",
@@ 1744,13 1749,13 @@ checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
[[package]]
name = "sha2"
-version = "0.9.3"
+version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa827a14b29ab7f44778d14a88d3cb76e949c45083f7dbfa507d0cb699dc12de"
+checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12"
dependencies = [
"block-buffer",
"cfg-if",
- "cpuid-bool",
+ "cpufeatures",
"digest",
"opaque-debug",
]
@@ 1766,9 1771,9 @@ dependencies = [
[[package]]
name = "signal-hook"
-version = "0.3.8"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef33d6d0cd06e0840fba9985aab098c147e67e05cee14d412d3345ed14ff30ac"
+checksum = "470c5a6397076fae0094aaf06a08e6ba6f37acb77d3b1b91ea92b4d6c8650c39"
dependencies = [
"libc",
"signal-hook-registry",
@@ 1776,18 1781,18 @@ dependencies = [
[[package]]
name = "signal-hook-registry"
-version = "1.3.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6"
+checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
dependencies = [
"libc",
]
[[package]]
name = "slab"
-version = "0.4.2"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527"
[[package]]
name = "smallvec"
@@ 1831,9 1836,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
name = "syn"
-version = "1.0.69"
+version = "1.0.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48fe99c6bd8b1cc636890bcc071842de909d902c81ac7dab53ba33c421ab8ffb"
+checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
dependencies = [
"proc-macro2",
"quote",
@@ 1894,9 1899,9 @@ dependencies = [
[[package]]
name = "tinyvec"
-version = "1.2.0"
+version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342"
+checksum = "4ac2e1d4bd0f75279cfd5a076e0d578bbf02c22b7c39e766c437dd49b3ec43e0"
dependencies = [
"tinyvec_macros",
]
@@ 1909,9 1914,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "tokio"
-version = "1.4.0"
+version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134af885d758d645f0f0505c9a8b3f9bf8a348fd822e112ab5248138348f1722"
+checksum = "c2602b8af3767c285202012822834005f596c811042315fa7e9f5b12b2a43207"
dependencies = [
"autocfg",
"bytes",
@@ 1919,13 1924,14 @@ dependencies = [
"memchr",
"mio",
"pin-project-lite",
+ "winapi",
]
[[package]]
name = "tokio-util"
-version = "0.6.5"
+version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5143d049e85af7fbc36f5454d990e62c2df705b3589f123b71f441b6b59f443f"
+checksum = "1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592"
dependencies = [
"bytes",
"futures-core",
@@ 1952,9 1958,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
[[package]]
name = "tracing"
-version = "0.1.25"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f"
+checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d"
dependencies = [
"cfg-if",
"pin-project-lite",
@@ 1975,9 1981,9 @@ dependencies = [
[[package]]
name = "tracing-core"
-version = "0.1.17"
+version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f"
+checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052"
dependencies = [
"lazy_static",
]
@@ 2015,9 2021,9 @@ dependencies = [
[[package]]
name = "tracing-subscriber"
-version = "0.2.17"
+version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "705096c6f83bf68ea5d357a6aa01829ddbdac531b357b45abeca842938085baa"
+checksum = "ab69019741fca4d98be3c62d2b75254528b5432233fd8a4d2739fec20278de48"
dependencies = [
"ansi_term",
"chrono",
@@ 2058,9 2064,9 @@ dependencies = [
[[package]]
name = "unicode-normalization"
-version = "0.1.17"
+version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
+checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
dependencies = [
"tinyvec",
]
@@ 2073,9 2079,9 @@ checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
[[package]]
name = "unicode-xid"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
[[package]]
name = "untrusted"
@@ 2085,9 2091,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
[[package]]
name = "url"
-version = "2.2.1"
+version = "2.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b"
+checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
dependencies = [
"form_urlencoded",
"idna",
@@ 2097,20 2103,15 @@ dependencies = [
[[package]]
name = "value-bag"
-version = "1.0.0-alpha.6"
+version = "1.0.0-alpha.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b676010e055c99033117c2343b33a40a30b91fecd6c49055ac9cd2d6c305ab1"
+checksum = "dd320e1520f94261153e96f7534476ad869c14022aee1e59af7c778075d840ae"
dependencies = [
"ctor",
+ "version_check",
]
[[package]]
-name = "vec-arena"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34b2f665b594b07095e3ac3f718e13c2197143416fae4c5706cffb7b1af8d7f1"
-
-[[package]]
name = "version_check"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 2160,9 2161,9 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
[[package]]
name = "wasm-bindgen"
-version = "0.2.73"
+version = "0.2.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83240549659d187488f91f33c0f8547cbfef0b2088bc470c116d1d260ef623d9"
+checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ 2170,9 2171,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.73"
+version = "0.2.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae70622411ca953215ca6d06d3ebeb1e915f0f6613e3b495122878d7ebec7dae"
+checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900"
dependencies = [
"bumpalo",
"lazy_static",
@@ 2185,9 2186,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.23"
+version = "0.4.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81b8b767af23de6ac18bf2168b690bed2902743ddf0fb39252e36f9e2bfc63ea"
+checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1"
dependencies = [
"cfg-if",
"js-sys",
@@ 2197,9 2198,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.73"
+version = "0.2.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e734d91443f177bfdb41969de821e15c516931c3c3db3d318fa1b68975d0f6f"
+checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ 2207,9 2208,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.73"
+version = "0.2.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c"
+checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97"
dependencies = [
"proc-macro2",
"quote",
@@ 2220,15 2221,15 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.73"
+version = "0.2.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9a543ae66aa233d14bb765ed9af4a33e81b8b58d1584cf1b47ff8cd0b9e4489"
+checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"
[[package]]
name = "web-sys"
-version = "0.3.50"
+version = "0.3.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a905d57e488fec8861446d3393670fb50d27a262344013181c2cdf9fff5481be"
+checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ 2245,10 2246,20 @@ dependencies = [
]
[[package]]
-name = "wepoll-sys"
-version = "3.0.1"
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "wepoll-ffi"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fcb14dea929042224824779fbc82d9fab8d2e6d3cbc0ac404de8edf489e77ff"
+checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb"
dependencies = [
"cc",
]
@@ 2286,18 2297,18 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "zstd"
-version = "0.7.0+zstd.1.4.9"
+version = "0.9.0+zstd.1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9428752481d8372e15b1bf779ea518a179ad6c771cca2d2c60e4fbff3cc2cd52"
+checksum = "07749a5dc2cb6b36661290245e350f15ec3bbb304e493db54a1d354480522ccd"
dependencies = [
"zstd-safe",
]
[[package]]
name = "zstd-safe"
-version = "3.1.0+zstd.1.4.9"
+version = "4.1.1+zstd.1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa1926623ad7fe406e090555387daf73db555b948134b4d73eac5eb08fb666d"
+checksum = "c91c90f2c593b003603e5e0493c837088df4469da25aafff8bce42ba48caf079"
dependencies = [
"libc",
"zstd-sys",
@@ 2305,9 2316,9 @@ dependencies = [
[[package]]
name = "zstd-sys"
-version = "1.5.0+zstd.1.4.9"
+version = "1.6.1+zstd.1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e6c094340240369025fc6b731b054ee2a834328fa584310ac96aa4baebdc465"
+checksum = "615120c7a2431d16cf1cf979e7fc31ba7a5b5e5707b29c8a99e5dbf8a8392a33"
dependencies = [
"cc",
"libc",
M Cargo.toml => Cargo.toml +10 -11
@@ 22,25 22,24 @@ async-net = "1.5"
async-rustls = "0.2"
async-trait = "0.1"
async-io = "1.3"
-bytecheck = "0.4"
+bytecheck = "0.6"
byteorder = "1.3"
bytes = "1.0"
-ct-logs = "0.8"
chrono = "0.4"
flate2 = "1.0"
futures-lite = "1.11"
-git-testament = "0.1"
+git-testament = "0.2"
http = "0.2.1"
hyper = { version = "0.14", default-features = false, features = ["client", "http1", "http2", "stream", "tcp"] }
lazy_static = "1.4"
libc = "0.2"
-nix = "0.20"
-packed_struct = "0.5"
-packed_struct_codegen = "0.5"
+nix = "0.22"
+packed_struct = "0.6"
+packed_struct_codegen = "0.6"
rand = "0.8"
-redis = { version = "0.20", default-features = false, features = ["script"] } # disable redis async
+redis = { version = "0.21", default-features = false, features = ["script"] } # disable redis async
retainer = "0.2"
-rkyv = { version = "0.5.1", features = ["validation"] }
+rkyv = { version = "0.7.3", features = ["validation"] }
rustls = "0.19"
rustls-native-certs = "0.5"
scopeguard = "1.1"
@@ 54,13 53,13 @@ tracing = "0.1"
tracing-attributes = "0.1"
tracing-futures = "0.2"
tracing-subscriber = "0.2"
-webpki = "0.21"
-zstd = "0.7"
+webpki = "0.22"
+zstd = "0.9"
[dev-dependencies]
criterion = { version = "0.3", features = ["html_reports"] } # for benchmarks
csv = "1.1" # for examples/update_specs
-futures-delay-queue = "0.4" # for benchmarks
+futures-delay-queue = "0.5" # for benchmarks
proptest = "1.0" # for property tests
tempfile = "3" # for benchmarks
M examples/update_specs.rs => examples/update_specs.rs +1 -1
@@ 133,7 133,7 @@ fn generate_enums_rs(
enumsfile.write(format!("#[repr({})]\n", section.DataType).as_bytes())?;
enumsfile.write(b"#[derive(Archive, Deserialize, Serialize, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]\n")?;
- enumsfile.write(b"#[archive(derive(CheckBytes))]\n")?;
+ enumsfile.write(b"#[archive_attr(derive(CheckBytes))]\n")?;
enumsfile.write(format!("pub enum {} {{\n", section.EnumName).as_bytes())?;
for entry in &entries {
if entry.doc {
M src/cache/redis.rs => src/cache/redis.rs +24 -10
@@ 6,8 6,8 @@ use async_trait::async_trait;
use bytes::BytesMut;
use lazy_static::lazy_static;
use redis::{self, IntoConnectionInfo};
-use rkyv::{Deserialize, Fallible, de::deserializers::AllocDeserializer};
-use rkyv::ser::Serializer;
+use rkyv::{Deserialize, Fallible, Infallible};
+use rkyv::ser::{ScratchSpace, Serializer};
use tracing::{debug, info, trace, warn};
use crate::cache::DnsCache;
@@ 24,6 24,7 @@ lazy_static! {
pub struct Cache {
redis_conn: redis::Connection,
store_buf: BytesMut,
+ scratch_buf: BytesMut,
}
impl Cache {
@@ 46,6 47,7 @@ impl Cache {
redis_conn,
// Set up a reasonable allocation - will expand automatically if needed.
store_buf: BytesMut::with_capacity(1024),
+ scratch_buf: BytesMut::with_capacity(1024),
})
}
@@ 93,8 95,7 @@ impl DnsCache for Cache {
Ok(None)
},
Ok(archived) => {
- let mut deserializer = AllocDeserializer;
- let mut redis_response = archived.deserialize(&mut deserializer)?;
+ let mut redis_response = archived.deserialize(&mut Infallible)?;
debug!("Cached response for cache_key='{}': (ttl={:?}, bytes={:?}) {}", cache_key, redis_ttl, bytes.len(), redis_response);
if let Err(e) = message::update_cached_response(&mut redis_response, &request_info, redis_ttl) {
@@ 152,7 153,7 @@ impl DnsCache for Cache {
Some(response_min_ttl_secs) => {
// Serialize message data
{
- let mut serializer = BytesMutSerializer::new(&mut self.store_buf);
+ let mut serializer = BytesMutSerializer::new(&mut self.store_buf, &mut self.scratch_buf);
serializer.serialize_value(&response)?;
}
@@ 186,12 187,13 @@ impl DnsCache for Cache {
/// Custom rkyv serializer type for interating with BytesMut
struct BytesMutSerializer<'a> {
- inner: &'a mut BytesMut,
+ store: &'a mut BytesMut,
+ scratch: rkyv::ser::serializers::BufferScratch<&'a mut BytesMut>,
}
impl <'a> BytesMutSerializer<'a> {
- pub fn new(inner: &'a mut BytesMut) -> Self {
- Self { inner }
+ pub fn new(store: &'a mut BytesMut, scratch: &'a mut BytesMut) -> Self {
+ Self { store, scratch: rkyv::ser::serializers::BufferScratch::new(scratch) }
}
}
@@ 201,11 203,23 @@ impl <'a> Fallible for BytesMutSerializer<'a> {
impl <'a> Serializer for BytesMutSerializer<'a> {
fn pos(&self) -> usize {
- self.inner.len()
+ self.store.len()
}
fn write(&mut self, bytes: &[u8]) -> Result<(), Self::Error> {
- self.inner.extend_from_slice(bytes);
+ self.store.extend_from_slice(bytes);
Ok(())
}
}
+
+impl <'a> ScratchSpace for BytesMutSerializer<'a> {
+ unsafe fn push_scratch(&mut self, layout: core::alloc::Layout) -> Result<core::ptr::NonNull<[u8]>, Self::Error> {
+ self.scratch.push_scratch(layout)
+ .map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidData, e))
+ }
+
+ unsafe fn pop_scratch(&mut self, ptr: core::ptr::NonNull<u8>, layout: core::alloc::Layout) -> Result<(), Self::Error> {
+ self.scratch.pop_scratch(ptr, layout)
+ .map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidData, e))
+ }
+}
M src/hyper_smol.rs => src/hyper_smol.rs +9 -4
@@ 6,7 6,7 @@ use std::task::{Context, Poll};
use anyhow::{anyhow, bail, Context as _, Error, Result};
use async_lock::{Barrier, Mutex};
-use async_rustls::TlsStream;
+use async_rustls::{TlsStream, webpki::DNSNameRef};
use http::Uri;
use hyper::{Body, Client};
use smol::{io, prelude::*, Async, Task};
@@ 255,11 255,16 @@ impl hyper::service::Service<Uri> for SmolConnector {
return Err(e).context("Failed to load native TLS cert store");
}
}
- client_config.ct_logs = Some(&ct_logs::LOGS);
+ // Disabled for now: Was previously using ct-logs package, but bizarre API mismatches broke it.
+ client_config.ct_logs = None;
let connector =
async_rustls::TlsConnector::from(Arc::new(client_config));
- if let Ok(dns_name) = webpki::DNSNameRef::try_from_ascii_str(host) {
- let stream = connector.connect(dns_name, stream).await?;
+ if let Ok(dns_name) = webpki::DnsNameRef::try_from_ascii_str(host) {
+ // Convert new webpki::DnsNameRef (webpki 0.22) to old webpki::DNSNameRef (webpki 0.21) used by async-rustls
+ // See also https://github.com/smol-rs/async-rustls/blob/master/Cargo.toml
+ let dns_name_old: DNSNameRef = DNSNameRef::try_from_ascii(dns_name.as_ref())
+ .expect("Converting new DnsNameRef to old DNSNameRef failed");
+ let stream = connector.connect(dns_name_old, stream).await?;
Ok(SmolStream::Tls(async_rustls::TlsStream::Client(stream)))
} else {
// Uh-oh, looks like we're trying to connect to an IP. Explain the issue with the underlying library and how to work around it.
M src/specs/enums_generated.rs => src/specs/enums_generated.rs +5 -5
@@ 3,7 3,7 @@ use rkyv::{Archive, Deserialize, Serialize};
use bytecheck::CheckBytes;
#[repr(u16)]
#[derive(Archive, Deserialize, Serialize, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub enum ResourceClass {
/// Reserved [RFC6895]
@@ 54,7 54,7 @@ pub fn resourceclass_int(i: usize) -> Option<ResourceClass> {
}
#[repr(u16)]
#[derive(Archive, Deserialize, Serialize, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub enum ResourceType {
/// [RFC6895]
@@ 447,7 447,7 @@ pub fn resourcetype_int(i: usize) -> Option<ResourceType> {
}
#[repr(u8)]
#[derive(Archive, Deserialize, Serialize, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub enum OpCode {
/// Query [RFC1035]
@@ 488,7 488,7 @@ pub fn opcode_int(i: usize) -> Option<OpCode> {
}
#[repr(u16)]
#[derive(Archive, Deserialize, Serialize, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub enum ResponseCode {
/// NoError: No Error [RFC1035]
@@ 597,7 597,7 @@ pub fn responsecode_int(i: usize) -> Option<ResponseCode> {
}
#[repr(u16)]
#[derive(Archive, Deserialize, Serialize, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub enum OPTOptionCode {
/// Reserved [RFC6891]
M src/specs/message.rs => src/specs/message.rs +8 -8
@@ 12,7 12,7 @@ use std::net::{Ipv4Addr, Ipv6Addr};
/// A DNS message, either a request or a response.
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct Message {
pub header: Header,
@@ 51,7 51,7 @@ impl fmt::Display for Message {
/// Wrapper for an enum that can fall back to being an int.
#[derive(Archive, Deserialize, Serialize, Debug, Clone, Copy, PartialEq)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub enum IntEnum<T, E> {
Enum(E),
Unknown(T),
@@ 76,7 76,7 @@ pub enum IntEnum<T, E> {
// | ARCOUNT |
// +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct Header {
/// Random request ID, 16 bits
pub id: u16,
@@ 141,7 141,7 @@ impl fmt::Display for Header {
/// OPT rdata, serialized as an Additional Resource but represented here as root-level header data to simplify processing.
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct OPT {
/// EDNS(0) header values from [RFC6891]:
@@ 186,7 186,7 @@ impl fmt::Display for OPT {
/// An Option entry from OPT rdata.
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct OPTOption {
/// Assigned by the Expert Review process as defined by the DNSEXT
/// working group and the IESG.
@@ 209,7 209,7 @@ pub struct OPTOption {
// | QCLASS |
// +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct Question {
/// DNS name that this question is referring to, variable length
pub name: String,
@@ 260,7 260,7 @@ impl fmt::Display for Question {
// / /
// +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct Resource {
/// DNS name that this resource is referring to, variable length
pub name: String,
@@ 302,7 302,7 @@ impl fmt::Display for Resource {
/// If the Resource type is supported, the data is parsed into a message.
/// Otherwise it is provided in its original byte form via raw_data.
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub enum ResourceData {
/// If the resource type is unsupported, it's passed through in raw form.
RawData(Vec<u8>),
M src/specs/rdata.rs => src/specs/rdata.rs +40 -40
@@ 2,7 2,7 @@ use bytecheck::CheckBytes;
use rkyv::{Archive, Serialize, Deserialize};
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct A {
/// The first segment of an IPv4 address
pub address1: u8,
@@ 15,7 15,7 @@ pub struct A {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct NS {
/// A <domain-name> which specifies a host which should be
/// authoritative for the specified class and domain.
@@ 23,7 23,7 @@ pub struct NS {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct CNAME {
/// A <domain-name> which specifies the canonical or primary
/// name for the owner. The owner name is an alias.
@@ 31,7 31,7 @@ pub struct CNAME {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct SOA {
/// The <domain-name> of the name server that was the
/// original or primary source of data for this zone.
@@ 66,7 66,7 @@ pub struct SOA {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct PTR {
/// A <domain-name> which points to some location in the
/// domain name space.
@@ 74,7 74,7 @@ pub struct PTR {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct HINFO {
/// A <character-string> which specifies the CPU type.
pub cpu: Vec<u8>,
@@ 85,7 85,7 @@ pub struct HINFO {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct MX {
/// A 16 bit integer which specifies the preference given to
/// this RR among others at the same owner. Lower values
@@ 98,21 98,21 @@ pub struct MX {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct TXT {
/// One or more <character-string>s.
pub entries: Vec<TXTEntry>,
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct TXTEntry {
/// A <character-string>.
pub data: Vec<u8>,
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct RP {
/// The first field, <mbox-dname>, is a domain name that specifies the
/// mailbox for the responsible person. Its format in master files uses
@@ 133,7 133,7 @@ pub struct RP {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct AFSDB {
/// The <subtype> field is a 16 bit integer.
pub subtype: u16,
@@ 144,7 144,7 @@ pub struct AFSDB {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct SIG {
/// The type of the other RRs covered by this SIG.
pub type_covered: u16,
@@ 180,7 180,7 @@ pub struct SIG {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct KEY {
/// Flags for key type and what key should be used for.
pub flags: u16, // 12 bit
@@ 196,7 196,7 @@ pub struct KEY {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct AAAA {
/// The first segment of an IPv6 address
pub address1: u16,
@@ 217,7 217,7 @@ pub struct AAAA {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct LOC {
/// Version number of the representation. This must be zero.
pub version: u8,
@@ 257,7 257,7 @@ pub struct LOC {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct SRV {
/// The priority of this target host. A client MUST attempt to
/// contact the target host with the lowest-numbered priority it can
@@ 281,7 281,7 @@ pub struct SRV {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct NAPTR {
/// A 16-bit unsigned integer specifying the order in which the NAPTR
/// records MUST be processed in order to accurately represent the
@@ 312,7 312,7 @@ pub struct NAPTR {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct KX {
/// Specifies the preference given to this RR among other KX records
/// at the same owner. Lower values are preferred.
@@ 324,7 324,7 @@ pub struct KX {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct CERT {
/// The type field is the certificate type as defined in RFC4398 2.1
pub type_: u16,
@@ 341,7 341,7 @@ pub struct CERT {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct DNAME {
/// Alias for a name and all its subnames, similar to CNAME which is
/// exact match only.
@@ 352,14 352,14 @@ pub struct DNAME {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct APL {
/// May have zero or more items
pub item: Vec<APLItem>,
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct APLItem {
/// 1 for IPv4, 2 for IPv6
pub address_family: u16,
@@ 376,7 376,7 @@ pub struct APLItem {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct DS {
/// The Key Tag field lists the key tag of the DNSKEY RR referred to by
/// the DS record, in network byte order.
@@ 397,7 397,7 @@ pub struct DS {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct SSHFP {
/// The algorithm of the public key, 0=reserved, 1=rsa, 2=dss
pub algorithm: u8,
@@ 411,7 411,7 @@ pub struct SSHFP {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct IPSECKEY {
/// Gateways listed in IPSECKEY records with lower precedence are to be
/// attempted first. Where there is a tie in precedence, the order
@@ 435,7 435,7 @@ pub struct IPSECKEY {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct RRSIG {
/// The Type Covered field identifies the type of the RRset that is
/// covered by this RRSIG record.
@@ 474,7 474,7 @@ pub struct RRSIG {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct NSEC {
/// The Next Domain field contains the next owner name (in the canonical
/// ordering of the zone) that has authoritative data or contains a
@@ 489,7 489,7 @@ pub struct NSEC {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct DNSKEY {
/// Bit 7 of the Flags field is the Zone Key flag: 1 = zone, 0 = other
/// Bit 15 of the Flags field is the Secure Entry Point flag, described
@@ 508,14 508,14 @@ pub struct DNSKEY {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct DHCID {
/// Opaque DHCP data, to be interpreted by DHCP clients and servers
pub dhcp_data: Vec<u8>,
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct NSEC3 {
/// The Hash Algorithm field identifies the cryptographic hash algorithm
/// used to construct the hash-value.
@@ 544,7 544,7 @@ pub struct NSEC3 {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct NSEC3PARAM {
/// The Hash Algorithm field identifies the cryptographic hash algorithm
/// used to construct the hash-value.
@@ 565,7 565,7 @@ pub struct NSEC3PARAM {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct TLSA {
/// Specifies the provided association that will be used to match the
/// certificate presented in the TLS handshake.
@@ 583,7 583,7 @@ pub struct TLSA {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct SMIMEA {
/// The SMIMEA wire format and presentation format are the same as for
/// the TLSA record as described in Section 2.1 of [RFC6698].
@@ 604,7 604,7 @@ pub struct SMIMEA {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct HIP {
/// The PK cryptographic algorithm and the implied Public Key field format.
pub public_key_algorithm: u8,
@@ 621,7 621,7 @@ pub struct HIP {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct OPENPGPKEY {
/// The RDATA portion of an OPENPGPKEY resource record contains a single
/// value consisting of a Transferable Public Key formatted as specified
@@ 630,7 630,7 @@ pub struct OPENPGPKEY {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct CSYNC {
/// A copy of the 32-bit SOA serial number from the child zone.
pub soa_serial: u32,
@@ 643,7 643,7 @@ pub struct CSYNC {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct TKEY {
/// The algorithm name is in the form of a domain name with the same
/// meaning as in [RFC 2845].
@@ 670,7 670,7 @@ pub struct TKEY {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct TSIG {
/// Name of the algorithm in domain name syntax.
pub algorithm_name: String,
@@ 689,7 689,7 @@ pub struct TSIG {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct URI {
/// A client MUST attempt to contact the URI with the lowest-numbered
/// priority it can reach, URIs with the same priority SHOULD be
@@ 707,7 707,7 @@ pub struct URI {
}
#[derive(Archive, Deserialize, Serialize, Clone)]
-#[archive(derive(CheckBytes))]
+#[archive_attr(derive(CheckBytes))]
pub struct CAA {
/// Issuer critical flag at bit 0, all others reserved for future use.
pub flags: u8,