diff --git a/Cargo.lock b/Cargo.lock index e25cfc5f..b8e05ca5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -187,9 +187,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.82" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", @@ -383,9 +383,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.1" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" dependencies = [ "serde", ] @@ -783,7 +783,7 @@ dependencies = [ "chrono", "common", "dpd-client", - "dropshot", + "dropshot 0.12.0", "hostname 0.3.1", "http-body-util", "hyper 1.4.1", @@ -798,6 +798,7 @@ dependencies = [ "oximeter-producer", "oxnet", "pretty_assertions", + "reqwest 0.12.7", "schemars", "serde", "serde_json", @@ -816,8 +817,8 @@ version = "0.1.0" dependencies = [ "oxnet", "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.8.0", + "reqwest 0.12.7", "serde", "serde_json", "slog", @@ -830,8 +831,8 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/maghemite?rev=2bfd39000c878c45675651a7588c015c486e7f43#2bfd39000c878c45675651a7588c015c486e7f43" dependencies = [ "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.7.0", + "reqwest 0.11.27", "serde", "serde_json", "slog", @@ -1011,8 +1012,8 @@ dependencies = [ "expectorate", "http 0.2.12", "omicron-workspace-hack", - "progenitor", - "reqwest", + "progenitor 0.7.0", + "reqwest 0.11.27", "schemars", "serde", "slog", @@ -1044,9 +1045,9 @@ dependencies = [ "futures", "http 0.2.12", "oxnet", - "progenitor", + "progenitor 0.7.0", "regress 0.9.1", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -1067,7 +1068,7 @@ dependencies = [ "camino", "chrono", "debug-ignore", - "dropshot_endpoint", + "dropshot_endpoint 0.11.1-dev", "form_urlencoded", "futures", "hostname 0.4.0", @@ -1101,6 +1102,55 @@ dependencies = [ "waitgroup", ] +[[package]] +name = "dropshot" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab804b8d4ab58d96e1e19c8ef87e1747a70d2819e92b659d6fe8d5ac5ac44d50" +dependencies = [ + "async-stream", + "async-trait", + "base64 0.22.1", + "bytes", + "camino", + "chrono", + "debug-ignore", + "dropshot_endpoint 0.12.0", + "form_urlencoded", + "futures", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "indexmap 2.5.0", + "multer", + "openapiv3", + "paste", + "percent-encoding", + "rustls 0.22.4", + "rustls-pemfile 2.1.3", + "schemars", + "scopeguard", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sha1", + "slog", + "slog-async", + "slog-bunyan", + "slog-json", + "slog-term", + "tokio", + "tokio-rustls 0.25.0", + "toml 0.8.19", + "usdt", + "uuid", + "version_check", + "waitgroup", +] + [[package]] name = "dropshot_endpoint" version = "0.11.1-dev" @@ -1114,6 +1164,20 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "dropshot_endpoint" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "796be76b11b79de0decd7be2105add01220f8bbe04cf1f83214c0b801414a722" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "serde", + "serde_tokenstream", + "syn 2.0.77", +] + [[package]] name = "dtrace-parser" version = "0.2.0" @@ -1417,9 +1481,9 @@ dependencies = [ "chrono", "gateway-messages", "omicron-workspace-hack", - "progenitor", + "progenitor 0.7.0", "rand", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -1832,6 +1896,24 @@ dependencies = [ "tokio-rustls 0.24.1", ] +[[package]] +name = "hyper-rustls" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.4.1", + "hyper-util", + "rustls 0.23.12", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tower-service", + "webpki-roots 0.26.5", +] + [[package]] name = "hyper-tls" version = "0.5.0" @@ -1845,11 +1927,27 @@ dependencies = [ "tokio-native-tls", ] +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + [[package]] name = "hyper-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" dependencies = [ "bytes", "futures-channel", @@ -1860,7 +1958,6 @@ dependencies = [ "pin-project-lite", "socket2", "tokio", - "tower", "tower-service", "tracing", ] @@ -2017,7 +2114,7 @@ dependencies = [ "omicron-common", "omicron-uuid-kinds", "omicron-workspace-hack", - "reqwest", + "reqwest 0.11.27", "slog", "thiserror", "uuid", @@ -2180,7 +2277,7 @@ dependencies = [ "propolis-server-config", "rand", "regex", - "reqwest", + "reqwest 0.11.27", "ron", "serde", "slog", @@ -2370,8 +2467,8 @@ dependencies = [ "anyhow", "chrono", "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.8.0", + "reqwest 0.12.7", "schemars", "serde", "serde_json", @@ -2386,8 +2483,8 @@ dependencies = [ "anyhow", "chrono", "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.7.0", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -2422,7 +2519,7 @@ name = "mg-ddm-verify" version = "0.1.0" dependencies = [ "anyhow", - "reqwest", + "reqwest 0.12.7", "serde", "serde_json", "tokio", @@ -2436,11 +2533,12 @@ dependencies = [ "common", "ddm-admin-client 0.1.0", "dpd-client", - "http 0.2.12", + "http 1.1.0", "libnet 0.1.0 (git+https://github.com/oxidecomputer/netadm-sys?branch=main)", "mg-common", "oxnet", "rdb", + "reqwest 0.11.27", "slog", "thiserror", "tokio", @@ -2507,9 +2605,9 @@ dependencies = [ "chrono", "clap", "colored", - "dropshot", + "dropshot 0.12.0", "hostname 0.3.1", - "http 0.2.12", + "http 1.1.0", "mg-common", "mg-lower", "omicron-common", @@ -2647,9 +2745,9 @@ dependencies = [ "omicron-uuid-kinds", "omicron-workspace-hack", "oxnet", - "progenitor", + "progenitor 0.7.0", "regress 0.9.1", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -2690,7 +2788,7 @@ dependencies = [ "derive-where", "derive_more", "dns-service-client", - "dropshot", + "dropshot 0.11.1-dev", "futures", "gateway-client", "http 0.2.12", @@ -2911,7 +3009,7 @@ dependencies = [ "backoff", "camino", "chrono", - "dropshot", + "dropshot 0.11.1-dev", "futures", "hex", "http 0.2.12", @@ -2923,11 +3021,11 @@ dependencies = [ "once_cell", "oxnet", "parse-display", - "progenitor", - "progenitor-client", + "progenitor 0.7.0", + "progenitor-client 0.7.0", "rand", "regress 0.9.1", - "reqwest", + "reqwest 0.11.27", "schemars", "semver 1.0.23", "serde", @@ -2989,7 +3087,7 @@ dependencies = [ "futures", "futures-util", "hex", - "reqwest", + "reqwest 0.11.27", "ring 0.16.20", "semver 1.0.23", "serde", @@ -3217,7 +3315,7 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "chrono", - "dropshot", + "dropshot 0.11.1-dev", "internal-dns", "nexus-client", "omicron-common", @@ -3478,26 +3576,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.77", -] - [[package]] name = "pin-project-lite" version = "0.2.14" @@ -3649,9 +3727,20 @@ name = "progenitor" version = "0.7.0" source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" dependencies = [ - "progenitor-client", - "progenitor-impl", - "progenitor-macro", + "progenitor-client 0.7.0", + "progenitor-impl 0.7.0", + "progenitor-macro 0.7.0", +] + +[[package]] +name = "progenitor" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "293df5b79211fbf0c1ebad6513ba451d267e9c15f5f19ee5d3da775e2dd27331" +dependencies = [ + "progenitor-client 0.8.0", + "progenitor-impl 0.8.0", + "progenitor-macro 0.8.0", ] [[package]] @@ -3662,7 +3751,22 @@ dependencies = [ "bytes", "futures-core", "percent-encoding", - "reqwest", + "reqwest 0.11.27", + "serde", + "serde_json", + "serde_urlencoded", +] + +[[package]] +name = "progenitor-client" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a5db54eac3cae7007a0785854bc3e89fd418cca7dfc2207b99b43979154c1b" +dependencies = [ + "bytes", + "futures-core", + "percent-encoding", + "reqwest 0.12.7", "serde", "serde_json", "serde_urlencoded", @@ -3685,7 +3789,29 @@ dependencies = [ "serde_json", "syn 2.0.77", "thiserror", - "typify", + "typify 0.1.0", + "unicode-ident", +] + +[[package]] +name = "progenitor-impl" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d85934a440963a69f9f04f48507ff6e7aa2952a5b2d8f96cc37fa3dd5c270f66" +dependencies = [ + "heck 0.5.0", + "http 1.1.0", + "indexmap 2.5.0", + "openapiv3", + "proc-macro2", + "quote", + "regex", + "schemars", + "serde", + "serde_json", + "syn 2.0.77", + "thiserror", + "typify 0.2.0", "unicode-ident", ] @@ -3696,7 +3822,25 @@ source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7 dependencies = [ "openapiv3", "proc-macro2", - "progenitor-impl", + "progenitor-impl 0.7.0", + "quote", + "schemars", + "serde", + "serde_json", + "serde_tokenstream", + "serde_yaml", + "syn 2.0.77", +] + +[[package]] +name = "progenitor-macro" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d99a5a259e2d65a4933054aa51717c70b6aba0522695731ac354a522124efc9b" +dependencies = [ + "openapiv3", + "proc-macro2", + "progenitor-impl 0.8.0", "quote", "schemars", "serde", @@ -3714,9 +3858,9 @@ dependencies = [ "async-trait", "base64 0.21.7", "futures", - "progenitor", + "progenitor 0.7.0", "rand", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -3745,6 +3889,54 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +[[package]] +name = "quinn" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls 0.23.12", + "socket2", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" +dependencies = [ + "bytes", + "rand", + "ring 0.17.8", + "rustc-hash", + "rustls 0.23.12", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-udp" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" +dependencies = [ + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + [[package]] name = "quote" version = "1.0.37" @@ -3890,9 +4082,9 @@ dependencies = [ [[package]] name = "regress" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16fe0a24af5daaae947294213d2fd2646fbf5e1fbacc1d4ba3e84b2393854842" +checksum = "1541daf4e4ed43a0922b7969bdc2170178bcacc5dabf7e39bc508a9fa3953a7a" dependencies = [ "hashbrown 0.14.5", "memchr", @@ -3913,8 +4105,8 @@ dependencies = [ "http 0.2.12", "http-body 0.4.6", "hyper 0.14.30", - "hyper-rustls", - "hyper-tls", + "hyper-rustls 0.24.2", + "hyper-tls 0.5.0", "ipnet", "js-sys", "log", @@ -3928,8 +4120,8 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", - "system-configuration", + "sync_wrapper 0.1.2", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tokio-rustls 0.24.1", @@ -3940,10 +4132,60 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots", + "webpki-roots 0.25.4", "winreg", ] +[[package]] +name = "reqwest" +version = "0.12.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" +dependencies = [ + "base64 0.22.1", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-rustls 0.27.3", + "hyper-tls 0.6.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls 0.23.12", + "rustls-pemfile 2.1.3", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "system-configuration 0.6.1", + "tokio", + "tokio-native-tls", + "tokio-rustls 0.26.0", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots 0.26.5", + "windows-registry", +] + [[package]] name = "resolv-conf" version = "0.7.0" @@ -4031,6 +4273,12 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "rustc_version" version = "0.1.7" @@ -4088,6 +4336,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls" +version = "0.23.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +dependencies = [ + "once_cell", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.7", + "subtle", + "zeroize", +] + [[package]] name = "rustls-pemfile" version = "1.0.4" @@ -4855,6 +5117,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -4863,7 +5134,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -4876,6 +5158,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tabwriter" version = "1.4.0" @@ -4947,18 +5239,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", @@ -5102,6 +5394,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.12", + "rustls-pki-types", + "tokio", +] + [[package]] name = "tokio-tungstenite" version = "0.21.0" @@ -5192,27 +5495,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d" -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-layer" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" - [[package]] name = "tower-service" version = "0.3.3" @@ -5286,8 +5568,18 @@ name = "typify" version = "0.1.0" source = "git+https://github.com/oxidecomputer/typify#aa84fe0a67133c6e4e2257fb175f82ef9a24e761" dependencies = [ - "typify-impl", - "typify-macro", + "typify-impl 0.1.0", + "typify-macro 0.1.0", +] + +[[package]] +name = "typify" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c644dda9862f0fef3a570d8ddb3c2cfb1d5ac824a1f2ddfa7bc8f071a5ad8a" +dependencies = [ + "typify-impl 0.2.0", + "typify-macro 0.2.0", ] [[package]] @@ -5299,7 +5591,27 @@ dependencies = [ "log", "proc-macro2", "quote", - "regress 0.10.0", + "regress 0.10.1", + "schemars", + "semver 1.0.23", + "serde", + "serde_json", + "syn 2.0.77", + "thiserror", + "unicode-ident", +] + +[[package]] +name = "typify-impl" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59ab345b6c0d8ae9500b9ff334a4c7c0d316c1c628dc55726b95887eb8dbd11" +dependencies = [ + "heck 0.5.0", + "log", + "proc-macro2", + "quote", + "regress 0.10.1", "schemars", "semver 1.0.23", "serde", @@ -5322,7 +5634,24 @@ dependencies = [ "serde_json", "serde_tokenstream", "syn 2.0.77", - "typify-impl", + "typify-impl 0.1.0", +] + +[[package]] +name = "typify-macro" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "785e2cdcef0df8160fdd762ed548a637aaec1e83704fdbc14da0df66013ee8d0" +dependencies = [ + "proc-macro2", + "quote", + "schemars", + "semver 1.0.23", + "serde", + "serde_json", + "serde_tokenstream", + "syn 2.0.77", + "typify-impl 0.2.0", ] [[package]] @@ -5339,9 +5668,9 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-normalization" @@ -5640,6 +5969,15 @@ version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +[[package]] +name = "webpki-roots" +version = "0.26.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd24728e5af82c6c4ec1b66ac4844bdf8156257fccda846ec58b42cd0cdbe6a" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "whoami" version = "1.5.1" @@ -5707,6 +6045,36 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" diff --git a/Cargo.toml b/Cargo.toml index b38bc8fd..b77cea6e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -50,19 +50,21 @@ ispf = { git = "https://github.com/oxidecomputer/ispf" } serde = { version = "1.0.210", features = ["derive"] } hostname = "0.3" thiserror = "1.0" -dropshot = { git = "https://github.com/oxidecomputer/dropshot", branch = "main" } +# dropshot = { git = "https://github.com/oxidecomputer/dropshot", branch = "main" } +# dropshot = { git = "https://github.com/seanmonstar/dropshot", branch = "hyper-v1-2.4-own-body", features = ["usdt-probes"] } +dropshot = { version = "0.12.0", features = ["usdt-probes"] } schemars = { version = "0.8", features = [ "uuid1", "chrono" ] } tokio = { version = "1.37", features = ["full"] } serde_repr = "0.1" anyhow = "1.0.88" hyper = "1.4.0" -http-body-util = "0.1" hyper-util = { version = "0.1", features = ["full"] } serde_json = "1.0.128" percent-encoding = "2.3.1" libnet = { git = "https://github.com/oxidecomputer/netadm-sys", branch = "main" } -reqwest = { version = "0.11", features = ["json", "stream", "rustls-tls"] } -progenitor = { git = "https://github.com/oxidecomputer/progenitor", branch = "main" } +reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls"] } +reqwest11 = { package = "reqwest", version = "0.11", features = ["json", "stream", "rustls-tls"] } +progenitor = "0.8.0" clap = { version = "4.5.17", features = ["derive", "unstable-styles", "env"] } tabwriter = { version = "1", features = ["ansi_formatting"] } colored = "2.1" @@ -76,7 +78,8 @@ pretty_assertions = "1.4" lazy_static = "1.4" sled = "0.34" ciborium = "0.2.2" -http = "0.2.12" +http = "1.0.0" +http-body-util = "0.1" humantime = "2.1" rand = "0.8.5" backoff = "0.4" @@ -84,7 +87,7 @@ mg-common = { path = "mg-common" } chrono = { version = "0.4.38", features = ["serde"] } oximeter = { git = "https://github.com/oxidecomputer/omicron", branch = "main"} oximeter-producer = { git = "https://github.com/oxidecomputer/omicron", branch = "main"} -oxnet = { git = "https://github.com/oxidecomputer/oxnet", rev = "7dacd265f1bcd0f8b47bd4805250c4f0812da206" } +oxnet = { git = "https://github.com/oxidecomputer/oxnet" } omicron-common = { git = "https://github.com/oxidecomputer/omicron", branch = "main"} internal-dns = { git = "https://github.com/oxidecomputer/omicron", branch = "main"} uuid = { version = "1.8", features = ["serde", "v4"] } diff --git a/bgp/src/connection_tcp.rs b/bgp/src/connection_tcp.rs index e55ebbcf..5b1a6810 100644 --- a/bgp/src/connection_tcp.rs +++ b/bgp/src/connection_tcp.rs @@ -22,7 +22,7 @@ use std::sync::atomic::AtomicBool; use std::sync::mpsc::Sender; use std::sync::{Arc, Mutex}; use std::thread::spawn; -use std::time::{Duration, Instant}; +use std::time::Duration; #[cfg(target_os = "illumos")] use itertools::Itertools; @@ -32,6 +32,8 @@ use libc::{c_void, IPPROTO_IP, IPPROTO_IPV6, IPPROTO_TCP}; use libc::{IP_MINTTL, TCP_MD5SIG}; #[cfg(target_os = "illumos")] use std::collections::HashSet; +#[cfg(target_os = "illumos")] +use std::time::Instant; #[cfg(target_os = "illumos")] const IP_MINTTL: i32 = 0x1c; diff --git a/ddm/Cargo.toml b/ddm/Cargo.toml index 64a2e094..19064f9c 100644 --- a/ddm/Cargo.toml +++ b/ddm/Cargo.toml @@ -35,3 +35,4 @@ oximeter.workspace = true oximeter-producer.workspace = true oxnet.workspace = true uuid.workspace = true +reqwest.workspace = true diff --git a/mg-lower/Cargo.toml b/mg-lower/Cargo.toml index ae948ec1..1483020e 100644 --- a/mg-lower/Cargo.toml +++ b/mg-lower/Cargo.toml @@ -16,3 +16,4 @@ thiserror.workspace = true http.workspace = true mg-common.workspace = true oxnet.workspace = true +reqwest11.workspace = true diff --git a/mg-lower/src/dendrite.rs b/mg-lower/src/dendrite.rs index 267ae5ab..99e7e69c 100644 --- a/mg-lower/src/dendrite.rs +++ b/mg-lower/src/dendrite.rs @@ -10,7 +10,6 @@ use dpd_client::types; use dpd_client::types::LinkId; use dpd_client::types::LinkState; use dpd_client::Client as DpdClient; -use http::StatusCode; use libnet::get_route; use oxnet::IpNet; use oxnet::Ipv4Net; @@ -92,7 +91,7 @@ pub(crate) fn ensure_tep_addr( }) .await }) { - if e.status() != Some(StatusCode::CONFLICT) { + if e.status() != Some(reqwest11::StatusCode::CONFLICT) { warn!(log, "failed to ensure TEP address {tep} on ASIC: {e}"); } } @@ -357,17 +356,18 @@ pub(crate) fn get_routes_for_prefix( let result = match prefix { Prefix::V4(p) => { let cidr = Ipv4Net::new(p.value, p.length)?; - let dpd_routes = - match rt.block_on(async { dpd.route_ipv4_get(&cidr).await }) { - Ok(routes) => routes, - Err(e) => { - if e.status() == Some(StatusCode::NOT_FOUND) { - return Ok(HashSet::new()); - } - return Err(e.into()); + let dpd_routes = match rt + .block_on(async { dpd.route_ipv4_get(&cidr).await }) + { + Ok(routes) => routes, + Err(e) => { + if e.status() == Some(reqwest11::StatusCode::NOT_FOUND) { + return Ok(HashSet::new()); } + return Err(e.into()); } - .into_inner(); + } + .into_inner(); let mut result: Vec = Vec::new(); for r in dpd_routes.iter() { diff --git a/mgd/src/oxstats.rs b/mgd/src/oxstats.rs index 81ea4d96..73a00741 100644 --- a/mgd/src/oxstats.rs +++ b/mgd/src/oxstats.rs @@ -6,13 +6,12 @@ use crate::admin::HandlerContext; use crate::bfd_admin::BfdContext; use crate::bgp_admin::BgpContext; use chrono::{DateTime, Utc}; -use dropshot::{ConfigLogging, ConfigLoggingLevel}; use mg_common::nexus::{local_underlay_address, run_oximeter}; use mg_common::stats::MgLowerStats; use omicron_common::api::internal::nexus::{ProducerEndpoint, ProducerKind}; use oximeter::types::{Cumulative, ProducerRegistry}; use oximeter::{MetricsError, Producer, Sample}; -use oximeter_producer::LogConfig; +use oximeter_producer::{ConfigLogging, ConfigLoggingLevel, LogConfig}; use rdb::Db; use slog::{warn, Logger}; use std::collections::BTreeMap;