diff --git a/Cargo.lock b/Cargo.lock index 268e855769e..25302f0e669 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -275,6 +275,29 @@ dependencies = [ "serde", ] +[[package]] +name = "bindgen" +version = "0.59.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" +dependencies = [ + "bitflags", + "cexpr", + "clang-sys", + "clap 2.34.0", + "env_logger", + "lazy_static", + "lazycell", + "log", + "peeking_take_while", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "which", +] + [[package]] name = "bit-set" version = "0.5.2" @@ -413,6 +436,15 @@ version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + [[package]] name = "cfg-if" version = "0.1.10" @@ -473,6 +505,17 @@ dependencies = [ "generic-array 0.14.5", ] +[[package]] +name = "clang-sys" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" +dependencies = [ + "glob", + "libc", + "libloading", +] + [[package]] name = "clap" version = "2.34.0" @@ -796,7 +839,7 @@ dependencies = [ "toml", "tracing", "usdt", - "uuid", + "uuid 1.1.0", "version_check", ] @@ -830,7 +873,7 @@ dependencies = [ "tokio-rustls", "toml", "twox-hash", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -844,7 +887,7 @@ dependencies = [ "crucible-common", "serde", "tokio-util 0.7.2", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -970,14 +1013,38 @@ dependencies = [ "zeroize", ] +[[package]] +name = "darling" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c" +dependencies = [ + "darling_core 0.12.4", + "darling_macro 0.12.4", +] + [[package]] name = "darling" version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.13.4", + "darling_macro 0.13.4", +] + +[[package]] +name = "darling_core" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn", ] [[package]] @@ -994,13 +1061,24 @@ dependencies = [ "syn", ] +[[package]] +name = "darling_macro" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a" +dependencies = [ + "darling_core 0.12.4", + "quote", + "syn", +] + [[package]] name = "darling_macro" version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" dependencies = [ - "darling_core", + "darling_core 0.13.4", "quote", "syn", ] @@ -1033,6 +1111,37 @@ dependencies = [ "const-oid", ] +[[package]] +name = "derive_builder" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d13202debe11181040ae9063d739fa32cfcaaebe2275fe387703460ae2365b30" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66e616858f6187ed828df7c64a6d71720d83767a7f19740b2d1b6fe6327b36e5" +dependencies = [ + "darling 0.12.4", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_builder_macro" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58a94ace95092c5acb1e97a7e846b310cfbd499652f72297da7493f618a98d73" +dependencies = [ + "derive_builder_core", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -1062,7 +1171,7 @@ dependencies = [ "pq-sys", "r2d2", "serde_json", - "uuid", + "uuid 0.8.2", ] [[package]] @@ -1074,7 +1183,7 @@ dependencies = [ "lock_api", "serde", "usdt", - "uuid", + "uuid 0.8.2", ] [[package]] @@ -1187,7 +1296,7 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dropshot" version = "0.7.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#1da9d81a052a66bbbbb65e4bd3be1cb34d57ff2c" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#a6069664f89af0069b4a2f59501c16af67b9074e" dependencies = [ "async-stream", "async-trait", @@ -1219,14 +1328,14 @@ dependencies = [ "tokio-rustls", "toml", "usdt", - "uuid", + "uuid 1.1.0", "version_check", ] [[package]] name = "dropshot_endpoint" version = "0.7.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#1da9d81a052a66bbbbb65e4bd3be1cb34d57ff2c" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#a6069664f89af0069b4a2f59501c16af67b9074e" dependencies = [ "proc-macro2", "quote", @@ -1693,7 +1802,7 @@ dependencies = [ "serde", "serde_json", "slog", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -1727,7 +1836,7 @@ dependencies = [ "tokio-stream", "tokio-tungstenite", "usdt", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -2166,9 +2275,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee" +checksum = "e6012d540c5baa3589337a98ce73408de9b5a25ec9fc2c6fd6be8f0d39e0ca5a" dependencies = [ "autocfg 1.1.0", "hashbrown 0.11.2", @@ -2348,12 +2457,28 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + [[package]] name = "libc" version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +[[package]] +name = "libloading" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +dependencies = [ + "cfg-if 1.0.0", + "winapi", +] + [[package]] name = "libnet" version = "0.1.0" @@ -2381,6 +2506,17 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "libxml" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "687f5a78939052c5d02865c0fe3ea2ce2acdca875f7f81db82f7aef256dd97ac" +dependencies = [ + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "linked-hash-map" version = "0.5.4" @@ -2488,6 +2624,12 @@ dependencies = [ "unicase", ] +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.5.1" @@ -2612,7 +2754,7 @@ dependencies = [ "serde", "serde_json", "slog", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -2639,7 +2781,7 @@ dependencies = [ "serde_json", "slog", "tokio", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -2659,6 +2801,16 @@ dependencies = [ "smallvec", ] +[[package]] +name = "nom" +version = "7.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +dependencies = [ + "memchr", + "minimal-lexical", +] + [[package]] name = "normalize-line-endings" version = "0.3.0" @@ -2798,7 +2950,7 @@ dependencies = [ "thiserror", "tokio", "tokio-postgres", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -2847,7 +2999,7 @@ dependencies = [ "tokio", "tokio-tungstenite", "toml", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -2891,6 +3043,9 @@ dependencies = [ "omicron-test-utils", "openapi-lint", "openapiv3", + "openssl", + "openssl-probe", + "openssl-sys", "oso", "oximeter", "oximeter-client", @@ -2904,6 +3059,7 @@ dependencies = [ "regex", "reqwest", "ring", + "samael", "schemars", "serde", "serde_json", @@ -2924,7 +3080,7 @@ dependencies = [ "toml", "tough", "usdt", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -3012,7 +3168,7 @@ dependencies = [ "tokio", "tokio-util 0.7.2", "toml", - "uuid", + "uuid 1.1.0", "vsss-rs", "zone", ] @@ -3211,7 +3367,7 @@ dependencies = [ "serde", "thiserror", "trybuild", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -3224,7 +3380,7 @@ dependencies = [ "reqwest", "serde", "slog", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -3250,7 +3406,7 @@ dependencies = [ "thiserror", "tokio", "toml", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -3277,7 +3433,7 @@ dependencies = [ "structopt", "thiserror", "tokio", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -3289,7 +3445,7 @@ dependencies = [ "futures", "http", "oximeter", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -3318,7 +3474,7 @@ dependencies = [ "slog-dtrace", "thiserror", "tokio", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -3430,6 +3586,12 @@ dependencies = [ "once_cell", ] +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + [[package]] name = "pem" version = "1.0.2" @@ -3697,7 +3859,7 @@ dependencies = [ "postgres-protocol", "serde", "serde_json", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -3890,7 +4052,7 @@ dependencies = [ "slog", "structopt", "thiserror", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -3899,6 +4061,16 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +[[package]] +name = "quick-xml" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "quote" version = "1.0.18" @@ -4251,6 +4423,12 @@ dependencies = [ "smallvec", ] +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + [[package]] name = "rustc_version" version = "0.1.7" @@ -4360,6 +4538,32 @@ dependencies = [ "zeroize", ] +[[package]] +name = "samael" +version = "0.0.8" +source = "git+https://github.com/oxidecomputer/samael?branch=dynamic#eba1ffd80f76afbf8159c356be296602f14c71e6" +dependencies = [ + "base64", + "bindgen", + "chrono", + "data-encoding", + "derive_builder", + "flate2", + "lazy_static", + "libc", + "libxml", + "openssl", + "openssl-probe", + "openssl-sys", + "pkg-config", + "quick-xml", + "rand 0.8.5", + "serde", + "snafu 0.6.10", + "url", + "uuid 0.8.2", +] + [[package]] name = "same-file" version = "1.0.6" @@ -4400,7 +4604,7 @@ dependencies = [ "schemars_derive", "serde", "serde_json", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -4628,7 +4832,7 @@ version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" dependencies = [ - "darling", + "darling 0.13.4", "proc-macro2", "quote", "syn", @@ -4724,6 +4928,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shlex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" + [[package]] name = "signal-hook" version = "0.3.14" @@ -4810,7 +5020,7 @@ dependencies = [ "reqwest", "serde", "slog", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -4945,6 +5155,16 @@ dependencies = [ "managed", ] +[[package]] +name = "snafu" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eab12d3c261b2308b0d80c26fffb58d17eba81a4be97890101f416b478c79ca7" +dependencies = [ + "doc-comment", + "snafu-derive 0.6.10", +] + [[package]] name = "snafu" version = "0.7.0" @@ -4952,7 +5172,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eba135d2c579aa65364522eb78590cdf703176ef71ad4c32b00f58f7afb2df5" dependencies = [ "doc-comment", - "snafu-derive", + "snafu-derive 0.7.0", +] + +[[package]] +name = "snafu-derive" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1508efa03c362e23817f96cde18abed596a25219a8b2c66e8db33c03543d315b" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -5141,7 +5372,7 @@ dependencies = [ "slog", "thiserror", "tokio", - "uuid", + "uuid 1.1.0", ] [[package]] @@ -5669,7 +5900,7 @@ dependencies = [ "serde", "serde_json", "serde_plain", - "snafu", + "snafu 0.7.0", "tempfile", "untrusted", "url", @@ -6072,6 +6303,16 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom 0.2.6", + "serde", +] + [[package]] name = "uuid" version = "1.1.0" @@ -6278,6 +6519,17 @@ dependencies = [ "webpki", ] +[[package]] +name = "which" +version = "4.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" +dependencies = [ + "either", + "lazy_static", + "libc", +] + [[package]] name = "widestring" version = "0.5.1"