diff --git a/Cargo.lock b/Cargo.lock index 8b71e33a..d14461db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,9 +20,9 @@ dependencies = [ [[package]] name = "ahash" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "991984e3fd003e7ba02eb724f87a0f997b78677c46c0e91f8424ad7394c9886a" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ "getrandom 0.2.3", "once_cell", @@ -384,12 +384,24 @@ dependencies = [ [[package]] name = "chrono-tz" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2554a3155fec064362507487171dcc4edc3df60cb10f3a1fb10ed8094822b120" +checksum = "64c01c1c607d25c71bbaa67c113d6c6b36c434744b4fd66691d711b5b1bc0c8b" dependencies = [ "chrono", + "chrono-tz-build", + "phf", +] + +[[package]] +name = "chrono-tz-build" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db058d493fb2f65f41861bfed7e3fe6335264a9f0f92710cab5bdf01fef09069" +dependencies = [ "parse-zoneinfo", + "phf", + "phf_codegen", ] [[package]] @@ -403,9 +415,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.0.0-beta.4" +version = "3.0.0-beta.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcd70aa5597dbc42f7217a543f9ef2768b2ef823ba29036072d30e1d88e98406" +checksum = "feff3878564edb93745d58cf63e17b63f24142506e7a20c87a5521ed7bfb1d63" dependencies = [ "atty", "bitflags", @@ -416,14 +428,14 @@ dependencies = [ "strsim", "termcolor", "textwrap", - "vec_map", + "unicase", ] [[package]] name = "clap_derive" -version = "3.0.0-beta.4" +version = "3.0.0-beta.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5bb0d655624a0b8770d1c178fb8ffcb1f91cc722cb08f451e3dc72465421ac" +checksum = "8b15c6b4f786ffb6192ffe65a36855bc1fc2444bcd0945ae16748dcd6ed7d0d3" dependencies = [ "heck", "proc-macro-error", @@ -434,9 +446,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdab415d6744056100f40250a66bc430c1a46f7a02e20bc11c94c79a0f0464df" +checksum = "9d6f2aa4d0537bcc1c74df8755072bd31c1ef1a3a1b85a68e8404a8c353b7b8b" [[package]] name = "const_fn" @@ -554,9 +566,9 @@ dependencies = [ [[package]] name = "crypto-bigint" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d12477e115c0d570c12a2dfd859f80b55b60ddb5075df210d3af06d133a69f45" +checksum = "f83bd3bb4314701c568e340cd8cf78c975aa0ca79e03d3f6d1677d5b0c9c0c03" dependencies = [ "generic-array 0.14.4", "rand_core 0.6.3", @@ -752,9 +764,9 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.28" +version = "0.8.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065" +checksum = "a74ea89a0a1b98f6332de42c95baff457ada66d1cb4030f9ff151b2041a1c746" dependencies = [ "cfg-if 1.0.0", ] @@ -1033,9 +1045,9 @@ dependencies = [ [[package]] name = "half" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3" +checksum = "ac5956d4e63858efaec57e0d6c1c2f6a41e1487f830314a324ccd7e2223a7ca0" [[package]] name = "hashbrown" @@ -1290,9 +1302,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "716d3d89f35ac6a34fd0eed635395f4c3b76fa889338a4632e5231a8684216bd" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if 1.0.0", ] @@ -1395,9 +1407,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.103" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6" +checksum = "7b2f96d100e1cf1929e7719b7edb3b90ab5298072638fccd77be9ce942ecdfce" [[package]] name = "libm" @@ -1638,9 +1650,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" dependencies = [ "libc", "log", @@ -1937,9 +1949,12 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "3.1.0" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6acbef58a60fe69ab50510a55bc8cdd4d6cf2283d27ad338f54cb52747a9cf2d" +checksum = "addaa943333a514159c80c97ff4a93306530d965d27e139188283cd13e06a799" +dependencies = [ + "memchr", +] [[package]] name = "parking_lot" @@ -1968,9 +1983,9 @@ dependencies = [ [[package]] name = "parse-display" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb6eafc9452ec8a98cc76b10956bd58a9ab45b14fd1ce82e848cb588abd14a0" +checksum = "898bf4c2a569dedbfd4e6c3f0bbd0ae825e5b6b0b69bae3e3c1000158689334a" dependencies = [ "once_cell", "parse-display-derive", @@ -1979,9 +1994,9 @@ dependencies = [ [[package]] name = "parse-display-derive" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e26355c8759f0ccc490839a8efcd4773101d4e6882faf3cf742351067f76b0" +checksum = "1779d1e28ab04568223744c2af4aa4e642e67b92c76bdce0929a6d2c36267199" dependencies = [ "once_cell", "proc-macro2", @@ -2037,9 +2052,9 @@ dependencies = [ [[package]] name = "pem-rfc7468" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e71fb2d401a15271d52aade6d9410fb4ead603a86da5503f92e872e1df790265" +checksum = "8f22eb0e3c593294a99e9ff4b24cf6b752d43f193aa4415fe5077c159996d497" dependencies = [ "base64ct", ] @@ -2103,6 +2118,45 @@ dependencies = [ "indexmap", ] +[[package]] +name = "phf" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9fc3db1018c4b59d7d582a739436478b6035138b6aecbce989fc91c3e98409f" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared", + "rand 0.8.4", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", + "uncased", +] + [[package]] name = "pin-project" version = "1.0.8" @@ -2172,9 +2226,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.10" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" +checksum = "c3ca011bd0129ff4ae15cd04c4eef202cadf6c51c21e47aba319b4e0501db741" [[package]] name = "proc-macro-error" @@ -2844,6 +2898,12 @@ dependencies = [ "rand_core 0.6.3", ] +[[package]] +name = "siphasher" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b" + [[package]] name = "slab" version = "0.4.5" @@ -3073,9 +3133,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "structmeta" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55b4052fd036e3d1fe74ea978426a3f87997ba803e7a8e69ff0cf99f35a720a" +checksum = "59915b528a896f2e3bfa1a6ace65f7bb0ff9f9863de6213b0c01cb6fd3c3ac71" dependencies = [ "proc-macro2", "quote", @@ -3085,9 +3145,9 @@ dependencies = [ [[package]] name = "structmeta-derive" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f55502dda4b5fd26b33f6810d7493b4f5d7859bca604bd07ff22a523cd257ee" +checksum = "b73800bcca56045d5ab138a48cd28a96093335335deaa916f22b5749c4150c79" dependencies = [ "proc-macro2", "quote", @@ -3145,9 +3205,9 @@ dependencies = [ [[package]] name = "tera" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf95b0d8a46da5fe3ea119394a6c7f1e745f9de359081641c99946e2bf55d4f2" +checksum = "ed0c0eee8fbbbaab449287574b292f21ca53224b92a07b4a23266b77376f0ce7" dependencies = [ "chrono", "chrono-tz", @@ -3330,9 +3390,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "154794c8f499c2619acd19e839294703e9e32e7630ef5f46ea80d4ef0fbee5eb" +checksum = "b2dd85aeaba7b68df939bd357c6afb36c87951be9e80bf9c859f2fc3e9fca0fd" dependencies = [ "proc-macro2", "quote", @@ -3433,15 +3493,16 @@ dependencies = [ [[package]] name = "tower" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60422bc7fefa2f3ec70359b8ff1caff59d785877eb70595904605bcc412470f" +checksum = "d15a6b60cdff0cb039d81d3b37f8bc3d7e53dca09069aae3ef2502ca4834fe30" dependencies = [ "futures-core", "futures-util", "hdrhistogram", "indexmap", "pin-project", + "pin-project-lite", "rand 0.8.4", "slab", "tokio", @@ -3793,12 +3854,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - [[package]] name = "version_check" version = "0.1.5" diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index 741cce37..11bbcbdf 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -9,10 +9,10 @@ license = "Apache-2.0" tokio = { version = "1.12.0", features = ["full"] } futures = "0.3.17" anyhow = "1.0.44" -clap = "3.0.0-beta.4" +clap = "3.0.0-beta.5" dotenv = "0.15.0" schemars = { version = "0.8.6", features = ["url", "chrono"] } -tower = { version = "0.4.8", features = ["full"] } +tower = { version = "0.4.9", features = ["full"] } tower-http = { version = "0.1.1", features = ["full"] } hyper = { version = "0.14.13", features = ["full"] } serde_yaml = "0.8.21" diff --git a/crates/cli/src/config.rs b/crates/cli/src/config.rs index 052e683f..96b6c7b9 100644 --- a/crates/cli/src/config.rs +++ b/crates/cli/src/config.rs @@ -12,20 +12,20 @@ // See the License for the specific language governing permissions and // limitations under the License. -use clap::Clap; +use clap::Parser; use mas_config::{ConfigurationSection, RootConfig}; use schemars::schema_for; use tracing::info; use super::RootCommand; -#[derive(Clap, Debug)] +#[derive(Parser, Debug)] pub(super) struct ConfigCommand { #[clap(subcommand)] subcommand: ConfigSubcommand, } -#[derive(Clap, Debug)] +#[derive(Parser, Debug)] enum ConfigSubcommand { /// Dump the current config as YAML Dump, diff --git a/crates/cli/src/database.rs b/crates/cli/src/database.rs index 5108bd9e..02b97f32 100644 --- a/crates/cli/src/database.rs +++ b/crates/cli/src/database.rs @@ -13,19 +13,19 @@ // limitations under the License. use anyhow::Context; -use clap::Clap; +use clap::Parser; use mas_config::DatabaseConfig; use mas_core::storage::MIGRATOR; use super::RootCommand; -#[derive(Clap, Debug)] +#[derive(Parser, Debug)] pub(super) struct DatabaseCommand { #[clap(subcommand)] subcommand: DatabaseSubcommand, } -#[derive(Clap, Debug)] +#[derive(Parser, Debug)] enum DatabaseSubcommand { /// Run database migrations Migrate, diff --git a/crates/cli/src/main.rs b/crates/cli/src/main.rs index e43f70a7..93e3ef5a 100644 --- a/crates/cli/src/main.rs +++ b/crates/cli/src/main.rs @@ -21,7 +21,7 @@ use std::path::PathBuf; use anyhow::Context; -use clap::Clap; +use clap::Parser; use mas_config::{ConfigurationSection, TelemetryConfig}; use tracing_subscriber::{ filter::LevelFilter, layer::SubscriberExt, reload, util::SubscriberInitExt, EnvFilter, Layer, @@ -40,7 +40,7 @@ mod server; mod telemetry; mod templates; -#[derive(Clap, Debug)] +#[derive(Parser, Debug)] enum Subcommand { /// Configuration-related commands Config(ConfigCommand), @@ -58,7 +58,7 @@ enum Subcommand { Templates(TemplatesCommand), } -#[derive(Clap, Debug)] +#[derive(Parser, Debug)] struct RootCommand { /// Path to the configuration file #[clap( diff --git a/crates/cli/src/manage.rs b/crates/cli/src/manage.rs index 6b283453..d141a4e8 100644 --- a/crates/cli/src/manage.rs +++ b/crates/cli/src/manage.rs @@ -13,20 +13,20 @@ // limitations under the License. use argon2::Argon2; -use clap::Clap; +use clap::Parser; use mas_config::DatabaseConfig; use mas_core::storage::register_user; use tracing::{info, warn}; use super::RootCommand; -#[derive(Clap, Debug)] +#[derive(Parser, Debug)] pub(super) struct ManageCommand { #[clap(subcommand)] subcommand: ManageSubcommand, } -#[derive(Clap, Debug)] +#[derive(Parser, Debug)] enum ManageSubcommand { /// Register a new user Register { username: String, password: String }, diff --git a/crates/cli/src/server.rs b/crates/cli/src/server.rs index e72df73b..fb8e5c57 100644 --- a/crates/cli/src/server.rs +++ b/crates/cli/src/server.rs @@ -18,7 +18,7 @@ use std::{ }; use anyhow::Context; -use clap::Clap; +use clap::Parser; use hyper::{header, Server, Version}; use mas_config::RootConfig; use mas_core::{ @@ -37,7 +37,7 @@ use tracing::{field, info}; use super::RootCommand; -#[derive(Clap, Debug, Default)] +#[derive(Parser, Debug, Default)] pub(super) struct ServerCommand { /// Automatically apply pending migrations #[clap(long)] diff --git a/crates/cli/src/templates.rs b/crates/cli/src/templates.rs index 2f22b254..661b74bc 100644 --- a/crates/cli/src/templates.rs +++ b/crates/cli/src/templates.rs @@ -14,18 +14,18 @@ use std::path::PathBuf; -use clap::Clap; +use clap::Parser; use mas_templates::Templates; use super::RootCommand; -#[derive(Clap, Debug)] +#[derive(Parser, Debug)] pub(super) struct TemplatesCommand { #[clap(subcommand)] subcommand: TemplatesSubcommand, } -#[derive(Clap, Debug)] +#[derive(Parser, Debug)] enum TemplatesSubcommand { /// Save the builtin templates to a folder Save { diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index cc793139..6333188a 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -25,7 +25,7 @@ warp = "0.3.1" hyper = { version = "0.14.13", features = ["full"] } # Template engine -tera = "1.12.1" +tera = "1.13.0" # Database access sqlx = { version = "0.5.9", features = ["runtime-tokio-rustls", "postgres", "migrate", "chrono", "offline"] } diff --git a/crates/oauth2-types/Cargo.toml b/crates/oauth2-types/Cargo.toml index d9926189..cd877971 100644 --- a/crates/oauth2-types/Cargo.toml +++ b/crates/oauth2-types/Cargo.toml @@ -11,7 +11,7 @@ serde = "1.0.130" serde_json = "1.0.68" language-tags = { version = "0.3.2", features = ["serde"] } url = { version = "2.2.2", features = ["serde"] } -parse-display = "0.5.2" +parse-display = "0.5.3" indoc = "1.0.3" serde_with = { version = "1.10.0", features = ["chrono"] } sqlx = { version = "0.5.9", default-features = false, optional = true } diff --git a/crates/templates/Cargo.toml b/crates/templates/Cargo.toml index b6a0a105..7f471d00 100644 --- a/crates/templates/Cargo.toml +++ b/crates/templates/Cargo.toml @@ -12,12 +12,12 @@ tokio = "1.12.0" anyhow = "1.0.44" thiserror = "1.0.30" -tera = "1.12.1" +tera = "1.13.0" serde = { version = "1.0.130", features = ["derive"] } serde_json = "1.0.68" url = "2.2.2" -warp = "0.3.1" # TODO: we depend on warp only for the Reject trait +warp = "0.3.1" oauth2-types = { path = "../oauth2-types" } mas-data-model = { path = "../data-model" }