From 4fb56d91c2cb931b296a3bc71e18e607e9ccce73 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Mon, 13 Sep 2021 11:29:13 +0200 Subject: [PATCH 01/55] Allow using `run ` interactively --- src/args.rs | 11 ++--------- src/cmd/run_cmd.rs | 48 +++++++++++++++++++++++++++++++--------------- src/main.rs | 7 +++++-- src/notify/mod.rs | 1 + 4 files changed, 41 insertions(+), 26 deletions(-) diff --git a/src/args.rs b/src/args.rs index d59826f..018179f 100644 --- a/src/args.rs +++ b/src/args.rs @@ -97,18 +97,11 @@ pub enum SubCommand { #[derive(Debug, StructOpt)] pub struct Run { - /// Execute a module that has been installed - pub module: String, + #[structopt(flatten)] + pub run: cmd::run_cmd::Args, /// Run a module from a path #[structopt(short="f", long="file")] pub file: bool, - /// Run modules concurrently - #[structopt(short="j", long="threads", default_value="1")] - pub threads: usize, - /// Verbose logging, once to print inserts even if they don't add new - /// data, twice to activate the debug() function - #[structopt(short="v", long="verbose", parse(from_occurrences))] - pub verbose: u64, /// Expose stdin to modules #[structopt(long="stdin")] pub stdin: bool, diff --git a/src/cmd/run_cmd.rs b/src/cmd/run_cmd.rs index cfab495..b57e5d6 100644 --- a/src/cmd/run_cmd.rs +++ b/src/cmd/run_cmd.rs @@ -24,14 +24,20 @@ use structopt::clap::AppSettings; #[derive(Debug, StructOpt)] #[structopt(global_settings = &[AppSettings::ColoredHelp])] pub struct Args { - #[structopt(short="j", long="threads", default_value="1")] - threads: usize, - #[structopt(short="v", long="verbose", parse(from_occurrences))] - verbose: u64, + /// Execute a module that has been installed + pub module: Option, + /// Run investigations concurrently + #[structopt(short="j", default_value="1")] + pub threads: usize, + /// Verbose logging, once to print inserts even if they don't add new + /// data, twice to activate the debug() function + #[structopt(short="v", long, parse(from_occurrences))] + pub verbose: u64, } #[derive(Debug, Clone)] pub struct Params<'a> { + pub module: Option<&'a String>, pub threads: usize, pub verbose: u64, pub stdin: bool, @@ -41,11 +47,26 @@ pub struct Params<'a> { pub exit_on_error: bool, } +impl<'a> Params<'a> { + pub fn get_module(&self, rl: &Shell) -> Result { + let module = if let Some(module) = self.module { + rl.library().get(&module)? + .clone() + } else { + rl.module() + .map(|m| m.to_owned()) + .ok_or_else(|| format_err!("No module selected"))? + }; + Ok(module) + } +} + impl<'a> From<&'a args::Run> for Params<'a> { fn from(args: &args::Run) -> Params { Params { - threads: args.threads, - verbose: args.verbose, + module: args.run.module.as_ref(), + threads: args.run.threads, + verbose: args.run.verbose, stdin: args.stdin, grants: &args.grants, grant_full_keyring: args.grant_full_keyring, @@ -55,9 +76,10 @@ impl<'a> From<&'a args::Run> for Params<'a> { } } -impl From for Params<'static> { - fn from(args: Args) -> Params<'static> { +impl<'a> From<&'a Args> for Params<'a> { + fn from(args: &Args) -> Params { Params { + module: args.module.as_ref(), threads: args.threads, verbose: args.verbose, stdin: false, @@ -153,9 +175,7 @@ fn get_args(rl: &mut Shell, module: &Module) -> Result) -> Result<()> { - let module = rl.module() - .map(|m| m.to_owned()) - .ok_or_else(|| format_err!("No module selected"))?; + let module = params.get_module(&rl)?; prepare_keyring(rl.keyring_mut(), &module, ¶ms)?; let keyring = rl.keyring().request_keys(&module); @@ -181,9 +201,7 @@ pub fn dump_sandbox_init_msg(rl: &mut Shell, params: Params, options: HashMap) -> Result<()> { - let module = rl.module() - .map(|m| m.to_owned()) - .ok_or_else(|| format_err!("No module selected"))?; + let module = params.get_module(&rl)?; prepare_keyring(rl.keyring_mut(), &module, ¶ms)?; let args = get_args(rl, &module)?; @@ -212,6 +230,6 @@ impl Cmd for Args { Some(options) => options.clone(), _ => HashMap::new(), }; - execute(rl, self.into(), options) + execute(rl, Params::from(&self), options) } } diff --git a/src/main.rs b/src/main.rs index 0081cda..da1f390 100644 --- a/src/main.rs +++ b/src/main.rs @@ -23,8 +23,11 @@ use std::path::Path; fn run_run(gargs: &Args, args: &args::Run, config: &Config) -> Result<()> { let mut rl = shell::init(gargs, config, false)?; + let module = args.run.module.as_ref() + .ok_or_else(|| format_err!("Module is required"))?; + let module = if args.file { - let path = Path::new(&args.module); + let path = Path::new(&module); let filename = path.file_stem() .ok_or_else(|| format_err!("Failed to decode filename"))? @@ -34,7 +37,7 @@ fn run_run(gargs: &Args, args: &args::Run, config: &Config) -> Result<()> { Module::load(&path.to_path_buf(), "anonymous", filename, true) .context(format!("Failed to parse {:?}", path))? } else { - rl.library().get(&args.module)? + rl.library().get(&module)? .clone() }; diff --git a/src/notify/mod.rs b/src/notify/mod.rs index eb07e46..1247624 100644 --- a/src/notify/mod.rs +++ b/src/notify/mod.rs @@ -88,6 +88,7 @@ pub fn exec(rl: &mut Shell, module: &Module, ratelimit: &mut Ratelimiter, option } let params = Params { + module: None, threads: 1, verbose, stdin: false, From 7dcb6b81dc40e15a770e25e274f435baf5661288 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Mon, 13 Sep 2021 11:51:32 +0200 Subject: [PATCH 02/55] Allow setting a proxy with `run -X ` --- src/cmd/run_cmd.rs | 26 +++++++++++++++++++++----- src/main.rs | 2 +- src/notify/mod.rs | 1 + 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/cmd/run_cmd.rs b/src/cmd/run_cmd.rs index b57e5d6..fc02940 100644 --- a/src/cmd/run_cmd.rs +++ b/src/cmd/run_cmd.rs @@ -17,6 +17,7 @@ use serde::Serialize; use sn0int_common::metadata::Source; use sn0int_std::ratelimits::Ratelimiter; use std::collections::HashMap; +use std::net::SocketAddr; use structopt::StructOpt; use structopt::clap::AppSettings; @@ -33,6 +34,9 @@ pub struct Args { /// data, twice to activate the debug() function #[structopt(short="v", long, parse(from_occurrences))] pub verbose: u64, + /// Set a specific socks5 proxy to use + #[structopt(short="X", long)] + pub proxy: Option, } #[derive(Debug, Clone)] @@ -45,12 +49,13 @@ pub struct Params<'a> { pub grant_full_keyring: bool, pub deny_keyring: bool, pub exit_on_error: bool, + pub proxy: Option, } impl<'a> Params<'a> { pub fn get_module(&self, rl: &Shell) -> Result { let module = if let Some(module) = self.module { - rl.library().get(&module)? + rl.library().get(module)? .clone() } else { rl.module() @@ -59,6 +64,14 @@ impl<'a> Params<'a> { }; Ok(module) } + + pub fn get_proxy(&self, rl: &Shell) -> Option { + if self.proxy.is_some() { + self.proxy.clone() + } else { + rl.config().network.proxy + } + } } impl<'a> From<&'a args::Run> for Params<'a> { @@ -67,6 +80,7 @@ impl<'a> From<&'a args::Run> for Params<'a> { module: args.run.module.as_ref(), threads: args.run.threads, verbose: args.run.verbose, + proxy: args.run.proxy, stdin: args.stdin, grants: &args.grants, grant_full_keyring: args.grant_full_keyring, @@ -82,6 +96,7 @@ impl<'a> From<&'a Args> for Params<'a> { module: args.module.as_ref(), threads: args.threads, verbose: args.verbose, + proxy: args.proxy, stdin: false, grants: &[], grant_full_keyring: false, @@ -175,13 +190,13 @@ fn get_args(rl: &mut Shell, module: &Module) -> Result) -> Result<()> { - let module = params.get_module(&rl)?; + let module = params.get_module(rl)?; + let proxy = params.get_proxy(rl); prepare_keyring(rl.keyring_mut(), &module, ¶ms)?; let keyring = rl.keyring().request_keys(&module); let dns_config = Resolver::from_system_v4()?; - let proxy = rl.config().network.proxy; let args = get_args(rl, &module)?; for (arg, _pretty_arg, blobs) in args { @@ -201,13 +216,14 @@ pub fn dump_sandbox_init_msg(rl: &mut Shell, params: Params, options: HashMap) -> Result<()> { - let module = params.get_module(&rl)?; + let module = params.get_module(rl)?; + let proxy = params.get_proxy(rl); prepare_keyring(rl.keyring_mut(), &module, ¶ms)?; let args = get_args(rl, &module)?; rl.signal_register().catch_ctrl(); - let errors = worker::spawn(rl, &module, &mut Ratelimiter::new(), args, ¶ms, rl.config().network.proxy, options); + let errors = worker::spawn(rl, &module, &mut Ratelimiter::new(), args, ¶ms, proxy, options); rl.signal_register().reset_ctrlc(); if errors > 0 { diff --git a/src/main.rs b/src/main.rs index da1f390..f90b88c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -37,7 +37,7 @@ fn run_run(gargs: &Args, args: &args::Run, config: &Config) -> Result<()> { Module::load(&path.to_path_buf(), "anonymous", filename, true) .context(format!("Failed to parse {:?}", path))? } else { - rl.library().get(&module)? + rl.library().get(module)? .clone() }; diff --git a/src/notify/mod.rs b/src/notify/mod.rs index 1247624..6c6bf22 100644 --- a/src/notify/mod.rs +++ b/src/notify/mod.rs @@ -91,6 +91,7 @@ pub fn exec(rl: &mut Shell, module: &Module, ratelimit: &mut Ratelimiter, option module: None, threads: 1, verbose, + proxy: None, stdin: false, grants: &[], grant_full_keyring: false, From b8d4eb0f515d55fff9f9dc711da9f6ede1127aaf Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Wed, 22 Sep 2021 01:19:59 +0200 Subject: [PATCH 03/55] Add functions for perceptual image hashing --- Cargo.lock | 68 ++++++++++++++++++++++++++++++++++++ docs/reference.rst | 33 +++++++++++++++++ modules/harness/img-hash.lua | 11 ++++++ sn0int-std/Cargo.toml | 1 + sn0int-std/src/gfx/mod.rs | 10 +++++- src/engine/ctx.rs | 3 ++ src/runtime/gfx.rs | 42 ++++++++++++++++++++++ 7 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 modules/harness/img-hash.lua diff --git a/Cargo.lock b/Cargo.lock index ba08179..426ff9c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1714,6 +1714,19 @@ dependencies = [ "tiff", ] +[[package]] +name = "img_hash_median" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "125e0ebb6905ef6f2a5017c9c5a25003bea213fcf8fb2fac5ad0e1d3c3495b53" +dependencies = [ + "base64 0.10.1", + "image", + "rustdct", + "serde", + "transpose 0.2.1", +] + [[package]] name = "indexmap" version = "1.7.0" @@ -2378,6 +2391,16 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-complex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" +dependencies = [ + "autocfg 1.0.1", + "num-traits", +] + [[package]] name = "num-integer" version = "0.1.44" @@ -3454,6 +3477,28 @@ dependencies = [ "semver 0.11.0", ] +[[package]] +name = "rustdct" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef4d167674b4cf68c2114bdbcd34c95aa9071652b73b0f43b19298f1d2780b7d" +dependencies = [ + "rustfft", +] + +[[package]] +name = "rustfft" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77008ed59a8923c8b4ac2e5eaa6d28fbe893d3b9515098a4a5fc7767d6430fe5" +dependencies = [ + "num-complex", + "num-integer", + "num-traits", + "strength_reduce", + "transpose 0.1.0", +] + [[package]] name = "rusticata-macros" version = "3.2.0" @@ -3988,6 +4033,7 @@ dependencies = [ "hlua-badtouch", "http 0.2.4", "image", + "img_hash_median", "kamadak-exif", "kuchiki", "log 0.4.14", @@ -4075,6 +4121,12 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d44a3643b4ff9caf57abcee9c2c621d6c03d9135e0d8b589bd9afb5992cb176a" +[[package]] +name = "strength_reduce" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ff2f71c82567c565ba4b3009a9350a96a7269eaa4001ebedae926230bc2254" + [[package]] name = "string" version = "0.2.1" @@ -4589,6 +4641,22 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" +[[package]] +name = "transpose" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643e21580bb0627c7bb09e5cedbb42c8705b19d012de593ed6b0309270b3cd1e" + +[[package]] +name = "transpose" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95f9c900aa98b6ea43aee227fd680550cdec726526aab8ac801549eadb25e39f" +dependencies = [ + "num-integer", + "strength_reduce", +] + [[package]] name = "trust-dns" version = "0.17.0" diff --git a/docs/reference.rst b/docs/reference.rst index 633d47a..377305b 100644 --- a/docs/reference.rst +++ b/docs/reference.rst @@ -504,6 +504,39 @@ Extract exif metadata from an image. if last_err() then return end debug(exif) +img_ahash +--------- + +Calculate the Mean (aHash) perceptual hash. + +.. code-block:: lua + + hash = img_ahash(blob) + if last_err() then return end + debug(hash) + +img_dhash +--------- + +Calculate the Gradient (dHash) perceptual hash. + +.. code-block:: lua + + hash = img_dhash(blob) + if last_err() then return end + debug(hash) + +img_phash +--------- + +Calculate the DCT (pHash) perceptual hash. + +.. code-block:: lua + + hash = img_phash(blob) + if last_err() then return end + debug(hash) + img_nudity ---------- diff --git a/modules/harness/img-hash.lua b/modules/harness/img-hash.lua new file mode 100644 index 0000000..f688ab9 --- /dev/null +++ b/modules/harness/img-hash.lua @@ -0,0 +1,11 @@ +-- Description: TODO your description here +-- Version: 0.1.0 +-- License: GPL-3.0 +-- Source: images + +function run(arg) + debug(arg) + info(img_ahash(arg['value'])) + info(img_dhash(arg['value'])) + info(img_phash(arg['value'])) +end diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 1ad4df6..07f1bc6 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -45,6 +45,7 @@ sodiumoxide = { version="0.2.5", features=["use-pkg-config"] } image = "0.23.0" kamadak-exif = "0.5.1" +img_hash_median = "4.0.0" bs58 = "0.4" digest = "0.9" diff --git a/sn0int-std/src/gfx/mod.rs b/sn0int-std/src/gfx/mod.rs index af48c62..03a7770 100644 --- a/sn0int-std/src/gfx/mod.rs +++ b/sn0int-std/src/gfx/mod.rs @@ -1,5 +1,6 @@ use crate::errors::*; use image::{self, DynamicImage, GenericImageView}; +pub use img_hash_median::HashAlg; pub mod exif; @@ -79,6 +80,14 @@ impl Image { pub fn height(&self) -> u32 { self.image.height() } + + pub fn perception_hash(&self, hash_alg: HashAlg) -> String { + let hasher = img_hash_median::HasherConfig::new() + .hash_alg(hash_alg) + .to_hasher(); + let hash = hasher.hash_image(&self.image); + hash.to_base64() + } } impl AsRef for Image { @@ -105,7 +114,6 @@ pub fn load(buf: &[u8]) -> Result { }) } - #[cfg(test)] mod tests { use super::*; diff --git a/src/engine/ctx.rs b/src/engine/ctx.rs index ef4901f..d9b4563 100644 --- a/src/engine/ctx.rs +++ b/src/engine/ctx.rs @@ -517,6 +517,9 @@ pub fn ctx<'a>(env: Environment, logger: Arc>>) -> (hlua runtime::http_fetch_json(&mut lua, state.clone()); runtime::img_exif(&mut lua, state.clone()); runtime::img_load(&mut lua, state.clone()); + runtime::img_ahash(&mut lua, state.clone()); + runtime::img_dhash(&mut lua, state.clone()); + runtime::img_phash(&mut lua, state.clone()); runtime::img_nudity(&mut lua, state.clone()); runtime::info(&mut lua, state.clone()); runtime::intval(&mut lua, state.clone()); diff --git a/src/runtime/gfx.rs b/src/runtime/gfx.rs index c70692d..62edfc5 100644 --- a/src/runtime/gfx.rs +++ b/src/runtime/gfx.rs @@ -36,6 +36,48 @@ pub fn img_load(lua: &mut hlua::Lua, state: Arc) { })) } +pub fn img_ahash(lua: &mut hlua::Lua, state: Arc) { + lua.set("img_ahash", hlua::function1(move |blob: String| -> Result { + let img = state.get_blob(&blob) + .map_err(|err| state.set_error(err))?; + + let img = gfx::load(&img.bytes) + .map_err(|err| state.set_error(err))?; + + let hash = img.perception_hash(gfx::HashAlg::Mean); + + Ok(hash) + })) +} + +pub fn img_dhash(lua: &mut hlua::Lua, state: Arc) { + lua.set("img_dhash", hlua::function1(move |blob: String| -> Result { + let img = state.get_blob(&blob) + .map_err(|err| state.set_error(err))?; + + let img = gfx::load(&img.bytes) + .map_err(|err| state.set_error(err))?; + + let hash = img.perception_hash(gfx::HashAlg::Gradient); + + Ok(hash) + })) +} + +pub fn img_phash(lua: &mut hlua::Lua, state: Arc) { + lua.set("img_phash", hlua::function1(move |blob: String| -> Result { + let img = state.get_blob(&blob) + .map_err(|err| state.set_error(err))?; + + let img = gfx::load(&img.bytes) + .map_err(|err| state.set_error(err))?; + + let hash = img.perception_hash(gfx::HashAlg::Median); + + Ok(hash) + })) +} + #[derive(Debug, Serialize)] pub struct Nudity { nude: bool, From 5fe71feec3ddc66e5b5b75b90d84b18ca2224c2f Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Wed, 22 Sep 2021 01:21:03 +0200 Subject: [PATCH 04/55] Fix regression for `sn0int run -f ./foo.lua` --- src/main.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index f90b88c..031244e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,6 +2,7 @@ use env_logger::Env; use sn0int::args::{self, Args, SubCommand}; use sn0int::auth; use sn0int::cmd::{self, LiteCmd}; +use sn0int::cmd::run_cmd::Params; use sn0int::config::Config; use sn0int::db; use sn0int::errors::*; @@ -50,10 +51,14 @@ fn run_run(gargs: &Args, args: &args::Run, config: &Config) -> Result<()> { rl.set_target(Some(target)); } + let mut params = Params::from(args); + // The module was already set and loaded + params.module = None; + if args.dump_sandbox_init_msg { - cmd::run_cmd::dump_sandbox_init_msg(&mut rl, args.into(), Opt::collect(&args.options)) + cmd::run_cmd::dump_sandbox_init_msg(&mut rl, params, Opt::collect(&args.options)) } else { - cmd::run_cmd::execute(&mut rl, args.into(), Opt::collect(&args.options)) + cmd::run_cmd::execute(&mut rl, params, Opt::collect(&args.options)) } } From 36b521900874eabd8767c77b44a54e9741e64bd0 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 2 Oct 2021 15:03:25 +0200 Subject: [PATCH 05/55] Update readme --- README.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 0b853e4..f773138 100644 --- a/README.md +++ b/README.md @@ -14,33 +14,34 @@ [registry]: https://sn0int.com/ sn0int (pronounced [`/snoɪnt/`][ipa]) is a semi-automatic OSINT framework and -package manager. It was built for IT security professionals and bug hunters to -gather intelligence about a given target or about yourself. sn0int is -enumerating attack surface by semi-automatically processing public information -and mapping the results in a unified format for followup investigations. +package manager. It's used by IT security professionals, bug bounty hunters, +law enforcement agencies and in security awareness trainings to gather +intelligence about a given target or about yourself. sn0int is enumerating +attack surface by semi-automatically processing public information and mapping +the results in a unified format for followup investigations. [ipa]: http://ipa-reader.xyz/?text=sno%C9%AAnt Among other things, sn0int is currently able to: - Harvest subdomains from certificate transparency logs and passive dns +- Mass resolve collected subdomains and scan for http or https services - Enrich ip addresses with asn and geoip info - Harvest emails from pgp keyservers and whois - Discover compromised logins in breaches - Find somebody's profiles across the internet - Enumerate local networks with unique techniques like passive arp - Gather information about phonenumbers -- Attempt to bypass cloudflare with shodan -- Harvest data and images from instagram profiles -- Scan images for nudity +- Harvest activity and images from social media profiles +- Basic image processing sn0int is heavily inspired by recon-ng and maltego, but remains more flexible and is fully opensource. None of the investigations listed above are hardcoded -in the source, instead those are provided by modules that are executed in a +in the source, instead they are provided by modules that are executed in a sandbox. You can easily extend sn0int by writing your own modules and share them with other users by publishing them to the sn0int registry. This allows -you to ship updates for your modules on your own since you don't need to send a -pull request. +you to ship updates for your modules on your own instead of pull-requesting +them into the sn0int codebase. For questions and support join us on IRC: [irc.hackint.org:6697/#sn0int](https://webirc.hackint.org/#irc://irc.hackint.org/#sn0int) @@ -226,6 +227,9 @@ For everything else please have a look at the [detailed list][1]. - [http_fetch_json](https://sn0int.readthedocs.io/en/latest/reference.html#http-fetch-json) - [img_load](https://sn0int.readthedocs.io/en/latest/reference.html#img-load) - [img_exif](https://sn0int.readthedocs.io/en/latest/reference.html#img-exif) + - [img_ahash](https://sn0int.readthedocs.io/en/latest/reference.html#img-ahash) + - [img_dhash](https://sn0int.readthedocs.io/en/latest/reference.html#img-dhash) + - [img_phash](https://sn0int.readthedocs.io/en/latest/reference.html#img-phash) - [img_nudity](https://sn0int.readthedocs.io/en/latest/reference.html#img-nudity) - [info](https://sn0int.readthedocs.io/en/latest/reference.html#info) - [intval](https://sn0int.readthedocs.io/en/latest/reference.html#intval) From c775ae1dee2232203a8d84b407a7b03c3d9ede89 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 23 Oct 2021 13:15:50 +0200 Subject: [PATCH 06/55] Add patreon link --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index b4407e7..489de68 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1,2 @@ github: [kpcyrd] +patreon: kpcyrd From f1b0608daa4c5b35d6945a689e7b00b39250d058 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 23 Oct 2021 13:50:32 +0200 Subject: [PATCH 07/55] Allow setting a different default user agent --- sn0int-std/src/web.rs | 29 +++++++++++++---------------- src/cmd/run_cmd.rs | 23 ++++++++++++++++++++--- src/config.rs | 1 + src/engine/ctx.rs | 14 +++++++++++++- src/engine/mod.rs | 1 + src/ipc/child.rs | 1 + src/ipc/common.rs | 3 +++ src/ipc/parent.rs | 3 ++- src/notify/mod.rs | 5 +++-- src/repl/mod.rs | 2 ++ src/worker.rs | 13 +++++++++++-- 11 files changed, 70 insertions(+), 25 deletions(-) diff --git a/sn0int-std/src/web.rs b/sn0int-std/src/web.rs index 205c139..b6b151e 100644 --- a/sn0int-std/src/web.rs +++ b/sn0int-std/src/web.rs @@ -65,21 +65,21 @@ impl HttpSession { #[derive(Debug, Default, Deserialize)] pub struct RequestOptions { - query: Option>, - headers: Option>, - basic_auth: Option<(String, String)>, - user_agent: Option, - json: Option, - form: Option, + pub query: Option>, + pub headers: Option>, + pub basic_auth: Option<(String, String)>, + pub user_agent: Option, + pub json: Option, + pub form: Option, #[serde(default)] - follow_redirects: usize, - body: Option, - timeout: Option, + pub follow_redirects: usize, + pub body: Option, + pub timeout: Option, #[serde(default)] - into_blob: bool, - proxy: Option, + pub into_blob: bool, + pub proxy: Option, #[serde(default)] - binary: bool, + pub binary: bool, } impl RequestOptions { @@ -110,11 +110,8 @@ pub struct HttpRequest { } impl HttpRequest { - pub fn new(session: &HttpSession, method: String, url: String, options: RequestOptions, default_agent: fn() -> String) -> HttpRequest { + pub fn new(session: &HttpSession, method: String, url: String, user_agent: String, options: RequestOptions) -> HttpRequest { let cookies = session.cookies.clone(); - - let user_agent = options.user_agent.unwrap_or_else(default_agent); - let timeout = options.timeout.map(Duration::from_millis); let mut request = HttpRequest { diff --git a/src/cmd/run_cmd.rs b/src/cmd/run_cmd.rs index fc02940..e25335c 100644 --- a/src/cmd/run_cmd.rs +++ b/src/cmd/run_cmd.rs @@ -37,6 +37,9 @@ pub struct Args { /// Set a specific socks5 proxy to use #[structopt(short="X", long)] pub proxy: Option, + /// Set a different default user agent + #[structopt(long)] + pub user_agent: Option, } #[derive(Debug, Clone)] @@ -50,6 +53,7 @@ pub struct Params<'a> { pub deny_keyring: bool, pub exit_on_error: bool, pub proxy: Option, + pub user_agent: Option<&'a String>, } impl<'a> Params<'a> { @@ -72,6 +76,14 @@ impl<'a> Params<'a> { rl.config().network.proxy } } + + pub fn get_user_agent(&self, rl: &Shell) -> Option { + if let Some(user_agent) = self.user_agent { + Some(user_agent.to_string()) + } else { + rl.config().network.user_agent.clone() + } + } } impl<'a> From<&'a args::Run> for Params<'a> { @@ -80,12 +92,13 @@ impl<'a> From<&'a args::Run> for Params<'a> { module: args.run.module.as_ref(), threads: args.run.threads, verbose: args.run.verbose, - proxy: args.run.proxy, stdin: args.stdin, grants: &args.grants, grant_full_keyring: args.grant_full_keyring, deny_keyring: args.deny_keyring, exit_on_error: args.exit_on_error, + proxy: args.run.proxy, + user_agent: args.run.user_agent.as_ref(), } } } @@ -96,12 +109,13 @@ impl<'a> From<&'a Args> for Params<'a> { module: args.module.as_ref(), threads: args.threads, verbose: args.verbose, - proxy: args.proxy, stdin: false, grants: &[], grant_full_keyring: false, deny_keyring: false, exit_on_error: false, + proxy: args.proxy, + user_agent: args.user_agent.as_ref(), } } } @@ -192,6 +206,7 @@ fn get_args(rl: &mut Shell, module: &Module) -> Result) -> Result<()> { let module = params.get_module(rl)?; let proxy = params.get_proxy(rl); + let user_agent = params.get_user_agent(rl); prepare_keyring(rl.keyring_mut(), &module, ¶ms)?; let keyring = rl.keyring().request_keys(&module); @@ -204,6 +219,7 @@ pub fn dump_sandbox_init_msg(rl: &mut Shell, params: Params, options: HashMap) -> Result<()> { let module = params.get_module(rl)?; let proxy = params.get_proxy(rl); + let user_agent = params.get_user_agent(rl); prepare_keyring(rl.keyring_mut(), &module, ¶ms)?; let args = get_args(rl, &module)?; rl.signal_register().catch_ctrl(); - let errors = worker::spawn(rl, &module, &mut Ratelimiter::new(), args, ¶ms, proxy, options); + let errors = worker::spawn(rl, &module, &mut Ratelimiter::new(), args, ¶ms, proxy, user_agent, options); rl.signal_register().reset_ctrlc(); if errors > 0 { diff --git a/src/config.rs b/src/config.rs index 69a8baf..c10ebb2 100644 --- a/src/config.rs +++ b/src/config.rs @@ -75,4 +75,5 @@ fn default_registry() -> String { #[derive(Debug, Clone, Default, Serialize, Deserialize)] pub struct NetworkConfig { pub proxy: Option, + pub user_agent: Option, } diff --git a/src/engine/ctx.rs b/src/engine/ctx.rs index d9b4563..bd71c4b 100644 --- a/src/engine/ctx.rs +++ b/src/engine/ctx.rs @@ -215,6 +215,7 @@ pub struct LuaState { geoip: Option>>>, asn: Option>>>, proxy: Option, + user_agent: Option, options: HashMap, } @@ -372,7 +373,15 @@ impl State for LuaState { let mtx = self.http_sessions.lock().unwrap(); let session = mtx.get(session_id).expect("Invalid session reference"); // TODO - HttpRequest::new(session, method, url, options, || format!("sn0int/{}", env!("CARGO_PKG_VERSION"))) + let user_agent = if let Some(user_agent) = &options.user_agent { + user_agent.to_string() + } else if let Some(user_agent) = &self.user_agent { + user_agent.to_string() + } else { + format!("sn0int/{}", env!("CARGO_PKG_VERSION")) + }; + + HttpRequest::new(session, method, url, user_agent, options) } fn get_blob(&self, id: &str) -> Result> { @@ -472,6 +481,7 @@ pub fn ctx<'a>(env: Environment, logger: Arc>>) -> (hlua geoip, asn, proxy: env.proxy, + user_agent: env.user_agent, options: env.options, }); @@ -665,6 +675,7 @@ impl Script { let keyring = Vec::new(); let dns_config = Resolver::from_system_v4()?; let proxy = None; + let user_agent = None; let psl = PslReader::String(r#" // ===BEGIN ICANN DOMAINS=== com @@ -682,6 +693,7 @@ a.prod.fastly.net keyring, dns_config, proxy, + user_agent, options: HashMap::new(), blobs: Vec::new(), psl, diff --git a/src/engine/mod.rs b/src/engine/mod.rs index fdcd83c..1a505a3 100644 --- a/src/engine/mod.rs +++ b/src/engine/mod.rs @@ -34,6 +34,7 @@ pub struct Environment { pub keyring: Vec, pub dns_config: Resolver, pub proxy: Option, + pub user_agent: Option, pub options: HashMap, pub blobs: Vec, pub psl: PslReader, diff --git a/src/ipc/child.rs b/src/ipc/child.rs index 11f7aab..1fd94f4 100644 --- a/src/ipc/child.rs +++ b/src/ipc/child.rs @@ -86,6 +86,7 @@ pub fn run(geoip: Option, asn: Option, psl: PslRea keyring: start.keyring, dns_config: start.dns_config, proxy: start.proxy, + user_agent: start.user_agent, options: start.options, blobs: start.blobs, psl, diff --git a/src/ipc/common.rs b/src/ipc/common.rs index 92b975e..90eaee7 100644 --- a/src/ipc/common.rs +++ b/src/ipc/common.rs @@ -12,6 +12,7 @@ pub struct StartCommand { pub keyring: Vec, pub dns_config: Resolver, pub proxy: Option, + pub user_agent: Option, pub options: HashMap, pub module: Module, pub arg: serde_json::Value, @@ -23,6 +24,7 @@ impl StartCommand { keyring: Vec, dns_config: Resolver, proxy: Option, + user_agent: Option, options: HashMap, module: Module, arg: serde_json::Value, @@ -33,6 +35,7 @@ impl StartCommand { keyring, dns_config, proxy, + user_agent, options, module, arg, diff --git a/src/ipc/parent.rs b/src/ipc/parent.rs index 48170bb..4701b91 100644 --- a/src/ipc/parent.rs +++ b/src/ipc/parent.rs @@ -105,6 +105,7 @@ pub fn run(module: Module, verbose: u64, has_stdin: bool, proxy: Option, + user_agent: Option, options: HashMap, blobs: Vec, ) -> Result { @@ -117,7 +118,7 @@ pub fn run(module: Module, }; let mut ipc_parent = IpcParent::setup(&module)?; - ipc_parent.send_start(&StartCommand::new(verbose, keyring, dns_config, proxy, options, module, arg, blobs))?; + ipc_parent.send_start(&StartCommand::new(verbose, keyring, dns_config, proxy, user_agent, options, module, arg, blobs))?; let exit = loop { match ipc_parent.recv()? { diff --git a/src/notify/mod.rs b/src/notify/mod.rs index 6c6bf22..1210f73 100644 --- a/src/notify/mod.rs +++ b/src/notify/mod.rs @@ -91,19 +91,20 @@ pub fn exec(rl: &mut Shell, module: &Module, ratelimit: &mut Ratelimiter, option module: None, threads: 1, verbose, - proxy: None, stdin: false, grants: &[], grant_full_keyring: false, deny_keyring: false, exit_on_error: false, + proxy: None, + user_agent: None, }; prepare_keyring(rl.keyring_mut(), module, ¶ms)?; let args = vec![prepare_arg(notification)?]; debug!("Executing notification module {:?}", module_name); - let errors = worker::spawn(rl, module, ratelimit, args, ¶ms, rl.config().network.proxy, options); + let errors = worker::spawn(rl, module, ratelimit, args, ¶ms, rl.config().network.proxy, None, options); debug!("Notification module {:?} exited with {:?} errors", module_name, errors); Ok(errors) diff --git a/src/repl/mod.rs b/src/repl/mod.rs index 6bad8a5..99cbf78 100644 --- a/src/repl/mod.rs +++ b/src/repl/mod.rs @@ -82,6 +82,7 @@ pub fn run(config: &Config) -> Result<()> { let keyring = Vec::new(); let dns_config = Resolver::from_system_v4()?; let proxy = config.network.proxy; + let user_agent = config.network.user_agent.clone(); let cache_dir = paths::cache_dir()?; let psl = PslReader::open(&cache_dir)?; @@ -93,6 +94,7 @@ pub fn run(config: &Config) -> Result<()> { keyring, dns_config, proxy, + user_agent, options: HashMap::new(), blobs: Vec::new(), psl, diff --git a/src/worker.rs b/src/worker.rs index ade5f17..95cf14b 100644 --- a/src/worker.rs +++ b/src/worker.rs @@ -437,7 +437,15 @@ impl RatelimitEvent { } } -pub fn spawn(rl: &mut Shell, module: &Module, ratelimit: &mut Ratelimiter, args: Vec<(serde_json::Value, Option, Vec)>, params: &Params, proxy: Option, options: HashMap) -> usize { +pub fn spawn(rl: &mut Shell, + module: &Module, + ratelimit: &mut Ratelimiter, + args: Vec<(serde_json::Value, Option, Vec)>, + params: &Params, + proxy: Option, + user_agent: Option, + options: HashMap, +) -> usize { // This function hangs if args is empty, so return early if that's the case if args.is_empty() { return 0; @@ -463,6 +471,7 @@ pub fn spawn(rl: &mut Shell, module: &Module, ratelimit: &mut Ratelimiter, args: let tx = tx.clone(); let module = module.clone(); let keyring = keyring.clone(); + let user_agent = user_agent.clone(); let options = options.clone(); let signal_register = rl.signal_register().clone(); pool.execute(move || { @@ -476,7 +485,7 @@ pub fn spawn(rl: &mut Shell, module: &Module, ratelimit: &mut Ratelimiter, args: } tx.send(Event2::Start); - let event = match ipc::parent::run(module, &tx, arg, keyring, verbose, has_stdin, proxy, options, blobs) { + let event = match ipc::parent::run(module, &tx, arg, keyring, verbose, has_stdin, proxy, user_agent, options, blobs) { Ok(exit) => exit, Err(err) => ExitEvent::SetupFailed(err.to_string()), }; From f5660570d22a1929a32fac692fd0cfa511a9eae5 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 23 Oct 2021 14:03:12 +0200 Subject: [PATCH 08/55] Update dependencies --- Cargo.lock | 549 +++++++++++++++++++----------------------- Cargo.toml | 6 +- sn0int-std/Cargo.toml | 6 +- 3 files changed, 259 insertions(+), 302 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 426ff9c..4118860 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,9 +43,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf" +checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" [[package]] name = "approx" @@ -62,12 +62,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - [[package]] name = "as-slice" version = "0.1.5" @@ -105,9 +99,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.61" +version = "0.3.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01" +checksum = "091bcdf2da9950f96aa522681ce805e6857f6ca8df73833d35736ab2dc78e152" dependencies = [ "addr2line", "cc", @@ -137,6 +131,12 @@ dependencies = [ "byteorder", ] +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.12.3" @@ -173,8 +173,8 @@ dependencies = [ "lazycell", "log 0.4.14", "peeking_take_while", - "proc-macro2 1.0.29", - "quote 1.0.9", + "proc-macro2 1.0.30", + "quote 1.0.10", "regex", "rustc-hash", "shlex", @@ -183,21 +183,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" - -[[package]] -name = "bitvec" -version = "0.19.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "blake2" @@ -284,7 +272,7 @@ dependencies = [ "errno", "libc", "log 0.4.14", - "nix", + "nix 0.22.0", "pledge", "regex", "rustyline", @@ -299,9 +287,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" dependencies = [ "lazy_static", "memchr", @@ -316,9 +304,9 @@ checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" [[package]] name = "bumpalo" -version = "3.7.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" +checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c" [[package]] name = "byte-tools" @@ -369,9 +357,9 @@ checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" [[package]] name = "caps" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c088f2dddef283f86b023ab1ebe2301c653326834996458b2f48d29b804e9540" +checksum = "61bf7211aad104ce2769ec05efcdfabf85ee84ac92461d142f22cf8badd0e54c" dependencies = [ "errno", "libc", @@ -380,9 +368,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.70" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" +checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" [[package]] name = "cexpr" @@ -472,9 +460,9 @@ dependencies = [ [[package]] name = "clipboard-win" -version = "4.2.1" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4ea1881992efc993e4dc50a324cdbd03216e41bdc8385720ff47efc9bd2ca8" +checksum = "3db8340083d28acb43451166543b98c838299b7e0863621be53a338adceea0ed" dependencies = [ "error-code", "str-buf", @@ -553,9 +541,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" +checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3" dependencies = [ "core-foundation-sys", "libc", @@ -563,9 +551,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "cpufeatures" @@ -718,10 +706,10 @@ dependencies = [ "itoa", "matches", "phf", - "proc-macro2 1.0.29", - "quote 1.0.9", - "smallvec 1.6.1", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "smallvec 1.7.0", + "syn 1.0.80", ] [[package]] @@ -730,8 +718,8 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" dependencies = [ - "quote 1.0.9", - "syn 1.0.76", + "quote 1.0.10", + "syn 1.0.80", ] [[package]] @@ -754,34 +742,34 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.2.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377c9b002a72a0b2c1a18c62e2f3864bdfea4a015e3683a96e24aa45dd6c02d1" +checksum = "a19c6cedffdc8c03a3346d723eb20bd85a13362bb96dc2ac000842c6381ec7bf" dependencies = [ - "nix", + "nix 0.23.0", "winapi 0.3.9", ] [[package]] name = "curl" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003cb79c1c6d1c93344c7e1201bb51c2148f24ec2bd9c253709d6b2efb796515" +checksum = "aaa3b8db7f3341ddef15786d250106334d4a6c4b0ae4a46cd77082777d9849b9" dependencies = [ "curl-sys", "libc", "openssl-probe", "openssl-sys", "schannel", - "socket2 0.4.1", + "socket2 0.4.2", "winapi 0.3.9", ] [[package]] name = "curl-sys" -version = "0.4.45+curl-7.78.0" +version = "0.4.49+curl-7.79.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de9e5a72b1c744eb5dd20b2be4d7eb84625070bb5c4ab9b347b70464ab1e62eb" +checksum = "e0f44960aea24a786a46907b8824ebc0e66ca06bf4e4978408c7499620343483" dependencies = [ "cc", "libc", @@ -815,7 +803,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" dependencies = [ "data-encoding", - "syn 1.0.76", + "syn 1.0.80", ] [[package]] @@ -830,24 +818,23 @@ dependencies = [ [[package]] name = "der-oid-macro" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4cccf60bb98c0fca115a581f894aed0e43fa55bf289fdac5599bec440bb4fd6" +checksum = "c73af209b6a5dc8ca7cbaba720732304792cddc933cfea3d74509c2b1ef2f436" dependencies = [ - "nom 6.1.2", "num-bigint", "num-traits", - "syn 1.0.76", + "syn 1.0.80", ] [[package]] name = "der-parser" -version = "5.1.2" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d7ededb7525bb4114bc209685ce7894edc2965f4914312a1ea578a645a237f0" +checksum = "9807efb310ce4ea172924f3a69d82f9fd6c9c3a19336344591153e665b31c43e" dependencies = [ "der-oid-macro", - "nom 6.1.2", + "nom 7.0.0", "num-bigint", "num-traits", "rusticata-macros", @@ -860,10 +847,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df" dependencies = [ "convert_case", - "proc-macro2 1.0.29", - "quote 1.0.9", + "proc-macro2 1.0.30", + "quote 1.0.10", "rustc_version 0.3.3", - "syn 1.0.76", + "syn 1.0.80", ] [[package]] @@ -900,9 +887,9 @@ dependencies = [ [[package]] name = "diesel" -version = "1.4.7" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba51ca66f57261fd17cadf8b73e4775cc307d0521d855de3f5de91a8f074e0e" +checksum = "b28135ecf6b7d446b43e27e225622a038cc4e2930a1022f51cdb97ada19b8e4d" dependencies = [ "bitflags", "byteorder", @@ -919,9 +906,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", ] [[package]] @@ -1035,9 +1022,9 @@ checksum = "4dda717aa0325f3ebb1b5da2da97b56641e5cef86c55d7fec8158bc8aeb5ed19" [[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", ] @@ -1098,11 +1085,11 @@ dependencies = [ [[package]] name = "errno-dragonfly" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" dependencies = [ - "gcc", + "cc", "libc", ] @@ -1132,9 +1119,9 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", "synstructure", ] @@ -1169,9 +1156,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80edafed416a46fb378521624fab1cfa2eb514784fd8921adbe8a8d8321da811" +checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" dependencies = [ "cfg-if 1.0.0", "crc32fast", @@ -1251,12 +1238,6 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" -[[package]] -name = "funty" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" - [[package]] name = "futf" version = "0.1.4" @@ -1292,12 +1273,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "gcc" -version = "0.3.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" - [[package]] name = "generic-array" version = "0.9.1" @@ -1393,9 +1368,9 @@ dependencies = [ [[package]] name = "gif" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a668f699973d0f573d15749b7002a9ac9e1f9c6b220e7b165601334c173d8de" +checksum = "c3a7187e78088aead22ceedeee99779455b23fc231fe13ec443f99bb71694e5b" dependencies = [ "color_quant", "weezl", @@ -1528,9 +1503,9 @@ dependencies = [ "log 0.4.14", "mac", "markup5ever", - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", ] [[package]] @@ -1546,9 +1521,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" +checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" dependencies = [ "bytes 1.1.0", "fnv", @@ -1720,7 +1695,7 @@ version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "125e0ebb6905ef6f2a5017c9c5a25003bea213fcf8fb2fac5ad0e1d3c3495b53" dependencies = [ - "base64 0.10.1", + "base64 0.11.0", "image", "rustdct", "serde", @@ -1768,9 +1743,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if 1.0.0", ] @@ -1822,9 +1797,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.53" +version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4bf49d50e2961077d9c99f4b7997d770a1114f087c3c2e0069b36c13fc2979d" +checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" dependencies = [ "wasm-bindgen", ] @@ -1884,30 +1859,17 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" -[[package]] -name = "lexical-core" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" -dependencies = [ - "arrayvec", - "bitflags", - "cfg-if 1.0.0", - "ryu", - "static_assertions", -] - [[package]] name = "libc" -version = "0.2.101" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21" +checksum = "7b2f96d100e1cf1929e7719b7edb3b90ab5298072638fccd77be9ce942ecdfce" [[package]] name = "libloading" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a" +checksum = "c0cf036d15402bea3c5d4de17b3fce76b3e4a56ebc1f577be0e7a72f7c607cf0" dependencies = [ "cfg-if 1.0.0", "winapi 0.3.9", @@ -2119,9 +2081,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9753f12909fd8d923f75ae5c3258cae1ed3c8ec052e1b38c93c21a6d157f789c" dependencies = [ "migrations_internals", - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", ] [[package]] @@ -2151,9 +2113,9 @@ dependencies = [ [[package]] name = "minimal-lexical" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c835948974f68e0bd58636fc6c5b1fbff7b297e3046f11b3b3c18bbac012c6d" +checksum = "9c64630dcdd71f1a64c435f54885086a0de5d6a12d104d69b165fb7d5286d677" [[package]] name = "miniz_oxide" @@ -2230,9 +2192,9 @@ dependencies = [ [[package]] name = "mqtt-protocol" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28e75553120607736d0a248f483fb0682e0279bb9a6f30a7c76c56a9a6ac9ade" +checksum = "61fc413163352d530adf360d4114fb54bc98c8e80b6625e3bbb3cdde23269395" dependencies = [ "byteorder", "lazy_static", @@ -2294,14 +2256,27 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" dependencies = [ - "smallvec 1.6.1", + "smallvec 1.7.0", ] [[package]] name = "nix" -version = "0.22.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7555d6c7164cc913be1ce7f95cbecdabda61eb2ccd89008524af306fb7f5031" +checksum = "cf1e25ee6b412c2a1e3fcb6a4499a5c1bfe7f43e014bdce9a6b6666e5aa2d187" +dependencies = [ + "bitflags", + "cc", + "cfg-if 1.0.0", + "libc", + "memoffset 0.6.4", +] + +[[package]] +name = "nix" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f305c2c2e4c39a82f7bf0bf65fb557f9070ce06781d4f2454295cc34b1c43188" dependencies = [ "bitflags", "cc", @@ -2326,19 +2301,6 @@ dependencies = [ "version_check 0.9.3", ] -[[package]] -name = "nom" -version = "6.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2" -dependencies = [ - "bitvec", - "funty", - "lexical-core", - "memchr", - "version_check 0.9.3", -] - [[package]] name = "nom" version = "7.0.0" @@ -2472,18 +2434,18 @@ dependencies = [ [[package]] name = "object" -version = "0.26.2" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39f37e50073ccad23b6d09bcb5b263f4e76d3bb6038e4a3c08e52162ffa8abc2" +checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9" dependencies = [ "memchr", ] [[package]] name = "oid-registry" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6aae73e474f83beacd8ae2179e328e03d63d9223949d97e1b7c108059a34715" +checksum = "fe554cb2393bc784fd678c82c84cc0599c31ceadc7f03a594911f822cb8d1815" dependencies = [ "der-parser", ] @@ -2508,9 +2470,9 @@ dependencies = [ [[package]] name = "onig_sys" -version = "69.7.0" +version = "69.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fd9442a09e4fbd08d196ddf419b2c79a43c3a46c800320cc841d45c2449a240" +checksum = "5dd3eee045c84695b53b20255bb7317063df090b68e18bfac0abb6c39cf7f33e" dependencies = [ "bindgen", "cc", @@ -2561,9 +2523,9 @@ checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" [[package]] name = "openssl-sys" -version = "0.9.66" +version = "0.9.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1996d2d305e561b70d1ee0c53f1542833f4e1ac6ce9a6708b6ff2738ca67dc82" +checksum = "69df2d8dfc6ce3aaf44b40dec6f487d5a886516cf6879c49e98e0710f310a058" dependencies = [ "autocfg 1.0.1", "cc", @@ -2631,7 +2593,7 @@ dependencies = [ "instant", "libc", "redox_syscall 0.2.10", - "smallvec 1.6.1", + "smallvec 1.7.0", "winapi 0.3.9", ] @@ -2671,9 +2633,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "pem" -version = "0.8.3" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd56cbd21fea48d0c440b41cd69c589faacade08c992d9a54e471b79d0fd13eb" +checksum = "3f2373df5233932a893d3bc2c78a0bf3f6d12590a1edd546b4fbefcac32c5c0f" dependencies = [ "base64 0.13.0", "once_cell", @@ -2719,9 +2681,9 @@ checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", ] [[package]] @@ -2775,9 +2737,9 @@ dependencies = [ "phf_generator", "phf_shared", "proc-macro-hack", - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", ] [[package]] @@ -2791,9 +2753,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" +checksum = "10e2fcbb64ecbe64c8e040a386c3104d384583af58b956d870aaaf229df6e66d" [[package]] name = "pledge" @@ -2846,9 +2808,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 = "pq-sys" @@ -2872,9 +2834,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", "version_check 0.9.3", ] @@ -2884,8 +2846,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.29", - "quote 1.0.9", + "proc-macro2 1.0.30", + "quote 1.0.10", "version_check 0.9.3", ] @@ -2906,9 +2868,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.29" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d" +checksum = "edc3358ebc67bc8b7fa0c007f945b0b18226f78437d61bec735a9eb96b61ee70" dependencies = [ "unicode-xid 0.2.2", ] @@ -2931,9 +2893,9 @@ dependencies = [ [[package]] name = "publicsuffix" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac055aef7cc7a1caefbc65144be879e862467dcd9b8a8d57b64a13e7dce15d" +checksum = "292972edad6bbecc137ab84c5e36421a4a6c979ea31d3cc73540dd04315b33e1" dependencies = [ "byteorder", "hashbrown", @@ -2957,11 +2919,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" dependencies = [ - "proc-macro2 1.0.29", + "proc-macro2 1.0.30", ] [[package]] @@ -2975,12 +2937,6 @@ dependencies = [ "scheduled-thread-pool", ] -[[package]] -name = "radium" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8" - [[package]] name = "radix_trie" version = "0.1.6" @@ -3429,7 +3385,7 @@ dependencies = [ "indexmap", "pear", "percent-encoding 1.0.1", - "smallvec 1.6.1", + "smallvec 1.7.0", "state", "time", "unicode-xid 0.1.0", @@ -3444,7 +3400,7 @@ dependencies = [ "heapless", "num-traits", "pdqselect", - "smallvec 1.6.1", + "smallvec 1.7.0", ] [[package]] @@ -3501,11 +3457,11 @@ dependencies = [ [[package]] name = "rusticata-macros" -version = "3.2.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbee512c633ecabd4481c40111b6ded03ddd9ab10ba6caa5a74e14c889921ad" +checksum = "65c52377bb2288aa522a0c8208947fada1e0c76397f108cc08f57efe6077b50d" dependencies = [ - "nom 6.1.2", + "nom 7.0.0", ] [[package]] @@ -3548,10 +3504,10 @@ dependencies = [ "libc", "log 0.4.14", "memchr", - "nix", + "nix 0.22.0", "radix_trie 0.2.1", "scopeguard", - "smallvec 1.6.1", + "smallvec 1.7.0", "unicode-segmentation", "unicode-width", "utf8parse", @@ -3631,9 +3587,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.3.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467" +checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" dependencies = [ "bitflags", "core-foundation", @@ -3668,7 +3624,7 @@ dependencies = [ "phf_codegen", "precomputed-hash", "servo_arc", - "smallvec 1.6.1", + "smallvec 1.7.0", "thin-slice", ] @@ -3732,16 +3688,16 @@ version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" dependencies = [ - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", ] [[package]] name = "serde_json" -version = "1.0.67" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7f9e390c27c3c0ce8bc5d725f6e4d30a29d26659494aa4b17535f7522c5c950" +checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" dependencies = [ "itoa", "ryu", @@ -3821,9 +3777,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.6" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9204c41a1597a8c5af23c82d1c921cb01ec0a4c59e07a9c7306062829a3903f3" +checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" dependencies = [ "block-buffer 0.9.0", "cfg-if 1.0.0", @@ -3862,9 +3818,9 @@ checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" [[package]] name = "signature" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" +checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" [[package]] name = "siphasher" @@ -3874,9 +3830,9 @@ checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b" [[package]] name = "slab" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590" +checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" [[package]] name = "sloppy-rfc4880" @@ -3904,9 +3860,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" +checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "sn0int" @@ -3941,7 +3897,7 @@ dependencies = [ "log 0.4.14", "maplit", "md-5", - "nix", + "nix 0.23.0", "nude", "opener", "os-version", @@ -3956,15 +3912,15 @@ dependencies = [ "serde_json", "serde_urlencoded 0.7.0", "sha-1 0.9.8", - "sha2 0.9.6", + "sha2 0.9.8", "sha3", "shellwords", "sloppy-rfc4880", "sn0int-common", "sn0int-std", "structopt", - "strum", - "strum_macros", + "strum 0.22.0", + "strum_macros 0.22.0", "syscallz", "tempfile", "threadpool", @@ -4031,7 +3987,7 @@ dependencies = [ "failure", "geo", "hlua-badtouch", - "http 0.2.4", + "http 0.2.5", "image", "img_hash_median", "kamadak-exif", @@ -4041,7 +3997,7 @@ dependencies = [ "maxminddb", "mqtt-protocol", "pem", - "publicsuffix 2.1.0", + "publicsuffix 2.1.1", "rand 0.8.4", "regex", "rustls 0.18.1", @@ -4071,9 +4027,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad" +checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" dependencies = [ "libc", "winapi 0.3.9", @@ -4109,12 +4065,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3015a7d0a5fd5105c91c3710d42f9ccf0abfb287d62206484dcc67f9569a6483" -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "str-buf" version = "1.0.5" @@ -4138,12 +4088,13 @@ dependencies = [ [[package]] name = "string_cache" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ddb1139b5353f96e429e1a5e19fbaf663bddedaa06d1dbd49f82e352601209a" +checksum = "923f0f39b6267d37d23ce71ae7235602134b250ace715dd2c90421998ddac0c6" dependencies = [ "lazy_static", "new_debug_unreachable", + "parking_lot 0.11.2", "phf_shared", "precomputed-hash", "serde", @@ -4157,8 +4108,8 @@ checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97" dependencies = [ "phf_generator", "phf_shared", - "proc-macro2 1.0.29", - "quote 1.0.9", + "proc-macro2 1.0.30", + "quote 1.0.10", ] [[package]] @@ -4169,9 +4120,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.3.23" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf9d950ef167e25e0bdb073cf1d68e9ad2795ac826f2f3f59647817cf23c0bfa" +checksum = "40b9788f4202aa75c240ecc9c15c65185e6a39ccdeb0fd5d008b98825464c87c" dependencies = [ "clap", "lazy_static", @@ -4180,15 +4131,15 @@ dependencies = [ [[package]] name = "structopt-derive" -version = "0.4.16" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134d838a2c9943ac3125cf6df165eda53493451b719f3255b2a26b85f772d0ba" +checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck", "proc-macro-error", - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", ] [[package]] @@ -4197,6 +4148,12 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" +[[package]] +name = "strum" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e" + [[package]] name = "strum_macros" version = "0.21.1" @@ -4204,9 +4161,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" dependencies = [ "heck", - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", +] + +[[package]] +name = "strum_macros" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb" +dependencies = [ + "heck", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", ] [[package]] @@ -4234,24 +4203,24 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.76" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84" +checksum = "d010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194" dependencies = [ - "proc-macro2 1.0.29", - "quote 1.0.9", + "proc-macro2 1.0.30", + "quote 1.0.10", "unicode-xid 0.2.2", ] [[package]] name = "synstructure" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "474aaa926faa1603c40b7885a9eaea29b444d1cb2850cb7c0e37bb1a4182f4fa" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", "unicode-xid 0.2.2", ] @@ -4279,23 +4248,17 @@ dependencies = [ [[package]] name = "syscallz" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9591ec7f1441f3f3530c20384bf08af69981517b7337d49fb7ca1a5aca465a" +checksum = "d94a506596d31342f15e130c31b7356b12bd1e74d316af44ff8a2d47011f9a17" dependencies = [ "log 0.4.14", "pkg-config", "seccomp-sys", - "strum", - "strum_macros", + "strum 0.21.0", + "strum_macros 0.21.1", ] -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - [[package]] name = "tempfile" version = "3.2.0" @@ -4347,22 +4310,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.29" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.29" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", ] [[package]] @@ -4397,9 +4360,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.3.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338" +checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7" dependencies = [ "tinyvec_macros", ] @@ -4727,7 +4690,7 @@ dependencies = [ "base64 0.13.0", "byteorder", "bytes 1.1.0", - "http 0.2.4", + "http 0.2.5", "httparse", "input_buffer", "log 0.4.14", @@ -4785,9 +4748,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246f4c42e67e7a4e3c6106ff716a5d067d4132a642840b242e357e468a2a0085" +checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" [[package]] name = "unicode-normalization" @@ -4806,9 +4769,9 @@ checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" [[package]] name = "unicode-width" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" +checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" [[package]] name = "unicode-xid" @@ -4941,9 +4904,9 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasm-bindgen" -version = "0.2.76" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce9b1b516211d33767048e5d47fa2a381ed8b76fc48d2ce4aa39877f9f183e0" +checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -4951,53 +4914,53 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.76" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe8dc78e2326ba5f845f4b5bf548401604fa20b1dd1d365fb73b6c1d6364041" +checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" dependencies = [ "bumpalo", "lazy_static", "log 0.4.14", - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.76" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44468aa53335841d9d6b6c023eaab07c0cd4bddbcfdee3e2bb1e8d2cb8069fef" +checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" dependencies = [ - "quote 1.0.9", + "quote 1.0.10", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.76" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0195807922713af1e67dc66132c7328206ed9766af3858164fb583eedc25fbad" +checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" dependencies = [ - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn 1.0.76", + "proc-macro2 1.0.30", + "quote 1.0.10", + "syn 1.0.80", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.76" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdb075a845574a1fa5f09fd77e43f7747599301ea3417a9fbffdeedfc1f4a29" +checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" [[package]] name = "web-sys" -version = "0.3.53" +version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224b2f6b67919060055ef1a67807367c2066ed520c3862cc013d26cf893a783c" +checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" dependencies = [ "js-sys", "wasm-bindgen", @@ -5123,24 +5086,18 @@ dependencies = [ "winapi-build", ] -[[package]] -name = "wyz" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" - [[package]] name = "x509-parser" -version = "0.10.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fdb27e60230e9d42a67fc3893ed5273b3dc74b4173e29ac52da8084014778d9" +checksum = "ffc90836a84cb72e6934137b1504d0cae304ef5d83904beb0c8d773bbfe256ed" dependencies = [ "base64 0.13.0", "chrono", "data-encoding", "der-parser", "lazy_static", - "nom 6.1.2", + "nom 7.0.0", "oid-registry", "rusticata-macros", "thiserror", diff --git a/Cargo.toml b/Cargo.toml index 2c08756..519a73f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,8 +72,8 @@ semver = "1" bytes = "0.4" bytesize = "1.0" ipnetwork = "0.18" -strum = "0.21" -strum_macros = "0.21" +strum = "0.22" +strum_macros = "0.22" embedded-triple = "0.1.0" humansize = "1.1.0" @@ -93,7 +93,7 @@ os-version = "0.2" caps = "0.5" #syscallz = { path="../syscallz-rs" } syscallz = "0.16" -nix = "0.22" +nix = "0.23" [target.'cfg(target_os="openbsd")'.dependencies] pledge = "0.4" diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 07f1bc6..01f3375 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -27,13 +27,13 @@ ct-logs = "0.7" chrootable-https = "0.16" http = "0.2" bufstream = "0.1.4" -pem = "0.8" +pem = "1" url = "2.0" tungstenite = { version = "0.13", default-features = false } kuchiki = "0.8.0" maxminddb = "0.21" -x509-parser = "0.10" -der-parser = "5" +x509-parser = "0.12" +der-parser = "6" publicsuffix = { version="2", default-features=false } xml-rs = "0.8" geo = "0.18" From 850d628a933df75ff3a105cbc14238a15aef098f Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 23 Oct 2021 20:02:24 +0200 Subject: [PATCH 09/55] Release v0.23.0 --- Cargo.lock | 4 ++-- Cargo.toml | 4 ++-- sn0int-std/Cargo.toml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4118860..4455e8c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3866,7 +3866,7 @@ checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "sn0int" -version = "0.22.0" +version = "0.23.0" dependencies = [ "atty", "base64 0.13.0", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "sn0int-std" -version = "0.22.0" +version = "0.23.0" dependencies = [ "base64 0.13.0", "blake2 0.9.2", diff --git a/Cargo.toml b/Cargo.toml index 519a73f..e38d8ca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int" -version = "0.22.0" +version = "0.23.0" description = "Semi-automatic OSINT framework and package manager" authors = ["kpcyrd "] license = "GPL-3.0" @@ -33,7 +33,7 @@ sqlite-bundled = ["libsqlite3-sys/bundled"] [dependencies] sn0int-common = { version="0.13.0", path="sn0int-common" } -sn0int-std = { version="=0.22.0", path="sn0int-std" } +sn0int-std = { version="=0.23.0", path="sn0int-std" } rustyline = "9.0" log = "0.4" env_logger = "0.9" diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 01f3375..96b3bbb 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int-std" -version = "0.22.0" +version = "0.23.0" description = "sn0int - stdlib" authors = ["kpcyrd "] repository = "https://github.com/kpcyrd/sn0int" From 6e76c035df82fa64e19409efbfc2c67cdab4d28d Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 3 Dec 2021 00:43:41 +0100 Subject: [PATCH 10/55] Bump dependencies --- Cargo.lock | 348 ++++++++++++++++++++++++++++++----------------------- Cargo.toml | 4 +- 2 files changed, 197 insertions(+), 155 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4455e8c..aa31d80 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd" +checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ "gimli", ] @@ -34,18 +34,18 @@ dependencies = [ [[package]] name = "ansi_term" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ "winapi 0.3.9", ] [[package]] name = "anyhow" -version = "1.0.44" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" +checksum = "8b26702f315f53b6071259e15dd9d64528213b44d61de1ec926eca7715d62203" [[package]] name = "approx" @@ -99,9 +99,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.62" +version = "0.3.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "091bcdf2da9950f96aa522681ce805e6857f6ca8df73833d35736ab2dc78e152" +checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6" dependencies = [ "addr2line", "cc", @@ -173,7 +173,7 @@ dependencies = [ "lazycell", "log 0.4.14", "peeking_take_while", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", "regex", "rustc-hash", @@ -368,9 +368,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cexpr" @@ -403,7 +403,7 @@ dependencies = [ "num-integer", "num-traits", "serde", - "time", + "time 0.1.43", "winapi 0.3.9", ] @@ -434,9 +434,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.2.2" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10612c0ec0e0a1ff0e97980647cb058a6e7aedb913d01d009c406b8b7d0b26ee" +checksum = "fa66045b9cb23c2e9c1520732030608b02ee07e5cfaa5a521ec15ded7fa24c90" dependencies = [ "glob", "libc", @@ -445,9 +445,9 @@ dependencies = [ [[package]] name = "clap" -version = "2.33.3" +version = "2.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", @@ -508,7 +508,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80f6044740a4a516b8aac14c140cdf35c1a640b1bd6b98b6224e49143b2f1566" dependencies = [ "percent-encoding 2.1.0", - "time", + "time 0.1.43", ] [[package]] @@ -517,7 +517,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5" dependencies = [ - "time", + "time 0.1.43", "url 1.7.2", ] @@ -534,7 +534,7 @@ dependencies = [ "publicsuffix 1.5.6", "serde", "serde_json", - "time", + "time 0.1.43", "try_from", "url 1.7.2", ] @@ -566,9 +566,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" +checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836" dependencies = [ "cfg-if 1.0.0", ] @@ -706,10 +706,10 @@ dependencies = [ "itoa", "matches", "phf", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", "smallvec 1.7.0", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -719,7 +719,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" dependencies = [ "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -752,9 +752,9 @@ dependencies = [ [[package]] name = "curl" -version = "0.4.39" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaa3b8db7f3341ddef15786d250106334d4a6c4b0ae4a46cd77082777d9849b9" +checksum = "1bc6d233563261f8db6ffb83bbaad5a73837a6e6b28868e926337ebbdece0be3" dependencies = [ "curl-sys", "libc", @@ -767,9 +767,9 @@ dependencies = [ [[package]] name = "curl-sys" -version = "0.4.49+curl-7.79.1" +version = "0.4.51+curl-7.80.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0f44960aea24a786a46907b8824ebc0e66ca06bf4e4978408c7499620343483" +checksum = "d130987e6a6a34fe0889e1083022fa48cd90e6709a84be3fb8dd95801de5af20" dependencies = [ "cc", "libc", @@ -803,7 +803,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" dependencies = [ "data-encoding", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -824,7 +824,7 @@ checksum = "c73af209b6a5dc8ca7cbaba720732304792cddc933cfea3d74509c2b1ef2f436" dependencies = [ "num-bigint", "num-traits", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -834,7 +834,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9807efb310ce4ea172924f3a69d82f9fd6c9c3a19336344591153e665b31c43e" dependencies = [ "der-oid-macro", - "nom 7.0.0", + "nom 7.1.0", "num-bigint", "num-traits", "rusticata-macros", @@ -842,15 +842,15 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.16" +version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "rustc_version 0.3.3", - "syn 1.0.80", + "rustc_version 0.4.0", + "syn 1.0.82", ] [[package]] @@ -906,9 +906,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -1001,9 +1001,9 @@ dependencies = [ [[package]] name = "ed25519" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4620d40f6d2601794401d6dd95a5cf69b6c157852539470eeda433a99b3c0efc" +checksum = "74e1069e39f1454367eb2de793ed062fac4c35c2934b76a81d90dd9abcd28816" dependencies = [ "signature", ] @@ -1074,9 +1074,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa68f2fb9cae9d37c9b2b3584aba698a2e97f72d7aef7b9f7aa71d8b54ce46fe" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" dependencies = [ "errno-dragonfly", "libc", @@ -1119,9 +1119,9 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", "synstructure", ] @@ -1133,13 +1133,13 @@ checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" [[package]] name = "fd-lock" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8806dd91a06a7a403a8e596f9bfbfb34e469efbc363fc9c9713e79e26472e36" +checksum = "cfc110fe50727d46a428eed832df40affe9bf74d077cac1bf3f2718e823f14c5" dependencies = [ "cfg-if 1.0.0", "libc", - "winapi 0.3.9", + "windows-sys", ] [[package]] @@ -1378,9 +1378,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.25.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7" +checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" [[package]] name = "glob" @@ -1503,9 +1503,9 @@ dependencies = [ "log 0.4.14", "mac", "markup5ever", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -1581,7 +1581,7 @@ dependencies = [ "log 0.3.9", "mime 0.2.6", "num_cpus", - "time", + "time 0.1.43", "traitobject", "typeable", "unicase 1.4.2", @@ -1606,7 +1606,7 @@ dependencies = [ "log 0.4.14", "net2", "rustc_version 0.2.3", - "time", + "time 0.1.43", "tokio", "tokio-buf", "tokio-executor", @@ -1861,15 +1861,15 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.104" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2f96d100e1cf1929e7719b7edb3b90ab5298072638fccd77be9ce942ecdfce" +checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119" [[package]] name = "libloading" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cf036d15402bea3c5d4de17b3fce76b3e4a56ebc1f577be0e7a72f7c607cf0" +checksum = "afe203d669ec979b7128619bae5a63b7b42e9203c1b29146079ee05e2f604b52" dependencies = [ "cfg-if 1.0.0", "winapi 0.3.9", @@ -2081,9 +2081,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9753f12909fd8d923f75ae5c3258cae1ed3c8ec052e1b38c93c21a6d157f789c" dependencies = [ "migrations_internals", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -2113,9 +2113,9 @@ dependencies = [ [[package]] name = "minimal-lexical" -version = "0.1.4" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c64630dcdd71f1a64c435f54885086a0de5d6a12d104d69b165fb7d5286d677" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" @@ -2303,9 +2303,9 @@ dependencies = [ [[package]] name = "nom" -version = "7.0.0" +version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffd9d26838a953b4af82cbeb9f1592c6798916983959be223a7124e992742c1" +checksum = "1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109" dependencies = [ "memchr", "minimal-lexical", @@ -2344,9 +2344,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74e768dff5fb39a41b3bcd30bb25cf989706c90d028d1ad71971987aa309d535" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" dependencies = [ "autocfg 1.0.1", "num-integer", @@ -2503,9 +2503,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.36" +version = "0.10.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9facdb76fec0b73c406f125d44d86fdad818d66fef0531eec9233ca425ff4a" +checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -2523,9 +2523,9 @@ checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" [[package]] name = "openssl-sys" -version = "0.9.67" +version = "0.9.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69df2d8dfc6ce3aaf44b40dec6f487d5a886516cf6879c49e98e0710f310a058" +checksum = "7df13d165e607909b363a4757a6f133f8a818a74e9d3a98d09c6128e15fa4c73" dependencies = [ "autocfg 1.0.1", "cc", @@ -2541,7 +2541,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a8a1fed76ac765e39058ca106b6229a93c5a60292a1bd4b602ce2be11e1c020" dependencies = [ "anyhow", - "plist 1.2.1", + "plist 1.3.1", "uname", "winapi 0.3.9", ] @@ -2633,9 +2633,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "pem" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2373df5233932a893d3bc2c78a0bf3f6d12590a1edd546b4fbefcac32c5c0f" +checksum = "06673860db84d02a63942fa69cd9543f2624a5df3aea7f33173048fa7ad5cf1a" dependencies = [ "base64 0.13.0", "once_cell", @@ -2681,9 +2681,9 @@ checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -2737,9 +2737,9 @@ dependencies = [ "phf_generator", "phf_shared", "proc-macro-hack", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -2753,9 +2753,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10e2fcbb64ecbe64c8e040a386c3104d384583af58b956d870aaaf229df6e66d" +checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f" [[package]] name = "pledge" @@ -2782,15 +2782,15 @@ dependencies = [ [[package]] name = "plist" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38d026d73eeaf2ade76309d0c65db5a35ecf649e3cec428db316243ea9d6711" +checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225" dependencies = [ "base64 0.13.0", - "chrono", "indexmap", "line-wrap", "serde", + "time 0.3.5", "xml-rs", ] @@ -2808,9 +2808,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ca011bd0129ff4ae15cd04c4eef202cadf6c51c21e47aba319b4e0501db741" +checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" [[package]] name = "pq-sys" @@ -2834,9 +2834,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", "version_check 0.9.3", ] @@ -2846,7 +2846,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", "version_check 0.9.3", ] @@ -2868,18 +2868,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.30" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc3358ebc67bc8b7fa0c007f945b0b18226f78437d61bec735a9eb96b61ee70" +checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" dependencies = [ "unicode-xid 0.2.2", ] [[package]] name = "psl-types" -version = "2.0.7" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b398073e7cdd6f05934389a8f5961e3aabfa66675b6f440df4e2c793d51a4f" +checksum = "4af8f675df9e68626b5059f8909ae261b8f5c3e8ab14813ad7f6cc7a134dcafb" [[package]] name = "publicsuffix" @@ -2923,7 +2923,7 @@ version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" dependencies = [ - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", ] [[package]] @@ -3268,7 +3268,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded 0.5.5", - "time", + "time 0.1.43", "tokio", "tokio-executor", "tokio-io", @@ -3315,7 +3315,7 @@ dependencies = [ "rocket_codegen", "rocket_http", "state", - "time", + "time 0.1.43", "toml 0.4.10", "version_check 0.9.3", "yansi", @@ -3387,15 +3387,15 @@ dependencies = [ "percent-encoding 1.0.1", "smallvec 1.7.0", "state", - "time", + "time 0.1.43", "unicode-xid 0.1.0", ] [[package]] name = "rstar" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce61d743ebe516592df4dd542dfe823577b811299f7bee1106feb1bbb993dbac" +checksum = "3a45c0e8804d37e4d97e55c6f258bc9ad9c5ee7b07437009dd152d764949a27c" dependencies = [ "heapless", "num-traits", @@ -3426,11 +3426,11 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 0.11.0", + "semver 1.0.4", ] [[package]] @@ -3461,7 +3461,7 @@ version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65c52377bb2288aa522a0c8208947fada1e0c76397f108cc08f57efe6077b50d" dependencies = [ - "nom 7.0.0", + "nom 7.1.0", ] [[package]] @@ -3490,6 +3490,12 @@ dependencies = [ "webpki", ] +[[package]] +name = "rustversion" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088" + [[package]] name = "rustyline" version = "9.0.0" @@ -3516,9 +3522,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568" [[package]] name = "safemem" @@ -3634,16 +3640,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ - "semver-parser 0.7.0", -] - -[[package]] -name = "semver" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser 0.10.2", + "semver-parser", ] [[package]] @@ -3658,15 +3655,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest", -] - [[package]] name = "separator" version = "0.4.1" @@ -3688,16 +3676,16 @@ version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" dependencies = [ - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] name = "serde_json" -version = "1.0.68" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" +checksum = "d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527" dependencies = [ "itoa", "ryu", @@ -3919,8 +3907,8 @@ dependencies = [ "sn0int-common", "sn0int-std", "structopt", - "strum 0.22.0", - "strum_macros 0.22.0", + "strum 0.23.0", + "strum_macros 0.23.1", "syscallz", "tempfile", "threadpool", @@ -3935,7 +3923,7 @@ name = "sn0int-common" version = "0.13.0" dependencies = [ "anyhow", - "nom 7.0.0", + "nom 7.1.0", "rocket_failure_errors", "serde", ] @@ -4108,7 +4096,7 @@ checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97" dependencies = [ "phf_generator", "phf_shared", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", ] @@ -4137,9 +4125,9 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck", "proc-macro-error", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -4150,9 +4138,9 @@ checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" [[package]] name = "strum" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e" +checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb" [[package]] name = "strum_macros" @@ -4161,21 +4149,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" dependencies = [ "heck", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] name = "strum_macros" -version = "0.22.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb" +checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38" dependencies = [ "heck", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "rustversion", + "syn 1.0.82", ] [[package]] @@ -4203,11 +4192,11 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.80" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194" +checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59" dependencies = [ - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", "unicode-xid 0.2.2", ] @@ -4218,9 +4207,9 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", "unicode-xid 0.2.2", ] @@ -4323,9 +4312,9 @@ version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", ] [[package]] @@ -4358,11 +4347,21 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "time" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad" +dependencies = [ + "itoa", + "libc", +] + [[package]] name = "tinyvec" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" dependencies = [ "tinyvec_macros", ] @@ -4921,9 +4920,9 @@ dependencies = [ "bumpalo", "lazy_static", "log 0.4.14", - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", "wasm-bindgen-shared", ] @@ -4943,9 +4942,9 @@ version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" dependencies = [ - "proc-macro2 1.0.30", + "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.80", + "syn 1.0.82", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5067,6 +5066,49 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82ca39602d5cbfa692c4b67e3bcbb2751477355141c1ed434c94da4186836ff6" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52695a41e536859d5308cc613b4a022261a274390b25bd29dfff4bf08505f3c2" + +[[package]] +name = "windows_i686_gnu" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f54725ac23affef038fecb177de6c9bf065787c2f432f79e3c373da92f3e1d8a" + +[[package]] +name = "windows_i686_msvc" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d5158a43cc43623c0729d1ad6647e62fa384a3d135fd15108d37c683461f64" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc31f409f565611535130cfe7ee8e6655d3fa99c1c61013981e491921b5ce954" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f2b8c7cbd3bfdddd9ab98769f9746a7fad1bca236554cd032b78d768bc0e89f" + [[package]] name = "winreg" version = "0.6.2" @@ -5097,7 +5139,7 @@ dependencies = [ "data-encoding", "der-parser", "lazy_static", - "nom 7.0.0", + "nom 7.1.0", "oid-registry", "rusticata-macros", "thiserror", diff --git a/Cargo.toml b/Cargo.toml index e38d8ca..a23718d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,8 +72,8 @@ semver = "1" bytes = "0.4" bytesize = "1.0" ipnetwork = "0.18" -strum = "0.22" -strum_macros = "0.22" +strum = "0.23" +strum_macros = "0.23" embedded-triple = "0.1.0" humansize = "1.1.0" From 52891cf6b144a9803d0d204d61ed5069825f293e Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 3 Dec 2021 00:52:29 +0100 Subject: [PATCH 11/55] Fix compile warning about dead code --- src/args.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/args.rs b/src/args.rs index 018179f..8f4aa8a 100644 --- a/src/args.rs +++ b/src/args.rs @@ -131,7 +131,7 @@ pub struct Run { #[derive(Debug, StructOpt)] pub struct Sandbox { /// This value is only used for process listings - label: String, + _label: String, } #[derive(Debug, StructOpt)] From af021cb6bef1ee88f6b0b89670982636bbbee44f Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 3 Dec 2021 01:05:25 +0100 Subject: [PATCH 12/55] Allow invoking `sn0int autonoscope` and `sn0int autoscope` from cli --- src/args.rs | 4 ++++ src/cmd/autonoscope_cmd.rs | 8 +++++--- src/cmd/autoscope_cmd.rs | 15 ++++++++++----- src/main.rs | 2 ++ src/shell/mod.rs | 4 ++-- 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/args.rs b/src/args.rs index 8f4aa8a..061ce5c 100644 --- a/src/args.rs +++ b/src/args.rs @@ -66,6 +66,10 @@ pub enum SubCommand { /// Exclude entities from scope #[structopt(name="noscope")] Noscope(cmd::noscope_cmd::Args), + /// Manage autoscope rules + Autoscope(cmd::autoscope_cmd::Args), + /// Manage autonoscope rules + Autonoscope(cmd::autonoscope_cmd::Args), /// Manage workspaces #[structopt(name="workspace")] Workspace(cmd::workspace_cmd::Args), diff --git a/src/cmd/autonoscope_cmd.rs b/src/cmd/autonoscope_cmd.rs index b58f131..629013f 100644 --- a/src/cmd/autonoscope_cmd.rs +++ b/src/cmd/autonoscope_cmd.rs @@ -1,6 +1,7 @@ use crate::errors::*; use crate::autonoscope; +use crate::cmd::Cmd; use crate::fmt::colors::*; use crate::shell::Shell; use std::fmt::Write; @@ -65,7 +66,8 @@ pub fn run_with_scope_param(rl: &mut Shell, args: Args, scoped: bool) -> Result< } } -pub fn run(rl: &mut Shell, args: &[String]) -> Result<()> { - let args = Args::from_iter_safe(args)?; - run_with_scope_param(rl, args, false) +impl Cmd for Args { + fn run(self, rl: &mut Shell) -> Result<()> { + run_with_scope_param(rl, self, false) + } } diff --git a/src/cmd/autoscope_cmd.rs b/src/cmd/autoscope_cmd.rs index 6ef9c49..2e6f734 100644 --- a/src/cmd/autoscope_cmd.rs +++ b/src/cmd/autoscope_cmd.rs @@ -1,13 +1,18 @@ use crate::errors::*; +use crate::cmd::Cmd; use crate::cmd::autonoscope_cmd; use crate::shell::Shell; use structopt::StructOpt; +#[derive(Debug, StructOpt)] +pub struct Args { + #[structopt(flatten)] + args: autonoscope_cmd::Args, +} -pub type Args = autonoscope_cmd::Args; - -pub fn run(rl: &mut Shell, args: &[String]) -> Result<()> { - let args = Args::from_iter_safe(args)?; - autonoscope_cmd::run_with_scope_param(rl, args, true) +impl Cmd for Args { + fn run(self, rl: &mut Shell) -> Result<()> { + autonoscope_cmd::run_with_scope_param(rl, self.args, true) + } } diff --git a/src/main.rs b/src/main.rs index 031244e..0f8752e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -131,6 +131,8 @@ fn run() -> Result<()> { Some(SubCommand::Activity(activity)) => run_cmd(&args, activity, &config), Some(SubCommand::Scope(scope)) => run_cmd(&args, scope, &config), Some(SubCommand::Noscope(noscope)) => run_cmd(&args, noscope, &config), + Some(SubCommand::Autoscope(autoscope)) => run_cmd(&args, autoscope, &config), + Some(SubCommand::Autonoscope(autonoscope)) => run_cmd(&args, autonoscope, &config), Some(SubCommand::Workspace(workspace)) => workspace.run(&config), Some(SubCommand::Fsck(fsck)) => run_cmd(&args, fsck, &config), Some(SubCommand::Export(export)) => run_cmd(&args, export, &config), diff --git a/src/shell/mod.rs b/src/shell/mod.rs index e5e3d40..20329ca 100644 --- a/src/shell/mod.rs +++ b/src/shell/mod.rs @@ -496,8 +496,8 @@ pub fn run_once(rl: &mut Shell) -> Result { match line { Some((Command::Activity, args)) => cmd::(rl, &args)?, Some((Command::Add, args)) => cmd::(rl, &args)?, - Some((Command::Autonoscope, args)) => autonoscope_cmd::run(rl, &args)?, - Some((Command::Autoscope, args)) => autoscope_cmd::run(rl, &args)?, + Some((Command::Autonoscope, args)) => cmd::(rl, &args)?, + Some((Command::Autoscope, args)) => cmd::(rl, &args)?, Some((Command::Back, _)) => if rl.take_module().is_none() { return Ok(true); }, From 5bca5677b6e0c1ccafbfcc9a1854df77bc4a7ba3 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 3 Dec 2021 04:11:53 +0100 Subject: [PATCH 13/55] Add rescope command to run autonoscope rules on existing db --- src/args.rs | 2 + src/autonoscope/domain.rs | 26 ++++++ src/autonoscope/ip.rs | 37 +++++++-- src/autonoscope/mod.rs | 22 ++++- src/autonoscope/url.rs | 6 ++ src/cmd/mod.rs | 1 + src/cmd/rescope_cmd.rs | 169 ++++++++++++++++++++++++++++++++++++++ src/cmd/run_cmd.rs | 2 +- src/db/mod.rs | 12 ++- src/filters.rs | 5 ++ src/main.rs | 1 + src/models/account.rs | 8 ++ src/models/breach.rs | 8 ++ src/models/cryptoaddr.rs | 8 ++ src/models/device.rs | 8 ++ src/models/domain.rs | 8 ++ src/models/email.rs | 8 ++ src/models/image.rs | 8 ++ src/models/ipaddr.rs | 8 ++ src/models/mod.rs | 2 + src/models/netblock.rs | 8 ++ src/models/network.rs | 8 ++ src/models/phonenumber.rs | 8 ++ src/models/port.rs | 8 ++ src/models/subdomain.rs | 8 ++ src/models/url.rs | 8 ++ src/shell/mod.rs | 19 +++-- 27 files changed, 399 insertions(+), 17 deletions(-) create mode 100644 src/cmd/rescope_cmd.rs diff --git a/src/args.rs b/src/args.rs index 061ce5c..5e4f37b 100644 --- a/src/args.rs +++ b/src/args.rs @@ -70,6 +70,8 @@ pub enum SubCommand { Autoscope(cmd::autoscope_cmd::Args), /// Manage autonoscope rules Autonoscope(cmd::autonoscope_cmd::Args), + /// Rescope all entities based on autonoscope rules + Rescope(cmd::rescope_cmd::Args), /// Manage workspaces #[structopt(name="workspace")] Workspace(cmd::workspace_cmd::Args), diff --git a/src/autonoscope/domain.rs b/src/autonoscope/domain.rs index 359523a..90efce9 100644 --- a/src/autonoscope/domain.rs +++ b/src/autonoscope/domain.rs @@ -41,6 +41,13 @@ impl TryFrom for DomainRule { } } +impl AutoRule for DomainRule { + #[inline] + fn matches(&self, domain: &Domain) -> Result { + self.matches(domain.value.as_str()) + } +} + impl AutoRule for DomainRule { #[inline] fn matches(&self, domain: &NewDomain) -> Result { @@ -48,6 +55,13 @@ impl AutoRule for DomainRule { } } +impl AutoRule for DomainRule { + #[inline] + fn matches(&self, domain: &Subdomain) -> Result { + self.matches(domain.value.as_str()) + } +} + impl AutoRule for DomainRule { #[inline] fn matches(&self, domain: &NewSubdomain) -> Result { @@ -55,6 +69,18 @@ impl AutoRule for DomainRule { } } +impl AutoRule for DomainRule { + #[inline] + fn matches(&self, url: &Url) -> Result { + let url = url.value.parse::()?; + if let Some(domain) = url.domain() { + self.matches(domain) + } else { + Ok(false) + } + } +} + impl AutoRule for DomainRule { #[inline] fn matches(&self, url: &NewUrl) -> Result { diff --git a/src/autonoscope/ip.rs b/src/autonoscope/ip.rs index 8aaf8d3..cd73d06 100644 --- a/src/autonoscope/ip.rs +++ b/src/autonoscope/ip.rs @@ -36,12 +36,25 @@ impl TryFrom for IpRule { } } +impl AutoRule for IpRule { + fn matches(&self, ipaddr: &IpAddr) -> Result { + self.matches(ipaddr.value.as_str()) + } +} + impl AutoRule for IpRule { fn matches(&self, ipaddr: &NewIpAddr) -> Result { self.matches(ipaddr.value.as_str()) } } +impl AutoRule for IpRule { + fn matches(&self, port: &Port) -> Result { + let addr = port.value.parse::()?; + self.matches(&addr.ip()) + } +} + impl AutoRule for IpRule { fn matches(&self, port: &NewPort) -> Result { let addr = port.value.parse::()?; @@ -49,15 +62,25 @@ impl AutoRule for IpRule { } } +fn match_netblock_str(network: &IpNetwork, netblock: &str) -> Result { + let range = netblock.parse::()?; + + if network.prefix() <= range.prefix() { + Ok(network.contains(range.ip())) + } else { + Ok(false) + } +} + +impl AutoRule for IpRule { + fn matches(&self, netblock: &Netblock) -> Result { + match_netblock_str(&self.network, &netblock.value) + } +} + impl AutoRule for IpRule { fn matches(&self, netblock: &NewNetblock) -> Result { - let range = netblock.value.parse::()?; - - if self.network.prefix() <= range.prefix() { - Ok(self.network.contains(range.ip())) - } else { - Ok(false) - } + match_netblock_str(&self.network, &netblock.value) } } diff --git a/src/autonoscope/mod.rs b/src/autonoscope/mod.rs index f655c36..90cd5e0 100644 --- a/src/autonoscope/mod.rs +++ b/src/autonoscope/mod.rs @@ -47,6 +47,18 @@ fn sort_precision_desc(a: &T, b: &T) -> Ordering { } impl RuleSet { + pub fn domains(&self) -> &[Rule] { + &self.domains + } + + pub fn ips(&self) -> &[Rule] { + &self.ips + } + + pub fn urls(&self) -> &[Rule] { + &self.urls + } + pub fn load(db: &DatabaseSock) -> Result { use crate::schema::autonoscope::dsl::*; let rules = autonoscope.load::(db)?; @@ -143,6 +155,14 @@ impl RuleSet { rules } + pub fn is_empty(&self) -> bool { + self.domains.is_empty() && self.ips.is_empty() && self.urls.is_empty() + } + + pub fn len(&self) -> usize { + self.domains.len() + self.ips.len() + self.urls.len() + } + #[inline] fn push_rules_display(output: &mut Vec<(&'static str, String, bool)>, rules: &[Rule]) { for rule in rules { @@ -238,7 +258,7 @@ pub trait RulePrecision { #[derive(Debug, PartialEq)] pub struct Rule { rule: T, - scoped: bool, + pub scoped: bool, } impl Rule { diff --git a/src/autonoscope/url.rs b/src/autonoscope/url.rs index d53b2e5..d07c278 100644 --- a/src/autonoscope/url.rs +++ b/src/autonoscope/url.rs @@ -47,6 +47,12 @@ impl TryFrom<&str> for UrlRule { } // TODO: there is no way to write a rule that matches all urls +impl AutoRule for UrlRule { + fn matches(&self, url: &Url) -> Result { + self.matches(url.value.as_str()) + } +} + impl AutoRule for UrlRule { fn matches(&self, url: &NewUrl) -> Result { self.matches(url.value.as_str()) diff --git a/src/cmd/mod.rs b/src/cmd/mod.rs index 6e71033..3f402d6 100644 --- a/src/cmd/mod.rs +++ b/src/cmd/mod.rs @@ -32,6 +32,7 @@ pub mod keyring_cmd; pub mod noscope_cmd; pub mod notify_cmd; pub mod pkg_cmd; +pub mod rescope_cmd; pub mod set_cmd; pub mod scope_cmd; pub mod stats_cmd; diff --git a/src/cmd/rescope_cmd.rs b/src/cmd/rescope_cmd.rs new file mode 100644 index 0000000..1822df2 --- /dev/null +++ b/src/cmd/rescope_cmd.rs @@ -0,0 +1,169 @@ +use crate::errors::*; + +use crate::autonoscope::AutoRule; +use crate::cmd::Cmd; +use crate::db::Database; +use crate::filters::Filter; +use crate::shell::Shell; +use std::fmt; +use structopt::StructOpt; +use structopt::clap::AppSettings; +use crate::models::*; +use crate::utils; +use crate::term; + +#[derive(Debug, StructOpt)] +#[structopt(global_settings = &[AppSettings::ColoredHelp])] +pub struct Args { + #[structopt(short, long)] + interactive: bool, + #[structopt(short="y", long)] + auto_confirm: bool, + #[structopt(short="n", long)] + dry_run: bool, +} + +enum Entity { + Domain(Domain), + Subdomain(Subdomain), + IpAddr(IpAddr), + Url(Url), + Port(Port), + Netblock(Netblock), +} + +impl Entity { + fn set_scoped(&self, db: &Database, value: bool) -> Result<()> { + match self { + Entity::Domain(entity) => entity.set_scoped(db, value), + Entity::Subdomain(entity) => entity.set_scoped(db, value), + Entity::IpAddr(entity) => entity.set_scoped(db, value), + Entity::Url(entity) => entity.set_scoped(db, value), + Entity::Port(entity) => entity.set_scoped(db, value), + Entity::Netblock(entity) => entity.set_scoped(db, value), + } + } +} + +fn rescope_to_queue(update_queue: &mut Vec<(Entity, bool)>, db: &Database, interactive: bool, matches_rule: F1, wrap: F2) -> Result<()> + where + T: Model + Scopable + fmt::Debug, + F1: Fn(&T) -> Result>, + F2: Fn(T) -> Entity, +{ + let any_filter = Filter::any(); + let entities = db.filter::(&any_filter)?; + + for entity in entities { + let currently_scoped = entity.scoped(); + debug!("rescoping entity: {:?}", entity); + + if let Some(should_be) = matches_rule(&entity)? { + if currently_scoped != should_be { + let prefix = if should_be { + "\x1b[1m[\x1b[32m+\x1b[0;1m]\x1b[0m" + } else { + "\x1b[1m[\x1b[31m-\x1b[0;1m]\x1b[0m" + }; + + println!("{} updating entity {:?} => {:?}: {:?}", prefix, currently_scoped, should_be, entity); + if interactive && !utils::yes_else_no("Update this entity?")? { + continue; + } + + update_queue.push((wrap(entity), should_be)); + } + } + } + + Ok(()) +} + +impl Cmd for Args { + fn run(self, rl: &mut Shell) -> Result<()> { + let rules = rl.db().autonoscope(); + term::success(&format!("Loaded {} rules", rules.len())); + + let mut update_queue = Vec::new(); + + rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + for rule in rules.domains() { + if rule.matches(entity.value.as_str())? { + return Ok(Some(rule.scoped)); + } + } + Ok(None) + }, Entity::Domain)?; + rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + for rule in rules.domains() { + if rule.matches(entity.value.as_str())? { + return Ok(Some(rule.scoped)); + } + } + Ok(None) + }, Entity::Subdomain)?; + + rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + for rule in rules.ips() { + if rule.matches(entity)? { + return Ok(Some(rule.scoped)); + } + } + Ok(None) + }, Entity::IpAddr)?; + + rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + for rule in rules.domains() { + if rule.matches(entity)? { + return Ok(Some(rule.scoped)); + } + } + for rule in rules.urls() { + if rule.matches(entity)? { + return Ok(Some(rule.scoped)); + } + } + Ok(None) + }, Entity::Url)?; + rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + for rule in rules.ips() { + if rule.matches(entity)? { + return Ok(Some(rule.scoped)); + } + } + Ok(None) + }, Entity::Port)?; + rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + for rule in rules.ips() { + if rule.matches(entity)? { + return Ok(Some(rule.scoped)); + } + } + Ok(None) + }, Entity::Netblock)?; + + if update_queue.is_empty() { + term::success("Nothing has changed, not updating database"); + } else { + let confirm = if self.dry_run { + false + } else if self.auto_confirm { + true + } else { + utils::no_else_yes(&format!("Apply {} changes to scope now?", update_queue.len()))? + }; + + if confirm { + term::info(&format!("Applying now: {} changes", update_queue.len())); + + for (update, value) in update_queue { + update.set_scoped(rl.db(), value)?; + } + } else { + term::info("Database not updated"); + } + } + + Ok(()) + } +} diff --git a/src/cmd/run_cmd.rs b/src/cmd/run_cmd.rs index e25335c..80223cd 100644 --- a/src/cmd/run_cmd.rs +++ b/src/cmd/run_cmd.rs @@ -71,7 +71,7 @@ impl<'a> Params<'a> { pub fn get_proxy(&self, rl: &Shell) -> Option { if self.proxy.is_some() { - self.proxy.clone() + self.proxy } else { rl.config().network.proxy } diff --git a/src/db/mod.rs b/src/db/mod.rs index 4d676a4..2a2bf5c 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -164,6 +164,11 @@ impl Database { self.autonoscope.rules() } + #[inline(always)] + pub fn autonoscope(&self) -> &RuleSet { + &self.autonoscope + } + /// Returns true if we didn't have this value yet pub fn insert_generic(&self, object: Insert) -> Result> { let scoped = self.autonoscope.matches(&object)?; @@ -460,6 +465,11 @@ impl Filter { } } + #[inline] + pub fn any() -> Filter { + Filter::new("1") + } + fn escape(value: &str) -> String { let mut out = String::from("'"); for c in value.chars() { @@ -522,7 +532,7 @@ impl Filter { if args.is_empty() { debug!("Using filter with no condition"); - return Ok(Filter::new("1")); + return Ok(Filter::any()); } Self::parse(args) diff --git a/src/filters.rs b/src/filters.rs index 24c753c..28446d1 100644 --- a/src/filters.rs +++ b/src/filters.rs @@ -56,6 +56,11 @@ pub struct Filter { } impl Filter { + #[inline] + pub fn any() -> db::Filter { + db::Filter::any() + } + pub fn parse_optional(&self) -> Result { db::Filter::parse_optional(&self.args) } diff --git a/src/main.rs b/src/main.rs index 0f8752e..7f0f52d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -133,6 +133,7 @@ fn run() -> Result<()> { Some(SubCommand::Noscope(noscope)) => run_cmd(&args, noscope, &config), Some(SubCommand::Autoscope(autoscope)) => run_cmd(&args, autoscope, &config), Some(SubCommand::Autonoscope(autonoscope)) => run_cmd(&args, autonoscope, &config), + Some(SubCommand::Rescope(rescope)) => run_cmd(&args, rescope, &config), Some(SubCommand::Workspace(workspace)) => workspace.run(&config), Some(SubCommand::Fsck(fsck)) => run_cmd(&args, fsck, &config), Some(SubCommand::Export(export)) => run_cmd(&args, export, &config), diff --git a/src/models/account.rs b/src/models/account.rs index e9c7b30..47990f5 100644 --- a/src/models/account.rs +++ b/src/models/account.rs @@ -115,6 +115,14 @@ impl Scopable for Account { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::accounts::dsl::*; + diesel::update(accounts.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::accounts::dsl::*; diff --git a/src/models/breach.rs b/src/models/breach.rs index 8657299..efb5a74 100644 --- a/src/models/breach.rs +++ b/src/models/breach.rs @@ -94,6 +94,14 @@ impl Scopable for Breach { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::breaches::dsl::*; + diesel::update(breaches.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::breaches::dsl::*; diff --git a/src/models/cryptoaddr.rs b/src/models/cryptoaddr.rs index 9cc3368..25286e7 100644 --- a/src/models/cryptoaddr.rs +++ b/src/models/cryptoaddr.rs @@ -113,6 +113,14 @@ impl Scopable for CryptoAddr { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::cryptoaddrs::dsl::*; + diesel::update(cryptoaddrs.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::cryptoaddrs::dsl::*; diff --git a/src/models/device.rs b/src/models/device.rs index b3b674f..0074c5d 100644 --- a/src/models/device.rs +++ b/src/models/device.rs @@ -99,6 +99,14 @@ impl Scopable for Device { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::devices::dsl::*; + diesel::update(devices.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::devices::dsl::*; diff --git a/src/models/domain.rs b/src/models/domain.rs index e3c167c..1c8f2b2 100644 --- a/src/models/domain.rs +++ b/src/models/domain.rs @@ -94,6 +94,14 @@ impl Scopable for Domain { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::domains::dsl::*; + diesel::update(domains.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::domains::dsl::*; diff --git a/src/models/email.rs b/src/models/email.rs index 5474d5b..efda038 100644 --- a/src/models/email.rs +++ b/src/models/email.rs @@ -96,6 +96,14 @@ impl Scopable for Email { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::emails::dsl::*; + diesel::update(emails.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::emails::dsl::*; diff --git a/src/models/image.rs b/src/models/image.rs index 349f545..872d58f 100644 --- a/src/models/image.rs +++ b/src/models/image.rs @@ -116,6 +116,14 @@ impl Scopable for Image { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::images::dsl::*; + diesel::update(images.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::images::dsl::*; diff --git a/src/models/ipaddr.rs b/src/models/ipaddr.rs index ba58635..4bad2e7 100644 --- a/src/models/ipaddr.rs +++ b/src/models/ipaddr.rs @@ -109,6 +109,14 @@ impl Scopable for IpAddr { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::ipaddrs::dsl::*; + diesel::update(ipaddrs.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::ipaddrs::dsl::*; diff --git a/src/models/mod.rs b/src/models/mod.rs index d618646..a91508b 100644 --- a/src/models/mod.rs +++ b/src/models/mod.rs @@ -243,6 +243,8 @@ pub trait Model: Sized { pub trait Scopable: Model { fn scoped(&self) -> bool; + fn set_scoped(&self, _db: &Database, _value: bool) -> Result<()>; + fn scope(db: &Database, filter: &Filter) -> Result; fn noscope(db: &Database, filter: &Filter) -> Result; diff --git a/src/models/netblock.rs b/src/models/netblock.rs index bc3e91b..d48e2c8 100644 --- a/src/models/netblock.rs +++ b/src/models/netblock.rs @@ -98,6 +98,14 @@ impl Scopable for Netblock { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::netblocks::dsl::*; + diesel::update(netblocks.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::netblocks::dsl::*; diff --git a/src/models/network.rs b/src/models/network.rs index 32d005b..5bc9ed2 100644 --- a/src/models/network.rs +++ b/src/models/network.rs @@ -97,6 +97,14 @@ impl Scopable for Network { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::networks::dsl::*; + diesel::update(networks.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::networks::dsl::*; diff --git a/src/models/phonenumber.rs b/src/models/phonenumber.rs index d29f043..a812cb5 100644 --- a/src/models/phonenumber.rs +++ b/src/models/phonenumber.rs @@ -105,6 +105,14 @@ impl Scopable for PhoneNumber { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::phonenumbers::dsl::*; + diesel::update(phonenumbers.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::phonenumbers::dsl::*; diff --git a/src/models/port.rs b/src/models/port.rs index a01e9d4..2da531c 100644 --- a/src/models/port.rs +++ b/src/models/port.rs @@ -106,6 +106,14 @@ impl Scopable for Port { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::ports::dsl::*; + diesel::update(ports.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::ports::dsl::*; diff --git a/src/models/subdomain.rs b/src/models/subdomain.rs index 96ae8a4..b2daf47 100644 --- a/src/models/subdomain.rs +++ b/src/models/subdomain.rs @@ -98,6 +98,14 @@ impl Scopable for Subdomain { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::subdomains::dsl::*; + diesel::update(subdomains.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::subdomains::dsl::*; diff --git a/src/models/url.rs b/src/models/url.rs index c8a079c..6210da0 100644 --- a/src/models/url.rs +++ b/src/models/url.rs @@ -104,6 +104,14 @@ impl Scopable for Url { !self.unscoped } + fn set_scoped(&self, db: &Database, my_value: bool) -> Result<()> { + use crate::schema::urls::dsl::*; + diesel::update(urls.filter(id.eq(self.id))) + .set(unscoped.eq(!my_value)) + .execute(db.db())?; + Ok(()) + } + fn scope(db: &Database, filter: &Filter) -> Result { use crate::schema::urls::dsl::*; diff --git a/src/shell/mod.rs b/src/shell/mod.rs index 20329ca..bafaa69 100644 --- a/src/shell/mod.rs +++ b/src/shell/mod.rs @@ -41,6 +41,7 @@ pub enum Command { Mod, Noscope, Pkg, + Rescope, Run, Scope, Set, @@ -74,6 +75,7 @@ impl Command { Command::Mod => "mod", Command::Noscope => "noscope", Command::Pkg => "pkg", + Command::Rescope => "rescope", Command::Run => "run", Command::Scope => "scope", Command::Set => "set", @@ -104,6 +106,7 @@ impl Command { Command::Keyring.as_str(), Command::Noscope.as_str(), Command::Pkg.as_str(), + Command::Rescope.as_str(), Command::Run.as_str(), Command::Scope.as_str(), Command::Set.as_str(), @@ -137,15 +140,16 @@ impl FromStr for Command { "keyring" => Ok(Command::Keyring), "mod" => Ok(Command::Mod), "noscope" => Ok(Command::Noscope), - "pkg" => Ok(Command::Pkg), - "run" => Ok(Command::Run), - "scope" => Ok(Command::Scope), - "set" => Ok(Command::Set), + "pkg" => Ok(Command::Pkg), + "rescope" => Ok(Command::Rescope), + "run" => Ok(Command::Run), + "scope" => Ok(Command::Scope), + "set" => Ok(Command::Set), "select" => Ok(Command::Select), "stats" => Ok(Command::Stats), - "target" => Ok(Command::Target), - "use" => Ok(Command::Use), - "quickstart" => Ok(Command::Quickstart), + "target" => Ok(Command::Target), + "use" => Ok(Command::Use), + "quickstart" => Ok(Command::Quickstart), "quit" => Ok(Command::Quit), "workspace" => Ok(Command::Workspace), "cal" => Ok(Command::Cal), @@ -510,6 +514,7 @@ pub fn run_once(rl: &mut Shell) -> Result { }, Some((Command::Noscope, args)) => noscope_cmd::run(rl, &args)?, Some((Command::Pkg, args)) => cmd::(rl, &args)?, + Some((Command::Rescope, args)) => cmd::(rl, &args)?, Some((Command::Run, args)) => cmd::(rl, &args)?, Some((Command::Scope, args)) => scope_cmd::run(rl, &args)?, Some((Command::Set, args)) => set_cmd::run(rl, &args)?, From d54ffd1eba0e963d7c5def76aa770d8bf48017e2 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 3 Dec 2021 13:49:03 +0100 Subject: [PATCH 14/55] Add advanced interactive mode for rescope --- src/cmd/rescope_cmd.rs | 127 ++++++++++++++++++++++++++++++++--------- 1 file changed, 100 insertions(+), 27 deletions(-) diff --git a/src/cmd/rescope_cmd.rs b/src/cmd/rescope_cmd.rs index 1822df2..7fb81b8 100644 --- a/src/cmd/rescope_cmd.rs +++ b/src/cmd/rescope_cmd.rs @@ -1,10 +1,11 @@ use crate::errors::*; -use crate::autonoscope::AutoRule; +use crate::autonoscope::{AutoRule, ToRule}; use crate::cmd::Cmd; use crate::db::Database; use crate::filters::Filter; use crate::shell::Shell; +use std::collections::HashSet; use std::fmt; use structopt::StructOpt; use structopt::clap::AppSettings; @@ -45,12 +46,54 @@ impl Entity { } } -fn rescope_to_queue(update_queue: &mut Vec<(Entity, bool)>, db: &Database, interactive: bool, matches_rule: F1, wrap: F2) -> Result<()> +enum Input { + Yes, + No, + Done, + Always, + Never, +} + +fn get_input() -> Result { + loop { + let input = utils::question_opt("Update this entity? [Y/n/d/a/x/?]")?; + let input = input.map(|s| s.to_lowercase()); + match input.as_deref() { + Some("y") | None => return Ok(Input::Yes), + Some("n") => return Ok(Input::No), + Some("d") => return Ok(Input::Done), + Some("a") => return Ok(Input::Always), + Some("x") => return Ok(Input::Never), + Some("?") => { + term::success("y -> yes, apply this change"); + term::success("n -> no, skip this change"); + term::success("d -> done, skip this and further changes"); + term::success("a -> always, apply every change caused by this specific rule"); + term::success("x -> never, skip every change caused by this specific rule"); + }, + Some(input) => term::error(&format!("Unrecognized input: {:?}", input)), + } + } +} + +#[derive(Default)] +struct Context { + update_queue: Vec<(Entity, bool)>, + always_rules: HashSet<(&'static str, String)>, + never_rules: HashSet<(&'static str, String)>, + done: bool, +} + +fn rescope_to_queue(ctx: &mut Context, db: &Database, interactive: bool, matches_rule: F1, wrap: F2) -> Result<()> where T: Model + Scopable + fmt::Debug, - F1: Fn(&T) -> Result>, + F1: Fn(&T) -> Result>, F2: Fn(T) -> Entity, { + if ctx.done { + return Ok(()); + } + let any_filter = Filter::any(); let entities = db.filter::(&any_filter)?; @@ -58,7 +101,12 @@ fn rescope_to_queue(update_queue: &mut Vec<(Entity, bool)>, db: &Data let currently_scoped = entity.scoped(); debug!("rescoping entity: {:?}", entity); - if let Some(should_be) = matches_rule(&entity)? { + if let Some((rule, should_be)) = matches_rule(&entity)? { + // check if we're actively ignoring this rule + if ctx.never_rules.contains(&rule) { + continue; + } + if currently_scoped != should_be { let prefix = if should_be { "\x1b[1m[\x1b[32m+\x1b[0;1m]\x1b[0m" @@ -66,12 +114,37 @@ fn rescope_to_queue(update_queue: &mut Vec<(Entity, bool)>, db: &Data "\x1b[1m[\x1b[31m-\x1b[0;1m]\x1b[0m" }; - println!("{} updating entity {:?} => {:?}: {:?}", prefix, currently_scoped, should_be, entity); - if interactive && !utils::yes_else_no("Update this entity?")? { - continue; - } + println!("{} Setting entity {:?} => {:?}: {:?}", prefix, currently_scoped, should_be, entity); - update_queue.push((wrap(entity), should_be)); + // check if we're auto-accepting this rule + let input = if ctx.always_rules.contains(&rule) { + Input::Yes + } else if interactive { + get_input()? + } else { + Input::Yes + }; + + // process user input + let input = match input { + Input::Always => { + ctx.always_rules.insert(rule); + Input::Yes + }, + Input::Never => { + ctx.never_rules.insert(rule); + Input::No + }, + Input::Done => { + ctx.done = true; + break; + }, + input => input, + }; + + if let Input::Yes = input { + ctx.update_queue.push((wrap(entity), should_be)); + } } } } @@ -84,65 +157,65 @@ impl Cmd for Args { let rules = rl.db().autonoscope(); term::success(&format!("Loaded {} rules", rules.len())); - let mut update_queue = Vec::new(); + let mut ctx = Context::default(); - rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { for rule in rules.domains() { if rule.matches(entity.value.as_str())? { - return Ok(Some(rule.scoped)); + return Ok(Some((rule.to_rule(), rule.scoped))); } } Ok(None) }, Entity::Domain)?; - rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { for rule in rules.domains() { if rule.matches(entity.value.as_str())? { - return Ok(Some(rule.scoped)); + return Ok(Some((rule.to_rule(), rule.scoped))); } } Ok(None) }, Entity::Subdomain)?; - rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { for rule in rules.ips() { if rule.matches(entity)? { - return Ok(Some(rule.scoped)); + return Ok(Some((rule.to_rule(), rule.scoped))); } } Ok(None) }, Entity::IpAddr)?; - rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { for rule in rules.domains() { if rule.matches(entity)? { - return Ok(Some(rule.scoped)); + return Ok(Some((rule.to_rule(), rule.scoped))); } } for rule in rules.urls() { if rule.matches(entity)? { - return Ok(Some(rule.scoped)); + return Ok(Some((rule.to_rule(), rule.scoped))); } } Ok(None) }, Entity::Url)?; - rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { for rule in rules.ips() { if rule.matches(entity)? { - return Ok(Some(rule.scoped)); + return Ok(Some((rule.to_rule(), rule.scoped))); } } Ok(None) }, Entity::Port)?; - rescope_to_queue::(&mut update_queue, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { for rule in rules.ips() { if rule.matches(entity)? { - return Ok(Some(rule.scoped)); + return Ok(Some((rule.to_rule(), rule.scoped))); } } Ok(None) }, Entity::Netblock)?; - if update_queue.is_empty() { + if ctx.update_queue.is_empty() { term::success("Nothing has changed, not updating database"); } else { let confirm = if self.dry_run { @@ -150,13 +223,13 @@ impl Cmd for Args { } else if self.auto_confirm { true } else { - utils::no_else_yes(&format!("Apply {} changes to scope now?", update_queue.len()))? + utils::no_else_yes(&format!("Apply {} changes to scope now?", ctx.update_queue.len()))? }; if confirm { - term::info(&format!("Applying now: {} changes", update_queue.len())); + term::info(&format!("Applying {} changes to database", ctx.update_queue.len())); - for (update, value) in update_queue { + for (update, value) in ctx.update_queue { update.set_scoped(rl.db(), value)?; } } else { From 1f5ea402ea3c10e6dc927e3d575a3854d973bac5 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 3 Dec 2021 14:27:06 +0100 Subject: [PATCH 15/55] Support rescoping with filters --- src/cmd/rescope_cmd.rs | 48 ++++++++++++++++++++++++++++++---------- src/filters.rs | 50 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 12 deletions(-) diff --git a/src/cmd/rescope_cmd.rs b/src/cmd/rescope_cmd.rs index 7fb81b8..3451787 100644 --- a/src/cmd/rescope_cmd.rs +++ b/src/cmd/rescope_cmd.rs @@ -3,7 +3,7 @@ use crate::errors::*; use crate::autonoscope::{AutoRule, ToRule}; use crate::cmd::Cmd; use crate::db::Database; -use crate::filters::Filter; +use crate::filters::{Filter, Target}; use crate::shell::Shell; use std::collections::HashSet; use std::fmt; @@ -16,12 +16,18 @@ use crate::term; #[derive(Debug, StructOpt)] #[structopt(global_settings = &[AppSettings::ColoredHelp])] pub struct Args { + /// Run rules interactively #[structopt(short, long)] interactive: bool, + /// Automatically apply changes to database #[structopt(short="y", long)] auto_confirm: bool, + /// Only show changes, do not apply them to the database #[structopt(short="n", long)] dry_run: bool, + /// Only rescope entities matching specific filter + #[structopt(subcommand)] + target: Option, } enum Entity { @@ -82,20 +88,37 @@ struct Context { always_rules: HashSet<(&'static str, String)>, never_rules: HashSet<(&'static str, String)>, done: bool, + target: Option, } -fn rescope_to_queue(ctx: &mut Context, db: &Database, interactive: bool, matches_rule: F1, wrap: F2) -> Result<()> +fn rescope_to_queue(ctx: &mut Context, db: &Database, interactive: bool, get_filter: F1, matches_rule: F2, wrap: F3) -> Result<()> where T: Model + Scopable + fmt::Debug, - F1: Fn(&T) -> Result>, - F2: Fn(T) -> Entity, + F1: Fn(&Target) -> Option<&Filter>, + F2: Fn(&T) -> Result>, + F3: Fn(T) -> Entity, { + // do nothing if we're already done if ctx.done { return Ok(()); } - let any_filter = Filter::any(); - let entities = db.filter::(&any_filter)?; + // check if there are filters to be applied + let filter = if let Some(target) = &ctx.target { + if let Some(filter) = get_filter(&target) { + // we've selected this specific entity type and there's a filter + filter.parse_optional() + .context("Filter is invalid")? + } else { + // we do not wish to process this entity type + return Ok(()); + } + } else { + // any entity type is fine + Filter::any() + }; + + let entities = db.filter::(&filter)?; for entity in entities { let currently_scoped = entity.scoped(); @@ -158,8 +181,9 @@ impl Cmd for Args { term::success(&format!("Loaded {} rules", rules.len())); let mut ctx = Context::default(); + ctx.target = self.target; - rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |t| t.domains(), |entity| { for rule in rules.domains() { if rule.matches(entity.value.as_str())? { return Ok(Some((rule.to_rule(), rule.scoped))); @@ -167,7 +191,7 @@ impl Cmd for Args { } Ok(None) }, Entity::Domain)?; - rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |t| t.subdomains(), |entity| { for rule in rules.domains() { if rule.matches(entity.value.as_str())? { return Ok(Some((rule.to_rule(), rule.scoped))); @@ -176,7 +200,7 @@ impl Cmd for Args { Ok(None) }, Entity::Subdomain)?; - rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |t| t.ipaddrs(), |entity| { for rule in rules.ips() { if rule.matches(entity)? { return Ok(Some((rule.to_rule(), rule.scoped))); @@ -185,7 +209,7 @@ impl Cmd for Args { Ok(None) }, Entity::IpAddr)?; - rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |t| t.urls(), |entity| { for rule in rules.domains() { if rule.matches(entity)? { return Ok(Some((rule.to_rule(), rule.scoped))); @@ -198,7 +222,7 @@ impl Cmd for Args { } Ok(None) }, Entity::Url)?; - rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |t| t.ports(), |entity| { for rule in rules.ips() { if rule.matches(entity)? { return Ok(Some((rule.to_rule(), rule.scoped))); @@ -206,7 +230,7 @@ impl Cmd for Args { } Ok(None) }, Entity::Port)?; - rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |entity| { + rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |t| t.netblocks(), |entity| { for rule in rules.ips() { if rule.matches(entity)? { return Ok(Some((rule.to_rule(), rule.scoped))); diff --git a/src/filters.rs b/src/filters.rs index 28446d1..71d700d 100644 --- a/src/filters.rs +++ b/src/filters.rs @@ -50,6 +50,56 @@ pub enum Target { CryptoAddrs(Filter), } +impl Target { + pub fn domains(&self) -> Option<&Filter> { + if let Target::Domains(f) = self { + Some(f) + } else { + None + } + } + + pub fn subdomains(&self) -> Option<&Filter> { + if let Target::Subdomains(f) = self { + Some(f) + } else { + None + } + } + + pub fn ipaddrs(&self) -> Option<&Filter> { + if let Target::IpAddrs(f) = self { + Some(f) + } else { + None + } + } + + pub fn urls(&self) -> Option<&Filter> { + if let Target::Urls(f) = self { + Some(f) + } else { + None + } + } + + pub fn ports(&self) -> Option<&Filter> { + if let Target::Ports(f) = self { + Some(f) + } else { + None + } + } + + pub fn netblocks(&self) -> Option<&Filter> { + if let Target::Netblocks(f) = self { + Some(f) + } else { + None + } + } +} + #[derive(Debug, StructOpt)] pub struct Filter { args: Vec, From aeba3f45741ca6da3aae650dc71b4f510fc7881d Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 3 Dec 2021 16:06:10 +0100 Subject: [PATCH 16/55] Allow statx and lseek syscalls --- src/sandbox/seccomp.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sandbox/seccomp.rs b/src/sandbox/seccomp.rs index 20b5a30..4ee1d84 100644 --- a/src/sandbox/seccomp.rs +++ b/src/sandbox/seccomp.rs @@ -70,6 +70,10 @@ pub fn init() -> Result<()> { ctx.allow_syscall(Syscall::getpeername)?; ctx.allow_syscall(Syscall::gettimeofday)?; ctx.allow_syscall(Syscall::membarrier)?; + ctx.allow_syscall(Syscall::statx)?; + ctx.allow_syscall(Syscall::lseek)?; + #[cfg(target_arch = "arm")] + ctx.allow_syscall(Syscall::_llseek)?; ctx.set_action_for_syscall(Action::Errno(1), Syscall::openat)?; #[cfg(not(target_arch = "aarch64"))] From 5b19c8c4b34e1ab11a3cbcc2914a57570ef8cbb1 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 3 Dec 2021 17:11:27 +0100 Subject: [PATCH 17/55] Add basic completions for interactive shell --- src/shell/complete.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/shell/complete.rs b/src/shell/complete.rs index 26675f4..cdf3080 100644 --- a/src/shell/complete.rs +++ b/src/shell/complete.rs @@ -262,6 +262,7 @@ impl Completer for CmdCompleter { Ok((0, results)) } }, + Command::Rescope => self.filter("rescope", &cmd), Command::Scope => self.filter("scope", &cmd), Command::Select => self.filter("select", &cmd), Command::Workspace => { From 25f940788f8bd342772462e822c820cac270b551 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sun, 5 Dec 2021 01:15:41 +0100 Subject: [PATCH 18/55] Release v0.24.0 --- Cargo.lock | 4 ++-- Cargo.toml | 4 ++-- sn0int-std/Cargo.toml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index aa31d80..06a01aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3854,7 +3854,7 @@ checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "sn0int" -version = "0.23.0" +version = "0.24.0" dependencies = [ "atty", "base64 0.13.0", @@ -3959,7 +3959,7 @@ dependencies = [ [[package]] name = "sn0int-std" -version = "0.23.0" +version = "0.24.0" dependencies = [ "base64 0.13.0", "blake2 0.9.2", diff --git a/Cargo.toml b/Cargo.toml index a23718d..5e3aa0d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int" -version = "0.23.0" +version = "0.24.0" description = "Semi-automatic OSINT framework and package manager" authors = ["kpcyrd "] license = "GPL-3.0" @@ -33,7 +33,7 @@ sqlite-bundled = ["libsqlite3-sys/bundled"] [dependencies] sn0int-common = { version="0.13.0", path="sn0int-common" } -sn0int-std = { version="=0.23.0", path="sn0int-std" } +sn0int-std = { version="=0.24.0", path="sn0int-std" } rustyline = "9.0" log = "0.4" env_logger = "0.9" diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 96b3bbb..0f973e0 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int-std" -version = "0.23.0" +version = "0.24.0" description = "sn0int - stdlib" authors = ["kpcyrd "] repository = "https://github.com/kpcyrd/sn0int" From 6425483c2b8b1e1f912eb189031e4e336f8ebeb0 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sun, 5 Dec 2021 12:37:20 +0100 Subject: [PATCH 19/55] seccomp: Allow fstat call --- src/sandbox/seccomp.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sandbox/seccomp.rs b/src/sandbox/seccomp.rs index 4ee1d84..3f232e4 100644 --- a/src/sandbox/seccomp.rs +++ b/src/sandbox/seccomp.rs @@ -71,6 +71,7 @@ pub fn init() -> Result<()> { ctx.allow_syscall(Syscall::gettimeofday)?; ctx.allow_syscall(Syscall::membarrier)?; ctx.allow_syscall(Syscall::statx)?; + ctx.allow_syscall(Syscall::fstat)?; ctx.allow_syscall(Syscall::lseek)?; #[cfg(target_arch = "arm")] ctx.allow_syscall(Syscall::_llseek)?; From cd99ac3911e4895da6f185dd90d557a0a8ac6818 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sun, 5 Dec 2021 16:17:51 +0100 Subject: [PATCH 20/55] Release v0.24.1 --- Cargo.lock | 24 ++++++++++++------------ Cargo.toml | 4 ++-- sn0int-std/Cargo.toml | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 06a01aa..54f8b29 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -629,7 +629,7 @@ dependencies = [ "cfg-if 1.0.0", "crossbeam-utils 0.8.5", "lazy_static", - "memoffset 0.6.4", + "memoffset 0.6.5", "scopeguard", ] @@ -1861,9 +1861,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.108" +version = "0.2.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119" +checksum = "f98a04dce437184842841303488f70d0188c5f51437d2a834dc097eafa909a01" [[package]] name = "libloading" @@ -2058,9 +2058,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" dependencies = [ "autocfg 1.0.1", ] @@ -2269,7 +2269,7 @@ dependencies = [ "cc", "cfg-if 1.0.0", "libc", - "memoffset 0.6.4", + "memoffset 0.6.5", ] [[package]] @@ -2282,7 +2282,7 @@ dependencies = [ "cc", "cfg-if 1.0.0", "libc", - "memoffset 0.6.4", + "memoffset 0.6.5", ] [[package]] @@ -3498,9 +3498,9 @@ checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088" [[package]] name = "rustyline" -version = "9.0.0" +version = "9.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "790487c3881a63489ae77126f57048b42d62d3b2bafbf37453ea19eedb6340d6" +checksum = "dec400b53af4f6551ad23214ba08af344125785a0508228af83a84d498a5ce33" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -3510,7 +3510,7 @@ dependencies = [ "libc", "log 0.4.14", "memchr", - "nix 0.22.0", + "nix 0.23.0", "radix_trie 0.2.1", "scopeguard", "smallvec 1.7.0", @@ -3854,7 +3854,7 @@ checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "sn0int" -version = "0.24.0" +version = "0.24.1" dependencies = [ "atty", "base64 0.13.0", @@ -3959,7 +3959,7 @@ dependencies = [ [[package]] name = "sn0int-std" -version = "0.24.0" +version = "0.24.1" dependencies = [ "base64 0.13.0", "blake2 0.9.2", diff --git a/Cargo.toml b/Cargo.toml index 5e3aa0d..e8c006b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int" -version = "0.24.0" +version = "0.24.1" description = "Semi-automatic OSINT framework and package manager" authors = ["kpcyrd "] license = "GPL-3.0" @@ -33,7 +33,7 @@ sqlite-bundled = ["libsqlite3-sys/bundled"] [dependencies] sn0int-common = { version="0.13.0", path="sn0int-common" } -sn0int-std = { version="=0.24.0", path="sn0int-std" } +sn0int-std = { version="=0.24.1", path="sn0int-std" } rustyline = "9.0" log = "0.4" env_logger = "0.9" diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 0f973e0..ccd24e7 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int-std" -version = "0.24.0" +version = "0.24.1" description = "sn0int - stdlib" authors = ["kpcyrd "] repository = "https://github.com/kpcyrd/sn0int" From c2d95659dc32dbd879fe29baeedd923fd28b49aa Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Thu, 13 Jan 2022 20:05:34 +0100 Subject: [PATCH 21/55] Fix clippy warnings --- src/cmd/rescope_cmd.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cmd/rescope_cmd.rs b/src/cmd/rescope_cmd.rs index 3451787..fdbd27a 100644 --- a/src/cmd/rescope_cmd.rs +++ b/src/cmd/rescope_cmd.rs @@ -105,7 +105,7 @@ fn rescope_to_queue(ctx: &mut Context, db: &Database, interactive // check if there are filters to be applied let filter = if let Some(target) = &ctx.target { - if let Some(filter) = get_filter(&target) { + if let Some(filter) = get_filter(target) { // we've selected this specific entity type and there's a filter filter.parse_optional() .context("Filter is invalid")? @@ -180,8 +180,10 @@ impl Cmd for Args { let rules = rl.db().autonoscope(); term::success(&format!("Loaded {} rules", rules.len())); - let mut ctx = Context::default(); - ctx.target = self.target; + let mut ctx = Context { + target: self.target, + ..Default::default() + }; rescope_to_queue::(&mut ctx, rl.db(), self.interactive, |t| t.domains(), |entity| { for rule in rules.domains() { From 455403baaf72cf4a52d97489a13fed5ffb454f42 Mon Sep 17 00:00:00 2001 From: definitepotato Date: Sat, 15 Jan 2022 13:14:16 -0500 Subject: [PATCH 22/55] Adding syscall to seccomp sandbox. --- src/sandbox/seccomp.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sandbox/seccomp.rs b/src/sandbox/seccomp.rs index 3f232e4..5b43f92 100644 --- a/src/sandbox/seccomp.rs +++ b/src/sandbox/seccomp.rs @@ -54,6 +54,7 @@ pub fn init() -> Result<()> { ctx.allow_syscall(Syscall::sched_yield)?; ctx.allow_syscall(Syscall::setsockopt)?; ctx.allow_syscall(Syscall::madvise)?; + ctx.allow_syscall(Syscall::rt_sigaction)?; #[cfg(target_arch = "x86")] ctx.allow_syscall(Syscall::time)?; ctx.allow_syscall(Syscall::clock_gettime)?; From bba152d5608af92179c451cc00c4da390be5db83 Mon Sep 17 00:00:00 2001 From: ysf <34326+ysf@users.noreply.github.com> Date: Mon, 21 Mar 2022 09:18:52 +0100 Subject: [PATCH 23/55] Fixed typo --- modules/harness/import-subdomains.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/harness/import-subdomains.lua b/modules/harness/import-subdomains.lua index 0a4017a..479d13b 100644 --- a/modules/harness/import-subdomains.lua +++ b/modules/harness/import-subdomains.lua @@ -3,7 +3,7 @@ -- License: GPL-3.0 function run() - -- echo 'www.example.com' | sn0int run -vvf --stdin modules/harness/import-subdomains.lu + -- echo 'www.example.com' | sn0int run -vvf --stdin modules/harness/import-subdomains.lua while true do local line = stdin_readline() From 35c6501623c317beacc892b4cfa71f57a4dcb601 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Mon, 28 Mar 2022 18:44:32 +0200 Subject: [PATCH 24/55] Update dependencies --- Cargo.lock | 1172 ++++++++++++++++++-------------- Cargo.toml | 16 +- sn0int-std/Cargo.toml | 14 +- sn0int-std/src/blobs.rs | 4 +- sn0int-std/src/geoip/models.rs | 6 +- src/keyring.rs | 4 +- src/main.rs | 2 +- src/runtime/hashes.rs | 12 +- 8 files changed, 707 insertions(+), 523 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 54f8b29..12574a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,9 +43,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.51" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b26702f315f53b6071259e15dd9d64528213b44d61de1ec926eca7715d62203" +checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" [[package]] name = "approx" @@ -70,10 +70,49 @@ checksum = "45403b49e3954a4b8428a0ac21a4b7afadccf92bfd96273f1a58cd4812496ae0" dependencies = [ "generic-array 0.12.4", "generic-array 0.13.3", - "generic-array 0.14.4", + "generic-array 0.14.5", "stable_deref_trait", ] +[[package]] +name = "asn1-rs" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33" +dependencies = [ + "asn1-rs-derive", + "asn1-rs-impl", + "displaydoc", + "nom 7.1.1", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.9", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" +dependencies = [ + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", + "synstructure", +] + +[[package]] +name = "asn1-rs-impl" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" +dependencies = [ + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", +] + [[package]] name = "atty" version = "0.2.14" @@ -87,21 +126,24 @@ dependencies = [ [[package]] name = "autocfg" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" +checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78" +dependencies = [ + "autocfg 1.1.0", +] [[package]] name = "autocfg" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.63" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6" +checksum = "5e121dee8023ce33ab248d9ce1493df03c3b38a659b240096fcbd7048ff9c31f" dependencies = [ "addr2line", "cc", @@ -171,10 +213,10 @@ dependencies = [ "env_logger 0.8.4", "lazy_static", "lazycell", - "log 0.4.14", + "log 0.4.16", "peeking_take_while", - "proc-macro2 1.0.32", - "quote 1.0.10", + "proc-macro2 1.0.36", + "quote 1.0.17", "regex", "rustc-hash", "shlex", @@ -194,20 +236,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" dependencies = [ "byte-tools 0.3.1", - "crypto-mac 0.7.0", + "crypto-mac", "digest 0.8.1", "opaque-debug 0.2.3", ] [[package]] name = "blake2" -version = "0.9.2" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" +checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", - "opaque-debug 0.3.0", + "digest 0.10.3", ] [[package]] @@ -226,7 +266,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding 0.1.5", + "block-padding", "byte-tools 0.3.1", "byteorder", "generic-array 0.12.4", @@ -238,24 +278,26 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "block-padding 0.2.1", - "generic-array 0.14.4", + "generic-array 0.14.5", ] [[package]] -name = "block-padding" -version = "0.1.5" +name = "block-buffer" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" dependencies = [ - "byte-tools 0.3.1", + "generic-array 0.14.5", ] [[package]] name = "block-padding" -version = "0.2.1" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +dependencies = [ + "byte-tools 0.3.1", +] [[package]] name = "boxxy" @@ -271,8 +313,8 @@ dependencies = [ "clap", "errno", "libc", - "log 0.4.14", - "nix 0.22.0", + "log 0.4.16", + "nix 0.22.3", "pledge", "regex", "rustyline", @@ -304,9 +346,9 @@ checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" [[package]] name = "bumpalo" -version = "3.8.0" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c" +checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" [[package]] name = "byte-tools" @@ -322,9 +364,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.7.2" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72957246c41db82b8ef88a5486143830adeb8227ef9837740bdec67724cf2c5b" +checksum = "0e851ca7c24871e7336801608a4797d7376545b6928a10d32d75685687141ead" [[package]] name = "byteorder" @@ -368,9 +410,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.72" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" [[package]] name = "cexpr" @@ -422,7 +464,7 @@ dependencies = [ "hyper 0.12.36", "hyper-rustls", "ipconfig", - "log 0.4.14", + "log 0.4.16", "lru-cache", "rustls 0.16.0", "serde", @@ -434,9 +476,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa66045b9cb23c2e9c1520732030608b02ee07e5cfaa5a521ec15ded7fa24c90" +checksum = "4cc00842eed744b858222c4c9faf7243aafc6d33f92f96935263ef4d8a41ce21" dependencies = [ "glob", "libc", @@ -460,9 +502,9 @@ dependencies = [ [[package]] name = "clipboard-win" -version = "4.2.2" +version = "4.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8340083d28acb43451166543b98c838299b7e0863621be53a338adceea0ed" +checksum = "2f3e1238132dc01f081e1cbb9dace14e5ef4c3a51ee244bd982275fb514605db" dependencies = [ "error-code", "str-buf", @@ -530,7 +572,7 @@ dependencies = [ "cookie 0.12.0", "failure", "idna 0.1.5", - "log 0.4.14", + "log 0.4.16", "publicsuffix 1.5.6", "serde", "serde_json", @@ -541,9 +583,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ "core-foundation-sys", "libc", @@ -557,30 +599,30 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "cpufeatures" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.3.0" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "crossbeam-channel" -version = "0.5.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" +checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", + "crossbeam-utils 0.8.8", ] [[package]] @@ -601,8 +643,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" dependencies = [ "cfg-if 1.0.0", - "crossbeam-epoch 0.9.5", - "crossbeam-utils 0.8.5", + "crossbeam-epoch 0.9.8", + "crossbeam-utils 0.8.8", ] [[package]] @@ -611,7 +653,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "cfg-if 0.1.10", "crossbeam-utils 0.7.2", "lazy_static", @@ -622,12 +664,13 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.5" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" +checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c" dependencies = [ + "autocfg 1.1.0", "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", + "crossbeam-utils 0.8.8", "lazy_static", "memoffset 0.6.5", "scopeguard", @@ -650,49 +693,39 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "cfg-if 0.1.10", "lazy_static", ] [[package]] name = "crossbeam-utils" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" +checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" dependencies = [ "cfg-if 1.0.0", "lazy_static", ] [[package]] -name = "crypto-mac" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" -dependencies = [ - "generic-array 0.12.4", - "subtle 1.0.0", -] - -[[package]] -name = "crypto-mac" -version = "0.8.0" +name = "crypto-common" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" dependencies = [ - "generic-array 0.14.4", - "subtle 2.4.1", + "generic-array 0.14.5", + "typenum", ] [[package]] name = "crypto-mac" -version = "0.11.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "generic-array 0.14.4", - "subtle 2.4.1", + "generic-array 0.12.4", + "subtle 1.0.0", ] [[package]] @@ -703,13 +736,13 @@ checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" dependencies = [ "cssparser-macros", "dtoa-short", - "itoa", + "itoa 0.4.8", "matches", "phf", - "proc-macro2 1.0.32", - "quote 1.0.10", - "smallvec 1.7.0", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "smallvec 1.8.0", + "syn 1.0.90", ] [[package]] @@ -718,8 +751,8 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" dependencies = [ - "quote 1.0.10", - "syn 1.0.82", + "quote 1.0.17", + "syn 1.0.90", ] [[package]] @@ -746,30 +779,30 @@ version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a19c6cedffdc8c03a3346d723eb20bd85a13362bb96dc2ac000842c6381ec7bf" dependencies = [ - "nix 0.23.0", + "nix 0.23.1", "winapi 0.3.9", ] [[package]] name = "curl" -version = "0.4.41" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc6d233563261f8db6ffb83bbaad5a73837a6e6b28868e926337ebbdece0be3" +checksum = "37d855aeef205b43f65a5001e0997d81f8efca7badad4fad7d897aa7f0d0651f" dependencies = [ "curl-sys", "libc", "openssl-probe", "openssl-sys", "schannel", - "socket2 0.4.2", + "socket2 0.4.4", "winapi 0.3.9", ] [[package]] name = "curl-sys" -version = "0.4.51+curl-7.80.0" +version = "0.4.53+curl-7.82.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d130987e6a6a34fe0889e1083022fa48cd90e6709a84be3fb8dd95801de5af20" +checksum = "8092905a5a9502c312f223b2775f57ec5c5b715f9a15ee9d2a8591d1364a0352" dependencies = [ "cc", "libc", @@ -803,7 +836,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" dependencies = [ "data-encoding", - "syn 1.0.82", + "syn 1.0.90", ] [[package]] @@ -816,25 +849,15 @@ dependencies = [ "byteorder", ] -[[package]] -name = "der-oid-macro" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c73af209b6a5dc8ca7cbaba720732304792cddc933cfea3d74509c2b1ef2f436" -dependencies = [ - "num-bigint", - "num-traits", - "syn 1.0.82", -] - [[package]] name = "der-parser" -version = "6.0.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9807efb310ce4ea172924f3a69d82f9fd6c9c3a19336344591153e665b31c43e" +checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" dependencies = [ - "der-oid-macro", - "nom 7.1.0", + "asn1-rs", + "displaydoc", + "nom 7.1.1", "num-bigint", "num-traits", "rusticata-macros", @@ -847,10 +870,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.32", - "quote 1.0.10", + "proc-macro2 1.0.36", + "quote 1.0.17", "rustc_version 0.4.0", - "syn 1.0.82", + "syn 1.0.90", ] [[package]] @@ -906,9 +929,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", ] [[package]] @@ -954,7 +977,18 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array 0.14.4", + "generic-array 0.14.5", +] + +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle 2.4.1", ] [[package]] @@ -978,6 +1012,17 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "displaydoc" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" +dependencies = [ + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", +] + [[package]] name = "dotenv" version = "0.15.0" @@ -1001,9 +1046,9 @@ dependencies = [ [[package]] name = "ed25519" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74e1069e39f1454367eb2de793ed062fac4c35c2934b76a81d90dd9abcd28816" +checksum = "3d5c4b5e5959dc2c2b89918d8e2cc40fcdd623cef026ed09d2f0ee05199dc8e4" dependencies = [ "signature", ] @@ -1022,9 +1067,9 @@ checksum = "4dda717aa0325f3ebb1b5da2da97b56641e5cef86c55d7fec8158bc8aeb5ed19" [[package]] name = "encoding_rs" -version = "0.8.29" +version = "0.8.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a74ea89a0a1b98f6332de42c95baff457ada66d1cb4030f9ff151b2041a1c746" +checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df" dependencies = [ "cfg-if 1.0.0", ] @@ -1054,7 +1099,7 @@ checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" dependencies = [ "atty", "humantime 2.1.0", - "log 0.4.14", + "log 0.4.16", "regex", "termcolor", ] @@ -1067,7 +1112,7 @@ checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" dependencies = [ "atty", "humantime 2.1.0", - "log 0.4.14", + "log 0.4.16", "regex", "termcolor", ] @@ -1095,9 +1140,9 @@ dependencies = [ [[package]] name = "error-code" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5115567ac25674e0043e472be13d14e537f37ea8aa4bdc4aef0c89add1db1ff" +checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" dependencies = [ "libc", "str-buf", @@ -1119,9 +1164,9 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", "synstructure", ] @@ -1131,15 +1176,24 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fastrand" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +dependencies = [ + "instant", +] + [[package]] name = "fd-lock" -version = "3.0.1" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfc110fe50727d46a428eed832df40affe9bf74d077cac1bf3f2718e823f14c5" +checksum = "46e245f4c8ec30c6415c56cb132c07e69e74f1942f6b4a4061da748b49f486ca" dependencies = [ "cfg-if 1.0.0", - "libc", - "windows-sys", + "rustix", + "windows-sys 0.30.0", ] [[package]] @@ -1150,7 +1204,7 @@ checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.10", + "redox_syscall 0.2.12", "winapi 0.3.9", ] @@ -1240,9 +1294,9 @@ checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" [[package]] name = "futf" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" dependencies = [ "mac", "new_debug_unreachable", @@ -1302,23 +1356,23 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.4" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" dependencies = [ "typenum", - "version_check 0.9.3", + "version_check 0.9.4", ] [[package]] name = "geo" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02bf7fb342abefefb0abbb8d033f37233e6f857a1a970805d15f96560834d699" +checksum = "61faf6a68f9432b5287c393268e86a07e4dfed79e6e0962b0e6e59b2f70c77d8" dependencies = [ "geo-types", "geographiclib-rs", - "log 0.4.14", + "log 0.4.16", "num-traits", "robust", "rstar", @@ -1326,9 +1380,9 @@ dependencies = [ [[package]] name = "geo-types" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8bd2e95dd9f5c8ff74159ed9205ad7fd239a9569173a550863976421b45d2bb" +checksum = "658ffd4025e593f0b64e8fa7a1afc4082e4471ac823034b9d4e338edc9adc6fb" dependencies = [ "approx", "num-traits", @@ -1357,9 +1411,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.3" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" dependencies = [ "cfg-if 1.0.0", "libc", @@ -1400,7 +1454,7 @@ dependencies = [ "futures", "http 0.1.21", "indexmap", - "log 0.4.14", + "log 0.4.16", "slab", "string", "tokio-io", @@ -1413,7 +1467,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d82e5750d8027a97b9640e3fefa66bbaf852a35228e1c90790efd13c4b09c166" dependencies = [ "lazy_static", - "log 0.4.14", + "log 0.4.16", "pest", "pest_derive", "quick-error", @@ -1445,7 +1499,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "634bd4d29cbf24424d0a4bfcbf80c6960129dc24424752a7d1d1390607023422" dependencies = [ "as-slice", - "generic-array 0.14.4", + "generic-array 0.14.5", "hash32", "stable_deref_trait", ] @@ -1459,6 +1513,12 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -1486,26 +1546,25 @@ dependencies = [ [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac 0.11.1", - "digest 0.9.0", + "digest 0.10.3", ] [[package]] name = "html5ever" -version = "0.25.1" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aafcf38a1a36118242d29b92e1b08ef84e67e4a5ed06e0a80be20e6a32bfed6b" +checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" dependencies = [ - "log 0.4.14", + "log 0.4.16", "mac", "markup5ever", - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", ] [[package]] @@ -1516,18 +1575,18 @@ checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0" dependencies = [ "bytes 0.4.12", "fnv", - "itoa", + "itoa 0.4.8", ] [[package]] name = "http" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" +checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" dependencies = [ "bytes 1.1.0", "fnv", - "itoa", + "itoa 1.0.1", ] [[package]] @@ -1544,9 +1603,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" +checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4" [[package]] name = "humansize" @@ -1602,8 +1661,8 @@ dependencies = [ "http-body", "httparse", "iovec", - "itoa", - "log 0.4.14", + "itoa 0.4.8", + "log 0.4.16", "net2", "rustc_version 0.2.3", "time 0.1.43", @@ -1704,11 +1763,11 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "hashbrown", ] @@ -1750,6 +1809,12 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "io-lifetimes" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9448015e586b611e5d322f6703812bbca2f1e709d5773ecd38ddb4e3bb649504" + [[package]] name = "iovec" version = "0.1.4" @@ -1786,6 +1851,12 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +[[package]] +name = "itoa" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" + [[package]] name = "jpeg-decoder" version = "0.1.22" @@ -1797,9 +1868,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.55" +version = "0.3.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" +checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04" dependencies = [ "wasm-bindgen", ] @@ -1861,15 +1932,15 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.109" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98a04dce437184842841303488f70d0188c5f51437d2a834dc097eafa909a01" +checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f" [[package]] name = "libloading" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afe203d669ec979b7128619bae5a63b7b42e9203c1b29146079ee05e2f604b52" +checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" dependencies = [ "cfg-if 1.0.0", "winapi 0.3.9", @@ -1900,9 +1971,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" +checksum = "6f35facd4a5673cb5a48822be2be1d4236c1c99cb4113cab7061ac720d5bf859" dependencies = [ "cc", "libc", @@ -1925,6 +1996,12 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +[[package]] +name = "linux-raw-sys" +version = "0.0.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5284f00d480e1c39af34e72f8ad60b94f47007e3481cd3b731c1d67190ddc7b7" + [[package]] name = "lock_api" version = "0.3.4" @@ -1936,9 +2013,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" dependencies = [ "scopeguard", ] @@ -1949,14 +2026,14 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" dependencies = [ - "log 0.4.14", + "log 0.4.16", ] [[package]] name = "log" -version = "0.4.14" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8" dependencies = [ "cfg-if 1.0.0", ] @@ -1999,7 +2076,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" dependencies = [ - "log 0.4.14", + "log 0.4.16", "phf", "phf_codegen", "string_cache", @@ -2015,11 +2092,12 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "maxminddb" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a2af4902d7569c441449f2315cb83598917b13275209529103e10c238fcf3db" +checksum = "d04a4887cd66b92e72593360cab9de5916059b7383776a9c7b9e906008f2827b" dependencies = [ - "log 0.4.14", + "ipnetwork", + "log 0.4.16", "memchr", "serde", ] @@ -2032,13 +2110,11 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "md-5" -version = "0.9.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15" +checksum = "658646b21e0b72f7866c7038ab086d3d5e1cd6271f060fd37defb241949d0582" dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "opaque-debug 0.3.0", + "digest 0.10.3", ] [[package]] @@ -2053,7 +2129,7 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", ] [[package]] @@ -2062,7 +2138,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", ] [[package]] @@ -2081,9 +2157,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9753f12909fd8d923f75ae5c3258cae1ed3c8ec052e1b38c93c21a6d157f789c" dependencies = [ "migrations_internals", - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", ] [[package]] @@ -2103,9 +2179,9 @@ checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" [[package]] name = "mime_guess" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" dependencies = [ "mime 0.3.16", "unicase 2.6.0", @@ -2133,7 +2209,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" dependencies = [ "adler", - "autocfg 1.0.1", + "autocfg 1.1.0", ] [[package]] @@ -2148,7 +2224,7 @@ dependencies = [ "iovec", "kernel32-sys", "libc", - "log 0.4.14", + "log 0.4.16", "miow", "net2", "slab", @@ -2162,7 +2238,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" dependencies = [ "lazycell", - "log 0.4.14", + "log 0.4.16", "mio", "slab", ] @@ -2192,13 +2268,13 @@ dependencies = [ [[package]] name = "mqtt-protocol" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61fc413163352d530adf360d4114fb54bc98c8e80b6625e3bbb3cdde23269395" +checksum = "ca0b17380dc69fbcf5f967828cfd10e55028ba83a57da1f580c5b0792ab807ac" dependencies = [ "byteorder", "lazy_static", - "log 0.4.14", + "log 0.4.16", "regex", "thiserror", ] @@ -2211,13 +2287,13 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b" [[package]] name = "native-tls" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d" +checksum = "09bf6f32a3afefd0b587ee42ed19acd945c6d1f3b5424040f50b2f24ab16be77" dependencies = [ "lazy_static", "libc", - "log 0.4.14", + "log 0.4.16", "openssl", "openssl-probe", "openssl-sys", @@ -2256,14 +2332,14 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" dependencies = [ - "smallvec 1.7.0", + "smallvec 1.8.0", ] [[package]] name = "nix" -version = "0.22.0" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1e25ee6b412c2a1e3fcb6a4499a5c1bfe7f43e014bdce9a6b6666e5aa2d187" +checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" dependencies = [ "bitflags", "cc", @@ -2274,9 +2350,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f305c2c2e4c39a82f7bf0bf65fb557f9070ce06781d4f2454295cc34b1c43188" +checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6" dependencies = [ "bitflags", "cc", @@ -2298,18 +2374,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" dependencies = [ "memchr", - "version_check 0.9.3", + "version_check 0.9.4", ] [[package]] name = "nom" -version = "7.1.0" +version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109" +checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" dependencies = [ "memchr", "minimal-lexical", - "version_check 0.9.3", ] [[package]] @@ -2338,7 +2413,7 @@ checksum = "629bf84f31f765ba48058371c6eb3c5eed0fcdec68b814eb11f6f65dec0adbe3" dependencies = [ "failure", "image", - "log 0.4.14", + "log 0.4.16", "rand 0.7.3", ] @@ -2348,7 +2423,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "num-integer", "num-traits", ] @@ -2359,7 +2434,7 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "num-traits", ] @@ -2369,7 +2444,7 @@ version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "num-traits", ] @@ -2379,7 +2454,7 @@ version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "num-integer", "num-traits", ] @@ -2390,7 +2465,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "num-integer", "num-traits", ] @@ -2401,19 +2476,28 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", ] [[package]] name = "num_cpus" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" dependencies = [ "hermit-abi", "libc", ] +[[package]] +name = "num_threads" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aba1801fb138d8e85e11d0fc70baf4fe1cdfffda7c6cd34a854905df588e5ed0" +dependencies = [ + "libc", +] + [[package]] name = "oauth2" version = "2.0.0" @@ -2443,18 +2527,18 @@ dependencies = [ [[package]] name = "oid-registry" -version = "0.2.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe554cb2393bc784fd678c82c84cc0599c31ceadc7f03a594911f822cb8d1815" +checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" dependencies = [ - "der-parser", + "asn1-rs", ] [[package]] name = "once_cell" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" [[package]] name = "onig" @@ -2517,17 +2601,17 @@ dependencies = [ [[package]] name = "openssl-probe" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.71" +version = "0.9.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7df13d165e607909b363a4757a6f133f8a818a74e9d3a98d09c6128e15fa4c73" +checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "cc", "libc", "pkg-config", @@ -2564,10 +2648,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", - "lock_api 0.4.5", + "lock_api 0.4.6", "parking_lot_core 0.8.5", ] +[[package]] +name = "parking_lot" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +dependencies = [ + "lock_api 0.4.6", + "parking_lot_core 0.9.1", +] + [[package]] name = "parking_lot_core" version = "0.6.2" @@ -2592,11 +2686,24 @@ dependencies = [ "cfg-if 1.0.0", "instant", "libc", - "redox_syscall 0.2.10", - "smallvec 1.7.0", + "redox_syscall 0.2.12", + "smallvec 1.8.0", "winapi 0.3.9", ] +[[package]] +name = "parking_lot_core" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "redox_syscall 0.2.12", + "smallvec 1.8.0", + "windows-sys 0.32.0", +] + [[package]] name = "pdqselect" version = "0.1.0" @@ -2621,7 +2728,7 @@ dependencies = [ "proc-macro2 0.4.30", "quote 0.6.13", "syn 0.15.44", - "version_check 0.9.3", + "version_check 0.9.4", "yansi", ] @@ -2633,13 +2740,11 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "pem" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06673860db84d02a63942fa69cd9543f2624a5df3aea7f33173048fa7ad5cf1a" +checksum = "e9a3b09a20e374558580a4914d3b7d89bd61b954a5a5e1dcbea98753addb1947" dependencies = [ "base64 0.13.0", - "once_cell", - "regex", ] [[package]] @@ -2681,9 +2786,9 @@ checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", ] [[package]] @@ -2704,7 +2809,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" dependencies = [ "phf_macros", - "phf_shared", + "phf_shared 0.8.0", "proc-macro-hack", ] @@ -2714,8 +2819,8 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" dependencies = [ - "phf_generator", - "phf_shared", + "phf_generator 0.8.0", + "phf_shared 0.8.0", ] [[package]] @@ -2724,22 +2829,32 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" dependencies = [ - "phf_shared", + "phf_shared 0.8.0", "rand 0.7.3", ] +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", +] + [[package]] name = "phf_macros" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" dependencies = [ - "phf_generator", - "phf_shared", + "phf_generator 0.8.0", + "phf_shared 0.8.0", "proc-macro-hack", - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", ] [[package]] @@ -2751,11 +2866,20 @@ dependencies = [ "siphasher", ] +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + [[package]] name = "pkg-config" -version = "0.3.22" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f" +checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" [[package]] name = "pledge" @@ -2790,7 +2914,7 @@ dependencies = [ "indexmap", "line-wrap", "serde", - "time 0.3.5", + "time 0.3.9", "xml-rs", ] @@ -2808,9 +2932,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" +checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] name = "pq-sys" @@ -2834,10 +2958,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", - "version_check 0.9.3", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", + "version_check 0.9.4", ] [[package]] @@ -2846,9 +2970,9 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.32", - "quote 1.0.10", - "version_check 0.9.3", + "proc-macro2 1.0.36", + "quote 1.0.17", + "version_check 0.9.4", ] [[package]] @@ -2868,18 +2992,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.32" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" +checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" dependencies = [ "unicode-xid 0.2.2", ] [[package]] name = "psl-types" -version = "2.0.9" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4af8f675df9e68626b5059f8909ae261b8f5c3e8ab14813ad7f6cc7a134dcafb" +checksum = "e8eda7c62d9ecaafdf8b62374c006de0adf61666ae96a96ba74a37134aa4e470" [[package]] name = "publicsuffix" @@ -2919,11 +3043,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.10" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" +checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58" dependencies = [ - "proc-macro2 1.0.32", + "proc-macro2 1.0.36", ] [[package]] @@ -2932,7 +3056,7 @@ version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "545c5bc2b880973c9c10e4067418407a0ccaa3091781d1671d46eb35107cb26f" dependencies = [ - "log 0.4.14", + "log 0.4.16", "parking_lot 0.11.2", "scheduled-thread-pool", ] @@ -2963,7 +3087,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" dependencies = [ - "autocfg 0.1.7", + "autocfg 0.1.8", "libc", "rand_chacha 0.1.1", "rand_core 0.4.2", @@ -2992,14 +3116,13 @@ dependencies = [ [[package]] name = "rand" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha 0.3.1", "rand_core 0.6.3", - "rand_hc 0.3.1", ] [[package]] @@ -3008,7 +3131,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" dependencies = [ - "autocfg 0.1.7", + "autocfg 0.1.8", "rand_core 0.3.1", ] @@ -3062,7 +3185,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" dependencies = [ - "getrandom 0.2.3", + "getrandom 0.2.6", ] [[package]] @@ -3083,15 +3206,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rand_hc" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -dependencies = [ - "rand_core 0.6.3", -] - [[package]] name = "rand_isaac" version = "0.1.1" @@ -3132,7 +3246,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" dependencies = [ - "autocfg 0.1.7", + "autocfg 0.1.8", "rand_core 0.4.2", ] @@ -3160,7 +3274,7 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" dependencies = [ - "autocfg 1.0.1", + "autocfg 1.1.0", "crossbeam-deque 0.8.1", "either", "rayon-core", @@ -3174,7 +3288,7 @@ checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ "crossbeam-channel", "crossbeam-deque 0.8.1", - "crossbeam-utils 0.8.5", + "crossbeam-utils 0.8.8", "lazy_static", "num_cpus", ] @@ -3196,28 +3310,29 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_syscall" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +checksum = "8ae183fc1b06c149f0c1793e1eb447c8b04bfe46d48e9e48bfb8d2d7ed64ecf0" dependencies = [ "bitflags", ] [[package]] name = "redox_users" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +checksum = "7776223e2696f1aa4c6b0170e83212f47296a00424305117d013dfe86fb0fe55" dependencies = [ - "getrandom 0.2.3", - "redox_syscall 0.2.10", + "getrandom 0.2.6", + "redox_syscall 0.2.12", + "thiserror", ] [[package]] name = "regex" -version = "1.5.4" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" dependencies = [ "aho-corasick", "memchr", @@ -3261,7 +3376,7 @@ dependencies = [ "http 0.1.21", "hyper 0.12.36", "hyper-tls", - "log 0.4.14", + "log 0.4.16", "mime 0.3.16", "mime_guess", "native-tls", @@ -3308,7 +3423,7 @@ checksum = "4a7ab1dfdc75bb8bd2be381f37796b1b300c45a3c9145b34d86715e8dd90bf28" dependencies = [ "atty", "base64 0.13.0", - "log 0.4.14", + "log 0.4.16", "memchr", "num_cpus", "pear", @@ -3317,7 +3432,7 @@ dependencies = [ "state", "time 0.1.43", "toml 0.4.10", - "version_check 0.9.3", + "version_check 0.9.4", "yansi", ] @@ -3332,7 +3447,7 @@ dependencies = [ "indexmap", "quote 0.6.13", "rocket_http", - "version_check 0.9.3", + "version_check 0.9.4", "yansi", ] @@ -3344,7 +3459,7 @@ checksum = "6b6303dccab46dce6c7ac26c9b9d8d8cde1b19614b027c3f913be6611bff6d9b" dependencies = [ "glob", "handlebars", - "log 0.4.14", + "log 0.4.16", "notify", "rocket", "serde", @@ -3385,7 +3500,7 @@ dependencies = [ "indexmap", "pear", "percent-encoding 1.0.1", - "smallvec 1.7.0", + "smallvec 1.8.0", "state", "time 0.1.43", "unicode-xid 0.1.0", @@ -3400,7 +3515,7 @@ dependencies = [ "heapless", "num-traits", "pdqselect", - "smallvec 1.7.0", + "smallvec 1.8.0", ] [[package]] @@ -3430,7 +3545,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.4", + "semver 1.0.7", ] [[package]] @@ -3457,11 +3572,25 @@ dependencies = [ [[package]] name = "rusticata-macros" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65c52377bb2288aa522a0c8208947fada1e0c76397f108cc08f57efe6077b50d" +checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" dependencies = [ - "nom 7.1.0", + "nom 7.1.1", +] + +[[package]] +name = "rustix" +version = "0.34.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd3cc851a13d30a34cb747ba2a0c5101a4b2e8b1677a29b213ee465365ea495e" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "winapi 0.3.9", ] [[package]] @@ -3471,7 +3600,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e" dependencies = [ "base64 0.10.1", - "log 0.4.14", + "log 0.4.16", "ring", "sct", "webpki", @@ -3484,7 +3613,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" dependencies = [ "base64 0.12.3", - "log 0.4.14", + "log 0.4.16", "ring", "sct", "webpki", @@ -3492,15 +3621,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088" +checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" [[package]] name = "rustyline" -version = "9.1.0" +version = "9.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec400b53af4f6551ad23214ba08af344125785a0508228af83a84d498a5ce33" +checksum = "db7826789c0e25614b03e5a54a0717a86f9ff6e6e5247f92b369472869320039" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -3508,12 +3637,12 @@ dependencies = [ "dirs-next", "fd-lock", "libc", - "log 0.4.14", + "log 0.4.16", "memchr", - "nix 0.23.0", + "nix 0.23.1", "radix_trie 0.2.1", "scopeguard", - "smallvec 1.7.0", + "smallvec 1.8.0", "unicode-segmentation", "unicode-width", "utf8parse", @@ -3522,9 +3651,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568" +checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" [[package]] name = "safemem" @@ -3593,9 +3722,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.4.2" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" +checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" dependencies = [ "bitflags", "core-foundation", @@ -3606,9 +3735,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.4.2" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" dependencies = [ "core-foundation-sys", "libc", @@ -3624,13 +3753,13 @@ dependencies = [ "cssparser", "derive_more", "fxhash", - "log 0.4.14", + "log 0.4.16", "matches", "phf", "phf_codegen", "precomputed-hash", "servo_arc", - "smallvec 1.7.0", + "smallvec 1.8.0", "thin-slice", ] @@ -3645,9 +3774,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.4" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" +checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4" [[package]] name = "semver-parser" @@ -3663,31 +3792,31 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.130" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.130" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", ] [[package]] name = "serde_json" -version = "1.0.72" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527" +checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" dependencies = [ - "itoa", + "itoa 1.0.1", "ryu", "serde", ] @@ -3699,19 +3828,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a" dependencies = [ "dtoa", - "itoa", + "itoa 0.4.8", "serde", "url 1.7.2", ] [[package]] name = "serde_urlencoded" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa", + "itoa 1.0.1", "ryu", "serde", ] @@ -3751,6 +3880,17 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "sha-1" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.3", +] + [[package]] name = "sha2" version = "0.7.1" @@ -3765,27 +3905,23 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" dependencies = [ - "block-buffer 0.9.0", "cfg-if 1.0.0", "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", + "digest 0.10.3", ] [[package]] name = "sha3" -version = "0.9.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +checksum = "881bf8156c87b6301fc5ca6b27f11eeb2761224c7081e69b409d5a1951a70c86" dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", + "digest 0.10.3", "keccak", - "opaque-debug 0.3.0", ] [[package]] @@ -3806,15 +3942,15 @@ checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" [[package]] name = "signature" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" [[package]] name = "siphasher" -version = "0.3.7" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b" +checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" [[package]] name = "slab" @@ -3832,7 +3968,7 @@ dependencies = [ "base64 0.13.0", "byteorder", "hex", - "log 0.4.14", + "log 0.4.16", "serde", "sha-1 0.9.8", ] @@ -3848,9 +3984,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" +checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" [[package]] name = "sn0int" @@ -3870,7 +4006,7 @@ dependencies = [ "data-encoding", "diesel", "diesel_migrations", - "digest 0.9.0", + "digest 0.10.3", "dirs-next", "embedded-triple", "env_logger 0.9.0", @@ -3882,33 +4018,33 @@ dependencies = [ "ipnetwork", "lazy_static", "libsqlite3-sys", - "log 0.4.14", + "log 0.4.16", "maplit", "md-5", - "nix 0.23.0", + "nix 0.23.1", "nude", "opener", "os-version", "percent-encoding 2.1.0", "pledge", - "rand 0.8.4", + "rand 0.8.5", "regex", "rustyline", - "semver 1.0.4", + "semver 1.0.7", "separator", "serde", "serde_json", - "serde_urlencoded 0.7.0", - "sha-1 0.9.8", - "sha2 0.9.8", + "serde_urlencoded 0.7.1", + "sha-1 0.10.0", + "sha2 0.10.2", "sha3", "shellwords", "sloppy-rfc4880", "sn0int-common", "sn0int-std", "structopt", - "strum 0.23.0", - "strum_macros 0.23.1", + "strum 0.24.0", + "strum_macros 0.24.0", "syscallz", "tempfile", "threadpool", @@ -3923,7 +4059,7 @@ name = "sn0int-common" version = "0.13.0" dependencies = [ "anyhow", - "nom 7.1.0", + "nom 7.1.1", "rocket_failure_errors", "serde", ] @@ -3941,14 +4077,14 @@ dependencies = [ "failure", "hex", "lazy_static", - "log 0.4.14", + "log 0.4.16", "maplit", "oauth2", "reqwest", "rocket", "rocket_contrib", "rocket_failure", - "semver 1.0.4", + "semver 1.0.7", "serde", "serde_json", "sn0int-common", @@ -3962,7 +4098,7 @@ name = "sn0int-std" version = "0.24.1" dependencies = [ "base64 0.13.0", - "blake2 0.9.2", + "blake2 0.10.4", "bs58", "bufstream", "bytes 0.4.12", @@ -3970,28 +4106,28 @@ dependencies = [ "chrootable-https", "ct-logs 0.7.0", "der-parser", - "digest 0.9.0", + "digest 0.10.3", "env_logger 0.9.0", "failure", "geo", "hlua-badtouch", - "http 0.2.5", + "http 0.2.6", "image", "img_hash_median", "kamadak-exif", "kuchiki", - "log 0.4.14", + "log 0.4.16", "maplit", "maxminddb", "mqtt-protocol", "pem", "publicsuffix 2.1.1", - "rand 0.8.4", + "rand 0.8.5", "regex", "rustls 0.18.1", "serde", "serde_json", - "serde_urlencoded 0.7.0", + "serde_urlencoded 0.7.1", "sodiumoxide", "tokio", "tungstenite", @@ -4015,9 +4151,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" +checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" dependencies = [ "libc", "winapi 0.3.9", @@ -4076,28 +4212,28 @@ dependencies = [ [[package]] name = "string_cache" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923f0f39b6267d37d23ce71ae7235602134b250ace715dd2c90421998ddac0c6" +checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08" dependencies = [ - "lazy_static", "new_debug_unreachable", - "parking_lot 0.11.2", - "phf_shared", + "once_cell", + "parking_lot 0.12.0", + "phf_shared 0.10.0", "precomputed-hash", "serde", ] [[package]] name = "string_cache_codegen" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" dependencies = [ - "phf_generator", - "phf_shared", - "proc-macro2 1.0.32", - "quote 1.0.10", + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro2 1.0.36", + "quote 1.0.17", ] [[package]] @@ -4108,9 +4244,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40b9788f4202aa75c240ecc9c15c65185e6a39ccdeb0fd5d008b98825464c87c" +checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" dependencies = [ "clap", "lazy_static", @@ -4123,11 +4259,11 @@ version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ - "heck", + "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", ] [[package]] @@ -4138,9 +4274,9 @@ checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" [[package]] name = "strum" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb" +checksum = "e96acfc1b70604b8b2f1ffa4c57e59176c7dbb05d556c71ecd2f5498a1dee7f8" [[package]] name = "strum_macros" @@ -4148,23 +4284,23 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" dependencies = [ - "heck", - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "heck 0.3.3", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", ] [[package]] name = "strum_macros" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38" +checksum = "6878079b17446e4d3eba6192bb0a2950d5b14f0ed8424b852310e5a94345d0ef" dependencies = [ - "heck", - "proc-macro2 1.0.32", - "quote 1.0.10", + "heck 0.4.0", + "proc-macro2 1.0.36", + "quote 1.0.17", "rustversion", - "syn 1.0.82", + "syn 1.0.90", ] [[package]] @@ -4192,12 +4328,12 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.82" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59" +checksum = "704df27628939572cd88d33f171cd6f896f4eaca85252c6e0a72d8d8287ee86f" dependencies = [ - "proc-macro2 1.0.32", - "quote 1.0.10", + "proc-macro2 1.0.36", + "quote 1.0.17", "unicode-xid 0.2.2", ] @@ -4207,9 +4343,9 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", "unicode-xid 0.2.2", ] @@ -4241,7 +4377,7 @@ version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d94a506596d31342f15e130c31b7356b12bd1e74d316af44ff8a2d47011f9a17" dependencies = [ - "log 0.4.14", + "log 0.4.16", "pkg-config", "seccomp-sys", "strum 0.21.0", @@ -4250,23 +4386,23 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" dependencies = [ "cfg-if 1.0.0", + "fastrand", "libc", - "rand 0.8.4", - "redox_syscall 0.2.10", + "redox_syscall 0.2.12", "remove_dir_all", "winapi 0.3.9", ] [[package]] name = "tendril" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9ef557cb397a4f0a5a3a628f06515f78563f2209e64d47055d9dc6052bf5e33" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" dependencies = [ "futf", "mac", @@ -4275,9 +4411,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" dependencies = [ "winapi-util", ] @@ -4312,9 +4448,9 @@ version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", ] [[package]] @@ -4349,14 +4485,22 @@ dependencies = [ [[package]] name = "time" -version = "0.3.5" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad" +checksum = "c2702e08a7a860f005826c6815dcac101b19b5eb330c27fe4a5928fec1d20ddd" dependencies = [ - "itoa", + "itoa 1.0.1", "libc", + "num_threads", + "time-macros", ] +[[package]] +name = "time-macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792" + [[package]] name = "tinyvec" version = "1.5.1" @@ -4457,7 +4601,7 @@ checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" dependencies = [ "bytes 0.4.12", "futures", - "log 0.4.14", + "log 0.4.16", ] [[package]] @@ -4469,7 +4613,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.14", + "log 0.4.16", "mio", "num_cpus", "parking_lot 0.9.0", @@ -4528,7 +4672,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.14", + "log 0.4.16", "num_cpus", "slab", "tokio-executor", @@ -4554,7 +4698,7 @@ checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" dependencies = [ "bytes 0.4.12", "futures", - "log 0.4.14", + "log 0.4.16", "mio", "tokio-codec", "tokio-io", @@ -4571,7 +4715,7 @@ dependencies = [ "futures", "iovec", "libc", - "log 0.4.14", + "log 0.4.16", "mio", "mio-uds", "tokio-codec", @@ -4631,7 +4775,7 @@ dependencies = [ "failure", "futures", "lazy_static", - "log 0.4.14", + "log 0.4.16", "radix_trie 0.1.6", "rand 0.7.3", "tokio", @@ -4652,7 +4796,7 @@ dependencies = [ "futures", "idna 0.2.3", "lazy_static", - "log 0.4.14", + "log 0.4.16", "rand 0.7.3", "smallvec 0.6.14", "socket2 0.3.19", @@ -4689,11 +4833,11 @@ dependencies = [ "base64 0.13.0", "byteorder", "bytes 1.1.0", - "http 0.2.5", + "http 0.2.6", "httparse", "input_buffer", - "log 0.4.14", - "rand 0.8.4", + "log 0.4.16", + "rand 0.8.5", "sha-1 0.9.8", "thiserror", "url 2.2.2", @@ -4708,9 +4852,9 @@ checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" [[package]] name = "typenum" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "ucd-trie" @@ -4742,7 +4886,7 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" dependencies = [ - "version_check 0.9.3", + "version_check 0.9.4", ] [[package]] @@ -4762,9 +4906,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" +checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" [[package]] name = "unicode-width" @@ -4863,9 +5007,9 @@ checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" [[package]] name = "version_check" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" @@ -4885,7 +5029,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" dependencies = [ "futures", - "log 0.4.14", + "log 0.4.16", "try-lock", ] @@ -4903,9 +5047,9 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasm-bindgen" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" +checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -4913,53 +5057,53 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" +checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca" dependencies = [ "bumpalo", "lazy_static", - "log 0.4.14", - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "log 0.4.16", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" +checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" dependencies = [ - "quote 1.0.10", + "quote 1.0.17", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" +checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" dependencies = [ - "proc-macro2 1.0.32", - "quote 1.0.10", - "syn 1.0.82", + "proc-macro2 1.0.36", + "quote 1.0.17", + "syn 1.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" +checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2" [[package]] name = "web-sys" -version = "0.3.55" +version = "0.3.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" +checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb" dependencies = [ "js-sys", "wasm-bindgen", @@ -5068,46 +5212,89 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" -version = "0.28.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82ca39602d5cbfa692c4b67e3bcbb2751477355141c1ed434c94da4186836ff6" +checksum = "030b7ff91626e57a05ca64a07c481973cbb2db774e4852c9c7ca342408c6a99a" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.30.0", + "windows_i686_gnu 0.30.0", + "windows_i686_msvc 0.30.0", + "windows_x86_64_gnu 0.30.0", + "windows_x86_64_msvc 0.30.0", +] + +[[package]] +name = "windows-sys" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6" +dependencies = [ + "windows_aarch64_msvc 0.32.0", + "windows_i686_gnu 0.32.0", + "windows_i686_msvc 0.32.0", + "windows_x86_64_gnu 0.32.0", + "windows_x86_64_msvc 0.32.0", ] [[package]] name = "windows_aarch64_msvc" -version = "0.28.0" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29277a4435d642f775f63c7d1faeb927adba532886ce0287bd985bffb16b6bca" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" + +[[package]] +name = "windows_i686_gnu" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52695a41e536859d5308cc613b4a022261a274390b25bd29dfff4bf08505f3c2" +checksum = "1145e1989da93956c68d1864f32fb97c8f561a8f89a5125f6a2b7ea75524e4b8" [[package]] name = "windows_i686_gnu" -version = "0.28.0" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" + +[[package]] +name = "windows_i686_msvc" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f54725ac23affef038fecb177de6c9bf065787c2f432f79e3c373da92f3e1d8a" +checksum = "d4a09e3a0d4753b73019db171c1339cd4362c8c44baf1bcea336235e955954a6" [[package]] name = "windows_i686_msvc" -version = "0.28.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d5158a43cc43623c0729d1ad6647e62fa384a3d135fd15108d37c683461f64" +checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" [[package]] name = "windows_x86_64_gnu" -version = "0.28.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc31f409f565611535130cfe7ee8e6655d3fa99c1c61013981e491921b5ce954" +checksum = "8ca64fcb0220d58db4c119e050e7af03c69e6f4f415ef69ec1773d9aab422d5a" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08cabc9f0066848fef4bc6a1c1668e6efce38b661d2aeec75d18d8617eebb5f1" [[package]] name = "windows_x86_64_msvc" -version = "0.28.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2b8c7cbd3bfdddd9ab98769f9746a7fad1bca236554cd032b78d768bc0e89f" +checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" [[package]] name = "winreg" @@ -5130,19 +5317,20 @@ dependencies = [ [[package]] name = "x509-parser" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc90836a84cb72e6934137b1504d0cae304ef5d83904beb0c8d773bbfe256ed" +checksum = "e64bcfe6a33d9a2d5451de520881469863bd05a095f6b6f7f2ad1a5cd8d4ea2f" dependencies = [ + "asn1-rs", "base64 0.13.0", - "chrono", "data-encoding", "der-parser", "lazy_static", - "nom 7.1.0", + "nom 7.1.1", "oid-registry", "rusticata-macros", "thiserror", + "time 0.3.9", ] [[package]] @@ -5162,6 +5350,6 @@ dependencies = [ [[package]] name = "yansi" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc79f4a1e39857fc00c3f662cbf2651c771f00e9c15fe2abc341806bd46bd71" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" diff --git a/Cargo.toml b/Cargo.toml index e8c006b..cdd7bc8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,17 +72,17 @@ semver = "1" bytes = "0.4" bytesize = "1.0" ipnetwork = "0.18" -strum = "0.23" -strum_macros = "0.23" +strum = "0.24" +strum_macros = "0.24" embedded-triple = "0.1.0" humansize = "1.1.0" -digest = "0.9" -md-5 = "0.9" -sha-1 = "0.9" -sha2 = "0.9" -sha3 = "0.9" -hmac = "0.11" +digest = "0.10" +md-5 = "0.10" +sha-1 = "0.10" +sha2 = "0.10" +sha3 = "0.10" +hmac = "0.12" walkdir = "2.2" nude = "0.3" diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index ccd24e7..546708d 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -31,25 +31,25 @@ pem = "1" url = "2.0" tungstenite = { version = "0.13", default-features = false } kuchiki = "0.8.0" -maxminddb = "0.21" -x509-parser = "0.12" -der-parser = "6" +maxminddb = "0.22" +x509-parser = "0.13" +der-parser = "7" publicsuffix = { version="2", default-features=false } xml-rs = "0.8" -geo = "0.18" +geo = "0.19" bytes = "0.4" base64 = "0.13" chrono = { version = "0.4", features = ["serde"] } mqtt-protocol = "0.11" sodiumoxide = { version="0.2.5", features=["use-pkg-config"] } -image = "0.23.0" +image = "0.23" kamadak-exif = "0.5.1" img_hash_median = "4.0.0" bs58 = "0.4" -digest = "0.9" -blake2 = "0.9" +digest = "0.10" +blake2 = "0.10" [dev-dependencies] env_logger = "0.9" diff --git a/sn0int-std/src/blobs.rs b/sn0int-std/src/blobs.rs index 612d041..754c42b 100644 --- a/sn0int-std/src/blobs.rs +++ b/sn0int-std/src/blobs.rs @@ -1,5 +1,5 @@ use bytes::Bytes; -use blake2::VarBlake2b; +use blake2::Blake2bVar; use digest::{Update, VariableOutput}; use serde::ser::{Serialize, Serializer}; use serde::de::{self, Deserialize, Deserializer}; @@ -21,7 +21,7 @@ impl Blob { } pub fn hash(bytes: &[u8]) -> String { - let mut h = VarBlake2b::new(32).unwrap(); + let mut h = Blake2bVar::new(32).unwrap(); h.update(bytes); let output = h.finalize_boxed(); Self::encode_hash(&output) diff --git a/sn0int-std/src/geoip/models.rs b/sn0int-std/src/geoip/models.rs index a51ff3e..d812cfa 100644 --- a/sn0int-std/src/geoip/models.rs +++ b/sn0int-std/src/geoip/models.rs @@ -72,7 +72,7 @@ pub struct Continent { } impl Continent { - fn from_maxmind(continent: geoip2::model::Continent) -> Option { + fn from_maxmind(continent: geoip2::city::Continent) -> Option { let code = continent.code?; let name = from_geoip_model_names(continent.names)?; @@ -90,7 +90,7 @@ pub struct Country { } impl Country { - fn from_maxmind(country: geoip2::model::Country) -> Option { + fn from_maxmind(country: geoip2::city::Country) -> Option { let code = country.iso_code?; let name = from_geoip_model_names(country.names)?; @@ -108,7 +108,7 @@ pub struct Location { } impl Location { - fn from_maxmind(location: &geoip2::model::Location) -> Option { + fn from_maxmind(location: &geoip2::city::Location) -> Option { let latitude = match location.latitude { Some(latitude) => latitude, _ => return None, diff --git a/src/keyring.rs b/src/keyring.rs index b6f6ca3..dcbfb98 100644 --- a/src/keyring.rs +++ b/src/keyring.rs @@ -111,7 +111,7 @@ impl KeyRing { pub fn insert(&mut self, key: KeyName, secret: Option) -> Result<()> { // get the namespace or create a new one let mut x = self.keys.remove(&key.namespace) - .unwrap_or_else(HashMap::new); + .unwrap_or_default(); // insert key into namespace x.insert(key.name, secret); // add namespace backinto keyring @@ -176,7 +176,7 @@ impl KeyRing { pub fn grant_access(&mut self, module: &Module, namespace: String) { let mut grants = self.grants.remove(&namespace) - .unwrap_or_else(HashSet::new); + .unwrap_or_default(); grants.insert(module.id()); self.grants.insert(namespace, grants); } diff --git a/src/main.rs b/src/main.rs index 7f0f52d..b2d4462 100644 --- a/src/main.rs +++ b/src/main.rs @@ -35,7 +35,7 @@ fn run_run(gargs: &Args, args: &args::Run, config: &Config) -> Result<()> { .to_str() .ok_or_else(|| format_err!("Failed to decode filename"))?; - Module::load(&path.to_path_buf(), "anonymous", filename, true) + Module::load(path, "anonymous", filename, true) .context(format!("Failed to parse {:?}", path))? } else { rl.library().get(module)? diff --git a/src/runtime/hashes.rs b/src/runtime/hashes.rs index 13a11be..38b32d1 100644 --- a/src/runtime/hashes.rs +++ b/src/runtime/hashes.rs @@ -2,9 +2,8 @@ use crate::errors::*; use crate::engine::ctx::State; use crate::engine::structs::{byte_array, lua_bytes}; use crate::hlua::{self, AnyLuaValue}; -use digest::{Digest, Update, BlockInput, FixedOutput, Reset}; -use digest::generic_array::ArrayLength; -use hmac::{Hmac, Mac, NewMac}; +use digest::{Digest, core_api::BlockSizeUser}; +use hmac::{Mac, SimpleHmac}; use std::sync::Arc; @@ -57,15 +56,12 @@ pub fn sha3_512(lua: &mut hlua::Lua, state: Arc) { } fn hmac(secret: AnyLuaValue, msg: AnyLuaValue) -> Result - where - D: Update + BlockInput + FixedOutput + Reset + Default + Clone, - D::BlockSize: ArrayLength + Clone, - D::OutputSize: ArrayLength, + where D: Digest + BlockSizeUser { let secret = byte_array(secret)?; let msg = byte_array(msg)?; - let mut mac = match Hmac::::new_from_slice(&secret) { + let mut mac = match SimpleHmac::::new_from_slice(&secret) { Ok(mac) => mac, Err(_) => bail!("Invalid key length"), }; From 035ef9aa760f1c0bbf9e8c62312965a990d6f205 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Mon, 28 Mar 2022 19:25:22 +0200 Subject: [PATCH 25/55] Add missing seccomp syscall (rseq) --- src/sandbox/seccomp.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sandbox/seccomp.rs b/src/sandbox/seccomp.rs index 5b43f92..31b96f1 100644 --- a/src/sandbox/seccomp.rs +++ b/src/sandbox/seccomp.rs @@ -55,6 +55,7 @@ pub fn init() -> Result<()> { ctx.allow_syscall(Syscall::setsockopt)?; ctx.allow_syscall(Syscall::madvise)?; ctx.allow_syscall(Syscall::rt_sigaction)?; + ctx.allow_syscall(Syscall::rseq)?; #[cfg(target_arch = "x86")] ctx.allow_syscall(Syscall::time)?; ctx.allow_syscall(Syscall::clock_gettime)?; From b65c72d090b9edfd7fdc6a217c751cb807fbc23f Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Mon, 28 Mar 2022 20:40:15 +0200 Subject: [PATCH 26/55] Update Dockerfile to alpine 3.15 and buildkit --- .github/workflows/docker.yml | 2 +- Dockerfile | 14 +++++++++----- docs/build.rst | 7 +++++++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 3c66303..0f5a84f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v2 - name: Build the Docker image - run: docker build -t ${{ matrix.build.name }} -f ${{ matrix.build.file }} . + run: DOCKER_BUILDKIT=1 docker build -t ${{ matrix.build.name }} -f ${{ matrix.build.file }} . - name: Test the Docker image run: docker run --rm ${{ matrix.build.name }} --help diff --git a/Dockerfile b/Dockerfile index bbd76c2..2c7ffbe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,18 @@ -FROM rust:alpine3.13 +FROM rust:alpine3.15 ENV RUSTFLAGS="-C target-feature=-crt-static" RUN apk add --no-cache musl-dev sqlite-dev libseccomp-dev libsodium-dev WORKDIR /usr/src/sn0int COPY . . -RUN cargo build --release --verbose -RUN strip target/release/sn0int +RUN --mount=type=cache,target=/var/cache/buildkit \ + CARGO_HOME=/var/cache/buildkit/cargo \ + CARGO_TARGET_DIR=/var/cache/buildkit/target \ + cargo build --release --locked --verbose && \ + cp -v /var/cache/buildkit/target/release/sn0int / +RUN strip /sn0int -FROM alpine:3.13 +FROM alpine:3.15 RUN apk add --no-cache libgcc sqlite-libs libseccomp libsodium -COPY --from=0 /usr/src/sn0int/target/release/sn0int /usr/local/bin/sn0int +COPY --from=0 /sn0int /usr/local/bin/sn0int VOLUME ["/data", "/cache"] ENV XDG_DATA_HOME=/data \ XDG_CACHE_HOME=/cache diff --git a/docs/build.rst b/docs/build.rst index 290a0f0..167460e 100644 --- a/docs/build.rst +++ b/docs/build.rst @@ -44,6 +44,13 @@ Alpine $ apk add sqlite-dev libseccomp-dev libsodium-dev +Docker +~~~~~~ + +.. code-block:: bash + + $ DOCKER_BUILDKIT=1 docker build -t kpcyrd/sn0int . + OpenBSD ~~~~~~~ From 3a204a92a517aced0ad9fcdc02ca79cc153ba039 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Tue, 29 Mar 2022 01:16:52 +0200 Subject: [PATCH 27/55] Add docker release github action --- .github/workflows/docker-release.yml | 58 ++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/docker-release.yml diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml new file mode 100644 index 0000000..1752bc1 --- /dev/null +++ b/.github/workflows/docker-release.yml @@ -0,0 +1,58 @@ +name: Publish Docker image + +on: + release: + types: [ published ] + +jobs: + push_to_registry: + name: Push Docker image to GitHub Registry + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v2 + - + name: Docker meta + id: meta + uses: docker/metadata-action@v3 + with: + images: | + ghcr.io/kpcyrd/sn0int + tags: | + type=semver,pattern={{raw}} + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - + name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - + name: Login to Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - + name: Build and push Docker images + uses: docker/build-push-action@v2 + with: + push: true + tags: ${{ steps.meta.outputs.tags }} + file: Dockerfile + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new + - + # Temp fix + # https://github.com/docker/build-push-action/issues/252 + # https://github.com/moby/buildkit/issues/1896 + name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache From 6cd97d980dd9225585c22574a448f28374934db7 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Tue, 29 Mar 2022 02:38:09 +0200 Subject: [PATCH 28/55] Release v0.24.2 --- Cargo.lock | 8 ++++---- Cargo.toml | 4 ++-- sn0int-std/Cargo.toml | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 12574a0..68335bc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2287,9 +2287,9 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b" [[package]] name = "native-tls" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09bf6f32a3afefd0b587ee42ed19acd945c6d1f3b5424040f50b2f24ab16be77" +checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" dependencies = [ "lazy_static", "libc", @@ -3990,7 +3990,7 @@ checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" [[package]] name = "sn0int" -version = "0.24.1" +version = "0.24.2" dependencies = [ "atty", "base64 0.13.0", @@ -4095,7 +4095,7 @@ dependencies = [ [[package]] name = "sn0int-std" -version = "0.24.1" +version = "0.24.2" dependencies = [ "base64 0.13.0", "blake2 0.10.4", diff --git a/Cargo.toml b/Cargo.toml index cdd7bc8..fe0c400 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int" -version = "0.24.1" +version = "0.24.2" description = "Semi-automatic OSINT framework and package manager" authors = ["kpcyrd "] license = "GPL-3.0" @@ -33,7 +33,7 @@ sqlite-bundled = ["libsqlite3-sys/bundled"] [dependencies] sn0int-common = { version="0.13.0", path="sn0int-common" } -sn0int-std = { version="=0.24.1", path="sn0int-std" } +sn0int-std = { version="=0.24.2", path="sn0int-std" } rustyline = "9.0" log = "0.4" env_logger = "0.9" diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 546708d..1b93f5f 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int-std" -version = "0.24.1" +version = "0.24.2" description = "sn0int - stdlib" authors = ["kpcyrd "] repository = "https://github.com/kpcyrd/sn0int" From c4b74aa6fca685ecc8a233aeb6a6dc9df85640fd Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Wed, 13 Apr 2022 22:24:02 +0200 Subject: [PATCH 29/55] Adjust error messages to show target directory --- src/paths.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/paths.rs b/src/paths.rs index d5978f3..82f8f31 100644 --- a/src/paths.rs +++ b/src/paths.rs @@ -9,7 +9,7 @@ pub fn sn0int_dir() -> Result { .ok_or_else(|| format_err!("Failed to find data directory"))?; let path = path.join("sn0int"); fs::create_dir_all(&path) - .context("Failed to create data directory")?; + .context("Failed to create sn0int data directory")?; Ok(path) } @@ -23,7 +23,7 @@ pub fn module_dir() -> Result { let path = sn0int_dir()?; let path = path.join("modules"); fs::create_dir_all(&path) - .context("Failed to create module directory")?; + .context("Failed to create modules directory")?; Ok(path) } @@ -31,7 +31,7 @@ pub fn data_dir() -> Result { let path = sn0int_dir()? .join("data"); fs::create_dir_all(&path) - .context("Failed to create module directory")?; + .context("Failed to create data directory")?; Ok(path) } @@ -40,7 +40,7 @@ pub fn workspace_dir(workspace: &Workspace) -> Result { .join("data") .join(workspace.as_str()); fs::create_dir_all(&path) - .context("Failed to create module directory")?; + .context("Failed to create workspace directory")?; Ok(path) } @@ -48,7 +48,7 @@ pub fn blobs_dir(workspace: &Workspace) -> Result { let path = workspace_dir(workspace)? .join("blobs"); fs::create_dir_all(&path) - .context("Failed to create module directory")?; + .context("Failed to create blobs directory")?; Ok(path) } @@ -57,7 +57,7 @@ pub fn cache_dir() -> Result { .ok_or_else(|| format_err!("Failed to find cache directory"))?; let path = path.join("sn0int"); fs::create_dir_all(&path) - .context("Failed to create cache directory")?; + .context("Failed to create sn0int cache directory")?; Ok(path) } From 006e3618fb5c55ee762b78fa4b32587f3c1cff8b Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Wed, 13 Apr 2022 22:28:52 +0200 Subject: [PATCH 30/55] Unify function bodies --- src/paths.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/paths.rs b/src/paths.rs index 82f8f31..5b9a108 100644 --- a/src/paths.rs +++ b/src/paths.rs @@ -14,14 +14,14 @@ pub fn sn0int_dir() -> Result { } pub fn history_path() -> Result { - let path = sn0int_dir()?; - let path = path.join("history"); + let path = sn0int_dir()? + .join("history"); Ok(path) } pub fn module_dir() -> Result { - let path = sn0int_dir()?; - let path = path.join("modules"); + let path = sn0int_dir()? + .join("modules"); fs::create_dir_all(&path) .context("Failed to create modules directory")?; Ok(path) @@ -36,8 +36,7 @@ pub fn data_dir() -> Result { } pub fn workspace_dir(workspace: &Workspace) -> Result { - let path = sn0int_dir()? - .join("data") + let path = data_dir()? .join(workspace.as_str()); fs::create_dir_all(&path) .context("Failed to create workspace directory")?; From ebc1fa791de393c1ad69ec20eb119045d1fa4c91 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Thu, 14 Jul 2022 00:03:20 +0200 Subject: [PATCH 31/55] Fix clippy warnings, reduce heap allocations --- sn0int-std/src/web.rs | 4 +++- sn0int-std/src/xml.rs | 2 +- src/cal/date.rs | 5 +++-- src/cal/time.rs | 3 ++- src/cmd/notify_cmd.rs | 22 +++++++++++----------- src/db/mod.rs | 7 ++++--- src/lib.rs | 2 ++ src/repl/mod.rs | 2 +- src/runtime/hex.rs | 4 ++-- src/runtime/logger.rs | 27 +++++++++++++++------------ src/worker.rs | 13 +++++++------ 11 files changed, 51 insertions(+), 40 deletions(-) diff --git a/sn0int-std/src/web.rs b/sn0int-std/src/web.rs index b6b151e..6a80b55 100644 --- a/sn0int-std/src/web.rs +++ b/sn0int-std/src/web.rs @@ -13,6 +13,7 @@ use rand::distributions::Alphanumeric; use serde::{Serialize, Deserialize}; use std::collections::{HashMap, HashSet}; use std::fmt; +use std::fmt::Write; use std::iter; use std::net::SocketAddr; use std::ops::Deref; @@ -251,7 +252,8 @@ impl HttpRequest { if !cookies.is_empty() { cookies += "; "; } - cookies.push_str(&format!("{}={}", key, value)); + // it's a write to a String, so panic if re-allocation fails is fine + write!(cookies, "{}={}", key, value).expect("out of memory"); } if !cookies.is_empty() { diff --git a/sn0int-std/src/xml.rs b/sn0int-std/src/xml.rs index 04bfdc6..d97eb1a 100644 --- a/sn0int-std/src/xml.rs +++ b/sn0int-std/src/xml.rs @@ -62,7 +62,7 @@ pub fn decode(x: &str) -> Result { } #[inline] -fn append_text(stack: &mut Vec, text: String) { +fn append_text(stack: &mut [XmlElement], text: String) { if let Some(tail) = stack.last_mut() { if let Some(prev) = tail.text.as_mut() { prev.push_str(&text); diff --git a/src/cal/date.rs b/src/cal/date.rs index 90c07cb..b166de1 100644 --- a/src/cal/date.rs +++ b/src/cal/date.rs @@ -6,6 +6,7 @@ use crate::cal::{ActivityGrade, DateArg}; use crate::models::*; use std::collections::HashMap; use std::collections::VecDeque; +use std::fmt::Write; const MONTH_LINES: i32 = 7; @@ -223,7 +224,7 @@ impl DateSpec { let start = Utc.ymd(*year, *month, 1); let days = days_in_month(*year, *month) as u32; - w.push_str(&format!("{:^21}\n", start.format("%B %Y"))); + writeln!(w, "{:^21}", start.format("%B %Y")).expect("out of memory"); w.push_str(" Su Mo Tu We Th Fr Sa\n"); let mut cur_week_day = start.weekday(); @@ -244,7 +245,7 @@ impl DateSpec { } else { w.push(' '); } - w.push_str(&format!("{:2}", cur_day)); + write!(w, "{:2}", cur_day).expect("out of memory"); week_written += 3; w.push_str("\x1b[0m"); diff --git a/src/cal/time.rs b/src/cal/time.rs index 33c333c..5c04d86 100644 --- a/src/cal/time.rs +++ b/src/cal/time.rs @@ -5,6 +5,7 @@ use chrono::prelude::*; use crate::cal::{ActivityGrade, DateArg}; use crate::models::*; use std::collections::HashMap; +use std::fmt::Write; const MIN_PER_DAY: u32 = 1440; @@ -156,7 +157,7 @@ impl DateTimeSpec { // add legend w.push_str(&" ".repeat(11)); for x in 0..24 { - w.push_str(&format!("{:02}", x)); + write!(w, "{:02}", x).expect("out of memory"); for i in 0..ctx.hour_width() { if i >= 2 { diff --git a/src/cmd/notify_cmd.rs b/src/cmd/notify_cmd.rs index 5001f32..be050d2 100644 --- a/src/cmd/notify_cmd.rs +++ b/src/cmd/notify_cmd.rs @@ -2,12 +2,12 @@ use crate::errors::*; use crate::cmd::Cmd; use crate::engine::Module; -// use crate::models::*; use crate::notify::{self, Notification}; use crate::options::{self, Opt}; use crate::shell::Shell; use crate::term; use sn0int_std::ratelimits::Ratelimiter; +use std::fmt::Write; use structopt::StructOpt; use structopt::clap::AppSettings; @@ -52,19 +52,19 @@ pub struct ExecArgs { } fn print_summary(module: &Module, sent: usize, errors: usize) { - let mut out = if sent == 1 { - String::from("Sent 1 notification") - } else { - format!("Sent {} notifications", sent) - }; + let mut out = if sent == 1 { + String::from("Sent 1 notification") + } else { + format!("Sent {} notifications", sent) + }; - out.push_str(&format!(" with {}", module.canonical())); + write!(out, " with {}", module.canonical()).expect("out of memory"); - if errors > 0 { - out.push_str(&format!(" ({} errors)", errors)); - } + if errors > 0 { + write!(out, " ({} errors)", errors).expect("out of memory"); + } - term::info(&out); + term::info(&out); } fn send(args: SendArgs, rl: &mut Shell) -> Result<()> { diff --git a/src/db/mod.rs b/src/db/mod.rs index 2a2bf5c..a9f2390 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -5,6 +5,7 @@ use diesel::expression::SqlLiteral; use diesel::expression::sql_literal::sql; use diesel::sql_types::Bool; use diesel::prelude::*; +use std::fmt::Write; use strum_macros::{EnumString, IntoStaticStr}; use crate::autonoscope::{RuleSet, RuleType}; use crate::models::*; @@ -502,14 +503,14 @@ impl Filter { for arg in args { if ["=", "!=", "<", ">", "<=", ">=", "like"].contains(&arg.to_lowercase().as_str()) { expect_value = true; - query += &format!(" {}", arg); + write!(query, " {}", arg)?; continue; } if let Some(idx) = arg.find('=') { if idx != 0 { let (key, value) = arg.split_at(idx); - query += &format!(" {} = {}", key, Self::escape(&value[1..])); + write!(query, " {} = {}", key, Self::escape(&value[1..]))?; continue; } } @@ -519,7 +520,7 @@ impl Filter { query.push_str(&Self::escape(arg)); expect_value = false; } else { - query += &format!(" {}", arg); + write!(query, " {}", arg)?; } } debug!("Parsed query: {:?}", query); diff --git a/src/lib.rs b/src/lib.rs index 743c5ea..3a1a479 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,8 @@ #![allow(clippy::too_many_arguments)] #![allow(clippy::type_complexity)] #![allow(clippy::large_enum_variant)] +// because of diesel +#![allow(clippy::extra_unused_lifetimes)] #![warn(unused_extern_crates)] use hlua_badtouch as hlua; diff --git a/src/repl/mod.rs b/src/repl/mod.rs index 99cbf78..07c3e52 100644 --- a/src/repl/mod.rs +++ b/src/repl/mod.rs @@ -63,7 +63,7 @@ impl<'a> Repl<'a> { Ok(val) => { if val != AnyLuaValue::LuaNil { let mut out = String::new(); - format_lua(&mut out, &val); + format_lua(&mut out, &val).expect("out of memory"); println!("{}", out); } if let Some(err) = self.state.last_error() { diff --git a/src/runtime/hex.rs b/src/runtime/hex.rs index e97410c..d92e889 100644 --- a/src/runtime/hex.rs +++ b/src/runtime/hex.rs @@ -3,9 +3,9 @@ use crate::errors::*; use crate::engine::ctx::State; use crate::engine::structs::byte_array; use crate::hlua::{self, AnyLuaValue}; +use std::fmt::Write; use std::sync::Arc; - // TODO: consider deprecating this function, replace with hex_{en,de}code and hex_custom_{en,de}code pub fn hex(lua: &mut hlua::Lua, state: Arc) { lua.set("hex", hlua::function1(move |bytes: AnyLuaValue| -> Result { @@ -15,7 +15,7 @@ pub fn hex(lua: &mut hlua::Lua, state: Arc) { let mut out = String::new(); for b in bytes { - out += &format!("{:02x}", b); + write!(out, "{:02x}", b).expect("out of memory"); } out diff --git a/src/runtime/logger.rs b/src/runtime/logger.rs index 37b6302..b71cd54 100644 --- a/src/runtime/logger.rs +++ b/src/runtime/logger.rs @@ -1,15 +1,16 @@ +use crate::errors::*; use crate::engine::ctx::State; use crate::hlua::{self, AnyLuaValue}; +use std::fmt::Write; use std::sync::Arc; - -pub fn format_lua(out: &mut String, x: &AnyLuaValue) { +pub fn format_lua(out: &mut String, x: &AnyLuaValue) -> Result<()> { match *x { AnyLuaValue::LuaNil => out.push_str("null"), - AnyLuaValue::LuaString(ref x) => out.push_str(&format!("{:?}", x)), - AnyLuaValue::LuaNumber(ref x) => out.push_str(&format!("{:?}", x)), - AnyLuaValue::LuaAnyString(ref x) => out.push_str(&format!("{:?}", x.0)), - AnyLuaValue::LuaBoolean(ref x) => out.push_str(&format!("{:?}", x)), + AnyLuaValue::LuaString(ref x) => write!(out, "{:?}", x)?, + AnyLuaValue::LuaNumber(ref x) => write!(out, "{:?}", x)?, + AnyLuaValue::LuaAnyString(ref x) => write!(out, "{:?}", x.0)?, + AnyLuaValue::LuaBoolean(ref x) => write!(out, "{:?}", x)?, AnyLuaValue::LuaArray(ref x) => { out.push('{'); let mut first = true; @@ -20,12 +21,12 @@ pub fn format_lua(out: &mut String, x: &AnyLuaValue) { } let mut key = String::new(); - format_lua(&mut key, k); + format_lua(&mut key, k)?; let mut value = String::new(); - format_lua(&mut value, v); + format_lua(&mut value, v)?; - out.push_str(&format!("{}: {}", key, value)); + write!(out, "{}: {}", key, value)?; first = false; } @@ -33,12 +34,14 @@ pub fn format_lua(out: &mut String, x: &AnyLuaValue) { }, AnyLuaValue::LuaOther => out.push_str("LuaOther"), } + + Ok(()) } pub fn info(lua: &mut hlua::Lua, state: Arc) { lua.set("info", hlua::function1(move |val: AnyLuaValue| { let mut out = String::new(); - format_lua(&mut out, &val); + format_lua(&mut out, &val).expect("out of memory"); state.info(out); })) } @@ -46,7 +49,7 @@ pub fn info(lua: &mut hlua::Lua, state: Arc) { pub fn debug(lua: &mut hlua::Lua, state: Arc) { lua.set("debug", hlua::function1(move |val: AnyLuaValue| { let mut out = String::new(); - format_lua(&mut out, &val); + format_lua(&mut out, &val).expect("out of memory"); state.debug(out); })) } @@ -79,7 +82,7 @@ pub fn print(lua: &mut hlua::Lua, _: Arc) { lua.set("print", hlua::function1(move |val: AnyLuaValue| { // println!("{:?}", val); let mut out = String::new(); - format_lua(&mut out, &val); + format_lua(&mut out, &val).expect("out of memory"); eprintln!("{}", out); })) } diff --git a/src/worker.rs b/src/worker.rs index 95cf14b..c4e7667 100644 --- a/src/worker.rs +++ b/src/worker.rs @@ -15,6 +15,7 @@ use crate::ratelimits::{Ratelimiter, RatelimitResponse}; use crate::shell::Shell; use sn0int_std::ratelimits::RatelimitSender; use std::collections::HashMap; +use std::fmt::Write; use std::result; use std::sync::{mpsc, Arc, Mutex}; use std::time::Duration; @@ -204,7 +205,7 @@ impl DatabaseEvent { // TODO: we don't want to copy the match arms everywhere let mut subject = format!("New activity: {:?}", object.topic); if let Some(uniq) = &object.uniq { - subject += &format!(" ({:?})", uniq); + write!(subject, " ({:?})", uniq).expect("out of memory"); } let topic = format!("activity:{}", object.topic); Self::notify(rl, spinner, ratelimit, &topic, subject); @@ -213,20 +214,20 @@ impl DatabaseEvent { fn spinner_log_new_activity(spinner: &mut T, object: &NewActivity, verbose: u64) { let mut log = format!("{:?} ", object.topic); if let Some(uniq) = &object.uniq { - log.push_str(&format!("({:?}) ", uniq)); + write!(log, "({:?}) ", uniq).expect("out of memory"); } - log.push_str(&format!("@ {}", object.time)); + write!(log, "@ {}", object.time).expect("out of memory"); if let (Some(ref lat), Some(ref lon)) = (object.latitude, object.longitude) { - log.push_str(&format!(" ({}, {}", lat, lon)); + write!(log, " ({}, {}", lat, lon).expect("out of memory"); if let Some(radius) = &object.radius { - log.push_str(&format!(" | {}m", radius)); + write!(log, " | {}m", radius).expect("out of memory"); } log.push(')'); } if verbose > 0 { - log.push_str(&format!(": {}", object.content)); + write!(log, ": {}", object.content).expect("out of memory"); } spinner.log(&log); From febb39ab0322c82d67cb88955fd52f354e67c8a6 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sun, 17 Jul 2022 18:49:21 +0200 Subject: [PATCH 32/55] Update dependencies --- Cargo.lock | 1136 +++++++++++++++++++++-------------------- Cargo.toml | 6 +- sn0int-std/Cargo.toml | 6 +- src/repl/mod.rs | 10 +- src/shell/mod.rs | 8 +- src/shell/readline.rs | 18 +- src/utils.rs | 2 +- 7 files changed, 606 insertions(+), 580 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 68335bc..3fe8b53 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,15 +43,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" +checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" [[package]] name = "approx" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" dependencies = [ "num-traits", ] @@ -80,14 +80,29 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33" dependencies = [ - "asn1-rs-derive", + "asn1-rs-derive 0.1.0", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.11", +] + +[[package]] +name = "asn1-rs" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4" +dependencies = [ + "asn1-rs-derive 0.4.0", "asn1-rs-impl", "displaydoc", - "nom 7.1.1", + "nom", "num-traits", "rusticata-macros", "thiserror", - "time 0.3.9", ] [[package]] @@ -96,9 +111,21 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", + "synstructure", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" +dependencies = [ + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", "synstructure", ] @@ -108,9 +135,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] @@ -141,15 +168,15 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.64" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e121dee8023ce33ab248d9ce1493df03c3b38a659b240096fcbd7048ff9c31f" +checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" dependencies = [ "addr2line", "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide 0.4.4", + "miniz_oxide 0.5.3", "object", "rustc-demangle", ] @@ -202,21 +229,21 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.56.0" +version = "0.59.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da379dbebc0b76ef63ca68d8fc6e71c0f13e59432e0987e508c1820e6ab5239" +checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" dependencies = [ "bitflags", "cexpr", "clang-sys", - "clap", - "env_logger 0.8.4", + "clap 2.34.0", + "env_logger", "lazy_static", "lazycell", - "log 0.4.16", + "log 0.4.17", "peeking_take_while", - "proc-macro2 1.0.36", - "quote 1.0.17", + "proc-macro2 1.0.40", + "quote 1.0.20", "regex", "rustc-hash", "shlex", @@ -301,24 +328,24 @@ dependencies = [ [[package]] name = "boxxy" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcfa25d59f1ac5c4d3bb21ce9a12320f52dfaba63e25546e371f852d2bf1ce0" +checksum = "002b428e1fc236c832bb908e40b71e4a9756995002af191b51dbd86e18d91f66" dependencies = [ "anyhow", "base64 0.13.0", "bufstream", "caps", "cfg-if 1.0.0", - "clap", + "clap 3.2.12", + "close_fds", "errno", "libc", - "log 0.4.16", - "nix 0.22.3", + "log 0.4.17", + "nix", "pledge", "regex", "rustyline", - "structopt", ] [[package]] @@ -346,9 +373,9 @@ checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" [[package]] name = "bumpalo" -version = "3.9.1" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" +checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" [[package]] name = "byte-tools" @@ -364,9 +391,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e851ca7c24871e7336801608a4797d7376545b6928a10d32d75685687141ead" +checksum = "c53dfa917ec274df8ed3c572698f381a24eef2efba9492d797301b72b6db408a" [[package]] name = "byteorder" @@ -416,11 +443,11 @@ checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" [[package]] name = "cexpr" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ - "nom 5.1.2", + "nom", ] [[package]] @@ -445,7 +472,7 @@ dependencies = [ "num-integer", "num-traits", "serde", - "time 0.1.43", + "time 0.1.44", "winapi 0.3.9", ] @@ -464,7 +491,7 @@ dependencies = [ "hyper 0.12.36", "hyper-rustls", "ipconfig", - "log 0.4.16", + "log 0.4.17", "lru-cache", "rustls 0.16.0", "serde", @@ -476,9 +503,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.3.1" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cc00842eed744b858222c4c9faf7243aafc6d33f92f96935263ef4d8a41ce21" +checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" dependencies = [ "glob", "libc", @@ -495,22 +522,68 @@ dependencies = [ "atty", "bitflags", "strsim", - "textwrap", + "textwrap 0.11.0", "unicode-width", "vec_map", ] +[[package]] +name = "clap" +version = "3.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab8b79fe3946ceb4a0b1c080b4018992b8d27e9ff363644c1c9b6387c854614d" +dependencies = [ + "bitflags", + "clap_derive", + "clap_lex", + "indexmap", + "once_cell", + "textwrap 0.15.0", +] + +[[package]] +name = "clap_derive" +version = "3.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759bf187376e1afa7b85b959e6a664a3e7a95203415dba952ad19139e798f902" +dependencies = [ + "heck 0.4.0", + "proc-macro-error", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + [[package]] name = "clipboard-win" -version = "4.4.1" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f3e1238132dc01f081e1cbb9dace14e5ef4c3a51ee244bd982275fb514605db" +checksum = "c4ab1b92798304eedc095b53942963240037c0516452cb11aeba709d420b2219" dependencies = [ "error-code", "str-buf", "winapi 0.3.9", ] +[[package]] +name = "close_fds" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bc416f33de9d59e79e57560f450d21ff8393adcf1cdfc3e6d8fb93d5f88a2ed" +dependencies = [ + "cfg-if 1.0.0", + "libc", +] + [[package]] name = "cloudabi" version = "0.0.3" @@ -550,7 +623,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80f6044740a4a516b8aac14c140cdf35c1a640b1bd6b98b6224e49143b2f1566" dependencies = [ "percent-encoding 2.1.0", - "time 0.1.43", + "time 0.1.44", ] [[package]] @@ -559,7 +632,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5" dependencies = [ - "time 0.1.43", + "time 0.1.44", "url 1.7.2", ] @@ -572,11 +645,11 @@ dependencies = [ "cookie 0.12.0", "failure", "idna 0.1.5", - "log 0.4.16", + "log 0.4.17", "publicsuffix 1.5.6", "serde", "serde_json", - "time 0.1.43", + "time 0.1.44", "try_from", "url 1.7.2", ] @@ -617,12 +690,12 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53" +checksum = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.8", + "crossbeam-utils 0.8.10", ] [[package]] @@ -643,8 +716,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" dependencies = [ "cfg-if 1.0.0", - "crossbeam-epoch 0.9.8", - "crossbeam-utils 0.8.8", + "crossbeam-epoch 0.9.9", + "crossbeam-utils 0.8.10", ] [[package]] @@ -664,15 +737,15 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c" +checksum = "07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d" dependencies = [ "autocfg 1.1.0", "cfg-if 1.0.0", - "crossbeam-utils 0.8.8", - "lazy_static", + "crossbeam-utils 0.8.10", "memoffset 0.6.5", + "once_cell", "scopeguard", ] @@ -700,19 +773,19 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.8" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" +checksum = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83" dependencies = [ "cfg-if 1.0.0", - "lazy_static", + "once_cell", ] [[package]] name = "crypto-common" -version = "0.1.3" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.5", "typenum", @@ -739,10 +812,10 @@ dependencies = [ "itoa 0.4.8", "matches", "phf", - "proc-macro2 1.0.36", - "quote 1.0.17", - "smallvec 1.8.0", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "smallvec 1.9.0", + "syn 1.0.98", ] [[package]] @@ -751,8 +824,8 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" dependencies = [ - "quote 1.0.17", - "syn 1.0.90", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] @@ -775,11 +848,11 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.2.1" +version = "3.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19c6cedffdc8c03a3346d723eb20bd85a13362bb96dc2ac000842c6381ec7bf" +checksum = "b37feaa84e6861e00a1f5e5aa8da3ee56d605c9992d33e082786754828e20865" dependencies = [ - "nix 0.23.1", + "nix", "winapi 0.3.9", ] @@ -800,9 +873,9 @@ dependencies = [ [[package]] name = "curl-sys" -version = "0.4.53+curl-7.82.0" +version = "0.4.55+curl-7.83.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8092905a5a9502c312f223b2775f57ec5c5b715f9a15ee9d2a8591d1364a0352" +checksum = "23734ec77368ec583c2e61dd3f0b0e5c98b93abe6d2a004ca06b91dd7e3e2762" dependencies = [ "cc", "libc", @@ -836,7 +909,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" dependencies = [ "data-encoding", - "syn 1.0.90", + "syn 1.0.98", ] [[package]] @@ -855,14 +928,27 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" dependencies = [ - "asn1-rs", + "asn1-rs 0.3.1", "displaydoc", - "nom 7.1.1", + "nom", "num-bigint", "num-traits", "rusticata-macros", ] +[[package]] +name = "der-parser" +version = "8.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" +dependencies = [ + "asn1-rs 0.5.1", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -870,17 +956,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.36", - "quote 1.0.17", + "proc-macro2 1.0.40", + "quote 1.0.20", "rustc_version 0.4.0", - "syn 1.0.90", + "syn 1.0.98", ] [[package]] name = "devise" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74e04ba2d03c5fa0d954c061fc8c9c288badadffc272ebb87679a89846de3ed3" +checksum = "dd716c4a507adc5a2aa7c2a372d06c7497727e0892b243d3036bc7478a13e526" dependencies = [ "devise_codegen", "devise_core", @@ -888,9 +974,9 @@ dependencies = [ [[package]] name = "devise_codegen" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "066ceb7928ca93a9bedc6d0e612a8a0424048b0ab1f75971b203d01420c055d7" +checksum = "ea7b8290d118127c08e3669da20b331bed56b09f20be5945b7da6c116d8fab53" dependencies = [ "devise_core", "quote 0.6.13", @@ -898,9 +984,9 @@ dependencies = [ [[package]] name = "devise_core" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf41c59b22b5e3ec0ea55c7847e5f358d340f3a8d6d53a5cf4f1564967f96487" +checksum = "d1053e9d5d5aade9bcedb5ab53b78df2b56ff9408a3138ce77eaaef87f932373" dependencies = [ "bitflags", "proc-macro2 0.4.30", @@ -929,9 +1015,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] @@ -1018,9 +1104,9 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] @@ -1046,18 +1132,18 @@ dependencies = [ [[package]] name = "ed25519" -version = "1.4.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d5c4b5e5959dc2c2b89918d8e2cc40fcdd623cef026ed09d2f0ee05199dc8e4" +checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" dependencies = [ "signature", ] [[package]] name = "either" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" [[package]] name = "embedded-triple" @@ -1067,9 +1153,9 @@ checksum = "4dda717aa0325f3ebb1b5da2da97b56641e5cef86c55d7fec8158bc8aeb5ed19" [[package]] name = "encoding_rs" -version = "0.8.30" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df" +checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" dependencies = [ "cfg-if 1.0.0", ] @@ -1091,19 +1177,6 @@ dependencies = [ "syn 0.15.44", ] -[[package]] -name = "env_logger" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" -dependencies = [ - "atty", - "humantime 2.1.0", - "log 0.4.16", - "regex", - "termcolor", -] - [[package]] name = "env_logger" version = "0.9.0" @@ -1112,7 +1185,7 @@ checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" dependencies = [ "atty", "humantime 2.1.0", - "log 0.4.16", + "log 0.4.17", "regex", "termcolor", ] @@ -1164,9 +1237,9 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", "synstructure", ] @@ -1187,37 +1260,35 @@ dependencies = [ [[package]] name = "fd-lock" -version = "3.0.5" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46e245f4c8ec30c6415c56cb132c07e69e74f1942f6b4a4061da748b49f486ca" +checksum = "e11dcc7e4d79a8c89b9ab4c6f5c30b1fc4a83c420792da3542fd31179ed5f517" dependencies = [ "cfg-if 1.0.0", "rustix", - "windows-sys 0.30.0", + "windows-sys", ] [[package]] name = "filetime" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98" +checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.12", - "winapi 0.3.9", + "redox_syscall 0.2.13", + "windows-sys", ] [[package]] name = "flate2" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" +checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" dependencies = [ - "cfg-if 1.0.0", "crc32fast", - "libc", - "miniz_oxide 0.4.4", + "miniz_oxide 0.5.3", ] [[package]] @@ -1366,13 +1437,13 @@ dependencies = [ [[package]] name = "geo" -version = "0.19.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61faf6a68f9432b5287c393268e86a07e4dfed79e6e0962b0e6e59b2f70c77d8" +checksum = "d7e2e3be15682a45e9dfe9a04f84bff275390047204ab22f3c6b2312fcfb9e24" dependencies = [ "geo-types", "geographiclib-rs", - "log 0.4.16", + "log 0.4.17", "num-traits", "robust", "rstar", @@ -1380,9 +1451,9 @@ dependencies = [ [[package]] name = "geo-types" -version = "0.7.3" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658ffd4025e593f0b64e8fa7a1afc4082e4471ac823034b9d4e338edc9adc6fb" +checksum = "d9805fbfcea97de816e6408e938603241879cc41eea3fba3f84f122f4f6f9c54" dependencies = [ "approx", "num-traits", @@ -1391,9 +1462,9 @@ dependencies = [ [[package]] name = "geographiclib-rs" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b78e20d5d868fa2c4182a8170cb4df261e781a605810e3c1500269c1907da461" +checksum = "fdbd3cdc1856ca7736763d2784671c2c9b0093f0ee47e2bed0059feed6afca89" dependencies = [ "lazy_static", ] @@ -1411,20 +1482,20 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" +checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" dependencies = [ "cfg-if 1.0.0", "libc", - "wasi 0.10.2+wasi-snapshot-preview1", + "wasi 0.11.0+wasi-snapshot-preview1", ] [[package]] name = "gif" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3a7187e78088aead22ceedeee99779455b23fc231fe13ec443f99bb71694e5b" +checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06" dependencies = [ "color_quant", "weezl", @@ -1432,9 +1503,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.26.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" [[package]] name = "glob" @@ -1454,7 +1525,7 @@ dependencies = [ "futures", "http 0.1.21", "indexmap", - "log 0.4.16", + "log 0.4.17", "slab", "string", "tokio-io", @@ -1467,7 +1538,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d82e5750d8027a97b9640e3fefa66bbaf852a35228e1c90790efd13c4b09c166" dependencies = [ "lazy_static", - "log 0.4.16", + "log 0.4.17", "pest", "pest_derive", "quick-error", @@ -1492,6 +1563,12 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "heapless" version = "0.6.1" @@ -1559,12 +1636,12 @@ version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" dependencies = [ - "log 0.4.16", + "log 0.4.17", "mac", "markup5ever", - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] @@ -1580,13 +1657,13 @@ dependencies = [ [[package]] name = "http" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes 1.1.0", "fnv", - "itoa 1.0.1", + "itoa 1.0.2", ] [[package]] @@ -1603,9 +1680,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4" +checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" [[package]] name = "humansize" @@ -1640,7 +1717,7 @@ dependencies = [ "log 0.3.9", "mime 0.2.6", "num_cpus", - "time 0.1.43", + "time 0.1.44", "traitobject", "typeable", "unicase 1.4.2", @@ -1662,10 +1739,10 @@ dependencies = [ "httparse", "iovec", "itoa 0.4.8", - "log 0.4.16", + "log 0.4.17", "net2", "rustc_version 0.2.3", - "time 0.1.43", + "time 0.1.44", "tokio", "tokio-buf", "tokio-executor", @@ -1763,12 +1840,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.8.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg 1.1.0", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -1811,9 +1888,9 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "0.6.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9448015e586b611e5d322f6703812bbca2f1e709d5773ecd38ddb4e3bb649504" +checksum = "24c3f4eff5495aee4c0399d7b6a0dc2b6e81be84242ffbfcf253ebacccc1d0cb" [[package]] name = "iovec" @@ -1853,9 +1930,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" +checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" [[package]] name = "jpeg-decoder" @@ -1868,9 +1945,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.56" +version = "0.3.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04" +checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27" dependencies = [ "wasm-bindgen", ] @@ -1886,9 +1963,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" +checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "kernel32-sys" @@ -1932,9 +2009,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.121" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f" +checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" [[package]] name = "libloading" @@ -1971,9 +2048,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.5" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f35facd4a5673cb5a48822be2be1d4236c1c99cb4113cab7061ac720d5bf859" +checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" dependencies = [ "cc", "libc", @@ -1992,15 +2069,15 @@ dependencies = [ [[package]] name = "linked-hash-map" -version = "0.5.4" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.0.42" +version = "0.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5284f00d480e1c39af34e72f8ad60b94f47007e3481cd3b731c1d67190ddc7b7" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" [[package]] name = "lock_api" @@ -2013,10 +2090,11 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" +checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" dependencies = [ + "autocfg 1.1.0", "scopeguard", ] @@ -2026,14 +2104,14 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" dependencies = [ - "log 0.4.16", + "log 0.4.17", ] [[package]] name = "log" -version = "0.4.16" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if 1.0.0", ] @@ -2076,7 +2154,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" dependencies = [ - "log 0.4.16", + "log 0.4.17", "phf", "phf_codegen", "string_cache", @@ -2092,12 +2170,12 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "maxminddb" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d04a4887cd66b92e72593360cab9de5916059b7383776a9c7b9e906008f2827b" +checksum = "fe2ba61113f9f7a9f0e87c519682d39c43a6f3f79c2cc42c3ba3dda83b1fa334" dependencies = [ "ipnetwork", - "log 0.4.16", + "log 0.4.17", "memchr", "serde", ] @@ -2119,9 +2197,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memoffset" @@ -2157,9 +2235,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9753f12909fd8d923f75ae5c3258cae1ed3c8ec052e1b38c93c21a6d157f789c" dependencies = [ "migrations_internals", - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] @@ -2212,6 +2290,15 @@ dependencies = [ "autocfg 1.1.0", ] +[[package]] +name = "miniz_oxide" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +dependencies = [ + "adler", +] + [[package]] name = "mio" version = "0.6.23" @@ -2224,7 +2311,7 @@ dependencies = [ "iovec", "kernel32-sys", "libc", - "log 0.4.16", + "log 0.4.17", "miow", "net2", "slab", @@ -2238,7 +2325,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" dependencies = [ "lazycell", - "log 0.4.16", + "log 0.4.17", "mio", "slab", ] @@ -2274,7 +2361,7 @@ checksum = "ca0b17380dc69fbcf5f967828cfd10e55028ba83a57da1f580c5b0792ab807ac" dependencies = [ "byteorder", "lazy_static", - "log 0.4.16", + "log 0.4.17", "regex", "thiserror", ] @@ -2293,7 +2380,7 @@ checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" dependencies = [ "lazy_static", "libc", - "log 0.4.16", + "log 0.4.17", "openssl", "openssl-probe", "openssl-sys", @@ -2332,30 +2419,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" dependencies = [ - "smallvec 1.8.0", -] - -[[package]] -name = "nix" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" -dependencies = [ - "bitflags", - "cc", - "cfg-if 1.0.0", - "libc", - "memoffset 0.6.5", + "smallvec 1.9.0", ] [[package]] name = "nix" -version = "0.23.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6" +checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc" dependencies = [ "bitflags", - "cc", "cfg-if 1.0.0", "libc", "memoffset 0.6.5", @@ -2367,16 +2440,6 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" -[[package]] -name = "nom" -version = "5.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" -dependencies = [ - "memchr", - "version_check 0.9.4", -] - [[package]] name = "nom" version = "7.1.1" @@ -2413,7 +2476,7 @@ checksum = "629bf84f31f765ba48058371c6eb3c5eed0fcdec68b814eb11f6f65dec0adbe3" dependencies = [ "failure", "image", - "log 0.4.16", + "log 0.4.17", "rand 0.7.3", ] @@ -2440,9 +2503,9 @@ dependencies = [ [[package]] name = "num-integer" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg 1.1.0", "num-traits", @@ -2450,9 +2513,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.42" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" dependencies = [ "autocfg 1.1.0", "num-integer", @@ -2472,9 +2535,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg 1.1.0", ] @@ -2491,9 +2554,9 @@ dependencies = [ [[package]] name = "num_threads" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aba1801fb138d8e85e11d0fc70baf4fe1cdfffda7c6cd34a854905df588e5ed0" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" dependencies = [ "libc", ] @@ -2518,9 +2581,9 @@ dependencies = [ [[package]] name = "object" -version = "0.27.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9" +checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "memchr", ] @@ -2531,14 +2594,14 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" dependencies = [ - "asn1-rs", + "asn1-rs 0.3.1", ] [[package]] name = "once_cell" -version = "1.10.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" +checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" [[package]] name = "onig" @@ -2554,9 +2617,9 @@ dependencies = [ [[package]] name = "onig_sys" -version = "69.7.1" +version = "69.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd3eee045c84695b53b20255bb7317063df090b68e18bfac0abb6c39cf7f33e" +checksum = "8bf3fbc9b931b6c9af85d219c7943c274a6ad26cff7488a2210215edd5f49bf8" dependencies = [ "bindgen", "cc", @@ -2587,18 +2650,30 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.38" +version = "0.10.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" +checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0" dependencies = [ "bitflags", "cfg-if 1.0.0", "foreign-types", "libc", "once_cell", + "openssl-macros", "openssl-sys", ] +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", +] + [[package]] name = "openssl-probe" version = "0.1.5" @@ -2607,9 +2682,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.72" +version = "0.9.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb" +checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f" dependencies = [ "autocfg 1.1.0", "cc", @@ -2630,6 +2705,12 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "os_str_bytes" +version = "6.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4" + [[package]] name = "parking_lot" version = "0.9.0" @@ -2643,23 +2724,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api 0.4.6", - "parking_lot_core 0.8.5", -] - -[[package]] -name = "parking_lot" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ - "lock_api 0.4.6", - "parking_lot_core 0.9.1", + "lock_api 0.4.7", + "parking_lot_core 0.9.3", ] [[package]] @@ -2679,29 +2749,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" -dependencies = [ - "cfg-if 1.0.0", - "instant", - "libc", - "redox_syscall 0.2.12", - "smallvec 1.8.0", - "winapi 0.3.9", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954" +checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.12", - "smallvec 1.8.0", - "windows-sys 0.32.0", + "redox_syscall 0.2.13", + "smallvec 1.9.0", + "windows-sys", ] [[package]] @@ -2712,18 +2768,18 @@ checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27" [[package]] name = "pear" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5320f212db967792b67cfe12bd469d08afd6318a249bd917d5c19bc92200ab8a" +checksum = "32dfa7458144c6af7f9ce6a137ef975466aa68ffa44d4d816ee5934018ba960a" dependencies = [ "pear_codegen", ] [[package]] name = "pear_codegen" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfc1c836fdc3d1ef87c348b237b5b5c4dff922156fb2d968f57734f9669768ca" +checksum = "c0288ba5d581afbc93e2bbd931c1013584c15ecf46b1cdb927edc7abddbc8ca6" dependencies = [ "proc-macro2 0.4.30", "quote 0.6.13", @@ -2740,9 +2796,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "pem" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9a3b09a20e374558580a4914d3b7d89bd61b954a5a5e1dcbea98753addb1947" +checksum = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4" dependencies = [ "base64 0.13.0", ] @@ -2786,9 +2842,9 @@ checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] @@ -2852,9 +2908,9 @@ dependencies = [ "phf_generator 0.8.0", "phf_shared 0.8.0", "proc-macro-hack", - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] @@ -2877,9 +2933,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" +checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" [[package]] name = "pledge" @@ -2914,7 +2970,7 @@ dependencies = [ "indexmap", "line-wrap", "serde", - "time 0.3.9", + "time 0.3.11", "xml-rs", ] @@ -2958,9 +3014,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", "version_check 0.9.4", ] @@ -2970,8 +3026,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", + "proc-macro2 1.0.40", + "quote 1.0.20", "version_check 0.9.4", ] @@ -2992,11 +3048,11 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.36" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" dependencies = [ - "unicode-xid 0.2.2", + "unicode-ident", ] [[package]] @@ -3022,7 +3078,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "292972edad6bbecc137ab84c5e36421a4a6c979ea31d3cc73540dd04315b33e1" dependencies = [ "byteorder", - "hashbrown", + "hashbrown 0.11.2", "psl-types", ] @@ -3043,21 +3099,21 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.17" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58" +checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" dependencies = [ - "proc-macro2 1.0.36", + "proc-macro2 1.0.40", ] [[package]] name = "r2d2" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545c5bc2b880973c9c10e4067418407a0ccaa3091781d1671d46eb35107cb26f" +checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ - "log 0.4.16", - "parking_lot 0.11.2", + "log 0.4.17", + "parking_lot 0.12.1", "scheduled-thread-pool", ] @@ -3185,7 +3241,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" dependencies = [ - "getrandom 0.2.6", + "getrandom 0.2.7", ] [[package]] @@ -3270,9 +3326,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.5.1" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" +checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" dependencies = [ "autocfg 1.1.0", "crossbeam-deque 0.8.1", @@ -3282,14 +3338,13 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" +checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" dependencies = [ "crossbeam-channel", "crossbeam-deque 0.8.1", - "crossbeam-utils 0.8.8", - "lazy_static", + "crossbeam-utils 0.8.10", "num_cpus", ] @@ -3310,29 +3365,29 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_syscall" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae183fc1b06c149f0c1793e1eb447c8b04bfe46d48e9e48bfb8d2d7ed64ecf0" +checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" dependencies = [ "bitflags", ] [[package]] name = "redox_users" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7776223e2696f1aa4c6b0170e83212f47296a00424305117d013dfe86fb0fe55" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.6", - "redox_syscall 0.2.12", + "getrandom 0.2.7", + "redox_syscall 0.2.13", "thiserror", ] [[package]] name = "regex" -version = "1.5.5" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" +checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" dependencies = [ "aho-corasick", "memchr", @@ -3347,9 +3402,9 @@ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" [[package]] name = "regex-syntax" -version = "0.6.25" +version = "0.6.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" +checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" [[package]] name = "remove_dir_all" @@ -3376,14 +3431,14 @@ dependencies = [ "http 0.1.21", "hyper 0.12.36", "hyper-tls", - "log 0.4.16", + "log 0.4.17", "mime 0.3.16", "mime_guess", "native-tls", "serde", "serde_json", "serde_urlencoded 0.5.5", - "time 0.1.43", + "time 0.1.44", "tokio", "tokio-executor", "tokio-io", @@ -3417,20 +3472,20 @@ checksum = "e5864e7ef1a6b7bcf1d6ca3f655e65e724ed3b52546a0d0a663c991522f552ea" [[package]] name = "rocket" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a7ab1dfdc75bb8bd2be381f37796b1b300c45a3c9145b34d86715e8dd90bf28" +checksum = "83b9d9dc08c5dcc1d8126a9dd615545e6a358f8c13c883c8dfed8c0376fa355e" dependencies = [ "atty", "base64 0.13.0", - "log 0.4.16", + "log 0.4.17", "memchr", "num_cpus", "pear", "rocket_codegen", "rocket_http", "state", - "time 0.1.43", + "time 0.1.44", "toml 0.4.10", "version_check 0.9.4", "yansi", @@ -3438,9 +3493,9 @@ dependencies = [ [[package]] name = "rocket_codegen" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1729e687d6d2cf434d174da84fb948f7fef4fac22d20ce94ca61c28b72dbcf9f" +checksum = "2810037b5820098af97bd4fdd309e76a8101ceb178147de775c835a2537284fe" dependencies = [ "devise", "glob", @@ -3453,13 +3508,13 @@ dependencies = [ [[package]] name = "rocket_contrib" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b6303dccab46dce6c7ac26c9b9d8d8cde1b19614b027c3f913be6611bff6d9b" +checksum = "e20efbc6a211cb3df5375accf532d4186f224b623f39eca650b19b96240c596b" dependencies = [ "glob", "handlebars", - "log 0.4.16", + "log 0.4.17", "notify", "rocket", "serde", @@ -3491,18 +3546,18 @@ dependencies = [ [[package]] name = "rocket_http" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6131e6e6d38a9817f4a494ff5da95971451c2eb56a53915579fc9c80f6ef0117" +checksum = "2bf9cbd128e1f321a2d0bebd2b7cf0aafd89ca43edf69e49b56a5c46e48eb19f" dependencies = [ "cookie 0.11.4", "hyper 0.10.16", "indexmap", "pear", "percent-encoding 1.0.1", - "smallvec 1.8.0", + "smallvec 1.9.0", "state", - "time 0.1.43", + "time 0.1.44", "unicode-xid 0.1.0", ] @@ -3515,7 +3570,7 @@ dependencies = [ "heapless", "num-traits", "pdqselect", - "smallvec 1.8.0", + "smallvec 1.9.0", ] [[package]] @@ -3545,7 +3600,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.7", + "semver 1.0.12", ] [[package]] @@ -3576,21 +3631,21 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" dependencies = [ - "nom 7.1.1", + "nom", ] [[package]] name = "rustix" -version = "0.34.1" +version = "0.35.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3cc851a13d30a34cb747ba2a0c5101a4b2e8b1677a29b213ee465365ea495e" +checksum = "d51cc38aa10f6bbb377ed28197aa052aa4e2b762c22be9d3153d01822587e787" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", - "winapi 0.3.9", + "windows-sys", ] [[package]] @@ -3600,7 +3655,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e" dependencies = [ "base64 0.10.1", - "log 0.4.16", + "log 0.4.17", "ring", "sct", "webpki", @@ -3613,7 +3668,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" dependencies = [ "base64 0.12.3", - "log 0.4.16", + "log 0.4.17", "ring", "sct", "webpki", @@ -3621,15 +3676,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" +checksum = "24c8ad4f0c00e1eb5bc7614d236a7f1300e3dbd76b68cac8e06fb00b015ad8d8" [[package]] name = "rustyline" -version = "9.1.2" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db7826789c0e25614b03e5a54a0717a86f9ff6e6e5247f92b369472869320039" +checksum = "1d1cd5ae51d3f7bf65d7969d579d502168ef578f289452bd8ccc91de28fda20e" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -3637,12 +3692,11 @@ dependencies = [ "dirs-next", "fd-lock", "libc", - "log 0.4.16", + "log 0.4.17", "memchr", - "nix 0.23.1", + "nix", "radix_trie 0.2.1", "scopeguard", - "smallvec 1.8.0", "unicode-segmentation", "unicode-width", "utf8parse", @@ -3651,9 +3705,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" +checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" [[package]] name = "safemem" @@ -3672,21 +3726,21 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "winapi 0.3.9", + "windows-sys", ] [[package]] name = "scheduled-thread-pool" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc6f74fd1204073fa02d5d5d68bec8021be4c38690b61264b2fdb48083d0e7d7" +checksum = "977a7519bff143a44f842fd07e80ad1329295bd71686457f18e496736f4bf9bf" dependencies = [ - "parking_lot 0.11.2", + "parking_lot 0.12.1", ] [[package]] @@ -3753,13 +3807,13 @@ dependencies = [ "cssparser", "derive_more", "fxhash", - "log 0.4.16", + "log 0.4.17", "matches", "phf", "phf_codegen", "precomputed-hash", "servo_arc", - "smallvec 1.8.0", + "smallvec 1.9.0", "thin-slice", ] @@ -3774,9 +3828,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.7" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4" +checksum = "a2333e6df6d6598f2b1974829f853c2b4c5f4a6e503c10af918081aa6f8564e1" [[package]] name = "semver-parser" @@ -3792,31 +3846,31 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.136" +version = "1.0.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +checksum = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.136" +version = "1.0.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +checksum = "dc1d3230c1de7932af58ad8ffbe1d784bd55efd5a9d84ac24f69c72d83543dfb" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] name = "serde_json" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" +checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7" dependencies = [ - "itoa 1.0.1", + "itoa 1.0.2", "ryu", "serde", ] @@ -3840,7 +3894,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.1", + "itoa 1.0.2", "ryu", "serde", ] @@ -3936,9 +3990,9 @@ dependencies = [ [[package]] name = "shlex" -version = "0.1.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" +checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signature" @@ -3954,9 +4008,9 @@ checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" [[package]] name = "slab" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" +checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" [[package]] name = "sloppy-rfc4880" @@ -3968,7 +4022,7 @@ dependencies = [ "base64 0.13.0", "byteorder", "hex", - "log 0.4.16", + "log 0.4.17", "serde", "sha-1 0.9.8", ] @@ -3984,9 +4038,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" +checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" [[package]] name = "sn0int" @@ -4009,7 +4063,7 @@ dependencies = [ "digest 0.10.3", "dirs-next", "embedded-triple", - "env_logger 0.9.0", + "env_logger", "failure", "glob", "hlua-badtouch", @@ -4018,10 +4072,10 @@ dependencies = [ "ipnetwork", "lazy_static", "libsqlite3-sys", - "log 0.4.16", + "log 0.4.17", "maplit", "md-5", - "nix 0.23.1", + "nix", "nude", "opener", "os-version", @@ -4030,7 +4084,7 @@ dependencies = [ "rand 0.8.5", "regex", "rustyline", - "semver 1.0.7", + "semver 1.0.12", "separator", "serde", "serde_json", @@ -4043,12 +4097,12 @@ dependencies = [ "sn0int-common", "sn0int-std", "structopt", - "strum 0.24.0", - "strum_macros 0.24.0", + "strum 0.24.1", + "strum_macros 0.24.2", "syscallz", "tempfile", "threadpool", - "toml 0.5.8", + "toml 0.5.9", "unveil", "url 2.2.2", "walkdir", @@ -4059,7 +4113,7 @@ name = "sn0int-common" version = "0.13.0" dependencies = [ "anyhow", - "nom 7.1.1", + "nom", "rocket_failure_errors", "serde", ] @@ -4073,18 +4127,18 @@ dependencies = [ "diesel_full_text_search", "diesel_migrations", "dotenv", - "env_logger 0.9.0", + "env_logger", "failure", "hex", "lazy_static", - "log 0.4.16", + "log 0.4.17", "maplit", "oauth2", "reqwest", "rocket", "rocket_contrib", "rocket_failure", - "semver 1.0.7", + "semver 1.0.12", "serde", "serde_json", "sn0int-common", @@ -4105,18 +4159,18 @@ dependencies = [ "chrono", "chrootable-https", "ct-logs 0.7.0", - "der-parser", + "der-parser 8.1.0", "digest 0.10.3", - "env_logger 0.9.0", + "env_logger", "failure", "geo", "hlua-badtouch", - "http 0.2.6", + "http 0.2.8", "image", "img_hash_median", "kamadak-exif", "kuchiki", - "log 0.4.16", + "log 0.4.17", "maplit", "maxminddb", "mqtt-protocol", @@ -4191,9 +4245,9 @@ checksum = "3015a7d0a5fd5105c91c3710d42f9ccf0abfb287d62206484dcc67f9569a6483" [[package]] name = "str-buf" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d44a3643b4ff9caf57abcee9c2c621d6c03d9135e0d8b589bd9afb5992cb176a" +checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" [[package]] name = "strength_reduce" @@ -4218,7 +4272,7 @@ checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08" dependencies = [ "new_debug_unreachable", "once_cell", - "parking_lot 0.12.0", + "parking_lot 0.12.1", "phf_shared 0.10.0", "precomputed-hash", "serde", @@ -4232,8 +4286,8 @@ checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" dependencies = [ "phf_generator 0.10.0", "phf_shared 0.10.0", - "proc-macro2 1.0.36", - "quote 1.0.17", + "proc-macro2 1.0.40", + "quote 1.0.20", ] [[package]] @@ -4248,7 +4302,7 @@ version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" dependencies = [ - "clap", + "clap 2.34.0", "lazy_static", "structopt-derive", ] @@ -4261,9 +4315,9 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] @@ -4274,9 +4328,9 @@ checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" [[package]] name = "strum" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96acfc1b70604b8b2f1ffa4c57e59176c7dbb05d556c71ecd2f5498a1dee7f8" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" [[package]] name = "strum_macros" @@ -4285,22 +4339,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" dependencies = [ "heck 0.3.3", - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] name = "strum_macros" -version = "0.24.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6878079b17446e4d3eba6192bb0a2950d5b14f0ed8424b852310e5a94345d0ef" +checksum = "4faebde00e8ff94316c01800f9054fd2ba77d30d9e922541913051d1d978918b" dependencies = [ "heck 0.4.0", - "proc-macro2 1.0.36", - "quote 1.0.17", + "proc-macro2 1.0.40", + "quote 1.0.20", "rustversion", - "syn 1.0.90", + "syn 1.0.98", ] [[package]] @@ -4328,13 +4382,13 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.90" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704df27628939572cd88d33f171cd6f896f4eaca85252c6e0a72d8d8287ee86f" +checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", - "unicode-xid 0.2.2", + "proc-macro2 1.0.40", + "quote 1.0.20", + "unicode-ident", ] [[package]] @@ -4343,10 +4397,10 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", - "unicode-xid 0.2.2", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", + "unicode-xid 0.2.3", ] [[package]] @@ -4377,7 +4431,7 @@ version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d94a506596d31342f15e130c31b7356b12bd1e74d316af44ff8a2d47011f9a17" dependencies = [ - "log 0.4.16", + "log 0.4.17", "pkg-config", "seccomp-sys", "strum 0.21.0", @@ -4393,7 +4447,7 @@ dependencies = [ "cfg-if 1.0.0", "fastrand", "libc", - "redox_syscall 0.2.12", + "redox_syscall 0.2.13", "remove_dir_all", "winapi 0.3.9", ] @@ -4427,6 +4481,12 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "textwrap" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" + [[package]] name = "thin-slice" version = "0.1.1" @@ -4435,22 +4495,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", ] [[package]] @@ -4475,21 +4535,22 @@ dependencies = [ [[package]] name = "time" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" dependencies = [ "libc", + "wasi 0.10.0+wasi-snapshot-preview1", "winapi 0.3.9", ] [[package]] name = "time" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2702e08a7a860f005826c6815dcac101b19b5eb330c27fe4a5928fec1d20ddd" +checksum = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217" dependencies = [ - "itoa 1.0.1", + "itoa 1.0.2", "libc", "num_threads", "time-macros", @@ -4503,9 +4564,9 @@ checksum = "42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792" [[package]] name = "tinyvec" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" dependencies = [ "tinyvec_macros", ] @@ -4601,7 +4662,7 @@ checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" dependencies = [ "bytes 0.4.12", "futures", - "log 0.4.16", + "log 0.4.17", ] [[package]] @@ -4613,7 +4674,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.16", + "log 0.4.17", "mio", "num_cpus", "parking_lot 0.9.0", @@ -4672,7 +4733,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.16", + "log 0.4.17", "num_cpus", "slab", "tokio-executor", @@ -4698,7 +4759,7 @@ checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" dependencies = [ "bytes 0.4.12", "futures", - "log 0.4.16", + "log 0.4.17", "mio", "tokio-codec", "tokio-io", @@ -4715,7 +4776,7 @@ dependencies = [ "futures", "iovec", "libc", - "log 0.4.16", + "log 0.4.17", "mio", "mio-uds", "tokio-codec", @@ -4734,9 +4795,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" dependencies = [ "serde", ] @@ -4775,7 +4836,7 @@ dependencies = [ "failure", "futures", "lazy_static", - "log 0.4.16", + "log 0.4.17", "radix_trie 0.1.6", "rand 0.7.3", "tokio", @@ -4796,7 +4857,7 @@ dependencies = [ "futures", "idna 0.2.3", "lazy_static", - "log 0.4.16", + "log 0.4.17", "rand 0.7.3", "smallvec 0.6.14", "socket2 0.3.19", @@ -4833,10 +4894,10 @@ dependencies = [ "base64 0.13.0", "byteorder", "bytes 1.1.0", - "http 0.2.6", + "http 0.2.8", "httparse", "input_buffer", - "log 0.4.16", + "log 0.4.17", "rand 0.8.5", "sha-1 0.9.8", "thiserror", @@ -4858,9 +4919,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "ucd-trie" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" +checksum = "89570599c4fe5585de2b388aab47e99f7fa4e9238a1399f707a02e356058141c" [[package]] name = "uname" @@ -4891,15 +4952,21 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.7" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + +[[package]] +name = "unicode-ident" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" +checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7" [[package]] name = "unicode-normalization" -version = "0.1.19" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" dependencies = [ "tinyvec", ] @@ -4924,9 +4991,9 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" [[package]] name = "unicode-xid" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" [[package]] name = "untrusted" @@ -4936,9 +5003,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "unveil" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3da24229e0ba811976812bcb15add6c76cf1e4c8514d4f97f3ee4cf5d6b686b" +checksum = "5e7fa867d559102001ec694165ed17d5f82e95213060a65f9c8b6280084bbfec" dependencies = [ "libc", ] @@ -5029,7 +5096,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" dependencies = [ "futures", - "log 0.4.16", + "log 0.4.17", "try-lock", ] @@ -5041,15 +5108,21 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" +version = "0.10.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.79" +version = "0.2.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06" +checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -5057,53 +5130,53 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.79" +version = "0.2.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca" +checksum = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a" dependencies = [ "bumpalo", "lazy_static", - "log 0.4.16", - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "log 0.4.17", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.79" +version = "0.2.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" +checksum = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa" dependencies = [ - "quote 1.0.17", + "quote 1.0.20", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.79" +version = "0.2.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" +checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048" dependencies = [ - "proc-macro2 1.0.36", - "quote 1.0.17", - "syn 1.0.90", + "proc-macro2 1.0.40", + "quote 1.0.20", + "syn 1.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.79" +version = "0.2.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2" +checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be" [[package]] name = "web-sys" -version = "0.3.56" +version = "0.3.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb" +checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90" dependencies = [ "js-sys", "wasm-bindgen", @@ -5148,16 +5221,18 @@ dependencies = [ [[package]] name = "weezl" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b77fdfd5a253be4ab714e4ffa3c49caf146b4de743e97510c0656cf90f1e8e" +checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" [[package]] name = "which" -version = "3.1.1" +version = "4.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724" +checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" dependencies = [ + "either", + "lazy_static", "libc", ] @@ -5212,89 +5287,46 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030b7ff91626e57a05ca64a07c481973cbb2db774e4852c9c7ca342408c6a99a" -dependencies = [ - "windows_aarch64_msvc 0.30.0", - "windows_i686_gnu 0.30.0", - "windows_i686_msvc 0.30.0", - "windows_x86_64_gnu 0.30.0", - "windows_x86_64_msvc 0.30.0", -] - -[[package]] -name = "windows-sys" -version = "0.32.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" dependencies = [ - "windows_aarch64_msvc 0.32.0", - "windows_i686_gnu 0.32.0", - "windows_i686_msvc 0.32.0", - "windows_x86_64_gnu 0.32.0", - "windows_x86_64_msvc 0.32.0", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_msvc" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29277a4435d642f775f63c7d1faeb927adba532886ce0287bd985bffb16b6bca" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.32.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" [[package]] name = "windows_i686_gnu" -version = "0.30.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1145e1989da93956c68d1864f32fb97c8f561a8f89a5125f6a2b7ea75524e4b8" - -[[package]] -name = "windows_i686_gnu" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" [[package]] name = "windows_i686_msvc" -version = "0.30.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a09e3a0d4753b73019db171c1339cd4362c8c44baf1bcea336235e955954a6" - -[[package]] -name = "windows_i686_msvc" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" [[package]] name = "windows_x86_64_gnu" -version = "0.30.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca64fcb0220d58db4c119e050e7af03c69e6f4f415ef69ec1773d9aab422d5a" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08cabc9f0066848fef4bc6a1c1668e6efce38b661d2aeec75d18d8617eebb5f1" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" [[package]] name = "windows_x86_64_msvc" -version = "0.32.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] name = "winreg" @@ -5317,20 +5349,20 @@ dependencies = [ [[package]] name = "x509-parser" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64bcfe6a33d9a2d5451de520881469863bd05a095f6b6f7f2ad1a5cd8d4ea2f" +checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c" dependencies = [ - "asn1-rs", + "asn1-rs 0.3.1", "base64 0.13.0", "data-encoding", - "der-parser", + "der-parser 7.0.0", "lazy_static", - "nom 7.1.1", + "nom", "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.9", + "time 0.3.11", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index fe0c400..8b509c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ sqlite-bundled = ["libsqlite3-sys/bundled"] [dependencies] sn0int-common = { version="0.13.0", path="sn0int-common" } sn0int-std = { version="=0.24.2", path="sn0int-std" } -rustyline = "9.0" +rustyline = "10.0" log = "0.4" env_logger = "0.9" hlua-badtouch = "0.4" @@ -93,7 +93,7 @@ os-version = "0.2" caps = "0.5" #syscallz = { path="../syscallz-rs" } syscallz = "0.16" -nix = "0.23" +nix = "0.24" [target.'cfg(target_os="openbsd")'.dependencies] pledge = "0.4" @@ -101,5 +101,5 @@ unveil = "0.3" [dev-dependencies] #boxxy = { path = "../boxxy-rs" } -boxxy = "0.12" +boxxy = "0.13" tempfile = "3.0" diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 1b93f5f..3aa6d85 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -31,12 +31,12 @@ pem = "1" url = "2.0" tungstenite = { version = "0.13", default-features = false } kuchiki = "0.8.0" -maxminddb = "0.22" +maxminddb = "0.23" x509-parser = "0.13" -der-parser = "7" +der-parser = "8" publicsuffix = { version="2", default-features=false } xml-rs = "0.8" -geo = "0.19" +geo = "0.20" bytes = "0.4" base64 = "0.13" chrono = { version = "0.4", features = ["serde"] } diff --git a/src/repl/mod.rs b/src/repl/mod.rs index 07c3e52..e561177 100644 --- a/src/repl/mod.rs +++ b/src/repl/mod.rs @@ -24,13 +24,13 @@ pub struct Repl<'a> { } impl<'a> Repl<'a> { - pub fn new(lua: Lua<'a>, state: Arc) -> Repl<'a> { - let rl = Readline::with(ReplCompleter::default()); - Repl { + pub fn new(lua: Lua<'a>, state: Arc) -> Result> { + let rl = Readline::with(ReplCompleter::default())?; + Ok(Repl { rl, lua, state, - } + }) } fn update_globals(&mut self) { @@ -104,7 +104,7 @@ pub fn run(config: &Config) -> Result<()> { let tx = DummyIpcChild::create(); let (lua, state) = ctx::ctx(env, tx); - let mut repl = Repl::new(lua, state); + let mut repl = Repl::new(lua, state)?; println!(r#":: sn0int v{} lua repl Assign variables with `a = sn0int_version()` and `return a` to print diff --git a/src/shell/mod.rs b/src/shell/mod.rs index bafaa69..b37bc95 100644 --- a/src/shell/mod.rs +++ b/src/shell/mod.rs @@ -174,9 +174,9 @@ pub struct Shell<'a> { } impl<'a> Shell<'a> { - pub fn new(config: &'a Config, db: Database, blobs: BlobStorage, psl: PslReader, library: Library<'a>, keyring: KeyRing) -> Shell<'a> { + pub fn new(config: &'a Config, db: Database, blobs: BlobStorage, psl: PslReader, library: Library<'a>, keyring: KeyRing) -> Result> { let h = CmdCompleter::default(); - let rl = Readline::with(h); + let rl = Readline::with(h)?; let prompt = Prompt::new(db.name().to_string()); @@ -197,7 +197,7 @@ impl<'a> Shell<'a> { rl.reload_module_cache(); rl.reload_keyring_cache(); - rl + Ok(rl) } #[inline(always)] @@ -571,7 +571,7 @@ pub fn init<'a>(args: &Args, config: &'a Config, verbose_init: bool) -> Result { impl Readline<()> { #[inline] - pub fn new() -> Readline<()> { + pub fn new() -> Result> { Readline::init(None) } } -impl Default for Readline<()> { - fn default() -> Self { - Self::new() - } -} - impl Readline { #[inline] - pub fn with(helper: T) -> Readline { + pub fn with(helper: T) -> Result> { Readline::init(Some(helper)) } - fn init(helper: Option) -> Readline { + fn init(helper: Option) -> Result> { let rl_config = rustyline::Config::builder() .completion_type(CompletionType::List) .edit_mode(EditMode::Emacs) .build(); - let mut rl: Editor = Editor::with_config(rl_config); + let mut rl: Editor = Editor::with_config(rl_config)?; rl.set_helper(helper); - Readline { + Ok(Readline { rl, - } + }) } #[inline] diff --git a/src/utils.rs b/src/utils.rs index d6a621e..2b5e88b 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -15,7 +15,7 @@ pub fn random_string(len: usize) -> String { } pub fn read_line(prompt: &str) -> Result { - let mut rl = rustyline::Editor::<()>::new(); + let mut rl = rustyline::Editor::<()>::new()?; let mut line = rl.readline(prompt) .map_err(|err| match err { ReadlineError::Eof => format_err!("Failed to read line from input"), From edb5b4bf25f577d5bae1feec9dac9c3c1306f4be Mon Sep 17 00:00:00 2001 From: Sprite Date: Wed, 28 Sep 2022 21:18:02 +0800 Subject: [PATCH 33/55] Support compiling for RISC-V 64-bit --- src/sandbox/seccomp.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/sandbox/seccomp.rs b/src/sandbox/seccomp.rs index 31b96f1..af98be3 100644 --- a/src/sandbox/seccomp.rs +++ b/src/sandbox/seccomp.rs @@ -13,11 +13,11 @@ pub fn init() -> Result<()> { ctx.allow_syscall(Syscall::sigaltstack)?; ctx.allow_syscall(Syscall::munmap)?; ctx.allow_syscall(Syscall::fcntl)?; - #[cfg(not(any(target_arch = "x86_64", target_arch = "aarch64")))] + #[cfg(not(any(target_arch = "x86_64", target_arch = "aarch64", target_arch = "riscv64")))] ctx.allow_syscall(Syscall::fcntl64)?; ctx.allow_syscall(Syscall::uname)?; ctx.allow_syscall(Syscall::close)?; - #[cfg(not(target_arch = "aarch64"))] + #[cfg(not(any(target_arch = "aarch64", target_arch = "riscv64")))] ctx.allow_syscall(Syscall::poll)?; #[cfg(target_arch = "aarch64")] ctx.allow_syscall(Syscall::ppoll)?; @@ -29,7 +29,7 @@ pub fn init() -> Result<()> { ctx.allow_syscall(Syscall::connect)?; #[cfg(target_arch = "x86")] ctx.allow_syscall(Syscall::socketcall)?; - #[cfg(not(target_arch = "aarch64"))] + #[cfg(not(any(target_arch = "aarch64", target_arch = "riscv64")))] ctx.allow_syscall(Syscall::epoll_wait)?; ctx.allow_syscall(Syscall::epoll_pwait)?; ctx.allow_syscall(Syscall::getrandom)?; @@ -44,7 +44,7 @@ pub fn init() -> Result<()> { ctx.allow_syscall(Syscall::getsockopt)?; #[cfg(not(target_arch = "arm"))] ctx.allow_syscall(Syscall::mmap)?; - #[cfg(not(any(target_arch = "x86_64", target_arch = "aarch64")))] + #[cfg(not(any(target_arch = "x86_64", target_arch = "aarch64", target_arch = "riscv64")))] ctx.allow_syscall(Syscall::mmap2)?; ctx.allow_syscall(Syscall::mremap)?; ctx.allow_syscall(Syscall::mprotect)?; @@ -79,7 +79,7 @@ pub fn init() -> Result<()> { ctx.allow_syscall(Syscall::_llseek)?; ctx.set_action_for_syscall(Action::Errno(1), Syscall::openat)?; - #[cfg(not(target_arch = "aarch64"))] + #[cfg(not(any(target_arch = "aarch64", target_arch = "riscv64")))] ctx.set_action_for_syscall(Action::Errno(1), Syscall::open)?; ctx.load()?; From b28276c42e26d8da0dcad6c462c9c7b1c0d7d9e3 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 12 Nov 2022 21:24:19 +0100 Subject: [PATCH 34/55] Update dependencies --- Cargo.lock | 1062 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 609 insertions(+), 453 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3fe8b53..9ff5c23 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -25,13 +25,22 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "aho-corasick" -version = "0.7.18" +version = "0.7.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" dependencies = [ "memchr", ] +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "ansi_term" version = "0.12.1" @@ -43,9 +52,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.58" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" +checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" [[package]] name = "approx" @@ -70,7 +79,7 @@ checksum = "45403b49e3954a4b8428a0ac21a4b7afadccf92bfd96273f1a58cd4812496ae0" dependencies = [ "generic-array 0.12.4", "generic-array 0.13.3", - "generic-array 0.14.5", + "generic-array 0.14.6", "stable_deref_trait", ] @@ -87,7 +96,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.11", + "time 0.3.17", ] [[package]] @@ -111,9 +120,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", "synstructure", ] @@ -123,9 +132,9 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", "synstructure", ] @@ -135,9 +144,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -176,7 +185,7 @@ dependencies = [ "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide 0.5.3", + "miniz_oxide 0.5.4", "object", "rustc-demangle", ] @@ -214,9 +223,9 @@ checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" [[package]] name = "base64" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "bincode" @@ -242,8 +251,8 @@ dependencies = [ "lazycell", "log 0.4.17", "peeking_take_while", - "proc-macro2 1.0.40", - "quote 1.0.20", + "proc-macro2 1.0.47", + "quote 1.0.21", "regex", "rustc-hash", "shlex", @@ -270,11 +279,11 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -287,43 +296,22 @@ dependencies = [ "byte-tools 0.2.0", ] -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding", - "byte-tools 0.3.1", - "byteorder", - "generic-array 0.12.4", -] - [[package]] name = "block-buffer" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "generic-array 0.14.5", + "generic-array 0.14.6", ] [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ - "generic-array 0.14.5", -] - -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools 0.3.1", + "generic-array 0.14.6", ] [[package]] @@ -333,16 +321,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "002b428e1fc236c832bb908e40b71e4a9756995002af191b51dbd86e18d91f66" dependencies = [ "anyhow", - "base64 0.13.0", + "base64 0.13.1", "bufstream", "caps", "cfg-if 1.0.0", - "clap 3.2.12", + "clap 3.2.23", "close_fds", "errno", "libc", "log 0.4.17", - "nix", + "nix 0.24.2", "pledge", "regex", "rustyline", @@ -373,9 +361,9 @@ checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" [[package]] name = "bumpalo" -version = "3.10.0" +version = "3.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-tools" @@ -391,9 +379,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.10.0" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c53dfa917ec274df8ed3c572698f381a24eef2efba9492d797301b72b6db408a" +checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" [[package]] name = "byteorder" @@ -414,9 +402,9 @@ dependencies = [ [[package]] name = "bytes" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" [[package]] name = "bytesize" @@ -426,20 +414,19 @@ checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" [[package]] name = "caps" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61bf7211aad104ce2769ec05efcdfabf85ee84ac92461d142f22cf8badd0e54c" +checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" dependencies = [ - "errno", "libc", "thiserror", ] [[package]] name = "cc" -version = "1.0.73" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" [[package]] name = "cexpr" @@ -464,15 +451,17 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.19" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ - "libc", + "iana-time-zone", + "js-sys", "num-integer", "num-traits", "serde", "time 0.1.44", + "wasm-bindgen", "winapi 0.3.9", ] @@ -503,9 +492,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.3.3" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" +checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ "glob", "libc", @@ -529,29 +518,29 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.12" +version = "3.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8b79fe3946ceb4a0b1c080b4018992b8d27e9ff363644c1c9b6387c854614d" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" dependencies = [ "bitflags", "clap_derive", "clap_lex", "indexmap", "once_cell", - "textwrap 0.15.0", + "textwrap 0.16.0", ] [[package]] name = "clap_derive" -version = "3.2.7" +version = "3.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759bf187376e1afa7b85b959e6a664a3e7a95203415dba952ad19139e798f902" +checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" dependencies = [ "heck 0.4.0", "proc-macro-error", - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -593,6 +582,16 @@ dependencies = [ "bitflags", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "color_quant" version = "1.1.0" @@ -618,11 +617,11 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "cookie" -version = "0.11.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80f6044740a4a516b8aac14c140cdf35c1a640b1bd6b98b6224e49143b2f1566" +checksum = "be2018768ed1d848cc4d347d551546474025ba820e5db70e4c9aaa349f678bd7" dependencies = [ - "percent-encoding 2.1.0", + "percent-encoding 2.2.0", "time 0.1.44", ] @@ -672,9 +671,9 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "cpufeatures" -version = "0.2.2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] @@ -690,12 +689,12 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.10", + "crossbeam-utils 0.8.12", ] [[package]] @@ -711,13 +710,13 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" +checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ "cfg-if 1.0.0", - "crossbeam-epoch 0.9.9", - "crossbeam-utils 0.8.10", + "crossbeam-epoch 0.9.11", + "crossbeam-utils 0.8.12", ] [[package]] @@ -737,15 +736,14 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.9" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d" +checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" dependencies = [ "autocfg 1.1.0", "cfg-if 1.0.0", - "crossbeam-utils 0.8.10", + "crossbeam-utils 0.8.12", "memoffset 0.6.5", - "once_cell", "scopeguard", ] @@ -773,12 +771,11 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.10" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83" +checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" dependencies = [ "cfg-if 1.0.0", - "once_cell", ] [[package]] @@ -787,7 +784,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array 0.14.5", + "generic-array 0.14.6", "typenum", ] @@ -812,10 +809,10 @@ dependencies = [ "itoa 0.4.8", "matches", "phf", - "proc-macro2 1.0.40", - "quote 1.0.20", - "smallvec 1.9.0", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "smallvec 1.10.0", + "syn 1.0.103", ] [[package]] @@ -824,8 +821,8 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" dependencies = [ - "quote 1.0.20", - "syn 1.0.98", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -848,34 +845,34 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.2.2" +version = "3.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b37feaa84e6861e00a1f5e5aa8da3ee56d605c9992d33e082786754828e20865" +checksum = "1d91974fbbe88ec1df0c24a4f00f99583667a7e2e6272b2b92d294d81e462173" dependencies = [ - "nix", + "nix 0.25.0", "winapi 0.3.9", ] [[package]] name = "curl" -version = "0.4.43" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d855aeef205b43f65a5001e0997d81f8efca7badad4fad7d897aa7f0d0651f" +checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22" dependencies = [ "curl-sys", "libc", "openssl-probe", "openssl-sys", "schannel", - "socket2 0.4.4", + "socket2 0.4.7", "winapi 0.3.9", ] [[package]] name = "curl-sys" -version = "0.4.55+curl-7.83.1" +version = "0.4.59+curl-7.86.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23734ec77368ec583c2e61dd3f0b0e5c98b93abe6d2a004ca06b91dd7e3e2762" +checksum = "6cfce34829f448b08f55b7db6d0009e23e2e86a34e8c2b366269bf5799b4a407" dependencies = [ "cc", "libc", @@ -886,6 +883,50 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "cxx" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2 1.0.47", + "quote 1.0.21", + "scratch", + "syn 1.0.103", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +dependencies = [ + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", +] + [[package]] name = "data-encoding" version = "2.3.2" @@ -909,7 +950,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" dependencies = [ "data-encoding", - "syn 1.0.98", + "syn 1.0.103", ] [[package]] @@ -956,10 +997,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.40", - "quote 1.0.20", + "proc-macro2 1.0.47", + "quote 1.0.21", "rustc_version 0.4.0", - "syn 1.0.98", + "syn 1.0.103", ] [[package]] @@ -1015,9 +1056,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -1063,16 +1104,16 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array 0.14.5", + "generic-array 0.14.6", ] [[package]] name = "digest" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" dependencies = [ - "block-buffer 0.10.2", + "block-buffer 0.10.3", "crypto-common", "subtle 2.4.1", ] @@ -1104,9 +1145,9 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -1141,9 +1182,9 @@ dependencies = [ [[package]] name = "either" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "embedded-triple" @@ -1179,9 +1220,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.0" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime 2.1.0", @@ -1237,9 +1278,9 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", "synstructure", ] @@ -1251,34 +1292,34 @@ checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" [[package]] name = "fastrand" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" dependencies = [ "instant", ] [[package]] name = "fd-lock" -version = "3.0.6" +version = "3.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11dcc7e4d79a8c89b9ab4c6f5c30b1fc4a83c420792da3542fd31179ed5f517" +checksum = "bb21c69b9fea5e15dbc1049e4b77145dd0ba1c84019c488102de0dc4ea4b0a27" dependencies = [ "cfg-if 1.0.0", "rustix", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] name = "filetime" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c" +checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.13", - "windows-sys", + "redox_syscall 0.2.16", + "windows-sys 0.42.0", ] [[package]] @@ -1288,7 +1329,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" dependencies = [ "crc32fast", - "miniz_oxide 0.5.3", + "miniz_oxide 0.5.4", ] [[package]] @@ -1314,12 +1355,11 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "matches", - "percent-encoding 2.1.0", + "percent-encoding 2.2.0", ] [[package]] @@ -1427,9 +1467,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ "typenum", "version_check 0.9.4", @@ -1451,9 +1491,9 @@ dependencies = [ [[package]] name = "geo-types" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9805fbfcea97de816e6408e938603241879cc41eea3fba3f84f122f4f6f9c54" +checksum = "e8d77ceb80f375dc4cda113a3ae1b06a36ef623f8f035c03752ca6698f4ddfee" dependencies = [ "approx", "num-traits", @@ -1482,9 +1522,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if 1.0.0", "libc", @@ -1557,12 +1597,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" - [[package]] name = "hashbrown" version = "0.12.3" @@ -1576,7 +1610,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "634bd4d29cbf24424d0a4bfcbf80c6960129dc24424752a7d1d1390607023422" dependencies = [ "as-slice", - "generic-array 0.14.5", + "generic-array 0.14.6", "hash32", "stable_deref_trait", ] @@ -1627,7 +1661,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -1639,9 +1673,9 @@ dependencies = [ "log 0.4.17", "mac", "markup5ever", - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -1661,9 +1695,9 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ - "bytes 1.1.0", + "bytes 1.2.1", "fnv", - "itoa 1.0.2", + "itoa 1.0.4", ] [[package]] @@ -1680,9 +1714,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "humansize" @@ -1784,6 +1818,30 @@ dependencies = [ "tokio-io", ] +[[package]] +name = "iana-time-zone" +version = "0.1.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "winapi 0.3.9", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + [[package]] name = "idna" version = "0.1.5" @@ -1806,6 +1864,16 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "image" version = "0.23.14" @@ -1835,7 +1903,7 @@ dependencies = [ "image", "rustdct", "serde", - "transpose 0.2.1", + "transpose 0.2.2", ] [[package]] @@ -1845,7 +1913,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg 1.1.0", - "hashbrown 0.12.3", + "hashbrown", ] [[package]] @@ -1874,7 +1942,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413" dependencies = [ - "bytes 1.1.0", + "bytes 1.2.1", ] [[package]] @@ -1888,9 +1956,13 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "0.7.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24c3f4eff5495aee4c0399d7b6a0dc2b6e81be84242ffbfcf253ebacccc1d0cb" +checksum = "a7d367024b3f3414d8e01f437f704f41a9f64ab36f9067fa73e526ad4c763c87" +dependencies = [ + "libc", + "windows-sys 0.42.0", +] [[package]] name = "iovec" @@ -1930,9 +2002,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "jpeg-decoder" @@ -1945,18 +2017,18 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.58" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] [[package]] name = "kamadak-exif" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70494964492bf8e491eb3951c5d70c9627eb7100ede6cc56d748b9a3f302cfb6" +checksum = "ef4fc70d0ab7e5b6bafa30216a6b48705ea964cdfc29c050f2412295eba58077" dependencies = [ "mutate_once", ] @@ -2009,15 +2081,15 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.126" +version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "libloading" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ "cfg-if 1.0.0", "winapi 0.3.9", @@ -2067,6 +2139,15 @@ dependencies = [ "safemem", ] +[[package]] +name = "link-cplusplus" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +dependencies = [ + "cc", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -2075,9 +2156,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.0.46" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" +checksum = "bb68f22743a3fb35785f1e7f844ca5a3de2dde5bd0c0ef5b372065814699b121" [[package]] name = "lock_api" @@ -2090,9 +2171,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" dependencies = [ "autocfg 1.1.0", "scopeguard", @@ -2188,11 +2269,11 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "md-5" -version = "0.10.1" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658646b21e0b72f7866c7038ab086d3d5e1cd6271f060fd37defb241949d0582" +checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -2235,9 +2316,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9753f12909fd8d923f75ae5c3258cae1ed3c8ec052e1b38c93c21a6d157f789c" dependencies = [ "migrations_internals", - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -2292,9 +2373,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" dependencies = [ "adler", ] @@ -2374,9 +2455,9 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b" [[package]] name = "native-tls" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", @@ -2392,9 +2473,9 @@ dependencies = [ [[package]] name = "net2" -version = "0.2.37" +version = "0.2.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" +checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" dependencies = [ "cfg-if 0.1.10", "libc", @@ -2419,7 +2500,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" dependencies = [ - "smallvec 1.9.0", + "smallvec 1.10.0", ] [[package]] @@ -2434,6 +2515,18 @@ dependencies = [ "memoffset 0.6.5", ] +[[package]] +name = "nix" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e322c04a9e3440c327fca7b6c8a63e6890a32fa2ad689db972425f07e0d22abb" +dependencies = [ + "autocfg 1.1.0", + "bitflags", + "cfg-if 1.0.0", + "libc", +] + [[package]] name = "nodrop" version = "0.1.14" @@ -2544,23 +2637,14 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ "hermit-abi", "libc", ] -[[package]] -name = "num_threads" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" -dependencies = [ - "libc", -] - [[package]] name = "oauth2" version = "2.0.0" @@ -2599,9 +2683,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.13.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "onig" @@ -2617,9 +2701,9 @@ dependencies = [ [[package]] name = "onig_sys" -version = "69.8.0" +version = "69.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf3fbc9b931b6c9af85d219c7943c274a6ad26cff7488a2210215edd5f49bf8" +checksum = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7" dependencies = [ "bindgen", "cc", @@ -2650,9 +2734,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.41" +version = "0.10.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0" +checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -2669,9 +2753,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -2682,9 +2766,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.75" +version = "0.9.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f" +checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" dependencies = [ "autocfg 1.1.0", "cc", @@ -2707,9 +2791,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.2.0" +version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4" +checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" [[package]] name = "parking_lot" @@ -2728,8 +2812,8 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ - "lock_api 0.4.7", - "parking_lot_core 0.9.3", + "lock_api 0.4.9", + "parking_lot_core 0.9.4", ] [[package]] @@ -2749,15 +2833,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" +checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.13", - "smallvec 1.9.0", - "windows-sys", + "redox_syscall 0.2.16", + "smallvec 1.10.0", + "windows-sys 0.42.0", ] [[package]] @@ -2800,7 +2884,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4" dependencies = [ - "base64 0.13.0", + "base64 0.13.1", ] [[package]] @@ -2811,24 +2895,25 @@ checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" [[package]] name = "percent-encoding" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.1.3" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +checksum = "a528564cc62c19a7acac4d81e01f39e53e25e17b934878f4c6d25cc2836e62f8" dependencies = [ + "thiserror", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.1.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" +checksum = "d5fd9bc6500181952d34bd0b2b0163a54d794227b498be0b7afa7698d0a7b18f" dependencies = [ "pest", "pest_generator", @@ -2836,26 +2921,26 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.1.3" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" +checksum = "d2610d5ac5156217b4ff8e46ddcef7cdf44b273da2ac5bca2ecbfa86a330e7c4" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] name = "pest_meta" -version = "2.1.3" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" +checksum = "824749bf7e21dd66b36fbe26b3f45c713879cccd4a009a917ab8e045ca8246fe" dependencies = [ - "maplit", + "once_cell", "pest", - "sha-1 0.8.2", + "sha1", ] [[package]] @@ -2908,9 +2993,9 @@ dependencies = [ "phf_generator 0.8.0", "phf_shared 0.8.0", "proc-macro-hack", - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -2933,9 +3018,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "pledge" @@ -2966,11 +3051,11 @@ version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225" dependencies = [ - "base64 0.13.0", + "base64 0.13.1", "indexmap", "line-wrap", "serde", - "time 0.3.11", + "time 0.3.17", "xml-rs", ] @@ -2988,15 +3073,15 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "pq-sys" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac25eee5a0582f45a67e837e350d784e7003bd29a5f460796772061ca49ffda" +checksum = "3b845d6d8ec554f972a2c5298aad68953fd64e7441e846075450b44656a016d1" dependencies = [ "vcpkg", ] @@ -3014,9 +3099,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", "version_check 0.9.4", ] @@ -3026,8 +3111,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", + "proc-macro2 1.0.47", + "quote 1.0.21", "version_check 0.9.4", ] @@ -3048,18 +3133,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.40" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" +checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" dependencies = [ "unicode-ident", ] [[package]] name = "psl-types" -version = "2.0.10" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8eda7c62d9ecaafdf8b62374c006de0adf61666ae96a96ba74a37134aa4e470" +checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" [[package]] name = "publicsuffix" @@ -3068,17 +3153,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b4ce31ff0a27d93c8de1849cf58162283752f065a90d508f1105fa6c9a213f" dependencies = [ "idna 0.2.3", - "url 2.2.2", + "url 2.3.1", ] [[package]] name = "publicsuffix" -version = "2.1.1" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292972edad6bbecc137ab84c5e36421a4a6c979ea31d3cc73540dd04315b33e1" +checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457" dependencies = [ - "byteorder", - "hashbrown 0.11.2", "psl-types", ] @@ -3099,11 +3182,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" dependencies = [ - "proc-macro2 1.0.40", + "proc-macro2 1.0.47", ] [[package]] @@ -3178,7 +3261,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha 0.3.1", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -3208,7 +3291,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -3237,11 +3320,11 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.7", + "getrandom 0.2.8", ] [[package]] @@ -3331,7 +3414,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" dependencies = [ "autocfg 1.1.0", - "crossbeam-deque 0.8.1", + "crossbeam-deque 0.8.2", "either", "rayon-core", ] @@ -3343,8 +3426,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" dependencies = [ "crossbeam-channel", - "crossbeam-deque 0.8.1", - "crossbeam-utils 0.8.10", + "crossbeam-deque 0.8.2", + "crossbeam-utils 0.8.12", "num_cpus", ] @@ -3365,9 +3448,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_syscall" -version = "0.2.13" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags", ] @@ -3378,16 +3461,16 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.7", - "redox_syscall 0.2.13", + "getrandom 0.2.8", + "redox_syscall 0.2.16", "thiserror", ] [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -3402,9 +3485,9 @@ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remove_dir_all" @@ -3477,7 +3560,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83b9d9dc08c5dcc1d8126a9dd615545e6a358f8c13c883c8dfed8c0376fa355e" dependencies = [ "atty", - "base64 0.13.0", + "base64 0.13.1", "log 0.4.17", "memchr", "num_cpus", @@ -3550,12 +3633,12 @@ version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bf9cbd128e1f321a2d0bebd2b7cf0aafd89ca43edf69e49b56a5c46e48eb19f" dependencies = [ - "cookie 0.11.4", + "cookie 0.11.5", "hyper 0.10.16", "indexmap", "pear", "percent-encoding 1.0.1", - "smallvec 1.9.0", + "smallvec 1.10.0", "state", "time 0.1.44", "unicode-xid 0.1.0", @@ -3570,7 +3653,7 @@ dependencies = [ "heapless", "num-traits", "pdqselect", - "smallvec 1.9.0", + "smallvec 1.10.0", ] [[package]] @@ -3600,7 +3683,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.12", + "semver 1.0.14", ] [[package]] @@ -3636,16 +3719,16 @@ dependencies = [ [[package]] name = "rustix" -version = "0.35.7" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51cc38aa10f6bbb377ed28197aa052aa4e2b762c22be9d3153d01822587e787" +checksum = "812a2ec2043c4d6bc6482f5be2ab8244613cac2493d128d36c0759e52a626ab3" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -3676,9 +3759,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24c8ad4f0c00e1eb5bc7614d236a7f1300e3dbd76b68cac8e06fb00b015ad8d8" +checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" [[package]] name = "rustyline" @@ -3694,7 +3777,7 @@ dependencies = [ "libc", "log 0.4.17", "memchr", - "nix", + "nix 0.24.2", "radix_trie 0.2.1", "scopeguard", "unicode-segmentation", @@ -3705,9 +3788,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" [[package]] name = "safemem" @@ -3731,7 +3814,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -3755,6 +3838,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scratch" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" + [[package]] name = "sct" version = "0.6.1" @@ -3776,9 +3865,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.6.1" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" dependencies = [ "bitflags", "core-foundation", @@ -3813,7 +3902,7 @@ dependencies = [ "phf_codegen", "precomputed-hash", "servo_arc", - "smallvec 1.9.0", + "smallvec 1.10.0", "thin-slice", ] @@ -3828,9 +3917,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2333e6df6d6598f2b1974829f853c2b4c5f4a6e503c10af918081aa6f8564e1" +checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" [[package]] name = "semver-parser" @@ -3846,31 +3935,31 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.139" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6" +checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.139" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1d3230c1de7932af58ad8ffbe1d784bd55efd5a9d84ac24f69c72d83543dfb" +checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] name = "serde_json" -version = "1.0.82" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7" +checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" dependencies = [ - "itoa 1.0.2", + "itoa 1.0.4", "ryu", "serde", ] @@ -3894,7 +3983,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.2", + "itoa 1.0.4", "ryu", "serde", ] @@ -3909,18 +3998,6 @@ dependencies = [ "stable_deref_trait", ] -[[package]] -name = "sha-1" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" -dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", -] - [[package]] name = "sha-1" version = "0.9.8" @@ -3942,7 +4019,18 @@ checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.3", + "digest 0.10.5", +] + +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.5", ] [[package]] @@ -3959,22 +4047,22 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.2" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.3", + "digest 0.10.5", ] [[package]] name = "sha3" -version = "0.10.1" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881bf8156c87b6301fc5ca6b27f11eeb2761224c7081e69b409d5a1951a70c86" +checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", "keccak", ] @@ -3996,9 +4084,9 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signature" -version = "1.5.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" [[package]] name = "siphasher" @@ -4008,9 +4096,12 @@ checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" [[package]] name = "slab" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg 1.1.0", +] [[package]] name = "sloppy-rfc4880" @@ -4019,7 +4110,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec5ab2b0b3e6d3760d89b2de4f3762e880491a6e6ebb8554b481623d967db03" dependencies = [ "anyhow", - "base64 0.13.0", + "base64 0.13.1", "byteorder", "hex", "log 0.4.17", @@ -4038,16 +4129,16 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "sn0int" version = "0.24.2" dependencies = [ "atty", - "base64 0.13.0", + "base64 0.13.1", "boxxy", "bytes 0.4.12", "bytesize", @@ -4060,7 +4151,7 @@ dependencies = [ "data-encoding", "diesel", "diesel_migrations", - "digest 0.10.3", + "digest 0.10.5", "dirs-next", "embedded-triple", "env_logger", @@ -4075,22 +4166,22 @@ dependencies = [ "log 0.4.17", "maplit", "md-5", - "nix", + "nix 0.24.2", "nude", "opener", "os-version", - "percent-encoding 2.1.0", + "percent-encoding 2.2.0", "pledge", "rand 0.8.5", "regex", "rustyline", - "semver 1.0.12", + "semver 1.0.14", "separator", "serde", "serde_json", "serde_urlencoded 0.7.1", "sha-1 0.10.0", - "sha2 0.10.2", + "sha2 0.10.6", "sha3", "shellwords", "sloppy-rfc4880", @@ -4098,13 +4189,13 @@ dependencies = [ "sn0int-std", "structopt", "strum 0.24.1", - "strum_macros 0.24.2", + "strum_macros 0.24.3", "syscallz", "tempfile", "threadpool", "toml 0.5.9", "unveil", - "url 2.2.2", + "url 2.3.1", "walkdir", ] @@ -4138,7 +4229,7 @@ dependencies = [ "rocket", "rocket_contrib", "rocket_failure", - "semver 1.0.12", + "semver 1.0.14", "serde", "serde_json", "sn0int-common", @@ -4151,8 +4242,8 @@ dependencies = [ name = "sn0int-std" version = "0.24.2" dependencies = [ - "base64 0.13.0", - "blake2 0.10.4", + "base64 0.13.1", + "blake2 0.10.5", "bs58", "bufstream", "bytes 0.4.12", @@ -4160,7 +4251,7 @@ dependencies = [ "chrootable-https", "ct-logs 0.7.0", "der-parser 8.1.0", - "digest 0.10.3", + "digest 0.10.5", "env_logger", "failure", "geo", @@ -4175,7 +4266,7 @@ dependencies = [ "maxminddb", "mqtt-protocol", "pem", - "publicsuffix 2.1.1", + "publicsuffix 2.2.3", "rand 0.8.5", "regex", "rustls 0.18.1", @@ -4185,7 +4276,7 @@ dependencies = [ "sodiumoxide", "tokio", "tungstenite", - "url 2.2.2", + "url 2.3.1", "webpki", "webpki-roots 0.21.1", "x509-parser", @@ -4205,9 +4296,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ "libc", "winapi 0.3.9", @@ -4251,9 +4342,9 @@ checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" [[package]] name = "strength_reduce" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ff2f71c82567c565ba4b3009a9350a96a7269eaa4001ebedae926230bc2254" +checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" [[package]] name = "string" @@ -4286,8 +4377,8 @@ checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" dependencies = [ "phf_generator 0.10.0", "phf_shared 0.10.0", - "proc-macro2 1.0.40", - "quote 1.0.20", + "proc-macro2 1.0.47", + "quote 1.0.21", ] [[package]] @@ -4315,9 +4406,9 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -4339,22 +4430,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" dependencies = [ "heck 0.3.3", - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] name = "strum_macros" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4faebde00e8ff94316c01800f9054fd2ba77d30d9e922541913051d1d978918b" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.0", - "proc-macro2 1.0.40", - "quote 1.0.20", + "proc-macro2 1.0.47", + "quote 1.0.21", "rustversion", - "syn 1.0.98", + "syn 1.0.103", ] [[package]] @@ -4382,12 +4473,12 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.98" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" +checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", + "proc-macro2 1.0.47", + "quote 1.0.21", "unicode-ident", ] @@ -4397,10 +4488,10 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", - "unicode-xid 0.2.3", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", + "unicode-xid 0.2.4", ] [[package]] @@ -4447,7 +4538,7 @@ dependencies = [ "cfg-if 1.0.0", "fastrand", "libc", - "redox_syscall 0.2.13", + "redox_syscall 0.2.16", "remove_dir_all", "winapi 0.3.9", ] @@ -4483,9 +4574,9 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thin-slice" @@ -4495,22 +4586,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.31" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" +checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.31" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" +checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", ] [[package]] @@ -4546,21 +4637,30 @@ dependencies = [ [[package]] name = "time" -version = "0.3.11" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217" +checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" dependencies = [ - "itoa 1.0.2", - "libc", - "num_threads", + "itoa 1.0.4", + "serde", + "time-core", "time-macros", ] +[[package]] +name = "time-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" + [[package]] name = "time-macros" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792" +checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" +dependencies = [ + "time-core", +] [[package]] name = "tinyvec" @@ -4816,9 +4916,9 @@ checksum = "643e21580bb0627c7bb09e5cedbb42c8705b19d012de593ed6b0309270b3cd1e" [[package]] name = "transpose" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95f9c900aa98b6ea43aee227fd680550cdec726526aab8ac801549eadb25e39f" +checksum = "e6522d49d03727ffb138ae4cbc1283d3774f0d10aa7f9bf52e6784c45daf9b23" dependencies = [ "num-integer", "strength_reduce", @@ -4867,7 +4967,7 @@ dependencies = [ "tokio-tcp", "tokio-timer", "tokio-udp", - "url 2.2.2", + "url 2.3.1", ] [[package]] @@ -4891,9 +4991,9 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fe8dada8c1a3aeca77d6b51a4f1314e0f4b8e438b7b1b71e3ddaca8080e4093" dependencies = [ - "base64 0.13.0", + "base64 0.13.1", "byteorder", - "bytes 1.1.0", + "bytes 1.2.1", "http 0.2.8", "httparse", "input_buffer", @@ -4901,7 +5001,7 @@ dependencies = [ "rand 0.8.5", "sha-1 0.9.8", "thiserror", - "url 2.2.2", + "url 2.3.1", "utf-8", ] @@ -4919,9 +5019,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "ucd-trie" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89570599c4fe5585de2b388aab47e99f7fa4e9238a1399f707a02e356058141c" +checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" [[package]] name = "uname" @@ -4958,30 +5058,30 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.2" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" [[package]] name = "unicode-normalization" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" +checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" [[package]] name = "unicode-width" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "unicode-xid" @@ -4991,9 +5091,9 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" [[package]] name = "unicode-xid" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "untrusted" @@ -5023,14 +5123,13 @@ dependencies = [ [[package]] name = "url" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", - "idna 0.2.3", - "matches", - "percent-encoding 2.1.0", + "idna 0.3.0", + "percent-encoding 2.2.0", ] [[package]] @@ -5120,9 +5219,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.81" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -5130,53 +5229,53 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.81" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", - "lazy_static", "log 0.4.17", - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "once_cell", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.81" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ - "quote 1.0.20", + "quote 1.0.21", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.81" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ - "proc-macro2 1.0.40", - "quote 1.0.20", - "syn 1.0.98", + "proc-macro2 1.0.47", + "quote 1.0.21", + "syn 1.0.103", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.81" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "web-sys" -version = "0.3.58" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" dependencies = [ "js-sys", "wasm-bindgen", @@ -5227,13 +5326,13 @@ checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" [[package]] name = "which" -version = "4.2.5" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" +checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" dependencies = [ "either", - "lazy_static", "libc", + "once_cell", ] [[package]] @@ -5291,43 +5390,100 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", ] +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + [[package]] name = "windows_aarch64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + [[package]] name = "windows_i686_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +[[package]] +name = "windows_i686_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + [[package]] name = "windows_i686_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + [[package]] name = "windows_x86_64_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + [[package]] name = "windows_x86_64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + [[package]] name = "winreg" version = "0.6.2" @@ -5354,7 +5510,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c" dependencies = [ "asn1-rs 0.3.1", - "base64 0.13.0", + "base64 0.13.1", "data-encoding", "der-parser 7.0.0", "lazy_static", @@ -5362,7 +5518,7 @@ dependencies = [ "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.11", + "time 0.3.17", ] [[package]] From a2c70e43de9d28888a4a12252748f81ba53a84f9 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 12 Nov 2022 21:37:05 +0100 Subject: [PATCH 35/55] Replace `EOF while parsing a value at line 1 column 0` error with `Sandbox child has crashed` --- docs/sandbox.rst | 2 +- src/ipc/parent.rs | 4 ++++ src/worker.rs | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/sandbox.rst b/docs/sandbox.rst index 5068c5e..bb1ce84 100644 --- a/docs/sandbox.rst +++ b/docs/sandbox.rst @@ -119,7 +119,7 @@ You might experience a sandbox failure, especially on architectures that are less popular. This usually looks like this:: [sn0int][example][kpcyrd/ctlogs] > run - [-] Failed "example.com": EOF while parsing a value at line 1 column 0 + [-] Failed "example.com": Sandbox child has crashed [+] Finished kpcyrd/ctlogs (1 errors) A module that never finishes could also mean an IO thread inside the worker got diff --git a/src/ipc/parent.rs b/src/ipc/parent.rs index 4701b91..ae7ba0e 100644 --- a/src/ipc/parent.rs +++ b/src/ipc/parent.rs @@ -71,6 +71,10 @@ impl IpcParent { let mut line = String::new(); let len = self.stdout.read_line(&mut line)?; + if len == 0 { + bail!("Sandbox child has crashed"); + } + let event = serde_json::from_str(&line[..len])?; debug!("IpcParent received: {:?}", event); Ok(event) diff --git a/src/worker.rs b/src/worker.rs index c4e7667..a90ac1b 100644 --- a/src/worker.rs +++ b/src/worker.rs @@ -488,6 +488,7 @@ pub fn spawn(rl: &mut Shell, tx.send(Event2::Start); let event = match ipc::parent::run(module, &tx, arg, keyring, verbose, has_stdin, proxy, user_agent, options, blobs) { Ok(exit) => exit, + // TODO: this should include the whole error chain Err(err) => ExitEvent::SetupFailed(err.to_string()), }; tx.send(Event2::Exit(event)); From dc26c14da4c9bb5e8cc2dd0c104467c2206644d8 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 12 Nov 2022 21:46:47 +0100 Subject: [PATCH 36/55] Allow clone3 syscall in sandbox (#235) --- src/sandbox/seccomp.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sandbox/seccomp.rs b/src/sandbox/seccomp.rs index af98be3..a1369ed 100644 --- a/src/sandbox/seccomp.rs +++ b/src/sandbox/seccomp.rs @@ -77,6 +77,7 @@ pub fn init() -> Result<()> { ctx.allow_syscall(Syscall::lseek)?; #[cfg(target_arch = "arm")] ctx.allow_syscall(Syscall::_llseek)?; + ctx.allow_syscall(Syscall::clone3)?; ctx.set_action_for_syscall(Action::Errno(1), Syscall::openat)?; #[cfg(not(any(target_arch = "aarch64", target_arch = "riscv64")))] From 56f7b1c6461bb278acea0cfdc499866a47c7b4a3 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 12 Nov 2022 21:47:15 +0100 Subject: [PATCH 37/55] Fix winkekatze-sub.lua example module --- modules/harness/winkekatze-sub.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/harness/winkekatze-sub.lua b/modules/harness/winkekatze-sub.lua index 0e55e3d..646be2c 100644 --- a/modules/harness/winkekatze-sub.lua +++ b/modules/harness/winkekatze-sub.lua @@ -10,8 +10,13 @@ function run() mqtt_subscribe(sock, '#', 0) while true do - local pkt = mqtt_recv_text(sock) + local pkt = mqtt_recv(sock) if last_err() then return end - info(pkt) + local log = {pkt=pkt} + if pkt then + log['text'] = utf8_decode(pkt['body']) + if last_err() then clear_err() end + end + info(log) end end From 01bcb108337a9667ce5c7565e87e54ba6a5bd1cd Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sun, 13 Nov 2022 02:37:23 +0100 Subject: [PATCH 38/55] Fix chrono deprecation warnings --- src/cal/date.rs | 30 +++++++++++++++--------------- src/cal/time.rs | 6 +++--- src/cmd/activity_cmd.rs | 6 +++--- src/cmd/cal_cmd.rs | 10 +++++----- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/cal/date.rs b/src/cal/date.rs index b166de1..b631f59 100644 --- a/src/cal/date.rs +++ b/src/cal/date.rs @@ -55,11 +55,11 @@ fn chunk_months(ctx: &DateContext, months: &[DateSpec]) -> String { } fn days_in_month(year: i32, month: u32) -> i64 { - let start = Utc.ymd(year, month, 1); + let start = Utc.with_ymd_and_hms(year, month, 1, 0, 0, 0).single().expect("Datetime is not unique"); let end = if month == 12 { - Utc.ymd(year + 1, 1, 1) + Utc.with_ymd_and_hms(year + 1, 1, 1, 0, 0, 0).single().expect("Datetime is not unique") } else { - Utc.ymd(year, month + 1, 1) + Utc.with_ymd_and_hms(year, month + 1, 1, 0, 0, 0).single().expect("Datetime is not unique") }; end.signed_duration_since(start).num_days() } @@ -152,7 +152,7 @@ impl DateSpec { bail!("Too many datespec args"); } - let today = Utc::today(); + let today = Utc::now(); let ds = match (args.get(0), args.get(1), context) { (None, _, None) => DateSpec::YearMonth((today.year(), today.month())), (None, _, Some(context)) => DateSpec::YearMonthContext((today.year(), today.month(), context)), @@ -172,8 +172,8 @@ impl DateSpec { pub fn start(&self) -> NaiveDate { match self { - DateSpec::Year(year) => NaiveDate::from_ymd(*year, 1, 1), - DateSpec::YearMonth((year, month)) => NaiveDate::from_ymd(*year, *month, 1), + DateSpec::Year(year) => NaiveDate::from_ymd_opt(*year, 1, 1).expect("Invalid month/day"), + DateSpec::YearMonth((year, month)) => NaiveDate::from_ymd_opt(*year, *month, 1).expect("Invalid month/day"), DateSpec::YearMonthContext((year, month, context)) => { let mut year = *year - (*context / 12) as i32; let context = context % 12; @@ -183,21 +183,21 @@ impl DateSpec { } else { month - context }; - NaiveDate::from_ymd(year, month, 1) + NaiveDate::from_ymd_opt(year, month, 1).expect("Invalid month/day") }, } } pub fn end(&self) -> NaiveDate { match self { - DateSpec::Year(year) => NaiveDate::from_ymd(year + 1, 1, 1), + DateSpec::Year(year) => NaiveDate::from_ymd_opt(year + 1, 1, 1).expect("Invalid month/day"), DateSpec::YearMonth((year, month)) => { let (year, month) = if *month == 12 { (*year + 1, 1) } else { (*year, *month + 1) }; - NaiveDate::from_ymd(year, month, 1) + NaiveDate::from_ymd_opt(year, month, 1).expect("Invalid month/day") }, DateSpec::YearMonthContext((year, month, _context)) => { let (year, month) = if *month == 12 { @@ -205,7 +205,7 @@ impl DateSpec { } else { (*year, *month + 1) }; - NaiveDate::from_ymd(year, month, 1) + NaiveDate::from_ymd_opt(year, month, 1).expect("Invalid month/day") }, } } @@ -221,7 +221,7 @@ impl DateSpec { DateSpec::YearMonth((year, month)) => { let mut w = String::new(); - let start = Utc.ymd(*year, *month, 1); + let start = Utc.with_ymd_and_hms(*year, *month, 1, 0, 0, 0).single().expect("Datetime is not unique"); let days = days_in_month(*year, *month) as u32; writeln!(w, "{:^21}", start.format("%B %Y")).expect("out of memory"); @@ -233,7 +233,7 @@ impl DateSpec { let mut week_written = week_progress * 3; for cur_day in 1..=days { - let date = NaiveDate::from_ymd(*year, *month, cur_day); + let date = NaiveDate::from_ymd_opt(*year, *month, cur_day).expect("Invalid month/day"); if !ctx.is_future(&date) { let activity = ctx.activity_for_day(&date); @@ -297,7 +297,7 @@ mod tests { DateContext { events: HashMap::new(), max: 0, - today: NaiveDate::from_ymd(2020, 5, 30), + today: NaiveDate::from_ymd_opt(2020, 5, 30).unwrap(), } } @@ -325,9 +325,9 @@ mod tests { let ctx = DateContext { events, max: 0, - today: NaiveDate::from_ymd(2020, 6, 6), + today: NaiveDate::from_ymd_opt(2020, 6, 6).unwrap(), }; - let grade = ctx.activity_for_day(&NaiveDate::from_ymd(2020, 6, 6)); + let grade = ctx.activity_for_day(&NaiveDate::from_ymd_opt(2020, 6, 6).unwrap()); assert_eq!(grade, ActivityGrade::None); } diff --git a/src/cal/time.rs b/src/cal/time.rs index 5c04d86..daa7b3e 100644 --- a/src/cal/time.rs +++ b/src/cal/time.rs @@ -14,7 +14,7 @@ fn round_to_slice(time: &NaiveDateTime, slice_duration: u32) -> NaiveDateTime { let hour = time.hour(); let mins = time.minute(); let slice = mins - (mins % slice_duration); - date.and_hms(hour, slice, 0) + date.and_hms_opt(hour, slice, 0).expect("Invalid hour/min/sec") } fn setup_graph_map(events: &[Activity], slice_duration: u32) -> (HashMap, u64) { @@ -110,7 +110,7 @@ pub struct DateTimeSpec { impl DateTimeSpec { pub fn from_args(args: &[DateArg], context: Option) -> Result { - let today = Utc::today().naive_utc(); + let today = Utc::now().date_naive(); if args.is_empty() { let mut start = today; @@ -176,7 +176,7 @@ impl DateTimeSpec { let mut mins = 0; for _ in 0..(MIN_PER_DAY / ctx.slice_duration) { - let time = date.and_hms(hours, mins, 0); + let time = date.and_hms_opt(hours, mins, 0).expect("Invalid hour/min/sec"); if !ctx.is_future(&time) { let activity = ctx.activity_for_slice(&time); diff --git a/src/cmd/activity_cmd.rs b/src/cmd/activity_cmd.rs index 4266317..1bab3c3 100644 --- a/src/cmd/activity_cmd.rs +++ b/src/cmd/activity_cmd.rs @@ -18,7 +18,7 @@ pub struct TimeSpec { impl TimeSpec { fn resolve(s: &str, now: NaiveDateTime) -> Result { - let today = NaiveDateTime::new(now.date(), NaiveTime::from_hms(0, 0, 0)); + let today = NaiveDateTime::new(now.date(), NaiveTime::from_hms_opt(0, 0, 0).expect("Invalid hour/min/sec")); let datetime = match s { "today" => today, @@ -122,8 +122,8 @@ mod tests { use super::*; fn datetime() -> NaiveDateTime { - let date = chrono::NaiveDate::from_ymd(2020, 3, 14); - let time = chrono::NaiveTime::from_hms(16, 20, 23); + let date = chrono::NaiveDate::from_ymd_opt(2020, 3, 14).unwrap(); + let time = chrono::NaiveTime::from_hms_opt(16, 20, 23).unwrap(); NaiveDateTime::new(date, time) } diff --git a/src/cmd/cal_cmd.rs b/src/cmd/cal_cmd.rs index 1d543d3..2784687 100644 --- a/src/cmd/cal_cmd.rs +++ b/src/cmd/cal_cmd.rs @@ -34,8 +34,8 @@ impl Cmd for Args { .context("Failed to parse date spec")?; let filter = ActivityFilter { topic: None, - since: Some(dts.start().and_hms(0, 0, 0)), - until: Some(dts.end().and_hms(23, 59, 59)), + since: Some(dts.start().and_hms_opt(0, 0, 0).expect("Invalid hour/min/sec")), + until: Some(dts.end().and_hms_opt(23, 59, 59).expect("Invalid hour/min/sec")), location: false, }; let events = Activity::query(rl.db(), &filter)?; @@ -53,12 +53,12 @@ impl Cmd for Args { .context("Failed to parse date spec")?; let filter = ActivityFilter { topic: None, - since: Some(ds.start().and_hms(0, 0, 0)), - until: Some(ds.end().and_hms(23, 59, 59)), + since: Some(ds.start().and_hms_opt(0, 0, 0).expect("Invalid hour/min/sec")), + until: Some(ds.end().and_hms_opt(23, 59, 59).expect("Invalid hour/min/sec")), location: false, }; let events = Activity::query(rl.db(), &filter)?; - let ctx = DateContext::new(&events, Utc::today().naive_utc()); + let ctx = DateContext::new(&events, Utc::now().date_naive()); println!("{}", ds.to_term_string(&ctx)); } Ok(()) From 1be1967d6fcb725217b5a39b3f0fd05abfb55e5c Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sun, 13 Nov 2022 03:22:10 +0100 Subject: [PATCH 39/55] Release v0.24.3 --- Cargo.lock | 4 ++-- Cargo.toml | 4 ++-- sn0int-std/Cargo.toml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9ff5c23..7ed27d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4135,7 +4135,7 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "sn0int" -version = "0.24.2" +version = "0.24.3" dependencies = [ "atty", "base64 0.13.1", @@ -4240,7 +4240,7 @@ dependencies = [ [[package]] name = "sn0int-std" -version = "0.24.2" +version = "0.24.3" dependencies = [ "base64 0.13.1", "blake2 0.10.5", diff --git a/Cargo.toml b/Cargo.toml index 8b509c2..1817192 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int" -version = "0.24.2" +version = "0.24.3" description = "Semi-automatic OSINT framework and package manager" authors = ["kpcyrd "] license = "GPL-3.0" @@ -33,7 +33,7 @@ sqlite-bundled = ["libsqlite3-sys/bundled"] [dependencies] sn0int-common = { version="0.13.0", path="sn0int-common" } -sn0int-std = { version="=0.24.2", path="sn0int-std" } +sn0int-std = { version="=0.24.3", path="sn0int-std" } rustyline = "10.0" log = "0.4" env_logger = "0.9" diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 3aa6d85..3d88226 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int-std" -version = "0.24.2" +version = "0.24.3" description = "sn0int - stdlib" authors = ["kpcyrd "] repository = "https://github.com/kpcyrd/sn0int" From 326c86869960c8abe730d499eb0c405f228471cc Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 27 Jan 2023 19:15:24 +0100 Subject: [PATCH 40/55] Update dependencies --- Cargo.lock | 863 +++++++++++++++++++++--------------------- sn0int-std/Cargo.toml | 2 +- sn0int-std/src/geo.rs | 4 +- 3 files changed, 437 insertions(+), 432 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7ed27d6..97a20a3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ "gimli", ] @@ -25,9 +25,9 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "aho-corasick" -version = "0.7.19" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] @@ -52,9 +52,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "approx" @@ -71,18 +71,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" -[[package]] -name = "as-slice" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45403b49e3954a4b8428a0ac21a4b7afadccf92bfd96273f1a58cd4812496ae0" -dependencies = [ - "generic-array 0.12.4", - "generic-array 0.13.3", - "generic-array 0.14.6", - "stable_deref_trait", -] - [[package]] name = "asn1-rs" version = "0.3.1" @@ -120,9 +108,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", "synstructure", ] @@ -132,9 +120,9 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", "synstructure", ] @@ -144,9 +132,18 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", +] + +[[package]] +name = "atomic-polyfill" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28" +dependencies = [ + "critical-section", ] [[package]] @@ -155,7 +152,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi 0.3.9", ] @@ -177,15 +174,15 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ "addr2line", "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide 0.5.4", + "miniz_oxide 0.6.2", "object", "rustc-demangle", ] @@ -251,8 +248,8 @@ dependencies = [ "lazycell", "log 0.4.17", "peeking_take_while", - "proc-macro2 1.0.47", - "quote 1.0.21", + "proc-macro2 1.0.50", + "quote 1.0.23", "regex", "rustc-hash", "shlex", @@ -279,11 +276,11 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -330,7 +327,7 @@ dependencies = [ "errno", "libc", "log 0.4.17", - "nix 0.24.2", + "nix 0.24.3", "pledge", "regex", "rustyline", @@ -361,9 +358,9 @@ checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "byte-tools" @@ -379,9 +376,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.12.3" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" +checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393" [[package]] name = "byteorder" @@ -402,9 +399,9 @@ dependencies = [ [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "bytesize" @@ -424,9 +421,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.76" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" [[package]] name = "cexpr" @@ -460,7 +457,7 @@ dependencies = [ "num-integer", "num-traits", "serde", - "time 0.1.44", + "time 0.1.45", "wasm-bindgen", "winapi 0.3.9", ] @@ -538,9 +535,9 @@ checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" dependencies = [ "heck 0.4.0", "proc-macro-error", - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -554,9 +551,9 @@ dependencies = [ [[package]] name = "clipboard-win" -version = "4.4.2" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4ab1b92798304eedc095b53942963240037c0516452cb11aeba709d420b2219" +checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" dependencies = [ "error-code", "str-buf", @@ -622,7 +619,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be2018768ed1d848cc4d347d551546474025ba820e5db70e4c9aaa349f678bd7" dependencies = [ "percent-encoding 2.2.0", - "time 0.1.44", + "time 0.1.45", ] [[package]] @@ -631,7 +628,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5" dependencies = [ - "time 0.1.44", + "time 0.1.45", "url 1.7.2", ] @@ -648,7 +645,7 @@ dependencies = [ "publicsuffix 1.5.6", "serde", "serde_json", - "time 0.1.44", + "time 0.1.45", "try_from", "url 1.7.2", ] @@ -687,6 +684,12 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "critical-section" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52" + [[package]] name = "crossbeam-channel" version = "0.5.6" @@ -694,7 +697,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.12", + "crossbeam-utils 0.8.14", ] [[package]] @@ -715,8 +718,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ "cfg-if 1.0.0", - "crossbeam-epoch 0.9.11", - "crossbeam-utils 0.8.12", + "crossbeam-epoch 0.9.13", + "crossbeam-utils 0.8.14", ] [[package]] @@ -736,14 +739,14 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.11" +version = "0.9.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" +checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" dependencies = [ "autocfg 1.1.0", "cfg-if 1.0.0", - "crossbeam-utils 0.8.12", - "memoffset 0.6.5", + "crossbeam-utils 0.8.14", + "memoffset 0.7.1", "scopeguard", ] @@ -771,9 +774,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" +checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" dependencies = [ "cfg-if 1.0.0", ] @@ -809,10 +812,10 @@ dependencies = [ "itoa 0.4.8", "matches", "phf", - "proc-macro2 1.0.47", - "quote 1.0.21", + "proc-macro2 1.0.50", + "quote 1.0.23", "smallvec 1.10.0", - "syn 1.0.103", + "syn 1.0.107", ] [[package]] @@ -821,8 +824,8 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" dependencies = [ - "quote 1.0.21", - "syn 1.0.103", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -845,12 +848,12 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.2.3" +version = "3.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d91974fbbe88ec1df0c24a4f00f99583667a7e2e6272b2b92d294d81e462173" +checksum = "1631ca6e3c59112501a9d87fd86f21591ff77acd31331e8a73f8d80a65bbdd71" dependencies = [ - "nix 0.25.0", - "winapi 0.3.9", + "nix 0.26.2", + "windows-sys", ] [[package]] @@ -885,9 +888,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.81" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" +checksum = "322296e2f2e5af4270b54df9e85a02ff037e271af20ba3e7fe1575515dc840b8" dependencies = [ "cc", "cxxbridge-flags", @@ -897,41 +900,41 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.81" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" +checksum = "017a1385b05d631e7875b1f151c9f012d37b53491e2a87f65bff5c262b2111d8" dependencies = [ "cc", "codespan-reporting", "once_cell", - "proc-macro2 1.0.47", - "quote 1.0.21", + "proc-macro2 1.0.50", + "quote 1.0.23", "scratch", - "syn 1.0.103", + "syn 1.0.107", ] [[package]] name = "cxxbridge-flags" -version = "1.0.81" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" +checksum = "c26bbb078acf09bc1ecda02d4223f03bdd28bd4874edcb0379138efc499ce971" [[package]] name = "cxxbridge-macro" -version = "1.0.81" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +checksum = "357f40d1f06a24b60ae1fe122542c1fb05d28d32acb2aed064e84bc2ad1e252e" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] name = "data-encoding" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" +checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" [[package]] name = "data-encoding-macro" @@ -950,7 +953,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" dependencies = [ "data-encoding", - "syn 1.0.103", + "syn 1.0.107", ] [[package]] @@ -997,10 +1000,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.47", - "quote 1.0.21", + "proc-macro2 1.0.50", + "quote 1.0.23", "rustc_version 0.4.0", - "syn 1.0.103", + "syn 1.0.107", ] [[package]] @@ -1056,9 +1059,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -1109,9 +1112,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -1145,9 +1148,9 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -1173,18 +1176,18 @@ dependencies = [ [[package]] name = "ed25519" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ "signature", ] [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "embedded-triple" @@ -1278,9 +1281,9 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", "synstructure", ] @@ -1301,35 +1304,44 @@ dependencies = [ [[package]] name = "fd-lock" -version = "3.0.8" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb21c69b9fea5e15dbc1049e4b77145dd0ba1c84019c488102de0dc4ea4b0a27" +checksum = "28c0190ff0bd3b28bfdd4d0cf9f92faa12880fb0b8ae2054723dd6c76a4efd42" dependencies = [ "cfg-if 1.0.0", "rustix", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "filetime" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3" +checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall 0.2.16", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "flate2" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" dependencies = [ "crc32fast", - "miniz_oxide 0.5.4", + "miniz_oxide 0.6.2", +] + +[[package]] +name = "float_next_after" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fc612c5837986b7104a87a0df74a5460931f1c5274be12f8d0f40aa2f30d632" +dependencies = [ + "num-traits", ] [[package]] @@ -1456,15 +1468,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "generic-array" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f797e67af32588215eaaab8327027ee8e71b9dd0b2b26996aedf20c030fce309" -dependencies = [ - "typenum", -] - [[package]] name = "generic-array" version = "0.14.6" @@ -1477,10 +1480,11 @@ dependencies = [ [[package]] name = "geo" -version = "0.20.1" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7e2e3be15682a45e9dfe9a04f84bff275390047204ab22f3c6b2312fcfb9e24" +checksum = "b39f57e9624b1a17ce621375464e9878c705d0aaadaf25cb44e4e0005a16de2f" dependencies = [ + "float_next_after", "geo-types", "geographiclib-rs", "log 0.4.17", @@ -1491,9 +1495,9 @@ dependencies = [ [[package]] name = "geo-types" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d77ceb80f375dc4cda113a3ae1b06a36ef623f8f035c03752ca6698f4ddfee" +checksum = "e26879b63ac36ca5492918dc16f8c1e604b0f70f884fffbd3533f89953ab1991" dependencies = [ "approx", "num-traits", @@ -1502,9 +1506,9 @@ dependencies = [ [[package]] name = "geographiclib-rs" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbd3cdc1856ca7736763d2784671c2c9b0093f0ee47e2bed0059feed6afca89" +checksum = "04a4efc8e99f43d1d29331a073981bb13074b253edc08ffc8ccf5f384b1d1d1e" dependencies = [ "lazy_static", ] @@ -1543,15 +1547,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.26.2" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +checksum = "221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec" [[package]] name = "glob" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "h2" @@ -1590,9 +1594,9 @@ dependencies = [ [[package]] name = "hash32" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4041af86e63ac4298ce40e5cca669066e75b6f1aa3390fe2561ffa5e1d9f4cc" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" dependencies = [ "byteorder", ] @@ -1605,13 +1609,14 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "heapless" -version = "0.6.1" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634bd4d29cbf24424d0a4bfcbf80c6960129dc24424752a7d1d1390607023422" +checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743" dependencies = [ - "as-slice", - "generic-array 0.14.6", + "atomic-polyfill", "hash32", + "rustc_version 0.4.0", + "spin 0.9.4", "stable_deref_trait", ] @@ -1639,6 +1644,15 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + [[package]] name = "hex" version = "0.4.3" @@ -1661,7 +1675,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -1673,9 +1687,9 @@ dependencies = [ "log 0.4.17", "mac", "markup5ever", - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -1695,9 +1709,9 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "fnv", - "itoa 1.0.4", + "itoa 1.0.5", ] [[package]] @@ -1751,7 +1765,7 @@ dependencies = [ "log 0.3.9", "mime 0.2.6", "num_cpus", - "time 0.1.44", + "time 0.1.45", "traitobject", "typeable", "unicase 1.4.2", @@ -1776,7 +1790,7 @@ dependencies = [ "log 0.4.17", "net2", "rustc_version 0.2.3", - "time 0.1.44", + "time 0.1.45", "tokio", "tokio-buf", "tokio-executor", @@ -1908,9 +1922,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg 1.1.0", "hashbrown", @@ -1942,7 +1956,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", ] [[package]] @@ -1956,12 +1970,12 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7d367024b3f3414d8e01f437f704f41a9f64ab36f9067fa73e526ad4c763c87" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" dependencies = [ "libc", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -2002,9 +2016,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "jpeg-decoder" @@ -2035,9 +2049,12 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +dependencies = [ + "cpufeatures", +] [[package]] name = "kernel32-sys" @@ -2081,9 +2098,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.137" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libloading" @@ -2095,6 +2112,12 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "libm" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" + [[package]] name = "libsodium-sys" version = "0.2.7" @@ -2141,9 +2164,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ "cc", ] @@ -2156,9 +2179,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb68f22743a3fb35785f1e7f844ca5a3de2dde5bd0c0ef5b372065814699b121" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "lock_api" @@ -2245,9 +2268,9 @@ dependencies = [ [[package]] name = "matches" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "maxminddb" @@ -2273,7 +2296,7 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -2300,6 +2323,15 @@ dependencies = [ "autocfg 1.1.0", ] +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg 1.1.0", +] + [[package]] name = "migrations_internals" version = "1.4.1" @@ -2316,9 +2348,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9753f12909fd8d923f75ae5c3258cae1ed3c8ec052e1b38c93c21a6d157f789c" dependencies = [ "migrations_internals", - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -2373,9 +2405,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.5.4" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] @@ -2505,9 +2537,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -2517,9 +2549,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.25.0" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e322c04a9e3440c327fca7b6c8a63e6890a32fa2ad689db972425f07e0d22abb" +checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" dependencies = [ "autocfg 1.1.0", "bitflags", @@ -2527,6 +2559,18 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +dependencies = [ + "bitflags", + "cfg-if 1.0.0", + "libc", + "static_assertions", +] + [[package]] name = "nodrop" version = "0.1.14" @@ -2535,9 +2579,9 @@ checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" [[package]] name = "nom" -version = "7.1.1" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", @@ -2633,15 +2677,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg 1.1.0", + "libm", ] [[package]] name = "num_cpus" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi", + "hermit-abi 0.2.6", "libc", ] @@ -2665,9 +2710,9 @@ dependencies = [ [[package]] name = "object" -version = "0.29.0" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" dependencies = [ "memchr", ] @@ -2683,9 +2728,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "onig" @@ -2734,9 +2779,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.42" +version = "0.10.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -2753,9 +2798,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -2766,9 +2811,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.77" +version = "0.9.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" dependencies = [ "autocfg 1.1.0", "cc", @@ -2784,16 +2829,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a8a1fed76ac765e39058ca106b6229a93c5a60292a1bd4b602ce2be11e1c020" dependencies = [ "anyhow", - "plist 1.3.1", + "plist 1.4.0", "uname", "winapi 0.3.9", ] [[package]] name = "os_str_bytes" -version = "6.4.0" +version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "parking_lot" @@ -2802,7 +2847,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" dependencies = [ "lock_api 0.3.4", - "parking_lot_core 0.6.2", + "parking_lot_core 0.6.3", "rustc_version 0.2.3", ] @@ -2813,14 +2858,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api 0.4.9", - "parking_lot_core 0.9.4", + "parking_lot_core 0.9.6", ] [[package]] name = "parking_lot_core" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +checksum = "bda66b810a62be75176a80873726630147a5ca780cd33921e0b5709033e66b0a" dependencies = [ "cfg-if 0.1.10", "cloudabi", @@ -2833,23 +2878,17 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall 0.2.16", "smallvec 1.10.0", - "windows-sys 0.42.0", + "windows-sys", ] -[[package]] -name = "pdqselect" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27" - [[package]] name = "pear" version = "0.1.5" @@ -2880,9 +2919,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "pem" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" dependencies = [ "base64 0.13.1", ] @@ -2901,9 +2940,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.4.1" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a528564cc62c19a7acac4d81e01f39e53e25e17b934878f4c6d25cc2836e62f8" +checksum = "4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f" dependencies = [ "thiserror", "ucd-trie", @@ -2911,9 +2950,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.4.1" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fd9bc6500181952d34bd0b2b0163a54d794227b498be0b7afa7698d0a7b18f" +checksum = "8bf026e2d0581559db66d837fe5242320f525d85c76283c61f4d51a1238d65ea" dependencies = [ "pest", "pest_generator", @@ -2921,26 +2960,26 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.4.1" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2610d5ac5156217b4ff8e46ddcef7cdf44b273da2ac5bca2ecbfa86a330e7c4" +checksum = "2b27bd18aa01d91c8ed2b61ea23406a676b42d82609c6e2581fba42f0c15f17f" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] name = "pest_meta" -version = "2.4.1" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824749bf7e21dd66b36fbe26b3f45c713879cccd4a009a917ab8e045ca8246fe" +checksum = "9f02b677c1859756359fc9983c2e56a0237f18624a3789528804406b7e915e5d" dependencies = [ "once_cell", "pest", - "sha1", + "sha2 0.10.6", ] [[package]] @@ -2993,9 +3032,9 @@ dependencies = [ "phf_generator 0.8.0", "phf_shared 0.8.0", "proc-macro-hack", - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -3047,16 +3086,16 @@ dependencies = [ [[package]] name = "plist" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225" +checksum = "5329b8f106a176ab0dce4aae5da86bfcb139bb74fb00882859e03745011f3635" dependencies = [ "base64 0.13.1", "indexmap", "line-wrap", + "quick-xml", "serde", "time 0.3.17", - "xml-rs", ] [[package]] @@ -3099,9 +3138,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", "version_check 0.9.4", ] @@ -3111,16 +3150,16 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", + "proc-macro2 1.0.50", + "quote 1.0.23", "version_check 0.9.4", ] [[package]] name = "proc-macro-hack" -version = "0.5.19" +version = "0.5.20+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" @@ -3133,9 +3172,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" dependencies = [ "unicode-ident", ] @@ -3171,6 +3210,15 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +[[package]] +name = "quick-xml" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd" +dependencies = [ + "memchr", +] + [[package]] name = "quote" version = "0.6.13" @@ -3182,11 +3230,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ - "proc-macro2 1.0.47", + "proc-macro2 1.0.50", ] [[package]] @@ -3409,25 +3457,23 @@ dependencies = [ [[package]] name = "rayon" -version = "1.5.3" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" +checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" dependencies = [ - "autocfg 1.1.0", - "crossbeam-deque 0.8.2", "either", "rayon-core", ] [[package]] name = "rayon-core" -version = "1.9.3" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" +checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" dependencies = [ "crossbeam-channel", "crossbeam-deque 0.8.2", - "crossbeam-utils 0.8.12", + "crossbeam-utils 0.8.14", "num_cpus", ] @@ -3468,9 +3514,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -3521,7 +3567,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded 0.5.5", - "time 0.1.44", + "time 0.1.45", "tokio", "tokio-executor", "tokio-io", @@ -3541,7 +3587,7 @@ dependencies = [ "cc", "libc", "once_cell", - "spin", + "spin 0.5.2", "untrusted", "web-sys", "winapi 0.3.9", @@ -3568,7 +3614,7 @@ dependencies = [ "rocket_codegen", "rocket_http", "state", - "time 0.1.44", + "time 0.1.45", "toml 0.4.10", "version_check 0.9.4", "yansi", @@ -3640,19 +3686,18 @@ dependencies = [ "percent-encoding 1.0.1", "smallvec 1.10.0", "state", - "time 0.1.44", + "time 0.1.45", "unicode-xid 0.1.0", ] [[package]] name = "rstar" -version = "0.8.4" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a45c0e8804d37e4d97e55c6f258bc9ad9c5ee7b07437009dd152d764949a27c" +checksum = "b40f1bfe5acdab44bc63e6699c28b74f75ec43afb59f3eda01e145aff86a25fa" dependencies = [ "heapless", "num-traits", - "pdqselect", "smallvec 1.10.0", ] @@ -3683,7 +3728,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.14", + "semver 1.0.16", ] [[package]] @@ -3719,16 +3764,16 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.1" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812a2ec2043c4d6bc6482f5be2ab8244613cac2493d128d36c0759e52a626ab3" +checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -3759,15 +3804,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "rustyline" -version = "10.0.0" +version = "10.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1cd5ae51d3f7bf65d7969d579d502168ef578f289452bd8ccc91de28fda20e" +checksum = "c1e83c32c3f3c33b08496e0d1df9ea8c64d39adb8eb36a1ebb1440c690697aef" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -3777,7 +3822,7 @@ dependencies = [ "libc", "log 0.4.17", "memchr", - "nix 0.24.2", + "nix 0.25.1", "radix_trie 0.2.1", "scopeguard", "unicode-segmentation", @@ -3788,9 +3833,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "safemem" @@ -3809,12 +3854,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys 0.36.1", + "windows-sys", ] [[package]] @@ -3840,9 +3884,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "sct" @@ -3865,9 +3909,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "7c4437699b6d34972de58652c68b98cb5b53a4199ab126db8e20ec8ded29a721" dependencies = [ "bitflags", "core-foundation", @@ -3878,9 +3922,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -3917,9 +3961,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" [[package]] name = "semver-parser" @@ -3935,31 +3979,31 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.147" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] name = "serde_json" -version = "1.0.87" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ - "itoa 1.0.4", + "itoa 1.0.5", "ryu", "serde", ] @@ -3983,7 +4027,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.4", + "itoa 1.0.5", "ryu", "serde", ] @@ -4013,24 +4057,13 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.10.5", -] - -[[package]] -name = "sha1" -version = "0.10.5" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -4053,7 +4086,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -4062,7 +4095,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", "keccak", ] @@ -4151,7 +4184,7 @@ dependencies = [ "data-encoding", "diesel", "diesel_migrations", - "digest 0.10.5", + "digest 0.10.6", "dirs-next", "embedded-triple", "env_logger", @@ -4166,7 +4199,7 @@ dependencies = [ "log 0.4.17", "maplit", "md-5", - "nix 0.24.2", + "nix 0.24.3", "nude", "opener", "os-version", @@ -4175,12 +4208,12 @@ dependencies = [ "rand 0.8.5", "regex", "rustyline", - "semver 1.0.14", + "semver 1.0.16", "separator", "serde", "serde_json", "serde_urlencoded 0.7.1", - "sha-1 0.10.0", + "sha-1 0.10.1", "sha2 0.10.6", "sha3", "shellwords", @@ -4193,7 +4226,7 @@ dependencies = [ "syscallz", "tempfile", "threadpool", - "toml 0.5.9", + "toml 0.5.11", "unveil", "url 2.3.1", "walkdir", @@ -4229,7 +4262,7 @@ dependencies = [ "rocket", "rocket_contrib", "rocket_failure", - "semver 1.0.14", + "semver 1.0.16", "serde", "serde_json", "sn0int-common", @@ -4243,7 +4276,7 @@ name = "sn0int-std" version = "0.24.3" dependencies = [ "base64 0.13.1", - "blake2 0.10.5", + "blake2 0.10.6", "bs58", "bufstream", "bytes 0.4.12", @@ -4251,7 +4284,7 @@ dependencies = [ "chrootable-https", "ct-logs 0.7.0", "der-parser 8.1.0", - "digest 0.10.5", + "digest 0.10.6", "env_logger", "failure", "geo", @@ -4322,6 +4355,15 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spin" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09" +dependencies = [ + "lock_api 0.4.9", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -4334,6 +4376,12 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3015a7d0a5fd5105c91c3710d42f9ccf0abfb287d62206484dcc67f9569a6483" +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "str-buf" version = "1.0.6" @@ -4377,8 +4425,8 @@ checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" dependencies = [ "phf_generator 0.10.0", "phf_shared 0.10.0", - "proc-macro2 1.0.47", - "quote 1.0.21", + "proc-macro2 1.0.50", + "quote 1.0.23", ] [[package]] @@ -4406,9 +4454,9 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -4430,9 +4478,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" dependencies = [ "heck 0.3.3", - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -4442,10 +4490,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.0", - "proc-macro2 1.0.47", - "quote 1.0.21", + "proc-macro2 1.0.50", + "quote 1.0.23", "rustversion", - "syn 1.0.103", + "syn 1.0.107", ] [[package]] @@ -4473,12 +4521,12 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.103" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", + "proc-macro2 1.0.50", + "quote 1.0.23", "unicode-ident", ] @@ -4488,9 +4536,9 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", "unicode-xid 0.2.4", ] @@ -4518,9 +4566,9 @@ dependencies = [ [[package]] name = "syscallz" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d94a506596d31342f15e130c31b7356b12bd1e74d316af44ff8a2d47011f9a17" +checksum = "110ff7f267e583b58489bb0b01fa62ce71c032cd193df3affe9b3b51369aa6ad" dependencies = [ "log 0.4.17", "pkg-config", @@ -4556,9 +4604,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] @@ -4586,22 +4634,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", ] [[package]] @@ -4626,9 +4674,9 @@ dependencies = [ [[package]] name = "time" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" dependencies = [ "libc", "wasi 0.10.0+wasi-snapshot-preview1", @@ -4641,7 +4689,7 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" dependencies = [ - "itoa 1.0.4", + "itoa 1.0.5", "serde", "time-core", "time-macros", @@ -4895,9 +4943,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] @@ -4972,9 +5020,9 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try_from" @@ -4993,7 +5041,7 @@ checksum = "5fe8dada8c1a3aeca77d6b51a4f1314e0f4b8e438b7b1b71e3ddaca8080e4093" dependencies = [ "base64 0.13.1", "byteorder", - "bytes 1.2.1", + "bytes 1.3.0", "http 0.2.8", "httparse", "input_buffer", @@ -5013,9 +5061,9 @@ checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "ucd-trie" @@ -5052,15 +5100,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -5236,9 +5284,9 @@ dependencies = [ "bumpalo", "log 0.4.17", "once_cell", - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", "wasm-bindgen-shared", ] @@ -5248,7 +5296,7 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ - "quote 1.0.21", + "quote 1.0.23", "wasm-bindgen-macro-support", ] @@ -5258,9 +5306,9 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ - "proc-macro2 1.0.47", - "quote 1.0.21", - "syn 1.0.103", + "proc-macro2 1.0.50", + "quote 1.0.23", + "syn 1.0.107", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5326,9 +5374,9 @@ checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" [[package]] name = "which" -version = "4.3.0" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" +checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" dependencies = [ "either", "libc", @@ -5384,19 +5432,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows-sys" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" -dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", -] - [[package]] name = "windows-sys" version = "0.42.0" @@ -5404,85 +5439,55 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" - -[[package]] -name = "windows_i686_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" - -[[package]] -name = "windows_i686_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "winreg" diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 3d88226..c6e3811 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -36,7 +36,7 @@ x509-parser = "0.13" der-parser = "8" publicsuffix = { version="2", default-features=false } xml-rs = "0.8" -geo = "0.20" +geo = "0.23" bytes = "0.4" base64 = "0.13" chrono = { version = "0.4", features = ["serde"] } diff --git a/sn0int-std/src/geo.rs b/sn0int-std/src/geo.rs index 6208eed..ec3f99c 100644 --- a/sn0int-std/src/geo.rs +++ b/sn0int-std/src/geo.rs @@ -1,7 +1,7 @@ use crate::errors::*; use crate::hlua::AnyLuaValue; use crate::json::LuaJsonValue; -use geo::{LineString, Polygon, Coordinate}; +use geo::{LineString, Polygon, Coord}; use geo::prelude::*; use serde::Deserialize; @@ -21,7 +21,7 @@ impl Point { pub fn polygon_contains(ring: &[Point], p: &Point) -> bool { let ring = ring.iter() - .map(|p| Coordinate { x: p.lon, y: p.lat }) + .map(|p| Coord { x: p.lon, y: p.lat }) .collect::>(); let polygon = Polygon::new(LineString::from(ring), vec![]); From 70b5039d50dd2ae13e17bc806c25efb845120c01 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 27 Jan 2023 19:31:48 +0100 Subject: [PATCH 41/55] Fix some clippy warnings, remove base64 crate --- Cargo.lock | 3 +-- Cargo.toml | 3 +-- sn0int-common/src/api.rs | 2 +- sn0int-common/src/errors.rs | 2 +- sn0int-common/src/id.rs | 6 +++--- sn0int-common/src/lib.rs | 2 +- sn0int-common/src/metadata/mod.rs | 4 ++-- sn0int-common/src/metadata/stealth.rs | 2 +- sn0int-std/Cargo.toml | 2 +- sn0int-std/src/blobs.rs | 5 +++-- sn0int-std/src/gfx/exif.rs | 2 +- sn0int-std/src/mqtt.rs | 2 +- sn0int-std/src/sockets/mod.rs | 8 ++++---- sn0int-std/src/sockets/tls.rs | 2 +- sn0int-std/src/web.rs | 7 ++++--- src/config.rs | 2 +- src/engine/ctx.rs | 2 +- src/engine/mod.rs | 2 +- src/ipc/parent.rs | 2 +- src/keyring.rs | 6 +++--- src/runtime/encoding.rs | 6 +++--- src/runtime/hashes.rs | 12 ++++++------ src/runtime/json.rs | 2 +- src/runtime/logger.rs | 2 +- src/runtime/websockets.rs | 2 +- src/update.rs | 2 +- 26 files changed, 46 insertions(+), 46 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 97a20a3..585b232 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4171,7 +4171,6 @@ name = "sn0int" version = "0.24.3" dependencies = [ "atty", - "base64 0.13.1", "boxxy", "bytes 0.4.12", "bytesize", @@ -4275,7 +4274,6 @@ dependencies = [ name = "sn0int-std" version = "0.24.3" dependencies = [ - "base64 0.13.1", "blake2 0.10.6", "bs58", "bufstream", @@ -4283,6 +4281,7 @@ dependencies = [ "chrono", "chrootable-https", "ct-logs 0.7.0", + "data-encoding", "der-parser 8.1.0", "digest 0.10.6", "env_logger", diff --git a/Cargo.toml b/Cargo.toml index 1817192..817a805 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,8 +53,7 @@ url = "2.0" percent-encoding = "2.1" #chrootable-https = { path = "../chrootable-https" } chrootable-https = "0.16" -base64 = "0.13" -data-encoding = "2.1.2" +data-encoding = "2.3.3" serde = { version = "1.0", features = ["derive"] } serde_urlencoded = "0.7" serde_json = "1.0" diff --git a/sn0int-common/src/api.rs b/sn0int-common/src/api.rs index 193002b..b4d21eb 100644 --- a/sn0int-common/src/api.rs +++ b/sn0int-common/src/api.rs @@ -1,5 +1,5 @@ use crate::id::ModuleID; -use serde::{Serialize, Deserialize}; +use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize)] pub struct WhoamiResponse { diff --git a/sn0int-common/src/errors.rs b/sn0int-common/src/errors.rs index 95ffd62..3329e43 100644 --- a/sn0int-common/src/errors.rs +++ b/sn0int-common/src/errors.rs @@ -1,2 +1,2 @@ -pub use anyhow::{Error, Context, anyhow, format_err, bail}; +pub use anyhow::{anyhow, bail, format_err, Context, Error}; pub type Result = ::std::result::Result; diff --git a/sn0int-common/src/id.rs b/sn0int-common/src/id.rs index a5ec44c..2323640 100644 --- a/sn0int-common/src/id.rs +++ b/sn0int-common/src/id.rs @@ -1,10 +1,9 @@ use crate::errors::*; -use serde::{de, Serialize, Serializer, Deserialize, Deserializer}; +use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; use std::fmt; use std::result; use std::str::FromStr; - #[inline(always)] fn valid_char(c: char) -> bool { nom::character::is_alphanumeric(c as u8) || c == '-' @@ -71,7 +70,8 @@ impl Serialize for ModuleID { impl<'de> Deserialize<'de> for ModuleID { fn deserialize(deserializer: D) -> result::Result - where D: Deserializer<'de> + where + D: Deserializer<'de>, { let s = String::deserialize(deserializer)?; FromStr::from_str(&s).map_err(de::Error::custom) diff --git a/sn0int-common/src/lib.rs b/sn0int-common/src/lib.rs index d36a77f..816125a 100644 --- a/sn0int-common/src/lib.rs +++ b/sn0int-common/src/lib.rs @@ -1,8 +1,8 @@ pub mod api; pub mod errors; pub use crate::errors::*; -pub mod metadata; pub mod id; +pub mod metadata; pub use crate::id::*; pub use rocket_failure_errors::StrictApiResponse as ApiResponse; diff --git a/sn0int-common/src/metadata/mod.rs b/sn0int-common/src/metadata/mod.rs index 0b08858..ad050e9 100644 --- a/sn0int-common/src/metadata/mod.rs +++ b/sn0int-common/src/metadata/mod.rs @@ -1,9 +1,9 @@ use crate::errors::*; -use nom::IResult; use nom::bytes::complete::{tag, take_until}; use nom::combinator::map_res; use nom::multi::fold_many0; -use serde::{Serialize, Deserialize}; +use nom::IResult; +use serde::{Deserialize, Serialize}; use std::str::FromStr; mod stealth; diff --git a/sn0int-common/src/metadata/stealth.rs b/sn0int-common/src/metadata/stealth.rs index 83ad925..cbcbe3a 100644 --- a/sn0int-common/src/metadata/stealth.rs +++ b/sn0int-common/src/metadata/stealth.rs @@ -1,5 +1,5 @@ use crate::errors::*; -use serde::{Serialize, Deserialize}; +use serde::{Deserialize, Serialize}; use std::str::FromStr; #[derive(Debug, Eq, PartialEq, PartialOrd, Clone, Serialize, Deserialize)] diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index c6e3811..0b5a381 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -38,7 +38,6 @@ publicsuffix = { version="2", default-features=false } xml-rs = "0.8" geo = "0.23" bytes = "0.4" -base64 = "0.13" chrono = { version = "0.4", features = ["serde"] } mqtt-protocol = "0.11" sodiumoxide = { version="0.2.5", features=["use-pkg-config"] } @@ -50,6 +49,7 @@ img_hash_median = "4.0.0" bs58 = "0.4" digest = "0.10" blake2 = "0.10" +data-encoding = "2.3.3" [dev-dependencies] env_logger = "0.9" diff --git a/sn0int-std/src/blobs.rs b/sn0int-std/src/blobs.rs index 754c42b..9560767 100644 --- a/sn0int-std/src/blobs.rs +++ b/sn0int-std/src/blobs.rs @@ -1,5 +1,6 @@ use bytes::Bytes; use blake2::Blake2bVar; +use data_encoding::BASE64; use digest::{Update, VariableOutput}; use serde::ser::{Serialize, Serializer}; use serde::de::{self, Deserialize, Deserializer}; @@ -40,7 +41,7 @@ impl Serialize for Blob { where S: Serializer, { - let s = base64::encode(&self.bytes); + let s = BASE64.encode(&self.bytes); serializer.serialize_str(&s) } } @@ -52,7 +53,7 @@ impl<'de> Deserialize<'de> for Blob { D: Deserializer<'de>, { let s = String::deserialize(deserializer)?; - let bytes = base64::decode(&s) + let bytes = BASE64.decode(s.as_bytes()) .map_err(de::Error::custom)?; Ok(Blob::create(Bytes::from(bytes))) } diff --git a/sn0int-std/src/gfx/exif.rs b/sn0int-std/src/gfx/exif.rs index 2976985..269df2e 100644 --- a/sn0int-std/src/gfx/exif.rs +++ b/sn0int-std/src/gfx/exif.rs @@ -93,7 +93,7 @@ pub fn cardinal_direction_modifier(value: &exif::Value) -> Result { let s = s.get(0) .ok_or_else(|| format_err!("Cardinal direction value is empty"))?; - match s.get(0) { + match s.first() { Some(b'N') => Ok(1.0), Some(b'S') => Ok(-1.0), Some(b'E') => Ok(1.0), diff --git a/sn0int-std/src/mqtt.rs b/sn0int-std/src/mqtt.rs index 5a95922..d2cc3b2 100644 --- a/sn0int-std/src/mqtt.rs +++ b/sn0int-std/src/mqtt.rs @@ -162,7 +162,7 @@ pub enum Pkt { impl Pkt { pub fn to_lua(&self) -> Result { - let v = serde_json::to_value(&self)?; + let v = serde_json::to_value(self)?; let v = LuaJsonValue::from(v).into(); Ok(v) } diff --git a/sn0int-std/src/sockets/mod.rs b/sn0int-std/src/sockets/mod.rs index 4272b72..172b792 100644 --- a/sn0int-std/src/sockets/mod.rs +++ b/sn0int-std/src/sockets/mod.rs @@ -129,7 +129,7 @@ impl Stream { let socket = if connect_timeout > 0 { TcpStream::connect_timeout(&addr, Duration::from_secs(connect_timeout))? } else { - TcpStream::connect(&addr)? + TcpStream::connect(addr)? }; debug!("successfully connected to {:?}", addr); @@ -138,7 +138,7 @@ impl Stream { tls::wrap_if_enabled(socket, host, options) } - pub fn connect_socks5_stream(proxy: &SocketAddr, host: &str, port: u16, options: &SocketOptions) -> Result { + pub fn connect_socks5_stream(proxy: SocketAddr, host: &str, port: u16, options: &SocketOptions) -> Result { debug!("connecting to {:?}:{:?} with socks5 on {:?}", host, port, proxy); let addr = match host.parse::() { @@ -146,7 +146,7 @@ impl Stream { _ => ProxyDest::Domain(host.to_string()), }; - let fut = socks5::connect(proxy, addr, port); + let fut = socks5::connect(&proxy, addr, port); let mut rt = Runtime::new()?; let socket = rt.block_on(fut)?; @@ -211,7 +211,7 @@ impl Socket { Ok(Socket::new(stream)) } - pub fn connect_socks5(proxy: &SocketAddr, host: &str, port: u16, options: &SocketOptions) -> Result { + pub fn connect_socks5(proxy: SocketAddr, host: &str, port: u16, options: &SocketOptions) -> Result { let stream = Stream::connect_socks5_stream(proxy, host, port, options)?; Ok(Socket::new(stream)) } diff --git a/sn0int-std/src/sockets/tls.rs b/sn0int-std/src/sockets/tls.rs index 38c0344..c495e5c 100644 --- a/sn0int-std/src/sockets/tls.rs +++ b/sn0int-std/src/sockets/tls.rs @@ -17,7 +17,7 @@ pub struct TlsData { impl TlsData { pub fn to_lua(&self) -> Result { - let v = serde_json::to_value(&self)?; + let v = serde_json::to_value(self)?; let v = LuaJsonValue::from(v).into(); Ok(v) } diff --git a/sn0int-std/src/web.rs b/sn0int-std/src/web.rs index 6a80b55..cc2274a 100644 --- a/sn0int-std/src/web.rs +++ b/sn0int-std/src/web.rs @@ -8,6 +8,7 @@ pub use chrootable_https::{Client, HttpClient, Resolver, Response}; use chrootable_https::http::HttpTryFrom; use chrootable_https::http::uri::Parts; use chrootable_https::http::request::Builder; +use data_encoding::BASE64; use rand::{Rng, thread_rng}; use rand::distributions::Alphanumeric; use serde::{Serialize, Deserialize}; @@ -161,9 +162,9 @@ impl HttpRequest { // add headers if let Some(ref auth) = self.basic_auth { use chrootable_https::header::AUTHORIZATION; - let &(ref user, ref password) = auth; + let (user, password) = auth; - let auth = base64::encode(&format!("{}:{}", user, password)); + let auth = BASE64.encode(format!("{}:{}", user, password).as_bytes()); let auth = format!("Basic {}", auth); req.header(AUTHORIZATION, auth.as_str()); } @@ -319,7 +320,7 @@ impl HttpRequest { impl From for AnyLuaValue { fn from(req: HttpRequest) -> AnyLuaValue { - let v = serde_json::to_value(&req).unwrap(); + let v = serde_json::to_value(req).unwrap(); LuaJsonValue::from(v).into() } } diff --git a/src/config.rs b/src/config.rs index c10ebb2..86d498f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -21,7 +21,7 @@ pub struct Config { impl Config { pub fn load() -> Result { let path = Config::path()?; - Config::load_from(&path) + Config::load_from(path) } pub fn path() -> Result { diff --git a/src/engine/ctx.rs b/src/engine/ctx.rs index bd71c4b..d10e11c 100644 --- a/src/engine/ctx.rs +++ b/src/engine/ctx.rs @@ -300,7 +300,7 @@ impl State for LuaState { let id = self.random_id(); let sock = if let Some(proxy) = self.resolve_proxy_options(&options.proxy)? { - Socket::connect_socks5(proxy, host, port, options)? + Socket::connect_socks5(*proxy, host, port, options)? } else { Socket::connect(&self.dns_config, host, port, options)? }; diff --git a/src/engine/mod.rs b/src/engine/mod.rs index 1a505a3..cae5890 100644 --- a/src/engine/mod.rs +++ b/src/engine/mod.rs @@ -77,7 +77,7 @@ impl<'a> Library<'a> { } pub fn private_modules(path: &Path) -> Result { - let metadata = fs::symlink_metadata(&path)?.file_type(); + let metadata = fs::symlink_metadata(path)?.file_type(); if metadata.is_symlink() { debug!("Folder is a symlink, flagging modules as private"); return Ok(true); diff --git a/src/ipc/parent.rs b/src/ipc/parent.rs index ae7ba0e..c936834 100644 --- a/src/ipc/parent.rs +++ b/src/ipc/parent.rs @@ -47,7 +47,7 @@ impl IpcParent { } pub fn send_start(&mut self, start: &StartCommand) -> Result<()> { - let start = serde_json::to_value(&start)?; + let start = serde_json::to_value(start)?; self.send(&start)?; Ok(()) } diff --git a/src/keyring.rs b/src/keyring.rs index dcbfb98..8362076 100644 --- a/src/keyring.rs +++ b/src/keyring.rs @@ -94,7 +94,7 @@ impl KeyRing { } pub fn load(path: &Path) -> Result { - let buf = fs::read(&path) + let buf = fs::read(path) .context("Failed to read keyring file")?; serde_json::from_slice(&buf) .map_err(Error::from) @@ -103,7 +103,7 @@ impl KeyRing { pub fn save(&self) -> Result<()> { let path = Self::path()?; let buf = serde_json::to_string(&self)?; - fs::write(&path, buf) + fs::write(path, buf) .context("Failed to save keyring")?; Ok(()) } @@ -208,7 +208,7 @@ pub struct KeyRingEntry { impl KeyRingEntry { pub fn to_lua(&self) -> Result { - let v = serde_json::to_value(&self)?; + let v = serde_json::to_value(self)?; let v = LuaJsonValue::from(v).into(); Ok(v) } diff --git a/src/runtime/encoding.rs b/src/runtime/encoding.rs index 3510479..92857b0 100644 --- a/src/runtime/encoding.rs +++ b/src/runtime/encoding.rs @@ -3,7 +3,7 @@ use crate::errors::*; use crate::engine::ctx::State; use crate::engine::structs::{byte_array, lua_bytes}; use crate::hlua::{self, AnyLuaValue}; -use data_encoding::{Specification, Encoding}; +use data_encoding::{BASE64, Specification, Encoding}; use std::sync::Arc; @@ -19,7 +19,7 @@ fn spec(symbols: &str, padding: &str) -> Result { pub fn base64_decode(lua: &mut hlua::Lua, state: Arc) { lua.set("base64_decode", hlua::function1(move |bytes: String| -> Result { - base64::decode(&bytes) + BASE64.decode(bytes.as_bytes()) .map_err(|err| state.set_error(err.into())) .map(|bytes| lua_bytes(&bytes)) })) @@ -29,7 +29,7 @@ pub fn base64_encode(lua: &mut hlua::Lua, state: Arc) { lua.set("base64_encode", hlua::function1(move |bytes: AnyLuaValue| -> Result { byte_array(bytes) .map_err(|err| state.set_error(err)) - .map(|bytes| base64::encode(&bytes)) + .map(|bytes| BASE64.encode(&bytes)) })) } diff --git a/src/runtime/hashes.rs b/src/runtime/hashes.rs index 38b32d1..8b11f3e 100644 --- a/src/runtime/hashes.rs +++ b/src/runtime/hashes.rs @@ -11,7 +11,7 @@ pub fn md5(lua: &mut hlua::Lua, state: Arc) { lua.set("md5", hlua::function1(move |bytes: AnyLuaValue| -> Result { byte_array(bytes) .map_err(|err| state.set_error(err)) - .map(|bytes| lua_bytes(&md5::Md5::digest(&bytes))) + .map(|bytes| lua_bytes(&md5::Md5::digest(bytes))) })) } @@ -19,7 +19,7 @@ pub fn sha1(lua: &mut hlua::Lua, state: Arc) { lua.set("sha1", hlua::function1(move |bytes: AnyLuaValue| -> Result { byte_array(bytes) .map_err(|err| state.set_error(err)) - .map(|bytes| lua_bytes(&sha1::Sha1::digest(&bytes))) + .map(|bytes| lua_bytes(&sha1::Sha1::digest(bytes))) })) } @@ -27,7 +27,7 @@ pub fn sha2_256(lua: &mut hlua::Lua, state: Arc) { lua.set("sha2_256", hlua::function1(move |bytes: AnyLuaValue| -> Result { byte_array(bytes) .map_err(|err| state.set_error(err)) - .map(|bytes| lua_bytes(&sha2::Sha256::digest(&bytes))) + .map(|bytes| lua_bytes(&sha2::Sha256::digest(bytes))) })) } @@ -35,7 +35,7 @@ pub fn sha2_512(lua: &mut hlua::Lua, state: Arc) { lua.set("sha2_512", hlua::function1(move |bytes: AnyLuaValue| -> Result { byte_array(bytes) .map_err(|err| state.set_error(err)) - .map(|bytes| lua_bytes(&sha2::Sha512::digest(&bytes))) + .map(|bytes| lua_bytes(&sha2::Sha512::digest(bytes))) })) } @@ -43,7 +43,7 @@ pub fn sha3_256(lua: &mut hlua::Lua, state: Arc) { lua.set("sha3_256", hlua::function1(move |bytes: AnyLuaValue| -> Result { byte_array(bytes) .map_err(|err| state.set_error(err)) - .map(|bytes| lua_bytes(&sha3::Sha3_256::digest(&bytes))) + .map(|bytes| lua_bytes(&sha3::Sha3_256::digest(bytes))) })) } @@ -51,7 +51,7 @@ pub fn sha3_512(lua: &mut hlua::Lua, state: Arc) { lua.set("sha3_512", hlua::function1(move |bytes: AnyLuaValue| -> Result { byte_array(bytes) .map_err(|err| state.set_error(err)) - .map(|bytes| lua_bytes(&sha3::Sha3_512::digest(&bytes))) + .map(|bytes| lua_bytes(&sha3::Sha3_512::digest(bytes))) })) } diff --git a/src/runtime/json.rs b/src/runtime/json.rs index 5bc14e7..eeee459 100644 --- a/src/runtime/json.rs +++ b/src/runtime/json.rs @@ -7,7 +7,7 @@ use crate::json; pub fn json_decode(lua: &mut hlua::Lua, state: Arc) { lua.set("json_decode", hlua::function1(move |x: String| -> Result { - json::decode(&x) + json::decode(x) .map_err(|err| state.set_error(err)) })) } diff --git a/src/runtime/logger.rs b/src/runtime/logger.rs index b71cd54..dde1fcd 100644 --- a/src/runtime/logger.rs +++ b/src/runtime/logger.rs @@ -15,7 +15,7 @@ pub fn format_lua(out: &mut String, x: &AnyLuaValue) -> Result<()> { out.push('{'); let mut first = true; - for &(ref k, ref v) in x { + for (k, v) in x { if !first { out.push_str(", "); } diff --git a/src/runtime/websockets.rs b/src/runtime/websockets.rs index 8a7ea96..1ca742b 100644 --- a/src/runtime/websockets.rs +++ b/src/runtime/websockets.rs @@ -73,7 +73,7 @@ pub fn ws_recv_json(lua: &mut hlua::Lua, state: Arc) { .map_err(|err| state.set_error(err))?; let json = if let Some(json) = json { - let json = json::decode(&json) + let json = json::decode(json) .map_err(|err| state.set_error(err))?; Some(json) } else { diff --git a/src/update.rs b/src/update.rs index a5a4d91..88d5f1f 100644 --- a/src/update.rs +++ b/src/update.rs @@ -66,7 +66,7 @@ impl AutoUpdater { pub fn save(&self) -> Result<()> { let config = serde_json::to_string(&self)?; - fs::write(AutoUpdater::path()?, &config) + fs::write(AutoUpdater::path()?, config) .context("Failed to write auto-update state")?; Ok(()) } From e397edb4f48036cf2c3eba801baf1a5ddb9064f8 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 28 Jan 2023 17:58:11 +0100 Subject: [PATCH 42/55] Refactor MQTT client integration, integrate automatic keep-alive --- Cargo.lock | 1 + modules/harness/winkekatze-sub.lua | 10 ++- sn0int-std/Cargo.toml | 1 + sn0int-std/src/blobs.rs | 4 +- sn0int-std/src/errors.rs | 4 +- sn0int-std/src/lib.rs | 2 +- sn0int-std/src/mqtt.rs | 139 +++++++++++++++++++++-------- 7 files changed, 116 insertions(+), 45 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 585b232..981a06b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4306,6 +4306,7 @@ dependencies = [ "serde_json", "serde_urlencoded 0.7.1", "sodiumoxide", + "thiserror", "tokio", "tungstenite", "url 2.3.1", diff --git a/modules/harness/winkekatze-sub.lua b/modules/harness/winkekatze-sub.lua index 646be2c..a60f016 100644 --- a/modules/harness/winkekatze-sub.lua +++ b/modules/harness/winkekatze-sub.lua @@ -10,13 +10,17 @@ function run() mqtt_subscribe(sock, '#', 0) while true do + -- read the next mqtt packet local pkt = mqtt_recv(sock) if last_err() then return end - local log = {pkt=pkt} + + local text if pkt then - log['text'] = utf8_decode(pkt['body']) + -- attempt to utf8 decode the body if there was a pkt + text = utf8_decode(pkt['body']) if last_err() then clear_err() end end - info(log) + + info({pkt=pkt, text=text}) end end diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 0b5a381..0b99019 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -50,6 +50,7 @@ bs58 = "0.4" digest = "0.10" blake2 = "0.10" data-encoding = "2.3.3" +thiserror = "1.0.38" [dev-dependencies] env_logger = "0.9" diff --git a/sn0int-std/src/blobs.rs b/sn0int-std/src/blobs.rs index 9560767..59b8323 100644 --- a/sn0int-std/src/blobs.rs +++ b/sn0int-std/src/blobs.rs @@ -1,9 +1,9 @@ -use bytes::Bytes; use blake2::Blake2bVar; +use bytes::Bytes; use data_encoding::BASE64; use digest::{Update, VariableOutput}; -use serde::ser::{Serialize, Serializer}; use serde::de::{self, Deserialize, Deserializer}; +use serde::ser::{Serialize, Serializer}; use std::result; #[derive(Debug, Clone, PartialEq)] diff --git a/sn0int-std/src/errors.rs b/sn0int-std/src/errors.rs index 07881bf..692a50e 100644 --- a/sn0int-std/src/errors.rs +++ b/sn0int-std/src/errors.rs @@ -1,3 +1,3 @@ -pub use log::{trace, debug, info, warn, error}; -pub use failure::{Error, ResultExt, format_err, bail}; +pub use failure::{bail, format_err, Error, ResultExt}; +pub use log::{debug, error, info, trace, warn}; pub type Result = ::std::result::Result; diff --git a/sn0int-std/src/lib.rs b/sn0int-std/src/lib.rs index 0e18e5b..4818615 100644 --- a/sn0int-std/src/lib.rs +++ b/sn0int-std/src/lib.rs @@ -3,8 +3,8 @@ use hlua_badtouch as hlua; pub mod blobs; pub mod crt; pub mod crypto; -mod errors; pub mod engine; +mod errors; pub mod geo; pub mod geoip; pub mod gfx; diff --git a/sn0int-std/src/mqtt.rs b/sn0int-std/src/mqtt.rs index d2cc3b2..191af98 100644 --- a/sn0int-std/src/mqtt.rs +++ b/sn0int-std/src/mqtt.rs @@ -1,20 +1,26 @@ -use chrootable_https::DnsResolver; use crate::errors::*; use crate::hlua::AnyLuaValue; -use mqtt::packet::VariablePacketError; use crate::json::LuaJsonValue; -use crate::sockets::{Stream, SocketOptions}; -use mqtt::{TopicFilter, QualityOfService}; -use mqtt::control::ConnectReturnCode; +use crate::sockets::{SocketOptions, Stream}; +use chrootable_https::DnsResolver; use mqtt::control::fixed_header::FixedHeaderError; -use mqtt::encodable::{Encodable, Decodable}; -use mqtt::packet::{VariablePacket, ConnectPacket, SubscribePacket, PingreqPacket}; -use serde::{Serialize, Deserialize}; +use mqtt::control::ConnectReturnCode; +use mqtt::encodable::{Decodable, Encodable}; +use mqtt::packet::VariablePacketError; +use mqtt::packet::{ConnectPacket, PingreqPacket, SubscribePacket, VariablePacket}; +use mqtt::{QualityOfService, TopicFilter}; +use serde::{Deserialize, Serialize}; use std::convert::TryFrom; use std::io; use std::net::SocketAddr; +use std::time::{Duration, Instant}; use url::Url; +// a reasonable default for keep-alive +// some servers reject 0 as invalid with a very confusing error message +const DEFAULT_PING_INTERVAL: u64 = 90; +const DEFAULT_KEEP_ALIVE: u16 = 120; + #[derive(Debug, Default, Deserialize)] pub struct MqttOptions { pub username: Option, @@ -23,10 +29,12 @@ pub struct MqttOptions { pub proxy: Option, #[serde(default)] pub connect_timeout: u64, - #[serde(default)] - pub read_timeout: u64, + pub read_timeout: Option, #[serde(default)] pub write_timeout: u64, + + pub ping_interval: Option, + pub keep_alive: Option, } impl MqttOptions { @@ -37,25 +45,44 @@ impl MqttOptions { } } +#[derive(Debug, thiserror::Error)] +pub enum MqttRecvError { + #[error("Failed to read mqtt packet: {0:#}")] + Recv(#[from] VariablePacketError), + #[error("Failed to read mqtt packet: connection disconnected")] + RecvDisconnect, + #[error("Failed to interact with mqtt: {0:#}")] + Error(Error), +} + +impl From for MqttRecvError { + fn from(err: Error) -> Self { + MqttRecvError::Error(err) + } +} + pub struct MqttClient { stream: Stream, + last_ping: Instant, + ping_interval: Option, } impl MqttClient { pub fn negotiate(stream: Stream, options: &MqttOptions) -> Result { + // default to DEFAULT_PING_INTERVAL, if an explicit value of 0 was set, disable auto-ping + let ping_interval = Some(options.ping_interval.unwrap_or(DEFAULT_PING_INTERVAL)); + ping_interval.filter(|s| *s != 0); + let mut client = MqttClient { stream, + last_ping: Instant::now(), + ping_interval, }; let mut pkt = ConnectPacket::new("sn0int"); pkt.set_user_name(options.username.clone()); pkt.set_password(options.password.clone()); - - /* - if let Some(keep_alive) = msg.keep_alive { - packet.set_keep_alive(keep_alive); - } - */ + pkt.set_keep_alive(options.keep_alive.unwrap_or(DEFAULT_KEEP_ALIVE)); client.send(pkt.into())?; let pkt = client.recv()?; @@ -72,14 +99,19 @@ impl MqttClient { } } - pub fn connect(resolver: &R, url: Url, options: &MqttOptions) -> Result { + pub fn connect( + resolver: &R, + url: Url, + options: &MqttOptions, + ) -> Result { let tls = match url.scheme() { "mqtt" => false, "mqtts" => true, _ => bail!("Invalid mqtt protocol"), }; - let host = url.host_str() + let host = url + .host_str() .ok_or_else(|| format_err!("Missing host in url"))?; let port = match (url.port(), tls) { @@ -88,29 +120,57 @@ impl MqttClient { (None, false) => 1883, }; - - let stream = Stream::connect_stream(resolver, host, port, &SocketOptions { - tls, - sni_value: None, - disable_tls_verify: false, - proxy: options.proxy, - - connect_timeout: options.connect_timeout, - read_timeout: options.read_timeout, - write_timeout: options.write_timeout, - })?; + // if no read timeout is configured then keep alive won't work + let read_timeout = options.read_timeout.unwrap_or(DEFAULT_PING_INTERVAL); + + let stream = Stream::connect_stream( + resolver, + host, + port, + &SocketOptions { + tls, + sni_value: None, + disable_tls_verify: false, + proxy: options.proxy, + + connect_timeout: options.connect_timeout, + read_timeout, + write_timeout: options.write_timeout, + }, + )?; Self::negotiate(stream, options) } + fn maintain_ping(&mut self) -> Result<()> { + if let Some(ping_interval) = self.ping_interval { + if self.last_ping.elapsed() >= Duration::from_secs(ping_interval) { + self.ping().context("Failed to ping")?; + self.last_ping = Instant::now(); + } + } + Ok(()) + } + fn send(&mut self, pkt: VariablePacket) -> Result<()> { + self.maintain_ping()?; debug!("Sending mqtt packet: {:?}", pkt); pkt.encode(&mut self.stream)?; Ok(()) } - fn recv(&mut self) -> std::result::Result { - let pkt = VariablePacket::decode(&mut self.stream)?; + fn recv(&mut self) -> std::result::Result { + self.maintain_ping()?; + let pkt = VariablePacket::decode(&mut self.stream).map_err(|err| match err { + // search for any io error and check if it's ErrorKind::UnexpectedEof + VariablePacketError::IoError(err) + | VariablePacketError::FixedHeaderError(FixedHeaderError::IoError(err)) + if err.kind() == io::ErrorKind::UnexpectedEof => + { + MqttRecvError::RecvDisconnect + } + _ => MqttRecvError::Recv(err), + })?; debug!("Received mqtt packet: {:?}", pkt); Ok(pkt) } @@ -139,24 +199,29 @@ impl MqttClient { pub fn recv_pkt(&mut self) -> Result> { match self.recv() { Ok(pkt) => Ok(Some(Pkt::try_from(pkt)?)), - Err(VariablePacketError::IoError(err)) if err.kind() == io::ErrorKind::WouldBlock => Ok(None), - Err(VariablePacketError::FixedHeaderError(FixedHeaderError::IoError(err))) if err.kind() == io::ErrorKind::WouldBlock => Ok(None), - Err(err) => Err(Error::from(err)) + // search for any io error and check if it's ErrorKind::WouldBlock + Err(MqttRecvError::Recv( + VariablePacketError::IoError(err) + | VariablePacketError::FixedHeaderError(FixedHeaderError::IoError(err)), + )) if err.kind() == io::ErrorKind::WouldBlock => Ok(None), + Err(err) => Err(err.into()), } } pub fn ping(&mut self) -> Result<()> { let pkt = PingreqPacket::new(); - self.send(pkt.into()) + let pkt = VariablePacket::PingreqPacket(pkt); + pkt.encode(&mut self.stream)?; + Ok(()) } } #[derive(Serialize, Deserialize)] #[serde(tag = "type")] pub enum Pkt { - #[serde(rename="publish")] + #[serde(rename = "publish")] Publish(Publish), - #[serde(rename="pong")] + #[serde(rename = "pong")] Pong, } From 844a40e9290dc37f588e946595301deca8106b25 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 28 Jan 2023 19:51:02 +0100 Subject: [PATCH 43/55] Release v0.25.0 --- Cargo.lock | 4 ++-- Cargo.toml | 6 +++--- sn0int-std/Cargo.toml | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 981a06b..0954f64 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4168,7 +4168,7 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "sn0int" -version = "0.24.3" +version = "0.25.0" dependencies = [ "atty", "boxxy", @@ -4272,7 +4272,7 @@ dependencies = [ [[package]] name = "sn0int-std" -version = "0.24.3" +version = "0.25.0" dependencies = [ "blake2 0.10.6", "bs58", diff --git a/Cargo.toml b/Cargo.toml index 817a805..d27f4eb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "sn0int" -version = "0.24.3" +version = "0.25.0" description = "Semi-automatic OSINT framework and package manager" authors = ["kpcyrd "] license = "GPL-3.0" repository = "https://github.com/kpcyrd/sn0int" categories = ["command-line-utilities"] readme = "README.md" -edition = "2018" +edition = "2021" [workspace] members = ["sn0int-common", @@ -33,7 +33,7 @@ sqlite-bundled = ["libsqlite3-sys/bundled"] [dependencies] sn0int-common = { version="0.13.0", path="sn0int-common" } -sn0int-std = { version="=0.24.3", path="sn0int-std" } +sn0int-std = { version="=0.25.0", path="sn0int-std" } rustyline = "10.0" log = "0.4" env_logger = "0.9" diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 0b99019..db0c373 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "sn0int-std" -version = "0.24.3" +version = "0.25.0" description = "sn0int - stdlib" authors = ["kpcyrd "] repository = "https://github.com/kpcyrd/sn0int" license = "GPL-3.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html From ed55944e6ed6bf10ee99f085839e5a6f13d70c97 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Thu, 16 Feb 2023 00:52:14 +0100 Subject: [PATCH 44/55] Simplify install instructions for debian (reported by @einwickler) --- README.md | 11 ++++------- docs/install.rst | 29 +++++++++++++---------------- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index f773138..3ef1599 100644 --- a/README.md +++ b/README.md @@ -61,15 +61,12 @@ Mac OSX Debian/Ubuntu/Kali -There are prebuilt packages signed by a debian maintainer. We can import the -key for this repository out of the debian keyring. +There are prebuilt packages signed by a debian maintainer: - apt install debian-keyring - gpg -a --export --keyring /usr/share/keyrings/debian-maintainers.gpg git@rxv.cc | apt-key add - - apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys git@rxv.cc - echo deb http://apt.vulns.sexy stable main > /etc/apt/sources.list.d/apt-vulns-sexy.list + sudo apt install curl sq + curl -sSf https://apt.vulns.sexy/kpcyrd.pgp | sq dearmor | sudo tee /etc/apt/trusted.gpg.d/apt-vulns-sexy.gpg > /dev/null + echo deb http://apt.vulns.sexy stable main | sudo tee /etc/apt/sources.list.d/apt-vulns-sexy.list apt update - apt install sn0int Docker diff --git a/docs/install.rst b/docs/install.rst index 92a1687..e79f713 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -19,34 +19,31 @@ Mac OSX $ brew install sn0int -Debian >= bullseye, Ubuntu >= 20.04, Kali +Debian >= bookwork, Ubuntu >= 22.10, Kali ----------------------------------------- -There are prebuilt packages signed by a debian maintainer. We can import the -key for this repository out of the debian keyring. +There are prebuilt packages signed by a debian maintainer: .. code-block:: bash - $ sudo apt install debian-keyring - $ gpg -a --export --keyring /usr/share/keyrings/debian-maintainers.gpg kpcyrd@archlinux.org | sudo tee /etc/apt/trusted.gpg.d/apt-vulns-sexy.gpg + $ sudo apt install curl sq + $ curl -sSf https://apt.vulns.sexy/kpcyrd.pgp | sq keyring filter -B --handle 64B13F7117D6E07D661BBCE0FE763A64F5E54FD6 | sudo tee /etc/apt/trusted.gpg.d/apt-vulns-sexy.gpg > /dev/null $ echo deb http://apt.vulns.sexy stable main | sudo tee /etc/apt/sources.list.d/apt-vulns-sexy.list - $ sudo apt update - $ sudo apt install sn0int + $ apt update + $ apt install sn0int -Debian <= buster, Ubuntu <= 19.10 ---------------------------------- +Debian <= bullseye, Ubuntu <= 22.04 +----------------------------------- -There are prebuilt packages signed by a debian maintainer. We can import the -key for this repository out of the debian keyring. +There are prebuilt packages signed by a debian maintainer: .. code-block:: bash - $ sudo apt install debian-keyring - $ gpg -a --export --keyring /usr/share/keyrings/debian-maintainers.gpg git@rxv.cc | sudo apt-key add - - $ sudo apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys git@rxv.cc + $ sudo apt install curl sq + $ curl -sSf https://apt.vulns.sexy/kpcyrd.pgp | sq dearmor | sudo tee /etc/apt/trusted.gpg.d/apt-vulns-sexy.gpg > /dev/null $ echo deb http://apt.vulns.sexy stable main | sudo tee /etc/apt/sources.list.d/apt-vulns-sexy.list - $ sudo apt update - $ sudo apt install sn0int + $ apt update + $ apt install sn0int Fedora/CentOS/Redhat -------------------- From c2f4edf4759b0cf7fae9f1d044cb3dfc5daa0b70 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 25 Mar 2023 01:34:26 +0000 Subject: [PATCH 45/55] Bump openssl from 0.10.45 to 0.10.48 Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.45 to 0.10.48. - [Release notes](https://github.com/sfackler/rust-openssl/releases) - [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.45...openssl-v0.10.48) --- updated-dependencies: - dependency-name: openssl dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0954f64..1380be4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2779,9 +2779,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.45" +version = "0.10.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" +checksum = "518915b97df115dd36109bfa429a48b8f737bd05508cf9588977b599648926d2" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -2811,9 +2811,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.80" +version = "0.9.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" +checksum = "666416d899cf077260dac8698d60a60b435a46d57e82acb1be3d0dad87284e5b" dependencies = [ "autocfg 1.1.0", "cc", From 88cb8b55f0f30707a50e3f37b95172a2b5768af8 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 8 Jul 2023 15:01:41 +0200 Subject: [PATCH 46/55] Port to clap 4 Fixes a bug in zsh completions --- Cargo.lock | 1377 ++++++++++++++----------- Cargo.toml | 3 +- examples/boxxy.rs | 9 +- examples/maxmind.rs | 15 +- examples/spinners.rs | 22 +- sn0int-common/Cargo.toml | 1 + sn0int-common/src/id.rs | 2 +- sn0int-common/src/metadata/stealth.rs | 3 +- src/args.rs | 118 ++- src/autonoscope/mod.rs | 2 +- src/cal/mod.rs | 8 +- src/cmd/activity_cmd.rs | 25 +- src/cmd/add_cmd.rs | 71 +- src/cmd/autonoscope_cmd.rs | 22 +- src/cmd/autoscope_cmd.rs | 7 +- src/cmd/cal_cmd.rs | 14 +- src/cmd/delete_cmd.rs | 8 +- src/cmd/export_cmd.rs | 25 +- src/cmd/fsck_cmd.rs | 18 +- src/cmd/keyring_cmd.rs | 25 +- src/cmd/mod.rs | 6 +- src/cmd/noscope_cmd.rs | 16 +- src/cmd/notify_cmd.rs | 29 +- src/cmd/pkg_cmd.rs | 51 +- src/cmd/quickstart_cmd.rs | 10 +- src/cmd/rescope_cmd.rs | 14 +- src/cmd/run_cmd.rs | 24 +- src/cmd/scope_cmd.rs | 12 +- src/cmd/select_cmd.rs | 14 +- src/cmd/set_cmd.rs | 10 +- src/cmd/stats_cmd.rs | 14 +- src/cmd/target_cmd.rs | 8 +- src/cmd/use_cmd.rs | 10 +- src/cmd/workspace_cmd.rs | 16 +- src/engine/ctx.rs | 6 +- src/engine/mod.rs | 2 +- src/filters.rs | 36 +- src/ipc/common.rs | 4 +- src/ipc/parent.rs | 2 +- src/keyring.rs | 2 +- src/main.rs | 8 +- src/notify/mod.rs | 10 +- src/shell/complete.rs | 10 - src/worker.rs | 12 +- 44 files changed, 1088 insertions(+), 1013 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1380be4..91f317b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,11 +2,22 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "accurate" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f209f0bc218ee6cf50db56ec0d9fe10b3cbfb6f3900d019b36c8fdb6d3bc03e" +dependencies = [ + "cfg-if 1.0.0", + "ieee754", + "num-traits", +] + [[package]] name = "addr2line" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" dependencies = [ "gimli", ] @@ -25,13 +36,19 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "aho-corasick" -version = "0.7.20" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -50,11 +67,60 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "anstream" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is-terminal", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" + +[[package]] +name = "anstyle-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "anstyle-wincon" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +dependencies = [ + "anstyle", + "windows-sys", +] + [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" [[package]] name = "approx" @@ -67,9 +133,9 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "asn1-rs" @@ -84,14 +150,14 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.17", + "time 0.3.22", ] [[package]] name = "asn1-rs" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4" +checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ "asn1-rs-derive 0.4.0", "asn1-rs-impl", @@ -108,9 +174,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", "synstructure", ] @@ -120,9 +186,9 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", "synstructure", ] @@ -132,9 +198,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", ] [[package]] @@ -174,15 +240,15 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.67" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" dependencies = [ "addr2line", "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide 0.6.2", + "miniz_oxide 0.7.1", "object", "rustc-demangle", ] @@ -224,6 +290,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + [[package]] name = "bincode" version = "1.3.3" @@ -239,17 +311,17 @@ version = "0.59.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cexpr", "clang-sys", "clap 2.34.0", "env_logger", "lazy_static", "lazycell", - "log 0.4.17", + "log 0.4.19", "peeking_take_while", - "proc-macro2 1.0.50", - "quote 1.0.23", + "proc-macro2 1.0.63", + "quote 1.0.29", "regex", "rustc-hash", "shlex", @@ -262,6 +334,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" + [[package]] name = "blake2" version = "0.8.1" @@ -280,7 +358,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -299,16 +377,16 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] name = "block-buffer" -version = "0.10.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] @@ -322,11 +400,11 @@ dependencies = [ "bufstream", "caps", "cfg-if 1.0.0", - "clap 3.2.23", + "clap 3.2.25", "close_fds", - "errno", + "errno 0.2.8", "libc", - "log 0.4.17", + "log 0.4.19", "nix 0.24.3", "pledge", "regex", @@ -341,13 +419,13 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "0.2.17" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" dependencies = [ - "lazy_static", "memchr", "regex-automata", + "serde", ] [[package]] @@ -358,9 +436,9 @@ checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "byte-tools" @@ -376,9 +454,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" [[package]] name = "byteorder" @@ -399,15 +477,15 @@ dependencies = [ [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "bytesize" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" +checksum = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5" [[package]] name = "caps" @@ -421,9 +499,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cexpr" @@ -448,13 +526,13 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.23" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", "serde", "time 0.1.45", @@ -477,7 +555,7 @@ dependencies = [ "hyper 0.12.36", "hyper-rustls", "ipconfig", - "log 0.4.17", + "log 0.4.19", "lru-cache", "rustls 0.16.0", "serde", @@ -489,9 +567,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.4.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" +checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" dependencies = [ "glob", "libc", @@ -506,8 +584,8 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", - "strsim", + "bitflags 1.3.2", + "strsim 0.8.0", "textwrap 0.11.0", "unicode-width", "vec_map", @@ -515,29 +593,73 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.23" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ - "bitflags", - "clap_derive", - "clap_lex", + "bitflags 1.3.2", + "clap_derive 3.2.25", + "clap_lex 0.2.4", "indexmap", "once_cell", "textwrap 0.16.0", ] +[[package]] +name = "clap" +version = "4.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d" +dependencies = [ + "clap_builder", + "clap_derive 4.3.2", + "once_cell", +] + +[[package]] +name = "clap_builder" +version = "4.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b" +dependencies = [ + "anstream", + "anstyle", + "clap_lex 0.5.0", + "strsim 0.10.0", +] + +[[package]] +name = "clap_complete" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce" +dependencies = [ + "clap 4.3.11", +] + [[package]] name = "clap_derive" -version = "3.2.18" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" +checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" dependencies = [ - "heck 0.4.0", + "heck 0.4.1", "proc-macro-error", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", +] + +[[package]] +name = "clap_derive" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" +dependencies = [ + "heck 0.4.1", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 2.0.23", ] [[package]] @@ -549,6 +671,12 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" + [[package]] name = "clipboard-win" version = "4.5.0" @@ -576,17 +704,7 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" dependencies = [ - "bitflags", -] - -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", + "bitflags 1.3.2", ] [[package]] @@ -595,15 +713,21 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + [[package]] name = "colored" -version = "2.0.0" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" +checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6" dependencies = [ - "atty", + "is-terminal", "lazy_static", - "winapi 0.3.9", + "windows-sys", ] [[package]] @@ -618,7 +742,7 @@ version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be2018768ed1d848cc4d347d551546474025ba820e5db70e4c9aaa349f678bd7" dependencies = [ - "percent-encoding 2.2.0", + "percent-encoding 2.3.0", "time 0.1.45", ] @@ -641,7 +765,7 @@ dependencies = [ "cookie 0.12.0", "failure", "idna 0.1.5", - "log 0.4.17", + "log 0.4.19", "publicsuffix 1.5.6", "serde", "serde_json", @@ -662,15 +786,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.5" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] @@ -692,12 +816,12 @@ checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52" [[package]] name = "crossbeam-channel" -version = "0.5.6" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.14", + "crossbeam-utils 0.8.16", ] [[package]] @@ -713,13 +837,13 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" dependencies = [ "cfg-if 1.0.0", - "crossbeam-epoch 0.9.13", - "crossbeam-utils 0.8.14", + "crossbeam-epoch 0.9.15", + "crossbeam-utils 0.8.16", ] [[package]] @@ -739,14 +863,14 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.13" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ "autocfg 1.1.0", "cfg-if 1.0.0", - "crossbeam-utils 0.8.14", - "memoffset 0.7.1", + "crossbeam-utils 0.8.16", + "memoffset 0.9.0", "scopeguard", ] @@ -774,9 +898,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.14" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" dependencies = [ "cfg-if 1.0.0", ] @@ -787,7 +911,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "typenum", ] @@ -812,20 +936,20 @@ dependencies = [ "itoa 0.4.8", "matches", "phf", - "proc-macro2 1.0.50", - "quote 1.0.23", - "smallvec 1.10.0", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "smallvec 1.11.0", + "syn 1.0.109", ] [[package]] name = "cssparser-macros" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ - "quote 1.0.23", - "syn 1.0.107", + "quote 1.0.29", + "syn 2.0.23", ] [[package]] @@ -848,9 +972,9 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.2.4" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1631ca6e3c59112501a9d87fd86f21591ff77acd31331e8a73f8d80a65bbdd71" +checksum = "2a011bbe2c35ce9c1f143b7af6f94f29a167beb4cd1d29e6740ce836f723120e" dependencies = [ "nix 0.26.2", "windows-sys", @@ -867,15 +991,15 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "socket2 0.4.7", + "socket2 0.4.9", "winapi 0.3.9", ] [[package]] name = "curl-sys" -version = "0.4.59+curl-7.86.0" +version = "0.4.63+curl-8.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cfce34829f448b08f55b7db6d0009e23e2e86a34e8c2b366269bf5799b4a407" +checksum = "aeb0fef7046022a1e2ad67a004978f0e3cacb9e3123dc62ce768f92197b771dc" dependencies = [ "cc", "libc", @@ -886,61 +1010,17 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "cxx" -version = "1.0.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322296e2f2e5af4270b54df9e85a02ff037e271af20ba3e7fe1575515dc840b8" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "017a1385b05d631e7875b1f151c9f012d37b53491e2a87f65bff5c262b2111d8" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2 1.0.50", - "quote 1.0.23", - "scratch", - "syn 1.0.107", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c26bbb078acf09bc1ecda02d4223f03bdd28bd4874edcb0379138efc499ce971" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357f40d1f06a24b60ae1fe122542c1fb05d28d32acb2aed064e84bc2ad1e252e" -dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", -] - [[package]] name = "data-encoding" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "data-encoding-macro" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca" +checksum = "c904b33cc60130e1aeea4956ab803d08a3f4a0ca82d64ed757afac3891f2bb99" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -948,12 +1028,12 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" +checksum = "8fdf3fce3ce863539ec1d7fd1b6dcc3c645663376b43ed376bbf887733e4f772" dependencies = [ "data-encoding", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] @@ -982,11 +1062,11 @@ dependencies = [ [[package]] name = "der-parser" -version = "8.1.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" +checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs 0.5.1", + "asn1-rs 0.5.2", "displaydoc", "nom", "num-traits", @@ -1000,10 +1080,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.50", - "quote 1.0.23", + "proc-macro2 1.0.63", + "quote 1.0.29", "rustc_version 0.4.0", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] @@ -1032,7 +1112,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d1053e9d5d5aade9bcedb5ab53b78df2b56ff9408a3138ce77eaaef87f932373" dependencies = [ - "bitflags", + "bitflags 1.3.2", "proc-macro2 0.4.30", "quote 0.6.13", "syn 0.15.44", @@ -1044,7 +1124,7 @@ version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b28135ecf6b7d446b43e27e225622a038cc4e2930a1022f51cdb97ada19b8e4d" dependencies = [ - "bitflags", + "bitflags 1.3.2", "byteorder", "chrono", "diesel_derives", @@ -1059,9 +1139,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", ] [[package]] @@ -1107,18 +1187,18 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.3", + "block-buffer 0.10.4", "crypto-common", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -1144,13 +1224,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 2.0.23", ] [[package]] @@ -1165,13 +1245,19 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" +[[package]] +name = "dtoa" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "519b83cd10f5f6e969625a409f735182bea5558cd8b64c655806ceaae36f1999" + [[package]] name = "dtoa-short" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6" +checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" dependencies = [ - "dtoa", + "dtoa 1.0.8", ] [[package]] @@ -1197,9 +1283,9 @@ checksum = "4dda717aa0325f3ebb1b5da2da97b56641e5cef86c55d7fec8158bc8aeb5ed19" [[package]] name = "encoding_rs" -version = "0.8.31" +version = "0.8.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" dependencies = [ "cfg-if 1.0.0", ] @@ -1229,7 +1315,7 @@ checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime 2.1.0", - "log 0.4.17", + "log 0.4.19", "regex", "termcolor", ] @@ -1245,6 +1331,17 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys", +] + [[package]] name = "errno-dragonfly" version = "0.1.2" @@ -1281,9 +1378,9 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", "synstructure", ] @@ -1295,29 +1392,29 @@ checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] [[package]] name = "fd-lock" -version = "3.0.9" +version = "3.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28c0190ff0bd3b28bfdd4d0cf9f92faa12880fb0b8ae2054723dd6c76a4efd42" +checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" dependencies = [ "cfg-if 1.0.0", - "rustix", + "rustix 0.38.3", "windows-sys", ] [[package]] name = "filetime" -version = "0.2.19" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" +checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" dependencies = [ "cfg-if 1.0.0", "libc", @@ -1327,12 +1424,12 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" dependencies = [ "crc32fast", - "miniz_oxide 0.6.2", + "miniz_oxide 0.7.1", ] [[package]] @@ -1367,11 +1464,11 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ - "percent-encoding 2.2.0", + "percent-encoding 2.3.0", ] [[package]] @@ -1380,7 +1477,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6" dependencies = [ - "bitflags", + "bitflags 1.3.2", "fsevent-sys", ] @@ -1405,7 +1502,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" dependencies = [ - "bitflags", + "bitflags 1.3.2", "fuchsia-zircon-sys", ] @@ -1470,9 +1567,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check 0.9.4", @@ -1487,7 +1584,7 @@ dependencies = [ "float_next_after", "geo-types", "geographiclib-rs", - "log 0.4.17", + "log 0.4.19", "num-traits", "robust", "rstar", @@ -1495,21 +1592,23 @@ dependencies = [ [[package]] name = "geo-types" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e26879b63ac36ca5492918dc16f8c1e604b0f70f884fffbd3533f89953ab1991" +checksum = "1019f6d372c5b53143f08deee4168d05c22920fe5e0f51f0dfb0e8ffb67ec11e" dependencies = [ "approx", "num-traits", "rstar", + "serde", ] [[package]] name = "geographiclib-rs" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04a4efc8e99f43d1d29331a073981bb13074b253edc08ffc8ccf5f384b1d1d1e" +checksum = "8ea804e7bd3c6a4ca6a01edfa35231557a8a81d4d3f3e1e2b650d028c42592be" dependencies = [ + "accurate", "lazy_static", ] @@ -1526,9 +1625,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if 1.0.0", "libc", @@ -1547,9 +1646,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.1" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" [[package]] name = "glob" @@ -1569,7 +1668,7 @@ dependencies = [ "futures", "http 0.1.21", "indexmap", - "log 0.4.17", + "log 0.4.19", "slab", "string", "tokio-io", @@ -1582,7 +1681,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d82e5750d8027a97b9640e3fefa66bbaf852a35228e1c90790efd13c4b09c166" dependencies = [ "lazy_static", - "log 0.4.17", + "log 0.4.19", "pest", "pest_derive", "quick-error", @@ -1616,7 +1715,7 @@ dependencies = [ "atomic-polyfill", "hash32", "rustc_version 0.4.0", - "spin 0.9.4", + "spin 0.9.8", "stable_deref_trait", ] @@ -1631,9 +1730,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" @@ -1646,12 +1745,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.2.6" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hex" @@ -1675,7 +1771,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -1684,12 +1780,12 @@ version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" dependencies = [ - "log 0.4.17", + "log 0.4.19", "mac", "markup5ever", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", ] [[package]] @@ -1705,13 +1801,13 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "fnv", - "itoa 1.0.5", + "itoa 1.0.8", ] [[package]] @@ -1787,7 +1883,7 @@ dependencies = [ "httparse", "iovec", "itoa 0.4.8", - "log 0.4.17", + "log 0.4.19", "net2", "rustc_version 0.2.3", "time 0.1.45", @@ -1834,26 +1930,25 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.53" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi 0.3.9", + "windows", ] [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -1880,14 +1975,20 @@ dependencies = [ [[package]] name = "idna" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", ] +[[package]] +name = "ieee754" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9007da9cacbd3e6343da136e98b0d2df013f553d35bdec8b518f07bea768e19c" + [[package]] name = "image" version = "0.23.14" @@ -1922,9 +2023,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg 1.1.0", "hashbrown", @@ -1936,7 +2037,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f" dependencies = [ - "bitflags", + "bitflags 1.3.2", "inotify-sys", "libc", ] @@ -1956,7 +2057,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", ] [[package]] @@ -1970,10 +2071,11 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.4" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ + "hermit-abi 0.3.2", "libc", "windows-sys", ] @@ -2008,6 +2110,17 @@ dependencies = [ "serde", ] +[[package]] +name = "is-terminal" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +dependencies = [ + "hermit-abi 0.3.2", + "rustix 0.38.3", + "windows-sys", +] + [[package]] name = "itoa" version = "0.4.8" @@ -2016,9 +2129,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.5" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" [[package]] name = "jpeg-decoder" @@ -2031,9 +2144,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -2049,9 +2162,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" dependencies = [ "cpufeatures", ] @@ -2098,9 +2211,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.139" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "libloading" @@ -2114,9 +2227,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" +checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" [[package]] name = "libsodium-sys" @@ -2143,9 +2256,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" +checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" dependencies = [ "cc", "libc", @@ -2162,15 +2275,6 @@ dependencies = [ "safemem", ] -[[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] - [[package]] name = "linked-hash-map" version = "0.5.6" @@ -2179,9 +2283,15 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.1.4" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" +checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" [[package]] name = "lock_api" @@ -2194,9 +2304,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg 1.1.0", "scopeguard", @@ -2208,17 +2318,14 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" dependencies = [ - "log 0.4.17", + "log 0.4.19", ] [[package]] name = "log" -version = "0.4.17" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if 1.0.0", -] +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" [[package]] name = "lru-cache" @@ -2258,7 +2365,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" dependencies = [ - "log 0.4.17", + "log 0.4.19", "phf", "phf_codegen", "string_cache", @@ -2279,7 +2386,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe2ba61113f9f7a9f0e87c519682d39c43a6f3f79c2cc42c3ba3dda83b1fa334" dependencies = [ "ipnetwork", - "log 0.4.17", + "log 0.4.19", "memchr", "serde", ] @@ -2296,7 +2403,7 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -2325,9 +2432,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" dependencies = [ "autocfg 1.1.0", ] @@ -2348,9 +2455,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9753f12909fd8d923f75ae5c3258cae1ed3c8ec052e1b38c93c21a6d157f789c" dependencies = [ "migrations_internals", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", ] [[package]] @@ -2364,9 +2471,9 @@ dependencies = [ [[package]] name = "mime" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mime_guess" @@ -2374,7 +2481,7 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" dependencies = [ - "mime 0.3.16", + "mime 0.3.17", "unicase 2.6.0", ] @@ -2405,9 +2512,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ "adler", ] @@ -2424,7 +2531,7 @@ dependencies = [ "iovec", "kernel32-sys", "libc", - "log 0.4.17", + "log 0.4.19", "miow", "net2", "slab", @@ -2438,7 +2545,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" dependencies = [ "lazycell", - "log 0.4.17", + "log 0.4.19", "mio", "slab", ] @@ -2474,7 +2581,7 @@ checksum = "ca0b17380dc69fbcf5f967828cfd10e55028ba83a57da1f580c5b0792ab807ac" dependencies = [ "byteorder", "lazy_static", - "log 0.4.17", + "log 0.4.19", "regex", "thiserror", ] @@ -2493,7 +2600,7 @@ checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", - "log 0.4.17", + "log 0.4.19", "openssl", "openssl-probe", "openssl-sys", @@ -2505,9 +2612,9 @@ dependencies = [ [[package]] name = "net2" -version = "0.2.38" +version = "0.2.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" +checksum = "b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac" dependencies = [ "cfg-if 0.1.10", "libc", @@ -2532,7 +2639,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" dependencies = [ - "smallvec 1.10.0", + "smallvec 1.11.0", ] [[package]] @@ -2541,7 +2648,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "libc", "memoffset 0.6.5", @@ -2554,7 +2661,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" dependencies = [ "autocfg 1.1.0", - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "libc", ] @@ -2565,7 +2672,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "libc", "static_assertions", @@ -2593,7 +2700,7 @@ version = "4.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257" dependencies = [ - "bitflags", + "bitflags 1.3.2", "filetime", "fsevent", "fsevent-sys", @@ -2613,7 +2720,7 @@ checksum = "629bf84f31f765ba48058371c6eb3c5eed0fcdec68b814eb11f6f65dec0adbe3" dependencies = [ "failure", "image", - "log 0.4.17", + "log 0.4.19", "rand 0.7.3", ] @@ -2682,11 +2789,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.2", "libc", ] @@ -2710,9 +2817,9 @@ dependencies = [ [[package]] name = "object" -version = "0.30.3" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" dependencies = [ "memchr", ] @@ -2728,9 +2835,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "onig" @@ -2738,7 +2845,7 @@ version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e723fc996fff1aeab8f62205f3e8528bf498bdd5eadb2784d2d31f30077947" dependencies = [ - "bitflags", + "bitflags 1.3.2", "lazy_static", "libc", "onig_sys", @@ -2769,9 +2876,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "opener" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea3ebcd72a54701f56345f16785a6d3ac2df7e986d273eb4395c0b01db17952" +checksum = "293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005" dependencies = [ "bstr", "winapi 0.3.9", @@ -2779,11 +2886,11 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.48" +version = "0.10.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "518915b97df115dd36109bfa429a48b8f737bd05508cf9588977b599648926d2" +checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "foreign-types", "libc", @@ -2794,13 +2901,13 @@ dependencies = [ [[package]] name = "openssl-macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 2.0.23", ] [[package]] @@ -2811,11 +2918,10 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.83" +version = "0.9.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "666416d899cf077260dac8698d60a60b435a46d57e82acb1be3d0dad87284e5b" +checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" dependencies = [ - "autocfg 1.1.0", "cc", "libc", "pkg-config", @@ -2829,16 +2935,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a8a1fed76ac765e39058ca106b6229a93c5a60292a1bd4b602ce2be11e1c020" dependencies = [ "anyhow", - "plist 1.4.0", + "plist 1.4.3", "uname", "winapi 0.3.9", ] [[package]] name = "os_str_bytes" -version = "6.4.1" +version = "6.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" [[package]] name = "parking_lot" @@ -2857,8 +2963,8 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ - "lock_api 0.4.9", - "parking_lot_core 0.9.6", + "lock_api 0.4.10", + "parking_lot_core 0.9.8", ] [[package]] @@ -2878,15 +2984,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.6" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.16", - "smallvec 1.10.0", - "windows-sys", + "redox_syscall 0.3.5", + "smallvec 1.11.0", + "windows-targets", ] [[package]] @@ -2934,15 +3040,15 @@ checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.5.4" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f" +checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9" dependencies = [ "thiserror", "ucd-trie", @@ -2950,9 +3056,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.5.4" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf026e2d0581559db66d837fe5242320f525d85c76283c61f4d51a1238d65ea" +checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b" dependencies = [ "pest", "pest_generator", @@ -2960,26 +3066,26 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.5.4" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b27bd18aa01d91c8ed2b61ea23406a676b42d82609c6e2581fba42f0c15f17f" +checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 2.0.23", ] [[package]] name = "pest_meta" -version = "2.5.4" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f02b677c1859756359fc9983c2e56a0237f18624a3789528804406b7e915e5d" +checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0" dependencies = [ "once_cell", "pest", - "sha2 0.10.6", + "sha2 0.10.7", ] [[package]] @@ -3032,9 +3138,9 @@ dependencies = [ "phf_generator 0.8.0", "phf_shared 0.8.0", "proc-macro-hack", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", ] [[package]] @@ -3057,9 +3163,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "pledge" @@ -3086,16 +3192,16 @@ dependencies = [ [[package]] name = "plist" -version = "1.4.0" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5329b8f106a176ab0dce4aae5da86bfcb139bb74fb00882859e03745011f3635" +checksum = "9bd9647b268a3d3e14ff09c23201133a62589c658db02bb7388c7246aafe0590" dependencies = [ - "base64 0.13.1", + "base64 0.21.2", "indexmap", "line-wrap", "quick-xml", "serde", - "time 0.3.17", + "time 0.3.22", ] [[package]] @@ -3104,7 +3210,7 @@ version = "0.16.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" dependencies = [ - "bitflags", + "bitflags 1.3.2", "crc32fast", "deflate", "miniz_oxide 0.3.7", @@ -3118,9 +3224,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "pq-sys" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b845d6d8ec554f972a2c5298aad68953fd64e7441e846075450b44656a016d1" +checksum = "31c0052426df997c0cbd30789eb44ca097e3541717a7b8fa36b1c464ee7edebd" dependencies = [ "vcpkg", ] @@ -3138,9 +3244,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", "version_check 0.9.4", ] @@ -3150,8 +3256,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", + "proc-macro2 1.0.63", + "quote 1.0.29", "version_check 0.9.4", ] @@ -3172,9 +3278,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.50" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" dependencies = [ "unicode-ident", ] @@ -3192,7 +3298,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b4ce31ff0a27d93c8de1849cf58162283752f065a90d508f1105fa6c9a213f" dependencies = [ "idna 0.2.3", - "url 2.3.1", + "url 2.4.0", ] [[package]] @@ -3212,9 +3318,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quick-xml" -version = "0.26.0" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd" +checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" dependencies = [ "memchr", ] @@ -3230,11 +3336,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.23" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" dependencies = [ - "proc-macro2 1.0.50", + "proc-macro2 1.0.63", ] [[package]] @@ -3243,7 +3349,7 @@ version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ - "log 0.4.17", + "log 0.4.19", "parking_lot 0.12.1", "scheduled-thread-pool", ] @@ -3372,7 +3478,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.10", ] [[package]] @@ -3457,9 +3563,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" dependencies = [ "either", "rayon-core", @@ -3467,13 +3573,13 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.2" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" dependencies = [ "crossbeam-channel", - "crossbeam-deque 0.8.2", - "crossbeam-utils 0.8.14", + "crossbeam-deque 0.8.3", + "crossbeam-utils 0.8.16", "num_cpus", ] @@ -3498,7 +3604,16 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", ] [[package]] @@ -3507,42 +3622,45 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.10", "redox_syscall 0.2.16", "thiserror", ] [[package]] name = "regex" -version = "1.7.1" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-automata", + "regex-syntax 0.7.3", ] [[package]] name = "regex-automata" -version = "0.1.10" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.7.3", +] [[package]] name = "regex-syntax" -version = "0.6.28" +version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] -name = "remove_dir_all" -version = "0.5.3" +name = "regex-syntax" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi 0.3.9", -] +checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846" [[package]] name = "reqwest" @@ -3560,8 +3678,8 @@ dependencies = [ "http 0.1.21", "hyper 0.12.36", "hyper-tls", - "log 0.4.17", - "mime 0.3.16", + "log 0.4.19", + "mime 0.3.17", "mime_guess", "native-tls", "serde", @@ -3607,7 +3725,7 @@ checksum = "83b9d9dc08c5dcc1d8126a9dd615545e6a358f8c13c883c8dfed8c0376fa355e" dependencies = [ "atty", "base64 0.13.1", - "log 0.4.17", + "log 0.4.19", "memchr", "num_cpus", "pear", @@ -3643,7 +3761,7 @@ checksum = "e20efbc6a211cb3df5375accf532d4186f224b623f39eca650b19b96240c596b" dependencies = [ "glob", "handlebars", - "log 0.4.17", + "log 0.4.19", "notify", "rocket", "serde", @@ -3684,7 +3802,7 @@ dependencies = [ "indexmap", "pear", "percent-encoding 1.0.1", - "smallvec 1.10.0", + "smallvec 1.11.0", "state", "time 0.1.45", "unicode-xid 0.1.0", @@ -3698,14 +3816,14 @@ checksum = "b40f1bfe5acdab44bc63e6699c28b74f75ec43afb59f3eda01e145aff86a25fa" dependencies = [ "heapless", "num-traits", - "smallvec 1.10.0", + "smallvec 1.11.0", ] [[package]] name = "rustc-demangle" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustc-hash" @@ -3728,7 +3846,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.16", + "semver 1.0.17", ] [[package]] @@ -3764,15 +3882,28 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.7" +version = "0.37.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" +checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" dependencies = [ - "bitflags", - "errno", + "bitflags 1.3.2", + "errno 0.3.1", "io-lifetimes", "libc", - "linux-raw-sys", + "linux-raw-sys 0.3.8", + "windows-sys", +] + +[[package]] +name = "rustix" +version = "0.38.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4" +dependencies = [ + "bitflags 2.3.3", + "errno 0.3.1", + "libc", + "linux-raw-sys 0.4.3", "windows-sys", ] @@ -3783,7 +3914,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e" dependencies = [ "base64 0.10.1", - "log 0.4.17", + "log 0.4.19", "ring", "sct", "webpki", @@ -3796,7 +3927,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" dependencies = [ "base64 0.12.3", - "log 0.4.17", + "log 0.4.19", "ring", "sct", "webpki", @@ -3804,9 +3935,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.11" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" +checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" [[package]] name = "rustyline" @@ -3814,13 +3945,13 @@ version = "10.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1e83c32c3f3c33b08496e0d1df9ea8c64d39adb8eb36a1ebb1440c690697aef" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "clipboard-win", "dirs-next", "fd-lock", "libc", - "log 0.4.17", + "log 0.4.19", "memchr", "nix 0.25.1", "radix_trie 0.2.1", @@ -3833,9 +3964,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" +checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" [[package]] name = "safemem" @@ -3854,18 +3985,18 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ "windows-sys", ] [[package]] name = "scheduled-thread-pool" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977a7519bff143a44f842fd07e80ad1329295bd71686457f18e496736f4bf9bf" +checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" dependencies = [ "parking_lot 0.12.1", ] @@ -3882,12 +4013,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -[[package]] -name = "scratch" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" - [[package]] name = "sct" version = "0.6.1" @@ -3909,11 +4034,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.1" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c4437699b6d34972de58652c68b98cb5b53a4199ab126db8e20ec8ded29a721" +checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -3922,9 +4047,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" dependencies = [ "core-foundation-sys", "libc", @@ -3936,17 +4061,17 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cssparser", "derive_more", "fxhash", - "log 0.4.17", + "log 0.4.19", "matches", "phf", "phf_codegen", "precomputed-hash", "servo_arc", - "smallvec 1.10.0", + "smallvec 1.11.0", "thin-slice", ] @@ -3961,9 +4086,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" +checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" [[package]] name = "semver-parser" @@ -3979,31 +4104,31 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.152" +version = "1.0.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" +checksum = "7daf513456463b42aa1d94cff7e0c24d682b429f020b9afa4f5ba5c40a22b237" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.152" +version = "1.0.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" +checksum = "b69b106b68bc8054f0e974e70d19984040f8a5cf9215ca82626ea4853f82c4b9" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 2.0.23", ] [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" dependencies = [ - "itoa 1.0.5", + "itoa 1.0.8", "ryu", "serde", ] @@ -4014,7 +4139,7 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a" dependencies = [ - "dtoa", + "dtoa 0.4.8", "itoa 0.4.8", "serde", "url 1.7.2", @@ -4027,7 +4152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.5", + "itoa 1.0.8", "ryu", "serde", ] @@ -4063,7 +4188,7 @@ checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -4080,22 +4205,22 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] name = "sha3" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "keccak", ] @@ -4129,9 +4254,9 @@ checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg 1.1.0", ] @@ -4146,7 +4271,7 @@ dependencies = [ "base64 0.13.1", "byteorder", "hex", - "log 0.4.17", + "log 0.4.19", "serde", "sha-1 0.9.8", ] @@ -4162,9 +4287,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "sn0int" @@ -4177,13 +4302,15 @@ dependencies = [ "caps", "chrono", "chrootable-https", + "clap 4.3.11", + "clap_complete", "colored", "crossbeam-channel", "ctrlc", "data-encoding", "diesel", "diesel_migrations", - "digest 0.10.6", + "digest 0.10.7", "dirs-next", "embedded-triple", "env_logger", @@ -4195,31 +4322,30 @@ dependencies = [ "ipnetwork", "lazy_static", "libsqlite3-sys", - "log 0.4.17", + "log 0.4.19", "maplit", "md-5", "nix 0.24.3", "nude", "opener", "os-version", - "percent-encoding 2.2.0", + "percent-encoding 2.3.0", "pledge", "rand 0.8.5", "regex", "rustyline", - "semver 1.0.16", + "semver 1.0.17", "separator", "serde", "serde_json", "serde_urlencoded 0.7.1", "sha-1 0.10.1", - "sha2 0.10.6", + "sha2 0.10.7", "sha3", "shellwords", "sloppy-rfc4880", "sn0int-common", "sn0int-std", - "structopt", "strum 0.24.1", "strum_macros 0.24.3", "syscallz", @@ -4227,7 +4353,7 @@ dependencies = [ "threadpool", "toml 0.5.11", "unveil", - "url 2.3.1", + "url 2.4.0", "walkdir", ] @@ -4236,6 +4362,7 @@ name = "sn0int-common" version = "0.13.0" dependencies = [ "anyhow", + "clap 4.3.11", "nom", "rocket_failure_errors", "serde", @@ -4254,14 +4381,14 @@ dependencies = [ "failure", "hex", "lazy_static", - "log 0.4.17", + "log 0.4.19", "maplit", "oauth2", "reqwest", "rocket", "rocket_contrib", "rocket_failure", - "semver 1.0.16", + "semver 1.0.17", "serde", "serde_json", "sn0int-common", @@ -4282,18 +4409,18 @@ dependencies = [ "chrootable-https", "ct-logs 0.7.0", "data-encoding", - "der-parser 8.1.0", - "digest 0.10.6", + "der-parser 8.2.0", + "digest 0.10.7", "env_logger", "failure", "geo", "hlua-badtouch", - "http 0.2.8", + "http 0.2.9", "image", "img_hash_median", "kamadak-exif", "kuchiki", - "log 0.4.17", + "log 0.4.19", "maplit", "maxminddb", "mqtt-protocol", @@ -4309,7 +4436,7 @@ dependencies = [ "thiserror", "tokio", "tungstenite", - "url 2.3.1", + "url 2.4.0", "webpki", "webpki-roots 0.21.1", "x509-parser", @@ -4329,9 +4456,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi 0.3.9", @@ -4357,11 +4484,11 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spin" -version = "0.9.4" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" dependencies = [ - "lock_api 0.4.9", + "lock_api 0.4.10", ] [[package]] @@ -4405,9 +4532,9 @@ dependencies = [ [[package]] name = "string_cache" -version = "0.8.4" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" dependencies = [ "new_debug_unreachable", "once_cell", @@ -4425,8 +4552,8 @@ checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" dependencies = [ "phf_generator 0.10.0", "phf_shared 0.10.0", - "proc-macro2 1.0.50", - "quote 1.0.23", + "proc-macro2 1.0.63", + "quote 1.0.29", ] [[package]] @@ -4435,6 +4562,12 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + [[package]] name = "structopt" version = "0.3.26" @@ -4454,9 +4587,9 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", ] [[package]] @@ -4478,9 +4611,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" dependencies = [ "heck 0.3.3", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", ] [[package]] @@ -4489,11 +4622,11 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck 0.4.0", - "proc-macro2 1.0.50", - "quote 1.0.23", + "heck 0.4.1", + "proc-macro2 1.0.63", + "quote 1.0.29", "rustversion", - "syn 1.0.107", + "syn 1.0.109", ] [[package]] @@ -4504,9 +4637,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "syn" @@ -4521,12 +4654,23 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", + "proc-macro2 1.0.63", + "quote 1.0.29", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.29", "unicode-ident", ] @@ -4536,9 +4680,9 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 1.0.109", "unicode-xid 0.2.4", ] @@ -4549,14 +4693,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "955e9da2455eea5635f7032fc3a229908e6af18c39600313866095e07db0d8b8" dependencies = [ "bincode", - "bitflags", + "bitflags 1.3.2", "flate2", "fnv", "lazy_static", "lazycell", "onig", "plist 0.4.2", - "regex-syntax", + "regex-syntax 0.6.29", "serde", "serde_derive", "serde_json", @@ -4570,7 +4714,7 @@ version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "110ff7f267e583b58489bb0b01fa62ce71c032cd193df3affe9b3b51369aa6ad" dependencies = [ - "log 0.4.17", + "log 0.4.19", "pkg-config", "seccomp-sys", "strum 0.21.0", @@ -4579,16 +4723,16 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.3.0" +version = "3.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" dependencies = [ + "autocfg 1.1.0", "cfg-if 1.0.0", "fastrand", - "libc", - "redox_syscall 0.2.16", - "remove_dir_all", - "winapi 0.3.9", + "redox_syscall 0.3.5", + "rustix 0.37.23", + "windows-sys", ] [[package]] @@ -4634,22 +4778,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 2.0.23", ] [[package]] @@ -4685,11 +4829,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.17" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" +checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" dependencies = [ - "itoa 1.0.5", + "itoa 1.0.8", "serde", "time-core", "time-macros", @@ -4697,15 +4841,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.6" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" +checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" dependencies = [ "time-core", ] @@ -4721,9 +4865,9 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" @@ -4810,7 +4954,7 @@ checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" dependencies = [ "bytes 0.4.12", "futures", - "log 0.4.17", + "log 0.4.19", ] [[package]] @@ -4822,7 +4966,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.17", + "log 0.4.19", "mio", "num_cpus", "parking_lot 0.9.0", @@ -4881,7 +5025,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.17", + "log 0.4.19", "num_cpus", "slab", "tokio-executor", @@ -4907,7 +5051,7 @@ checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" dependencies = [ "bytes 0.4.12", "futures", - "log 0.4.17", + "log 0.4.19", "mio", "tokio-codec", "tokio-io", @@ -4924,7 +5068,7 @@ dependencies = [ "futures", "iovec", "libc", - "log 0.4.17", + "log 0.4.19", "mio", "mio-uds", "tokio-codec", @@ -4984,7 +5128,7 @@ dependencies = [ "failure", "futures", "lazy_static", - "log 0.4.17", + "log 0.4.19", "radix_trie 0.1.6", "rand 0.7.3", "tokio", @@ -5005,7 +5149,7 @@ dependencies = [ "futures", "idna 0.2.3", "lazy_static", - "log 0.4.17", + "log 0.4.19", "rand 0.7.3", "smallvec 0.6.14", "socket2 0.3.19", @@ -5015,7 +5159,7 @@ dependencies = [ "tokio-tcp", "tokio-timer", "tokio-udp", - "url 2.3.1", + "url 2.4.0", ] [[package]] @@ -5041,15 +5185,15 @@ checksum = "5fe8dada8c1a3aeca77d6b51a4f1314e0f4b8e438b7b1b71e3ddaca8080e4093" dependencies = [ "base64 0.13.1", "byteorder", - "bytes 1.3.0", - "http 0.2.8", + "bytes 1.4.0", + "http 0.2.9", "httparse", "input_buffer", - "log 0.4.17", + "log 0.4.19", "rand 0.8.5", "sha-1 0.9.8", "thiserror", - "url 2.3.1", + "url 2.4.0", "utf-8", ] @@ -5067,9 +5211,9 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "ucd-trie" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" [[package]] name = "uname" @@ -5100,15 +5244,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.10" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" [[package]] name = "unicode-normalization" @@ -5121,9 +5265,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "unicode-width" @@ -5171,13 +5315,13 @@ dependencies = [ [[package]] name = "url" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" dependencies = [ "form_urlencoded", - "idna 0.3.0", - "percent-encoding 2.2.0", + "idna 0.4.0", + "percent-encoding 2.3.0", ] [[package]] @@ -5188,9 +5332,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8parse" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" @@ -5227,12 +5371,11 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" dependencies = [ "same-file", - "winapi 0.3.9", "winapi-util", ] @@ -5243,7 +5386,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" dependencies = [ "futures", - "log 0.4.17", + "log 0.4.19", "try-lock", ] @@ -5267,9 +5410,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -5277,53 +5420,53 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", - "log 0.4.17", + "log 0.4.19", "once_cell", - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 2.0.23", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote 1.0.23", + "quote 1.0.29", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2 1.0.50", - "quote 1.0.23", - "syn 1.0.107", + "proc-macro2 1.0.63", + "quote 1.0.29", + "syn 2.0.23", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -5432,11 +5575,29 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets", +] + [[package]] name = "windows-sys" -version = "0.42.0" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", @@ -5449,45 +5610,45 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" [[package]] name = "windows_aarch64_msvc" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" [[package]] name = "windows_i686_gnu" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" [[package]] name = "windows_i686_msvc" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" [[package]] name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winreg" @@ -5523,14 +5684,14 @@ dependencies = [ "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.17", + "time 0.3.22", ] [[package]] name = "xml-rs" -version = "0.8.4" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" +checksum = "5a56c84a8ccd4258aed21c92f70c0f6dea75356b6892ae27c24139da456f9336" [[package]] name = "yaml-rust" diff --git a/Cargo.toml b/Cargo.toml index d27f4eb..1b22cf2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,8 @@ rustyline = "10.0" log = "0.4" env_logger = "0.9" hlua-badtouch = "0.4" -structopt = "0.3" +clap = { version = "4.3.11", features = ["derive", "env"] } +clap_complete = "4.3.2" failure = "0.1" rand = "0.8" colored = "2" diff --git a/examples/boxxy.rs b/examples/boxxy.rs index 522524f..5f94017 100644 --- a/examples/boxxy.rs +++ b/examples/boxxy.rs @@ -1,6 +1,7 @@ -#[macro_use] extern crate boxxy; -extern crate sn0int; +#[macro_use] +extern crate boxxy; extern crate env_logger; +extern crate sn0int; fn stage1(sh: &mut boxxy::Shell, _args: Vec) -> Result<(), boxxy::Error> { shprintln!(sh, "[*] starting stage1"); @@ -14,8 +15,6 @@ fn main() { println!("stage1 activate sandbox"); - let toolbox = boxxy::Toolbox::new().with(vec![ - ("stage1", stage1), - ]); + let toolbox = boxxy::Toolbox::new().with(vec![("stage1", stage1)]); boxxy::Shell::new(toolbox).run() } diff --git a/examples/maxmind.rs b/examples/maxmind.rs index 026949b..f3a67c9 100644 --- a/examples/maxmind.rs +++ b/examples/maxmind.rs @@ -1,19 +1,19 @@ +use clap::Parser; use sn0int::errors::*; use sn0int::geoip::{AsnDB, GeoIP, Maxmind}; use sn0int::paths; use std::net::IpAddr; use std::path::Path; -use structopt::StructOpt; -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub enum Args { - #[structopt(name="asn")] + #[command(name = "asn")] Asn(AsnArgs), - #[structopt(name="geoip")] + #[command(name = "geoip")] GeoIP(GeoIPArgs), } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AsnArgs { ip: IpAddr, } @@ -30,7 +30,7 @@ impl AsnArgs { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct GeoIPArgs { ip: IpAddr, } @@ -47,9 +47,8 @@ impl GeoIPArgs { } } - fn run() -> Result<()> { - let args = Args::from_args(); + let args = Args::parse(); debug!("{:?}", args); let cache_dir = paths::cache_dir()?; match args { diff --git a/examples/spinners.rs b/examples/spinners.rs index d5265af..f8b086d 100644 --- a/examples/spinners.rs +++ b/examples/spinners.rs @@ -1,21 +1,20 @@ +use clap::Parser; +use sn0int::term::{Spinner, StackedSpinners, SPINNERS}; use std::thread; use std::time::Duration; -use sn0int::term::{SPINNERS, Spinner, StackedSpinners}; -use structopt::StructOpt; - -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub enum Args { - #[structopt(name="single")] + #[command(name = "single")] Single(Single), - #[structopt(name="stacked")] + #[command(name = "stacked")] Stacked(Stacked), } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Single { idx: usize, - #[structopt(long="ticks", default_value="100")] + #[structopt(long = "ticks", default_value = "100")] ticks: usize, } @@ -32,9 +31,8 @@ impl Single { } } -#[derive(Debug, StructOpt)] -pub struct Stacked { -} +#[derive(Debug, Parser)] +pub struct Stacked {} impl Stacked { fn run(&self) { @@ -59,7 +57,7 @@ impl Stacked { } fn main() { - let args = Args::from_args(); + let args = Args::parse(); match args { Args::Single(args) => args.run(), Args::Stacked(args) => args.run(), diff --git a/sn0int-common/Cargo.toml b/sn0int-common/Cargo.toml index 4d5ccd6..9c9eef8 100644 --- a/sn0int-common/Cargo.toml +++ b/sn0int-common/Cargo.toml @@ -13,3 +13,4 @@ serde = { version = "1.0", features=["derive"] } rocket_failure_errors = "0.2" anyhow = "1.0" nom = "7.0" +clap = { version = "4.3.11", features = ["derive"] } diff --git a/sn0int-common/src/id.rs b/sn0int-common/src/id.rs index 2323640..d20e6b4 100644 --- a/sn0int-common/src/id.rs +++ b/sn0int-common/src/id.rs @@ -34,7 +34,7 @@ fn token(s: &str) -> nom::IResult<&str, &str> { nom::bytes::complete::take_while1(valid_char)(s) } -#[derive(Debug, PartialEq, Eq, Hash)] +#[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct ModuleID { pub author: String, pub name: String, diff --git a/sn0int-common/src/metadata/stealth.rs b/sn0int-common/src/metadata/stealth.rs index cbcbe3a..34c0a21 100644 --- a/sn0int-common/src/metadata/stealth.rs +++ b/sn0int-common/src/metadata/stealth.rs @@ -1,8 +1,9 @@ +use clap::ValueEnum; use crate::errors::*; use serde::{Deserialize, Serialize}; use std::str::FromStr; -#[derive(Debug, Eq, PartialEq, PartialOrd, Clone, Serialize, Deserialize)] +#[derive(Debug, Eq, PartialEq, PartialOrd, Clone, ValueEnum, Serialize, Deserialize)] pub enum Stealth { Loud, Normal, diff --git a/src/args.rs b/src/args.rs index 5e4f37b..a9d7cc6 100644 --- a/src/args.rs +++ b/src/args.rs @@ -1,18 +1,20 @@ +use clap::{CommandFactory, Parser}; +use clap_complete::Shell; use crate::cmd; +use crate::errors::*; use crate::options; use crate::workspaces::Workspace; -use structopt::StructOpt; -use structopt::clap::{AppSettings, Shell}; use sn0int_common::ModuleID; +use std::io; -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] +#[command(version)] pub struct Args { /// Select a different workspace instead of the default - #[structopt(short="w", long="workspace", env="SN0INT_WORKSPACE")] + #[arg(short = 'w', long="workspace", env="SN0INT_WORKSPACE")] pub workspace: Option, - #[structopt(subcommand)] + #[command(subcommand)] pub subcommand: Option, } @@ -22,49 +24,49 @@ impl Args { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub enum SubCommand { /// Run a module directly - #[structopt(name="run")] + #[command(name="run")] Run(Run), /// For internal use - #[structopt(name="sandbox")] + #[command(name="sandbox")] Sandbox(Sandbox), /// Login to the registry for publishing - #[structopt(name="login")] + #[command(name="login")] Login(Login), /// Create a new module - #[structopt(name="new")] + #[command(name="new")] New(New), /// Publish a script to the registry - #[structopt(name="publish")] + #[command(name="publish")] Publish(Publish), /// Install a module from the registry - #[structopt(name="install")] + #[command(name="install")] Install(Install), /// Search in the registry - #[structopt(name="search")] + #[command(name="search")] Search(Search), /// The sn0int package manager - #[structopt(name="pkg")] + #[command(name="pkg")] Pkg(cmd::pkg_cmd::Args), /// Insert into the database - #[structopt(name="add")] + #[command(name="add")] Add(cmd::add_cmd::Args), /// Select from the database - #[structopt(name="select")] + #[command(name="select")] Select(cmd::select_cmd::Args), /// Delete from the database - #[structopt(name="delete")] + #[command(name="delete")] Delete(cmd::delete_cmd::Args), /// Query logged activity - #[structopt(name="activity")] + #[command(name="activity")] Activity(cmd::activity_cmd::Args), /// Include entities in the scope - #[structopt(name="scope")] + #[command(name="scope")] Scope(cmd::scope_cmd::Args), /// Exclude entities from scope - #[structopt(name="noscope")] + #[command(name="noscope")] Noscope(cmd::noscope_cmd::Args), /// Manage autoscope rules Autoscope(cmd::autoscope_cmd::Args), @@ -73,111 +75,123 @@ pub enum SubCommand { /// Rescope all entities based on autonoscope rules Rescope(cmd::rescope_cmd::Args), /// Manage workspaces - #[structopt(name="workspace")] + #[command(name="workspace")] Workspace(cmd::workspace_cmd::Args), /// Calendar - #[structopt(name="cal")] + #[command(name="cal")] Cal(cmd::cal_cmd::Args), /// Notify - #[structopt(name="notify")] + #[command(name="notify")] Notify(cmd::notify_cmd::Args), /// Verify blob storage for corrupt and dangling blobs - #[structopt(name="fsck")] + #[command(name="fsck")] Fsck(cmd::fsck_cmd::Args), /// Export a workspace for external processing - #[structopt(name="export")] + #[command(name="export")] Export(cmd::export_cmd::Args), /// Show statistics about your current workspace - #[structopt(name="stats")] + #[command(name="stats")] Stats(cmd::stats_cmd::Args), /// Run a lua repl - #[structopt(name="repl")] + #[command(name="repl")] Repl, /// Show paths of various file system locations - #[structopt(name="paths")] + #[command(name="paths")] Paths, /// Generate shell completions - #[structopt(name="completions")] + #[command(name="completions")] Completions(Completions), } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Run { - #[structopt(flatten)] + #[command(flatten)] pub run: cmd::run_cmd::Args, /// Run a module from a path - #[structopt(short="f", long="file")] + #[arg(short = 'f', long="file")] pub file: bool, /// Expose stdin to modules - #[structopt(long="stdin")] + #[arg(long="stdin")] pub stdin: bool, /// Automatically grant access to a keyring namespace - #[structopt(long="grant")] + #[arg(long="grant")] pub grants: Vec, /// Automatically grant access to all requested keys - #[structopt(long="grant-full-keyring")] + #[arg(long="grant-full-keyring")] pub grant_full_keyring: bool, /// Automatically deny access to all requested keys - #[structopt(long="deny-keyring")] + #[arg(long="deny-keyring")] pub deny_keyring: bool, /// Exit on first error and set exit code - #[structopt(short="x", long="exit-on-error")] + #[arg(short = 'x', long="exit-on-error")] pub exit_on_error: bool, /// Set an option - #[structopt(short="o", long="option")] + #[arg(short = 'o', long="option")] pub options: Vec, /// Narrow down targeted entities - #[structopt(short="t", long="target")] + #[arg(short = 't', long="target")] pub target: Option, /// Dump the sandbox init message to stdout instead of running a child process - #[structopt(long="dump-sandbox-init-msg")] + #[arg(long="dump-sandbox-init-msg")] pub dump_sandbox_init_msg: bool, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Sandbox { /// This value is only used for process listings _label: String, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Login { } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct New { /// Path to the new file pub path: String, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Publish { /// The scripts to publish - #[structopt(required = true)] + #[arg(required = true)] pub paths: Vec, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Install { /// The script to install pub module: ModuleID, /// Specify the version, defaults to the latest version pub version: Option, - #[structopt(short="f", long="force")] + #[arg(short = 'f', long="force")] pub force: bool, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Search { /// Only show modules that aren't installed yet - #[structopt(long="new")] + #[arg(long="new")] pub new: bool, /// The search query pub query: String, } -#[derive(Debug, StructOpt)] +/// Generate shell completions +#[derive(Debug, Parser)] pub struct Completions { - #[structopt(possible_values=&Shell::variants())] pub shell: Shell, } + +impl Completions { + pub fn generate(&self) -> Result<()> { + clap_complete::generate( + self.shell, + &mut Args::command(), + "sn0int", + &mut io::stdout(), + ); + Ok(()) + } +} diff --git a/src/autonoscope/mod.rs b/src/autonoscope/mod.rs index 90cd5e0..c7a72e7 100644 --- a/src/autonoscope/mod.rs +++ b/src/autonoscope/mod.rs @@ -205,7 +205,7 @@ impl RuleSet { } } -#[derive(Debug)] +#[derive(Debug, Clone)] pub enum RuleType { Domain, Ip, diff --git a/src/cal/mod.rs b/src/cal/mod.rs index 5a929d2..1ab5f09 100644 --- a/src/cal/mod.rs +++ b/src/cal/mod.rs @@ -1,10 +1,10 @@ -use crate::errors::*; -use std::str::FromStr; - pub mod date; pub mod time; -#[derive(Debug)] +use crate::errors::*; +use std::str::FromStr; + +#[derive(Debug, Clone)] pub enum DateArg { Month(u32), Num(i32), diff --git a/src/cmd/activity_cmd.rs b/src/cmd/activity_cmd.rs index 1bab3c3..3832f76 100644 --- a/src/cmd/activity_cmd.rs +++ b/src/cmd/activity_cmd.rs @@ -1,17 +1,15 @@ -use crate::errors::*; - +use chrono::{Utc, NaiveDateTime, NaiveTime, Duration}; +use clap::Parser; use crate::cmd::Cmd; -use crate::shell::Shell; +use crate::errors::*; use crate::models::*; -use chrono::{Utc, NaiveDateTime, NaiveTime, Duration}; +use crate::shell::Shell; use regex::Regex; use std::convert::TryFrom; use std::io; use std::str::FromStr; -use structopt::StructOpt; -use structopt::clap::AppSettings; -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct TimeSpec { datetime: NaiveDateTime, } @@ -64,23 +62,22 @@ impl FromStr for TimeSpec { } } -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { /// Only query events for a given topic - #[structopt(short="t", long="topic")] + #[arg(short = 't', long="topic")] topic: Option, /// Only query events starting from that datetime - #[structopt(long="since")] + #[arg(long="since")] since: Option, /// Only query events until this datetime - #[structopt(long="until")] + #[arg(long="until")] until: Option, /// Try to select the previous event before --since as an initial state - #[structopt(short="i", long="initial")] + #[arg(short = 'i', long="initial")] initial: bool, /// Only query events that are tied to a location - #[structopt(short="l", long="location")] + #[arg(short = 'l', long="location")] location: bool, } diff --git a/src/cmd/add_cmd.rs b/src/cmd/add_cmd.rs index 190b61b..9f7391e 100644 --- a/src/cmd/add_cmd.rs +++ b/src/cmd/add_cmd.rs @@ -1,13 +1,11 @@ use crate::errors::*; - use crate::blobs::Blob; use crate::cmd::Cmd; use crate::db::DbChange; use crate::gfx; use crate::models::*; use crate::shell::Shell; -use structopt::StructOpt; -use structopt::clap::AppSettings; +use clap::Parser; use crate::utils; use crate::term; use std::fmt::Debug; @@ -18,62 +16,61 @@ use std::net::SocketAddr; use std::path::Path; use walkdir::WalkDir; -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { - #[structopt(subcommand)] + #[command(subcommand)] subcommand: Target, /// Do not actually insert into database - #[structopt(short="n", long="dry-run")] + #[arg(short = 'n', long="dry-run")] dry_run: bool, /// Stream structs from stdin line by line - #[structopt(long)] + #[arg(long)] stdin: bool, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub enum Target { /// Insert domain into the database - #[structopt(name="domain")] + #[command(name="domain")] Domain(AddDomain), /// Insert subdomain into the database - #[structopt(name="subdomain")] + #[command(name="subdomain")] Subdomain(AddSubdomain), /// Insert ip address into the database - #[structopt(name="ipaddr")] + #[command(name="ipaddr")] IpAddr(AddIpAddr), /// Insert url into the database - #[structopt(name="url")] + #[command(name="url")] Url(AddUrl), /// Insert email into the database - #[structopt(name="email")] + #[command(name="email")] Email(AddEmail), /// Insert phonenumber into the database - #[structopt(name="phonenumber")] + #[command(name="phonenumber")] PhoneNumber(AddPhoneNumber), /// Insert device into the database - #[structopt(name="device")] + #[command(name="device")] Device(AddDevice), /// Insert network into the database - #[structopt(name="network")] + #[command(name="network")] Network(AddNetwork), /// Insert account into the database - #[structopt(name="account")] + #[command(name="account")] Account(AddAccount), /// Insert breach into the database - #[structopt(name="breach")] + #[command(name="breach")] Breach(AddBreach), /// Insert images into the database - #[structopt(name="image")] + #[command(name="image")] Image(AddImage), /// Insert ip network into the database - #[structopt(name="netblock")] + #[command(name="netblock")] Netblock(AddNetblock), /// Insert port into the database - #[structopt(name="port")] + #[command(name="port")] Port(AddPort), /// Insert a crypto currency address into the database - #[structopt(name="cryptoaddr")] + #[command(name="cryptoaddr")] CryptoAddr(AddCryptoAddr), } @@ -153,7 +150,7 @@ trait IntoInsert: Sized { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddDomain { domain: Option, } @@ -185,7 +182,7 @@ impl InsertFromString for AddDomain { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddSubdomain { subdomain: Option, } @@ -222,7 +219,7 @@ impl InsertFromString for AddSubdomain { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddIpAddr { ipaddr: Option, } @@ -269,7 +266,7 @@ impl InsertFromString for AddIpAddr { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddUrl { url: Option, } @@ -323,7 +320,7 @@ impl InsertFromString for AddUrl { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddEmail { email: Option, } @@ -350,7 +347,7 @@ impl InsertFromString for AddEmail { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddPhoneNumber { phonenumber: Option, name: Option, @@ -405,7 +402,7 @@ impl InsertFromString for AddPhoneNumber { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddDevice { mac: Option, name: Option, @@ -435,7 +432,7 @@ impl IntoInsert for AddDevice { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddNetwork { network: Option, latitude: Option, @@ -464,7 +461,7 @@ impl IntoInsert for AddNetwork { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddAccount { service: Option, username: Option, @@ -506,7 +503,7 @@ impl IntoInsert for AddAccount { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddBreach { name: Option, } @@ -525,7 +522,7 @@ impl IntoInsert for AddBreach { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddImage { paths: Vec, } @@ -624,7 +621,7 @@ impl IntoInsert for AddImage { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddNetblock { ipnet: Option, } @@ -655,7 +652,7 @@ impl IntoInsert for AddNetblock { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddPort { protocol: Option, addr: Option, @@ -730,7 +727,7 @@ impl InsertFromString for AddPort { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct AddCryptoAddr { address: Option, } diff --git a/src/cmd/autonoscope_cmd.rs b/src/cmd/autonoscope_cmd.rs index 629013f..44d26fc 100644 --- a/src/cmd/autonoscope_cmd.rs +++ b/src/cmd/autonoscope_cmd.rs @@ -1,37 +1,35 @@ use crate::errors::*; - use crate::autonoscope; use crate::cmd::Cmd; use crate::fmt::colors::*; use crate::shell::Shell; use std::fmt::Write; -use structopt::StructOpt; -use structopt::clap::AppSettings; +use clap::Parser; -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] +#[group(skip)] pub struct Args { - #[structopt(subcommand)] + #[command(subcommand)] subcommand: Subcommand, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub enum Subcommand { - #[structopt(name="add")] + #[command(name="add")] Add(Add), - #[structopt(name="delete")] + #[command(name="delete")] Delete(Delete), - #[structopt(name="list")] + #[command(name="list")] List, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Add { object: autonoscope::RuleType, value: String, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Delete { object: autonoscope::RuleType, value: String, diff --git a/src/cmd/autoscope_cmd.rs b/src/cmd/autoscope_cmd.rs index 2e6f734..664371d 100644 --- a/src/cmd/autoscope_cmd.rs +++ b/src/cmd/autoscope_cmd.rs @@ -1,11 +1,10 @@ -use crate::errors::*; - +use clap::Parser; use crate::cmd::Cmd; use crate::cmd::autonoscope_cmd; +use crate::errors::*; use crate::shell::Shell; -use structopt::StructOpt; -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Args { #[structopt(flatten)] args: autonoscope_cmd::Args, diff --git a/src/cmd/cal_cmd.rs b/src/cmd/cal_cmd.rs index 2784687..322c25c 100644 --- a/src/cmd/cal_cmd.rs +++ b/src/cmd/cal_cmd.rs @@ -1,5 +1,4 @@ use crate::errors::*; - use chrono::Utc; use crate::cal::DateArg; use crate::cal::date::{DateContext, DateSpec}; @@ -7,21 +6,18 @@ use crate::cal::time::{DateTimeContext, DateTimeSpec}; use crate::cmd::Cmd; use crate::models::*; use crate::shell::Shell; -use structopt::StructOpt; -use structopt::clap::AppSettings; - +use clap::Parser; -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { /// Show additional months for context - #[structopt(short="C", long)] + #[arg(short = 'C', long)] context: Option, /// Group events in 12 min slices - #[structopt(short="T", long, group = "view")] + #[arg(short = 'T', long, group = "view")] time: bool, /// Group events by hour - #[structopt(short="H", long, group = "view")] + #[arg(short = 'H', long, group = "view")] hourly: bool, args: Vec, } diff --git a/src/cmd/delete_cmd.rs b/src/cmd/delete_cmd.rs index bf0d5df..be781bd 100644 --- a/src/cmd/delete_cmd.rs +++ b/src/cmd/delete_cmd.rs @@ -1,16 +1,12 @@ use crate::errors::*; - use crate::cmd::Cmd; use crate::filters::{Target, Filter}; use crate::shell::Shell; -use structopt::StructOpt; -use structopt::clap::AppSettings; +use clap::Parser; use crate::models::*; use crate::term; - -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { #[structopt(subcommand)] subcommand: Target, diff --git a/src/cmd/export_cmd.rs b/src/cmd/export_cmd.rs index 78b0334..3e0f25f 100644 --- a/src/cmd/export_cmd.rs +++ b/src/cmd/export_cmd.rs @@ -1,21 +1,19 @@ -use crate::errors::*; - +use clap::Parser; +use clap::ValueEnum; use crate::blobs::Blob; use crate::cmd::Cmd; use crate::db::ttl; +use crate::errors::*; use crate::models::*; use crate::shell::Shell; use serde::{Serialize, Deserialize}; use std::io::{self, Write}; -use structopt::StructOpt; -use structopt::clap::AppSettings; use strum_macros::{EnumString, IntoStaticStr}; -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { /// Specify the export format - #[structopt(short="f", long="format", possible_values=Format::variants())] + #[arg(short = 'f', long="format", value_enum)] format: Format, } @@ -37,7 +35,7 @@ fn export(rl: &mut Shell) -> Result<()> { Ok(()) } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Clone, ValueEnum, Serialize, Deserialize)] #[derive(EnumString, IntoStaticStr)] #[strum(serialize_all = "kebab_case")] pub enum Format { @@ -45,17 +43,6 @@ pub enum Format { JsonBlobs, } -impl Format { - // TODO: this function should be generated by strum instead - #[inline] - fn variants() -> &'static [&'static str] { - &[ - "json", - "json-blobs", - ] - } -} - trait ExportFormat { fn load(rl: &mut Shell) -> Result>; } diff --git a/src/cmd/fsck_cmd.rs b/src/cmd/fsck_cmd.rs index 18f1e37..c680e0b 100644 --- a/src/cmd/fsck_cmd.rs +++ b/src/cmd/fsck_cmd.rs @@ -1,25 +1,23 @@ -use crate::errors::*; - +use clap::{ArgAction, Parser}; use crate::blobs::Blob; use crate::cmd::Cmd; +use crate::errors::*; +use crate::models::*; use crate::shell::Shell; use crate::term; use crate::worker; -use crate::models::*; use std::collections::HashSet; -use structopt::StructOpt; - -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Args { /// Verbose output - #[structopt(short="v", long="verbose", parse(from_occurrences))] - verbose: u64, + #[arg(short = 'v', long="verbose", action(ArgAction::Count))] + verbose: u8, /// Delete only dangling blobs - #[structopt(long="gc")] + #[arg(long="gc")] gc: bool, /// Delete dangling and corrupted blobs - #[structopt(long="gc-all")] + #[arg(long="gc-all")] gc_all: bool, } diff --git a/src/cmd/keyring_cmd.rs b/src/cmd/keyring_cmd.rs index 090bc4d..b61547d 100644 --- a/src/cmd/keyring_cmd.rs +++ b/src/cmd/keyring_cmd.rs @@ -1,56 +1,47 @@ +use clap::Parser; use crate::errors::*; - use crate::keyring::{KeyName, KeyRing}; use crate::shell::Shell; -use structopt::StructOpt; -use structopt::clap::AppSettings; use crate::utils; - -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub enum Args { - #[structopt(name="add")] /// Add a new key to the keyring Add(KeyRingAdd), - #[structopt(name="delete")] /// Delete a key from the keyring Delete(KeyRingDelete), - #[structopt(name="get")] /// Get a key from the keyring Get(KeyRingGet), - #[structopt(name="list")] /// List keys in the keyring List(KeyRingList), } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct KeyRingAdd { key: KeyName, secret: Option, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct KeyRingDelete { key: KeyName, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct KeyRingGet { key: KeyName, - #[structopt(short="q", - long="quiet")] + #[arg(short = 'q', long="quiet")] /// Only output secret key quiet: bool, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct KeyRingList { namespace: Option, } pub fn run(rl: &mut Shell, args: &[String]) -> Result<()> { - let args = Args::from_iter_safe(args)?; + let args = Args::try_parse_from(args)?; match args { Args::Add(add) => keyring_add(rl, add), Args::Delete(delete) => keyring_delete(rl, delete), diff --git a/src/cmd/mod.rs b/src/cmd/mod.rs index 3f402d6..bba9a6a 100644 --- a/src/cmd/mod.rs +++ b/src/cmd/mod.rs @@ -2,17 +2,17 @@ use crate::errors::*; use crate::shell::Shell; use crate::config::Config; -pub trait Cmd: structopt::StructOpt + Sized { +pub trait Cmd: clap::Parser + Sized { fn run(self, rl: &mut Shell) -> Result<()>; #[inline] fn run_str(rl: &mut Shell, args: &[String]) -> Result<()> { - let args = Self::from_iter_safe(args)?; + let args = Self::try_parse_from(args)?; args.run(rl) } } -pub trait LiteCmd: structopt::StructOpt + Sized { +pub trait LiteCmd: clap::Parser + Sized { fn run(self, config: &Config) -> Result<()>; } diff --git a/src/cmd/noscope_cmd.rs b/src/cmd/noscope_cmd.rs index 5ead715..5be60dc 100644 --- a/src/cmd/noscope_cmd.rs +++ b/src/cmd/noscope_cmd.rs @@ -1,18 +1,14 @@ -use crate::errors::*; - +use clap::Parser; use crate::cmd::Cmd; +use crate::errors::*; use crate::filters::{Target, Filter}; -use crate::shell::Shell; -use structopt::StructOpt; -use structopt::clap::AppSettings; use crate::models::*; +use crate::shell::Shell; use crate::term; - -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { - #[structopt(subcommand)] + #[command(subcommand)] subcommand: Target, } @@ -40,7 +36,7 @@ impl Cmd for Args { } pub fn run(rl: &mut Shell, args: &[String]) -> Result<()> { - let args = Args::from_iter_safe(args)?; + let args = Args::try_parse_from(args)?; args.run(rl) } diff --git a/src/cmd/notify_cmd.rs b/src/cmd/notify_cmd.rs index be050d2..251259a 100644 --- a/src/cmd/notify_cmd.rs +++ b/src/cmd/notify_cmd.rs @@ -1,24 +1,21 @@ -use crate::errors::*; - +use clap::{ArgAction, Parser}; use crate::cmd::Cmd; use crate::engine::Module; +use crate::errors::*; use crate::notify::{self, Notification}; use crate::options::{self, Opt}; use crate::shell::Shell; use crate::term; use sn0int_std::ratelimits::Ratelimiter; use std::fmt::Write; -use structopt::StructOpt; -use structopt::clap::AppSettings; -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { - #[structopt(subcommand)] + #[command(subcommand)] subcommand: Subcommand, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub enum Subcommand { /// Manually add a notification to the outbox Send(SendArgs), @@ -30,24 +27,24 @@ pub enum Subcommand { Deliver, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct SendArgs { /// Evaluate the routing rules, but do not actually send a notification - #[structopt(short="n", long)] + #[arg(short = 'n', long)] pub dry_run: bool, pub topic: String, - #[structopt(flatten)] + #[command(flatten)] pub notification: Notification, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct ExecArgs { pub module: String, - #[structopt(short="o", long="option")] + #[arg(short = 'o', long="option")] pub options: Vec, - #[structopt(short="v", long="verbose", parse(from_occurrences))] - verbose: u64, - #[structopt(flatten)] + #[arg(short = 'v', long="verbose", action(ArgAction::Count))] + verbose: u8, + #[command(flatten)] pub notification: Notification, } diff --git a/src/cmd/pkg_cmd.rs b/src/cmd/pkg_cmd.rs index 49b4b6b..abb1f10 100644 --- a/src/cmd/pkg_cmd.rs +++ b/src/cmd/pkg_cmd.rs @@ -1,5 +1,4 @@ use crate::errors::*; - use crate::args::Install; use crate::api::Client; use crate::args; @@ -16,80 +15,76 @@ use sn0int_common::metadata::Stealth; use std::collections::HashSet; use std::fmt::Write; use std::sync::Arc; -use structopt::StructOpt; -use structopt::clap::AppSettings; - +use clap::Parser; -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { - #[structopt(subcommand)] + #[command(subcommand)] pub subcommand: SubCommand, } -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct ArgsInteractive { - #[structopt(subcommand)] + #[command(subcommand)] pub subcommand: SubCommandInteractive, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub enum SubCommand { /// List installed modules - #[structopt(name="list")] + #[command(name="list")] List(List), /// Install module from registry - #[structopt(name="install")] + #[command(name="install")] Install(args::Install), /// Search modules in registry - #[structopt(name="search")] + #[command(name="search")] Search(args::Search), /// Update modules - #[structopt(name="update")] + #[command(name="update")] Update(Update), /// Uninstall a module - #[structopt(name="uninstall")] + #[command(name="uninstall")] Uninstall(Uninstall), /// Install all featured modules - #[structopt(name="quickstart")] + #[command(name="quickstart")] Quickstart, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub enum SubCommandInteractive { - #[structopt(flatten)] + #[command(flatten)] Base(SubCommand), /// Reload modules - #[structopt(name="reload")] + #[command(name="reload")] Reload(Reload), } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct List { /// Only show modules with a specific input source - #[structopt(long="source")] + #[arg(long="source")] pub source: Option, /// List outdated modules - #[structopt(long="outdated")] + #[arg(long="outdated")] pub outdated_only: bool, /// Only show modules with equal or better stealth level - #[structopt(long="stealth", possible_values=Stealth::variants())] + #[arg(long="stealth", value_enum)] pub stealth: Option, /// Filter by pattern - #[structopt(default_value="*")] + #[arg(default_value="*")] pub pattern: String, } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Reload { } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Update { } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Uninstall { module: ModuleID, } diff --git a/src/cmd/quickstart_cmd.rs b/src/cmd/quickstart_cmd.rs index e1a2919..650b62a 100644 --- a/src/cmd/quickstart_cmd.rs +++ b/src/cmd/quickstart_cmd.rs @@ -1,20 +1,16 @@ use crate::errors::*; - use crate::cmd::Cmd; use crate::cmd::pkg_cmd::{ArgsInteractive as PkgArgs, SubCommand, SubCommandInteractive}; use crate::shell::Shell; use crate::term; -use structopt::StructOpt; -use structopt::clap::AppSettings; - +use clap::Parser; -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { } pub fn run(rl: &mut Shell, args: &[String]) -> Result<()> { - let _args = Args::from_iter_safe(args)?; + let _args = Args::try_parse_from(args)?; term::warn("The \x1b[1mquickstart\x1b[0m command is deprecated, use \x1b[1mpkg quickstart\x1b[0m"); diff --git a/src/cmd/rescope_cmd.rs b/src/cmd/rescope_cmd.rs index fdbd27a..c62af13 100644 --- a/src/cmd/rescope_cmd.rs +++ b/src/cmd/rescope_cmd.rs @@ -7,26 +7,24 @@ use crate::filters::{Filter, Target}; use crate::shell::Shell; use std::collections::HashSet; use std::fmt; -use structopt::StructOpt; -use structopt::clap::AppSettings; +use clap::Parser; use crate::models::*; use crate::utils; use crate::term; -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { /// Run rules interactively - #[structopt(short, long)] + #[arg(short, long)] interactive: bool, /// Automatically apply changes to database - #[structopt(short="y", long)] + #[arg(short='y', long)] auto_confirm: bool, /// Only show changes, do not apply them to the database - #[structopt(short="n", long)] + #[arg(short='n', long)] dry_run: bool, /// Only rescope entities matching specific filter - #[structopt(subcommand)] + #[command(subcommand)] target: Option, } diff --git a/src/cmd/run_cmd.rs b/src/cmd/run_cmd.rs index 80223cd..ecb8b42 100644 --- a/src/cmd/run_cmd.rs +++ b/src/cmd/run_cmd.rs @@ -1,15 +1,15 @@ -use crate::errors::*; - use chrootable_https::dns::Resolver; +use clap::{ArgAction, Parser}; use crate::args; use crate::blobs::{Blob, BlobStorage}; use crate::cmd::Cmd; use crate::db::{ttl, Filter}; use crate::engine::Module; +use crate::errors::*; use crate::ipc::common::StartCommand; +use crate::keyring::KeyRing; use crate::models::*; use crate::shell::Shell; -use crate::keyring::KeyRing; use crate::term; use crate::utils; use crate::worker; @@ -18,27 +18,23 @@ use sn0int_common::metadata::Source; use sn0int_std::ratelimits::Ratelimiter; use std::collections::HashMap; use std::net::SocketAddr; -use structopt::StructOpt; -use structopt::clap::AppSettings; - -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { /// Execute a module that has been installed pub module: Option, /// Run investigations concurrently - #[structopt(short="j", default_value="1")] + #[arg(short = 'j', default_value="1")] pub threads: usize, /// Verbose logging, once to print inserts even if they don't add new /// data, twice to activate the debug() function - #[structopt(short="v", long, parse(from_occurrences))] - pub verbose: u64, + #[arg(short = 'v', long, action(ArgAction::Count))] + pub verbose: u8, /// Set a specific socks5 proxy to use - #[structopt(short="X", long)] + #[arg(short = 'X', long)] pub proxy: Option, /// Set a different default user agent - #[structopt(long)] + #[arg(long)] pub user_agent: Option, } @@ -46,7 +42,7 @@ pub struct Args { pub struct Params<'a> { pub module: Option<&'a String>, pub threads: usize, - pub verbose: u64, + pub verbose: u8, pub stdin: bool, pub grants: &'a [String], pub grant_full_keyring: bool, diff --git a/src/cmd/scope_cmd.rs b/src/cmd/scope_cmd.rs index fa86fd6..9c6a440 100644 --- a/src/cmd/scope_cmd.rs +++ b/src/cmd/scope_cmd.rs @@ -1,18 +1,14 @@ use crate::errors::*; - use crate::cmd::Cmd; use crate::filters::{Target, Filter}; use crate::shell::Shell; -use structopt::StructOpt; -use structopt::clap::AppSettings; +use clap::Parser; use crate::models::*; use crate::term; - -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { - #[structopt(subcommand)] + #[command(subcommand)] subcommand: Target, } @@ -40,7 +36,7 @@ impl Cmd for Args { } pub fn run(rl: &mut Shell, args: &[String]) -> Result<()> { - let args = Args::from_iter_safe(args)?; + let args = Args::try_parse_from(args)?; args.run(rl) } diff --git a/src/cmd/select_cmd.rs b/src/cmd/select_cmd.rs index 7f22554..75482b4 100644 --- a/src/cmd/select_cmd.rs +++ b/src/cmd/select_cmd.rs @@ -1,17 +1,13 @@ -use crate::errors::*; - +use clap::Parser; use crate::cmd::Cmd; use crate::db::ttl; +use crate::errors::*; use crate::filters::{Target, Filter}; +use crate::models::*; use crate::shell::Shell; use serde::Serialize; -use structopt::StructOpt; -use structopt::clap::AppSettings; -use crate::models::*; - -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { #[structopt(subcommand)] subcommand: Target, @@ -25,7 +21,7 @@ pub struct Args { #[structopt(long, group="output")] paths: bool, /// Count rows returned - #[structopt(short="c", group="output")] + #[structopt(short = 'c', group="output")] count: bool, } diff --git a/src/cmd/set_cmd.rs b/src/cmd/set_cmd.rs index 5532fe1..b62730d 100644 --- a/src/cmd/set_cmd.rs +++ b/src/cmd/set_cmd.rs @@ -1,12 +1,8 @@ +use clap::Parser; use crate::errors::*; - use crate::shell::Shell; -use structopt::StructOpt; -use structopt::clap::AppSettings; - -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { key: Option, value: Option, @@ -15,7 +11,7 @@ pub struct Args { // TODO: maybe introduce global settings // TODO: maybe allow setting jobs here as well in addition to -j pub fn run(rl: &mut Shell, args: &[String]) -> Result<()> { - let args = Args::from_iter_safe(args)?; + let args = Args::try_parse_from(args)?; let options = rl.options_mut() .ok_or_else(|| format_err!("Module needs to be selected first"))?; diff --git a/src/cmd/stats_cmd.rs b/src/cmd/stats_cmd.rs index 0adff84..10a06bb 100644 --- a/src/cmd/stats_cmd.rs +++ b/src/cmd/stats_cmd.rs @@ -10,23 +10,21 @@ use crate::workspaces; use humansize::{FileSize, file_size_opts}; use separator::Separatable; use serde::{Serialize, Deserialize}; -use structopt::StructOpt; -use structopt::clap::AppSettings; +use clap::Parser; -#[derive(Debug, Clone, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Clone, Parser)] pub struct Args { /// Exclude blob storage - #[structopt(short, long)] + #[arg(short, long)] short: bool, /// Exclude categories that don't contain any structs - #[structopt(short, long)] + #[arg(short, long)] quiet: bool, /// Show workspace statistics in json - #[structopt(short, long)] + #[arg(short, long)] json: bool, /// Go through all workspaces - #[structopt(short, long)] + #[arg(short, long)] all: bool, } diff --git a/src/cmd/target_cmd.rs b/src/cmd/target_cmd.rs index 6b3a5d4..b611549 100644 --- a/src/cmd/target_cmd.rs +++ b/src/cmd/target_cmd.rs @@ -3,14 +3,12 @@ use crate::errors::*; use crate::db; use crate::shell::Shell; use sn0int_common::metadata::Source; -use structopt::StructOpt; -use structopt::clap::AppSettings; +use clap::Parser; use crate::term; use crate::models::*; -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { // TODO: target -p # print current filter // TODO: target -c # clear filter @@ -19,7 +17,7 @@ pub struct Args { } pub fn run(rl: &mut Shell, args: &[String]) -> Result<()> { - let args = Args::from_iter_safe(args)?; + let args = Args::try_parse_from(args)?; let source = rl.module() .ok_or_else(|| format_err!("No module selected")) diff --git a/src/cmd/use_cmd.rs b/src/cmd/use_cmd.rs index e250ee5..f35b2e9 100644 --- a/src/cmd/use_cmd.rs +++ b/src/cmd/use_cmd.rs @@ -1,18 +1,14 @@ +use clap::Parser; use crate::errors::*; - use crate::shell::Shell; -use structopt::StructOpt; -use structopt::clap::AppSettings; - -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { module: String, } pub fn run(rl: &mut Shell, args: &[String]) -> Result<()> { - let args = Args::from_iter_safe(args)?; + let args = Args::try_parse_from(args)?; let module = rl.library().get(&args.module)?.clone(); rl.set_module(module); diff --git a/src/cmd/workspace_cmd.rs b/src/cmd/workspace_cmd.rs index 1602a8f..b22fb0d 100644 --- a/src/cmd/workspace_cmd.rs +++ b/src/cmd/workspace_cmd.rs @@ -1,28 +1,24 @@ -use crate::errors::*; - +use clap::Parser; use crate::blobs::BlobStorage; use crate::cmd::{Cmd, LiteCmd}; use crate::config::Config; use crate::db::Database; +use crate::errors::*; use crate::shell::Shell; use crate::term; use crate::utils; -use structopt::StructOpt; -use structopt::clap::AppSettings; use crate::workspaces::{self, Workspace}; - -#[derive(Debug, StructOpt)] -#[structopt(global_settings = &[AppSettings::ColoredHelp])] +#[derive(Debug, Parser)] pub struct Args { /// Delete a workspaceb - #[structopt(long = "delete", group = "action")] + #[arg(long = "delete", group = "action")] delete: bool, /// Show disk usage of workspace - #[structopt(long = "usage", group = "action")] + #[arg(long = "usage", group = "action")] usage: bool, /// Skip confirmation - #[structopt(short = "f", long = "force")] + #[arg(short = 'f', long = "force")] force: bool, workspaces: Vec, } diff --git a/src/engine/ctx.rs b/src/engine/ctx.rs index d10e11c..c35c8b6 100644 --- a/src/engine/ctx.rs +++ b/src/engine/ctx.rs @@ -38,7 +38,7 @@ pub trait State { fn recv(&self) -> Result; - fn verbose(&self) -> u64; + fn verbose(&self) -> u8; #[inline] fn info(&self, msg: String) { @@ -208,7 +208,7 @@ pub struct LuaState { http_sessions: Mutex>, http_clients: Mutex>>>, - verbose: u64, + verbose: u8, keyring: Vec, // TODO: maybe hashmap dns_config: Resolver, psl: Mutex>>, @@ -247,7 +247,7 @@ impl State for LuaState { tx.recv() } - fn verbose(&self) -> u64 { + fn verbose(&self) -> u8 { self.verbose } diff --git a/src/engine/mod.rs b/src/engine/mod.rs index cae5890..45365c1 100644 --- a/src/engine/mod.rs +++ b/src/engine/mod.rs @@ -30,7 +30,7 @@ pub use sn0int_std::engine::structs; /// Data that is passed to every script #[derive(Debug)] pub struct Environment { - pub verbose: u64, + pub verbose: u8, pub keyring: Vec, pub dns_config: Resolver, pub proxy: Option, diff --git a/src/filters.rs b/src/filters.rs index 71d700d..782f4b2 100644 --- a/src/filters.rs +++ b/src/filters.rs @@ -1,52 +1,50 @@ use crate::errors::*; - use crate::db; -use structopt::StructOpt; - +use clap::Parser; -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub enum Target { /// On domains - #[structopt(name="domains")] + #[command(name="domains")] Domains(Filter), /// On subdomains - #[structopt(name="subdomains")] + #[command(name="subdomains")] Subdomains(Filter), /// On ipaddrs - #[structopt(name="ipaddrs")] + #[command(name="ipaddrs")] IpAddrs(Filter), /// On urls - #[structopt(name="urls")] + #[command(name="urls")] Urls(Filter), /// On emails - #[structopt(name="emails")] + #[command(name="emails")] Emails(Filter), /// On phone numbers - #[structopt(name="phonenumbers")] + #[command(name="phonenumbers")] PhoneNumbers(Filter), /// On devices - #[structopt(name="devices")] + #[command(name="devices")] Devices(Filter), /// On networks - #[structopt(name="networks")] + #[command(name="networks")] Networks(Filter), /// On accounts - #[structopt(name="accounts")] + #[command(name="accounts")] Accounts(Filter), /// On breaches - #[structopt(name="breaches")] + #[command(name="breaches")] Breaches(Filter), /// On images - #[structopt(name="images")] + #[command(name="images")] Images(Filter), /// On ports - #[structopt(name="ports")] + #[command(name="ports")] Ports(Filter), /// On ipnets - #[structopt(name="netblocks")] + #[command(name="netblocks")] Netblocks(Filter), /// On crypto currency addresses - #[structopt(name="cryptoaddrs")] + #[command(name="cryptoaddrs")] CryptoAddrs(Filter), } @@ -100,7 +98,7 @@ impl Target { } } -#[derive(Debug, StructOpt)] +#[derive(Debug, Parser)] pub struct Filter { args: Vec, } diff --git a/src/ipc/common.rs b/src/ipc/common.rs index 90eaee7..5ab1f4a 100644 --- a/src/ipc/common.rs +++ b/src/ipc/common.rs @@ -8,7 +8,7 @@ use std::net::SocketAddr; #[derive(Debug, Serialize, Deserialize)] pub struct StartCommand { - pub verbose: u64, + pub verbose: u8, pub keyring: Vec, pub dns_config: Resolver, pub proxy: Option, @@ -20,7 +20,7 @@ pub struct StartCommand { } impl StartCommand { - pub fn new(verbose: u64, + pub fn new(verbose: u8, keyring: Vec, dns_config: Resolver, proxy: Option, diff --git a/src/ipc/parent.rs b/src/ipc/parent.rs index c936834..98e1724 100644 --- a/src/ipc/parent.rs +++ b/src/ipc/parent.rs @@ -106,7 +106,7 @@ pub fn run(module: Module, tx: &EventSender, arg: serde_json::Value, keyring: Vec, - verbose: u64, + verbose: u8, has_stdin: bool, proxy: Option, user_agent: Option, diff --git a/src/keyring.rs b/src/keyring.rs index 8362076..1cfb271 100644 --- a/src/keyring.rs +++ b/src/keyring.rs @@ -13,7 +13,7 @@ use std::path::{Path, PathBuf}; use sn0int_common::ModuleID; -#[derive(Debug, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct KeyName { pub namespace: String, pub name: String, diff --git a/src/main.rs b/src/main.rs index b2d4462..8678438 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,7 @@ use env_logger::Env; use sn0int::args::{self, Args, SubCommand}; use sn0int::auth; +use clap::Parser; use sn0int::cmd::{self, LiteCmd}; use sn0int::cmd::run_cmd::Params; use sn0int::config::Config; @@ -15,8 +16,7 @@ use sn0int::psl::PslReader; use sn0int::registry; use sn0int::repl; use sn0int::sandbox; -use sn0int::shell::{self, complete}; -use structopt::StructOpt; +use sn0int::shell; use std::fs::OpenOptions; use std::io::Write; use std::path::Path; @@ -99,7 +99,7 @@ end } fn run() -> Result<()> { - let mut args = Args::from_args(); + let mut args = Args::parse(); if !args.is_sandbox() { sandbox::fasten_seatbelt()?; @@ -142,7 +142,7 @@ fn run() -> Result<()> { Some(SubCommand::Stats(stats)) => run_cmd(&args, stats, &config), Some(SubCommand::Repl) => repl::run(&config), Some(SubCommand::Paths) => paths::run(&config), - Some(SubCommand::Completions(completions)) => complete::run_generate(&completions), + Some(SubCommand::Completions(completions)) => completions.generate(), None => shell::run(&args, &config), } } diff --git a/src/notify/mod.rs b/src/notify/mod.rs index 1210f73..2d0fa21 100644 --- a/src/notify/mod.rs +++ b/src/notify/mod.rs @@ -1,22 +1,22 @@ mod rules; -use crate::errors::*; -use crate::cmd::run_cmd::prepare_keyring; +use clap::Parser; use crate::cmd::run_cmd::Params; +use crate::cmd::run_cmd::prepare_keyring; use crate::engine::Module; +use crate::errors::*; use crate::options; use crate::shell::Shell; use crate::term::SpinLogger; use crate::worker; use self::rules::Glob; use serde::{Serialize, Deserialize}; -use structopt::StructOpt; use sn0int_common::metadata::Source; use sn0int_std::blobs::Blob; use sn0int_std::ratelimits::Ratelimiter; use std::collections::HashMap; -#[derive(Debug, StructOpt, Serialize)] +#[derive(Debug, Parser, Serialize)] pub struct Notification { pub subject: String, pub body: Option, @@ -79,7 +79,7 @@ fn prepare_arg(notification: &Notification) -> Result<(serde_json::Value, Option Ok((arg, None, vec![])) } -pub fn exec(rl: &mut Shell, module: &Module, ratelimit: &mut Ratelimiter, options: HashMap, verbose: u64, notification: &Notification) -> Result { +pub fn exec(rl: &mut Shell, module: &Module, ratelimit: &mut Ratelimiter, options: HashMap, verbose: u8, notification: &Notification) -> Result { let module_name = module.canonical(); debug!("Setting up notification execution with {:?}", module_name); diff --git a/src/shell/complete.rs b/src/shell/complete.rs index cdf3080..d85c026 100644 --- a/src/shell/complete.rs +++ b/src/shell/complete.rs @@ -1,18 +1,13 @@ -use crate::args::{Args, Completions}; use crate::autonoscope::RuleType; -use crate::errors::*; use rustyline::{self, Context}; use rustyline::completion::Completer; use rustyline::highlight::Highlighter; use rustyline::hint::Hinter; use std::borrow::Cow::{self, Owned}; use std::str::FromStr; -use std::io::stdout; -use structopt::StructOpt; use crate::shell::Command; use crate::workspaces; - #[derive(Debug, Default)] pub struct CmdCompleter { pub modules: Vec, @@ -318,8 +313,3 @@ impl Highlighter for CmdCompleter { impl rustyline::Helper for CmdCompleter {} impl rustyline::validate::Validator for CmdCompleter {} - -pub fn run_generate(args: &Completions) -> Result<()> { - Args::clap().gen_completions_to("sn0int", args.shell, &mut stdout()); - Ok(()) -} diff --git a/src/worker.rs b/src/worker.rs index a90ac1b..fffdfee 100644 --- a/src/worker.rs +++ b/src/worker.rs @@ -199,7 +199,7 @@ impl DatabaseEvent { Self::notify(rl, spinner, ratelimit, &topic, subject); } - fn on_activity(rl: &mut Shell, spinner: &mut T, ratelimit: &mut Ratelimiter, object: &NewActivity, verbose: u64) { + fn on_activity(rl: &mut Shell, spinner: &mut T, ratelimit: &mut Ratelimiter, object: &NewActivity, verbose: u8) { Self::spinner_log_new_activity(spinner, object, verbose); // TODO: we don't want to copy the match arms everywhere @@ -211,7 +211,7 @@ impl DatabaseEvent { Self::notify(rl, spinner, ratelimit, &topic, subject); } - fn spinner_log_new_activity(spinner: &mut T, object: &NewActivity, verbose: u64) { + fn spinner_log_new_activity(spinner: &mut T, object: &NewActivity, verbose: u8) { let mut log = format!("{:?} ", object.topic); if let Some(uniq) = &object.uniq { write!(log, "({:?}) ", uniq).expect("out of memory"); @@ -233,7 +233,7 @@ impl DatabaseEvent { spinner.log(&log); } - fn insert(rl: &mut Shell, spinner: &mut T, ratelimit: &mut Ratelimiter, object: Insert, ttl: Option, tx: DbSender, verbose: u64) { + fn insert(rl: &mut Shell, spinner: &mut T, ratelimit: &mut Ratelimiter, object: Insert, ttl: Option, tx: DbSender, verbose: u8) { let db = rl.db(); if verbose >= 1 { spinner.debug(&format!("Inserting: {:?}", object)); @@ -299,7 +299,7 @@ impl DatabaseEvent { } - pub fn activity(rl: &mut Shell, spinner: &mut T, ratelimit: &mut Ratelimiter, object: NewActivity, tx: DbSender, verbose: u64) { + pub fn activity(rl: &mut Shell, spinner: &mut T, ratelimit: &mut Ratelimiter, object: NewActivity, tx: DbSender, verbose: u8) { let db = rl.db(); let result = db.insert_activity(object.clone()); debug!("{:?} => {:?}", object, result); @@ -320,7 +320,7 @@ impl DatabaseEvent { tx.send(result).expect("Failed to send db result to channel"); } - pub fn update(rl: &mut Shell, spinner: &mut T, ratelimit: &mut Ratelimiter, family: &str, value: &str, update: &Update, tx: DbSender, verbose: u64) { + pub fn update(rl: &mut Shell, spinner: &mut T, ratelimit: &mut Ratelimiter, family: &str, value: &str, update: &Update, tx: DbSender, verbose: u8) { let db = rl.db(); if verbose >= 1 { spinner.debug(&format!("Updating: {:?}", update)); @@ -344,7 +344,7 @@ impl DatabaseEvent { tx.send(result).expect("Failed to send db result to channel"); } - pub fn apply(self, rl: &mut Shell, spinner: &mut T, ratelimit: &mut Ratelimiter, tx: DbSender, verbose: u64) { + pub fn apply(self, rl: &mut Shell, spinner: &mut T, ratelimit: &mut Ratelimiter, tx: DbSender, verbose: u8) { match self { DatabaseEvent::Insert(object) => Self::insert(rl, spinner, ratelimit, object, None, tx, verbose), DatabaseEvent::InsertTtl((object, ttl)) => Self::insert(rl, spinner, ratelimit, object, Some(ttl), tx, verbose), From ea946508025688160baacf21640bf359b4652057 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Thu, 31 Aug 2023 02:31:54 +0200 Subject: [PATCH 47/55] Update dependencies --- Cargo.lock | 916 ++++++++++++++------------ Cargo.toml | 17 +- Dockerfile | 4 +- sn0int-common/src/id.rs | 33 +- sn0int-common/src/metadata/mod.rs | 148 +++-- sn0int-common/src/metadata/stealth.rs | 9 +- sn0int-std/Cargo.toml | 8 +- sn0int-std/src/blobs.rs | 20 +- sn0int-std/src/crt.rs | 193 +++--- sn0int-std/src/crypto.rs | 3 +- sn0int-std/src/engine/structs.rs | 55 +- sn0int-std/src/geo.rs | 248 +++++-- sn0int-std/src/geoip/mod.rs | 24 +- sn0int-std/src/geoip/models.rs | 6 +- sn0int-std/src/gfx/exif.rs | 112 ++-- sn0int-std/src/gfx/mod.rs | 6 +- sn0int-std/src/html.rs | 28 +- sn0int-std/src/json.rs | 79 ++- sn0int-std/src/lazy.rs | 5 +- sn0int-std/src/psl.rs | 166 +++-- sn0int-std/src/ratelimits.rs | 6 +- sn0int-std/src/sockets/mod.rs | 98 ++- sn0int-std/src/sockets/tls.rs | 36 +- sn0int-std/src/web.rs | 66 +- sn0int-std/src/websockets.rs | 56 +- sn0int-std/src/xml.rs | 96 ++- src/cmd/stats_cmd.rs | 4 +- src/config.rs | 4 +- src/workspaces.rs | 2 +- 29 files changed, 1393 insertions(+), 1055 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 91f317b..54a6ad8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,22 +2,11 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "accurate" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f209f0bc218ee6cf50db56ec0d9fe10b3cbfb6f3900d019b36c8fdb6d3bc03e" -dependencies = [ - "cfg-if 1.0.0", - "ieee754", - "num-traits", -] - [[package]] name = "addr2line" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ "gimli", ] @@ -36,9 +25,9 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" dependencies = [ "memchr", ] @@ -69,24 +58,23 @@ dependencies = [ [[package]] name = "anstream" -version = "0.3.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", - "is-terminal", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea" [[package]] name = "anstyle-parse" @@ -108,9 +96,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "1.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" dependencies = [ "anstyle", "windows-sys", @@ -118,9 +106,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "approx" @@ -150,7 +138,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.22", + "time 0.3.28", ] [[package]] @@ -174,8 +162,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", "synstructure", ] @@ -186,8 +174,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", "synstructure", ] @@ -198,8 +186,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -240,9 +228,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", @@ -292,9 +280,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53" [[package]] name = "bincode" @@ -315,13 +303,13 @@ dependencies = [ "cexpr", "clang-sys", "clap 2.34.0", - "env_logger", + "env_logger 0.9.3", "lazy_static", "lazycell", - "log 0.4.19", + "log 0.4.20", "peeking_take_while", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "regex", "rustc-hash", "shlex", @@ -336,9 +324,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" [[package]] name = "blake2" @@ -404,7 +392,7 @@ dependencies = [ "close_fds", "errno 0.2.8", "libc", - "log 0.4.19", + "log 0.4.20", "nix 0.24.3", "pledge", "regex", @@ -413,15 +401,18 @@ dependencies = [ [[package]] name = "bs58" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +dependencies = [ + "tinyvec", +] [[package]] name = "bstr" -version = "1.6.0" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" +checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a" dependencies = [ "memchr", "regex-automata", @@ -481,12 +472,6 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" -[[package]] -name = "bytesize" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5" - [[package]] name = "caps" version = "0.5.5" @@ -499,9 +484,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] [[package]] name = "cexpr" @@ -526,9 +514,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.26" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +checksum = "95ed24df0632f708f5f6d8082675bef2596f7084dee3dd55f632290bf35bfe0f" dependencies = [ "android-tzdata", "iana-time-zone", @@ -537,7 +525,7 @@ dependencies = [ "serde", "time 0.1.45", "wasm-bindgen", - "winapi 0.3.9", + "windows-targets", ] [[package]] @@ -555,7 +543,7 @@ dependencies = [ "hyper 0.12.36", "hyper-rustls", "ipconfig", - "log 0.4.19", + "log 0.4.20", "lru-cache", "rustls 0.16.0", "serde", @@ -600,41 +588,41 @@ dependencies = [ "bitflags 1.3.2", "clap_derive 3.2.25", "clap_lex 0.2.4", - "indexmap", + "indexmap 1.9.3", "once_cell", "textwrap 0.16.0", ] [[package]] name = "clap" -version = "4.3.11" +version = "4.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d" +checksum = "7c8d502cbaec4595d2e7d5f61e318f05417bd2b66fdc3809498f0d3fdf0bea27" dependencies = [ "clap_builder", - "clap_derive 4.3.2", + "clap_derive 4.4.0", "once_cell", ] [[package]] name = "clap_builder" -version = "4.3.11" +version = "4.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b" +checksum = "5891c7bc0edb3e1c2204fc5e94009affabeb1821c9e5fdc3959536c5c0bb984d" dependencies = [ "anstream", "anstyle", - "clap_lex 0.5.0", + "clap_lex 0.5.1", "strsim 0.10.0", ] [[package]] name = "clap_complete" -version = "4.3.2" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce" +checksum = "586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5" dependencies = [ - "clap 4.3.11", + "clap 4.4.1", ] [[package]] @@ -645,21 +633,21 @@ checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" dependencies = [ "heck 0.4.1", "proc-macro-error", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] [[package]] name = "clap_derive" -version = "4.3.2" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" +checksum = "c9fd1a5729c4548118d7d70ff234a44868d00489a4b6597b0b020918a0e91a1a" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -673,9 +661,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" [[package]] name = "clipboard-win" @@ -765,7 +753,7 @@ dependencies = [ "cookie 0.12.0", "failure", "idna 0.1.5", - "log 0.4.19", + "log 0.4.20", "publicsuffix 1.5.6", "serde", "serde_json", @@ -810,9 +798,9 @@ dependencies = [ [[package]] name = "critical-section" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52" +checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" [[package]] name = "crossbeam-channel" @@ -936,8 +924,8 @@ dependencies = [ "itoa 0.4.8", "matches", "phf", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "smallvec 1.11.0", "syn 1.0.109", ] @@ -948,8 +936,8 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ - "quote 1.0.29", - "syn 2.0.23", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -976,7 +964,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a011bbe2c35ce9c1f143b7af6f94f29a167beb4cd1d29e6740ce836f723120e" dependencies = [ - "nix 0.26.2", + "nix 0.26.4", "windows-sys", ] @@ -997,9 +985,9 @@ dependencies = [ [[package]] name = "curl-sys" -version = "0.4.63+curl-8.1.2" +version = "0.4.65+curl-8.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeb0fef7046022a1e2ad67a004978f0e3cacb9e3123dc62ce768f92197b771dc" +checksum = "961ba061c9ef2fe34bbd12b807152d96f0badd2bebe7b90ce6c8c8b7572a0986" dependencies = [ "cc", "libc", @@ -1073,6 +1061,12 @@ dependencies = [ "rusticata-macros", ] +[[package]] +name = "deranged" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" + [[package]] name = "derive_more" version = "0.99.17" @@ -1080,8 +1074,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "rustc_version 0.4.0", "syn 1.0.109", ] @@ -1139,8 +1133,8 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -1228,9 +1222,9 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -1247,9 +1241,9 @@ checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" [[package]] name = "dtoa" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "519b83cd10f5f6e969625a409f735182bea5558cd8b64c655806ceaae36f1999" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" [[package]] name = "dtoa-short" @@ -1257,7 +1251,17 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" dependencies = [ - "dtoa 1.0.8", + "dtoa 1.0.9", +] + +[[package]] +name = "earcutr" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0812b44697951d35fde8fcb0da81c9de7e809e825a66bbf1ecb79d9829d4ca3d" +dependencies = [ + "itertools", + "num-traits", ] [[package]] @@ -1271,9 +1275,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "embedded-triple" @@ -1283,9 +1287,9 @@ checksum = "4dda717aa0325f3ebb1b5da2da97b56641e5cef86c55d7fec8158bc8aeb5ed19" [[package]] name = "encoding_rs" -version = "0.8.32" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ "cfg-if 1.0.0", ] @@ -1315,11 +1319,30 @@ checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime 2.1.0", - "log 0.4.19", + "log 0.4.20", + "regex", + "termcolor", +] + +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime 2.1.0", + "is-terminal", + "log 0.4.20", "regex", "termcolor", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "errno" version = "0.2.8" @@ -1333,9 +1356,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" dependencies = [ "errno-dragonfly", "libc", @@ -1378,8 +1401,8 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", "synstructure", ] @@ -1392,12 +1415,9 @@ checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" [[package]] name = "fastrand" -version = "1.9.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "fd-lock" @@ -1406,27 +1426,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" dependencies = [ "cfg-if 1.0.0", - "rustix 0.38.3", + "rustix", "windows-sys", ] [[package]] name = "filetime" -version = "0.2.21" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.3.5", "windows-sys", ] [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" dependencies = [ "crc32fast", "miniz_oxide 0.7.1", @@ -1434,12 +1454,9 @@ dependencies = [ [[package]] name = "float_next_after" -version = "0.1.5" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fc612c5837986b7104a87a0df74a5460931f1c5274be12f8d0f40aa2f30d632" -dependencies = [ - "num-traits", -] +checksum = "8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8" [[package]] name = "fnv" @@ -1577,14 +1594,15 @@ dependencies = [ [[package]] name = "geo" -version = "0.23.1" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39f57e9624b1a17ce621375464e9878c705d0aaadaf25cb44e4e0005a16de2f" +checksum = "a5d07d2288645058f3c78bc64eadd615335791cd5adb632e9865840afbc13dad" dependencies = [ + "earcutr", "float_next_after", "geo-types", "geographiclib-rs", - "log 0.4.19", + "log 0.4.20", "num-traits", "robust", "rstar", @@ -1592,9 +1610,9 @@ dependencies = [ [[package]] name = "geo-types" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1019f6d372c5b53143f08deee4168d05c22920fe5e0f51f0dfb0e8ffb67ec11e" +checksum = "9705398c5c7b26132e74513f4ee7c1d7dafd786004991b375c172be2be0eecaa" dependencies = [ "approx", "num-traits", @@ -1608,7 +1626,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea804e7bd3c6a4ca6a01edfa35231557a8a81d4d3f3e1e2b650d028c42592be" dependencies = [ - "accurate", "lazy_static", ] @@ -1646,9 +1663,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.3" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "glob" @@ -1667,8 +1684,8 @@ dependencies = [ "fnv", "futures", "http 0.1.21", - "indexmap", - "log 0.4.19", + "indexmap 1.9.3", + "log 0.4.20", "slab", "string", "tokio-io", @@ -1681,7 +1698,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d82e5750d8027a97b9640e3fefa66bbaf852a35228e1c90790efd13c4b09c166" dependencies = [ "lazy_static", - "log 0.4.19", + "log 0.4.20", "pest", "pest_derive", "quick-error", @@ -1706,6 +1723,12 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + [[package]] name = "heapless" version = "0.7.16" @@ -1780,11 +1803,11 @@ version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" dependencies = [ - "log 0.4.19", + "log 0.4.20", "mac", "markup5ever", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -1807,7 +1830,7 @@ checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes 1.4.0", "fnv", - "itoa 1.0.8", + "itoa 1.0.9", ] [[package]] @@ -1830,9 +1853,12 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "humansize" -version = "1.1.1" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026" +checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" +dependencies = [ + "libm", +] [[package]] name = "humantime" @@ -1883,7 +1909,7 @@ dependencies = [ "httparse", "iovec", "itoa 0.4.8", - "log 0.4.19", + "log 0.4.20", "net2", "rustc_version 0.2.3", "time 0.1.45", @@ -1983,12 +2009,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "ieee754" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9007da9cacbd3e6343da136e98b0d2df013f553d35bdec8b518f07bea768e19c" - [[package]] name = "image" version = "0.23.14" @@ -2028,7 +2048,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg 1.1.0", - "hashbrown", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", ] [[package]] @@ -2060,26 +2090,6 @@ dependencies = [ "bytes 1.4.0", ] -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.2", - "libc", - "windows-sys", -] - [[package]] name = "iovec" version = "0.1.4" @@ -2110,6 +2120,15 @@ dependencies = [ "serde", ] +[[package]] +name = "ipnetwork" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e" +dependencies = [ + "serde", +] + [[package]] name = "is-terminal" version = "0.4.9" @@ -2117,10 +2136,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi 0.3.2", - "rustix 0.38.3", + "rustix", "windows-sys", ] +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "0.4.8" @@ -2129,9 +2157,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jpeg-decoder" @@ -2256,9 +2284,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.9" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" +checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" dependencies = [ "cc", "libc", @@ -2283,15 +2311,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" - -[[package]] -name = "linux-raw-sys" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "lock_api" @@ -2318,14 +2340,14 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" dependencies = [ - "log 0.4.19", + "log 0.4.20", ] [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "lru-cache" @@ -2365,7 +2387,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" dependencies = [ - "log 0.4.19", + "log 0.4.20", "phf", "phf_codegen", "string_cache", @@ -2385,8 +2407,8 @@ version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe2ba61113f9f7a9f0e87c519682d39c43a6f3f79c2cc42c3ba3dda83b1fa334" dependencies = [ - "ipnetwork", - "log 0.4.19", + "ipnetwork 0.18.0", + "log 0.4.20", "memchr", "serde", ] @@ -2408,9 +2430,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "5486aed0026218e61b8a01d5fbd5a0a134649abb71a0e53b7bc088529dced86e" [[package]] name = "memoffset" @@ -2455,8 +2477,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9753f12909fd8d923f75ae5c3258cae1ed3c8ec052e1b38c93c21a6d157f789c" dependencies = [ "migrations_internals", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -2482,7 +2504,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" dependencies = [ "mime 0.3.17", - "unicase 2.6.0", + "unicase 2.7.0", ] [[package]] @@ -2531,7 +2553,7 @@ dependencies = [ "iovec", "kernel32-sys", "libc", - "log 0.4.19", + "log 0.4.20", "miow", "net2", "slab", @@ -2545,7 +2567,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" dependencies = [ "lazycell", - "log 0.4.19", + "log 0.4.20", "mio", "slab", ] @@ -2581,7 +2603,7 @@ checksum = "ca0b17380dc69fbcf5f967828cfd10e55028ba83a57da1f580c5b0792ab807ac" dependencies = [ "byteorder", "lazy_static", - "log 0.4.19", + "log 0.4.20", "regex", "thiserror", ] @@ -2600,7 +2622,7 @@ checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", - "log 0.4.19", + "log 0.4.20", "openssl", "openssl-probe", "openssl-sys", @@ -2668,14 +2690,24 @@ dependencies = [ [[package]] name = "nix" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ "bitflags 1.3.2", "cfg-if 1.0.0", "libc", - "static_assertions", +] + +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.4.0", + "cfg-if 1.0.0", + "libc", ] [[package]] @@ -2694,6 +2726,15 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "normpath" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5" +dependencies = [ + "windows-sys", +] + [[package]] name = "notify" version = "4.0.17" @@ -2720,15 +2761,15 @@ checksum = "629bf84f31f765ba48058371c6eb3c5eed0fcdec68b814eb11f6f65dec0adbe3" dependencies = [ "failure", "image", - "log 0.4.19", + "log 0.4.20", "rand 0.7.3", ] [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg 1.1.0", "num-integer", @@ -2779,9 +2820,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg 1.1.0", "libm", @@ -2817,9 +2858,9 @@ dependencies = [ [[package]] name = "object" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe" dependencies = [ "memchr", ] @@ -2876,21 +2917,22 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "opener" -version = "0.5.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005" +checksum = "6c62dcb6174f9cb326eac248f07e955d5d559c272730b6c03e396b443b562788" dependencies = [ "bstr", + "normpath", "winapi 0.3.9", ] [[package]] name = "openssl" -version = "0.10.55" +version = "0.10.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", "cfg-if 1.0.0", "foreign-types", "libc", @@ -2905,9 +2947,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -2918,9 +2960,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.90" +version = "0.9.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +checksum = "db7e971c2c2bba161b2d2fdf37080177eff520b3bc044787c7f1f5f9e78d869b" dependencies = [ "cc", "libc", @@ -2935,7 +2977,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a8a1fed76ac765e39058ca106b6229a93c5a60292a1bd4b602ce2be11e1c020" dependencies = [ "anyhow", - "plist 1.4.3", + "plist 1.5.0", "uname", "winapi 0.3.9", ] @@ -3025,11 +3067,12 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "pem" -version = "1.1.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +checksum = "3163d2912b7c3b52d651a055f2c7eec9ba5cd22d26ef75b8dd3a59980b185923" dependencies = [ - "base64 0.13.1", + "base64 0.21.3", + "serde", ] [[package]] @@ -3046,19 +3089,20 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.0" +version = "2.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9" +checksum = "d7a4d085fd991ac8d5b05a147b437791b4260b76326baf0fc60cf7c9c27ecd33" dependencies = [ + "memchr", "thiserror", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.0" +version = "2.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b" +checksum = "a2bee7be22ce7918f641a33f08e3f43388c7656772244e2bbb2477f44cc9021a" dependencies = [ "pest", "pest_generator", @@ -3066,22 +3110,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.0" +version = "2.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190" +checksum = "d1511785c5e98d79a05e8a6bc34b4ac2168a0e3e92161862030ad84daa223141" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] name = "pest_meta" -version = "2.7.0" +version = "2.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0" +checksum = "b42f0394d3123e33353ca5e1e89092e533d2cc490389f2bd6131c43c634ebc5f" dependencies = [ "once_cell", "pest", @@ -3138,8 +3182,8 @@ dependencies = [ "phf_generator 0.8.0", "phf_shared 0.8.0", "proc-macro-hack", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -3192,16 +3236,16 @@ dependencies = [ [[package]] name = "plist" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd9647b268a3d3e14ff09c23201133a62589c658db02bb7388c7246aafe0590" +checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" dependencies = [ - "base64 0.21.2", - "indexmap", + "base64 0.21.3", + "indexmap 1.9.3", "line-wrap", "quick-xml", "serde", - "time 0.3.22", + "time 0.3.28", ] [[package]] @@ -3244,8 +3288,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", "version_check 0.9.4", ] @@ -3256,8 +3300,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "version_check 0.9.4", ] @@ -3278,9 +3322,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -3298,7 +3342,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b4ce31ff0a27d93c8de1849cf58162283752f065a90d508f1105fa6c9a213f" dependencies = [ "idna 0.2.3", - "url 2.4.0", + "url 2.4.1", ] [[package]] @@ -3318,9 +3362,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quick-xml" -version = "0.28.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" +checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" dependencies = [ "memchr", ] @@ -3336,11 +3380,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ - "proc-macro2 1.0.63", + "proc-macro2 1.0.66", ] [[package]] @@ -3349,7 +3393,7 @@ version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ - "log 0.4.19", + "log 0.4.20", "parking_lot 0.12.1", "scheduled-thread-pool", ] @@ -3629,25 +3673,25 @@ dependencies = [ [[package]] name = "regex" -version = "1.9.1" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29" dependencies = [ "aho-corasick", "memchr", "regex-automata", - "regex-syntax 0.7.3", + "regex-syntax 0.7.5", ] [[package]] name = "regex-automata" -version = "0.3.2" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.3", + "regex-syntax 0.7.5", ] [[package]] @@ -3658,9 +3702,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.3" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "reqwest" @@ -3678,7 +3722,7 @@ dependencies = [ "http 0.1.21", "hyper 0.12.36", "hyper-tls", - "log 0.4.19", + "log 0.4.20", "mime 0.3.17", "mime_guess", "native-tls", @@ -3725,7 +3769,7 @@ checksum = "83b9d9dc08c5dcc1d8126a9dd615545e6a358f8c13c883c8dfed8c0376fa355e" dependencies = [ "atty", "base64 0.13.1", - "log 0.4.19", + "log 0.4.20", "memchr", "num_cpus", "pear", @@ -3746,7 +3790,7 @@ checksum = "2810037b5820098af97bd4fdd309e76a8101ceb178147de775c835a2537284fe" dependencies = [ "devise", "glob", - "indexmap", + "indexmap 1.9.3", "quote 0.6.13", "rocket_http", "version_check 0.9.4", @@ -3761,7 +3805,7 @@ checksum = "e20efbc6a211cb3df5375accf532d4186f224b623f39eca650b19b96240c596b" dependencies = [ "glob", "handlebars", - "log 0.4.19", + "log 0.4.20", "notify", "rocket", "serde", @@ -3799,7 +3843,7 @@ checksum = "2bf9cbd128e1f321a2d0bebd2b7cf0aafd89ca43edf69e49b56a5c46e48eb19f" dependencies = [ "cookie 0.11.5", "hyper 0.10.16", - "indexmap", + "indexmap 1.9.3", "pear", "percent-encoding 1.0.1", "smallvec 1.11.0", @@ -3810,9 +3854,9 @@ dependencies = [ [[package]] name = "rstar" -version = "0.9.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40f1bfe5acdab44bc63e6699c28b74f75ec43afb59f3eda01e145aff86a25fa" +checksum = "1f39465655a1e3d8ae79c6d9e007f4953bfc5d55297602df9dc38f9ae9f1359a" dependencies = [ "heapless", "num-traits", @@ -3846,7 +3890,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.17", + "semver 1.0.18", ] [[package]] @@ -3882,28 +3926,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.23" +version = "0.38.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +checksum = "ed6248e1caa625eb708e266e06159f135e8c26f2bb7ceb72dc4b2766d0340964" dependencies = [ - "bitflags 1.3.2", - "errno 0.3.1", - "io-lifetimes", + "bitflags 2.4.0", + "errno 0.3.3", "libc", - "linux-raw-sys 0.3.8", - "windows-sys", -] - -[[package]] -name = "rustix" -version = "0.38.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4" -dependencies = [ - "bitflags 2.3.3", - "errno 0.3.1", - "libc", - "linux-raw-sys 0.4.3", + "linux-raw-sys", "windows-sys", ] @@ -3914,7 +3944,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e" dependencies = [ "base64 0.10.1", - "log 0.4.19", + "log 0.4.20", "ring", "sct", "webpki", @@ -3927,7 +3957,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" dependencies = [ "base64 0.12.3", - "log 0.4.19", + "log 0.4.20", "ring", "sct", "webpki", @@ -3935,9 +3965,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "rustyline" @@ -3951,7 +3981,7 @@ dependencies = [ "dirs-next", "fd-lock", "libc", - "log 0.4.19", + "log 0.4.20", "memchr", "nix 0.25.1", "radix_trie 0.2.1", @@ -3964,9 +3994,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "safemem" @@ -4009,9 +4039,9 @@ checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8" [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" @@ -4034,9 +4064,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -4047,9 +4077,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -4065,7 +4095,7 @@ dependencies = [ "cssparser", "derive_more", "fxhash", - "log 0.4.19", + "log 0.4.20", "matches", "phf", "phf_codegen", @@ -4086,9 +4116,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" [[package]] name = "semver-parser" @@ -4104,35 +4134,44 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.167" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daf513456463b42aa1d94cff7e0c24d682b429f020b9afa4f5ba5c40a22b237" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.167" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69b106b68bc8054f0e974e70d19984040f8a5cf9215ca82626ea4853f82c4b9" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] name = "serde_json" -version = "1.0.100" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" dependencies = [ - "itoa 1.0.8", + "itoa 1.0.9", "ryu", "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.5.5" @@ -4152,7 +4191,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.8", + "itoa 1.0.9", "ryu", "serde", ] @@ -4248,15 +4287,15 @@ checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" [[package]] name = "siphasher" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg 1.1.0", ] @@ -4271,7 +4310,7 @@ dependencies = [ "base64 0.13.1", "byteorder", "hex", - "log 0.4.19", + "log 0.4.20", "serde", "sha-1 0.9.8", ] @@ -4298,11 +4337,10 @@ dependencies = [ "atty", "boxxy", "bytes 0.4.12", - "bytesize", "caps", "chrono", "chrootable-https", - "clap 4.3.11", + "clap 4.4.1", "clap_complete", "colored", "crossbeam-channel", @@ -4313,19 +4351,19 @@ dependencies = [ "digest 0.10.7", "dirs-next", "embedded-triple", - "env_logger", + "env_logger 0.10.0", "failure", "glob", "hlua-badtouch", "hmac", "humansize", - "ipnetwork", + "ipnetwork 0.20.0", "lazy_static", "libsqlite3-sys", - "log 0.4.19", + "log 0.4.20", "maplit", "md-5", - "nix 0.24.3", + "nix 0.27.1", "nude", "opener", "os-version", @@ -4334,7 +4372,7 @@ dependencies = [ "rand 0.8.5", "regex", "rustyline", - "semver 1.0.17", + "semver 1.0.18", "separator", "serde", "serde_json", @@ -4346,14 +4384,14 @@ dependencies = [ "sloppy-rfc4880", "sn0int-common", "sn0int-std", - "strum 0.24.1", - "strum_macros 0.24.3", + "strum 0.25.0", + "strum_macros 0.25.2", "syscallz", "tempfile", "threadpool", - "toml 0.5.11", + "toml 0.7.6", "unveil", - "url 2.4.0", + "url 2.4.1", "walkdir", ] @@ -4362,7 +4400,7 @@ name = "sn0int-common" version = "0.13.0" dependencies = [ "anyhow", - "clap 4.3.11", + "clap 4.4.1", "nom", "rocket_failure_errors", "serde", @@ -4377,18 +4415,18 @@ dependencies = [ "diesel_full_text_search", "diesel_migrations", "dotenv", - "env_logger", + "env_logger 0.9.3", "failure", "hex", "lazy_static", - "log 0.4.19", + "log 0.4.20", "maplit", "oauth2", "reqwest", "rocket", "rocket_contrib", "rocket_failure", - "semver 1.0.17", + "semver 1.0.18", "serde", "serde_json", "sn0int-common", @@ -4411,7 +4449,7 @@ dependencies = [ "data-encoding", "der-parser 8.2.0", "digest 0.10.7", - "env_logger", + "env_logger 0.10.0", "failure", "geo", "hlua-badtouch", @@ -4420,7 +4458,7 @@ dependencies = [ "img_hash_median", "kamadak-exif", "kuchiki", - "log 0.4.19", + "log 0.4.20", "maplit", "maxminddb", "mqtt-protocol", @@ -4436,7 +4474,7 @@ dependencies = [ "thiserror", "tokio", "tungstenite", - "url 2.4.0", + "url 2.4.1", "webpki", "webpki-roots 0.21.1", "x509-parser", @@ -4503,12 +4541,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3015a7d0a5fd5105c91c3710d42f9ccf0abfb287d62206484dcc67f9569a6483" -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "str-buf" version = "1.0.6" @@ -4552,8 +4584,8 @@ checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" dependencies = [ "phf_generator 0.10.0", "phf_shared 0.10.0", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", ] [[package]] @@ -4587,8 +4619,8 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -4600,9 +4632,9 @@ checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" [[package]] name = "strum" -version = "0.24.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" [[package]] name = "strum_macros" @@ -4611,22 +4643,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" dependencies = [ "heck 0.3.3", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] [[package]] name = "strum_macros" -version = "0.24.3" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "rustversion", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -4658,19 +4690,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.23" +version = "2.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "unicode-ident", ] @@ -4680,8 +4712,8 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", "unicode-xid 0.2.4", ] @@ -4714,7 +4746,7 @@ version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "110ff7f267e583b58489bb0b01fa62ce71c032cd193df3affe9b3b51369aa6ad" dependencies = [ - "log 0.4.19", + "log 0.4.20", "pkg-config", "seccomp-sys", "strum 0.21.0", @@ -4723,15 +4755,14 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.6.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" dependencies = [ - "autocfg 1.1.0", "cfg-if 1.0.0", "fastrand", "redox_syscall 0.3.5", - "rustix 0.37.23", + "rustix", "windows-sys", ] @@ -4778,22 +4809,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.43" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" +checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.43" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -4829,11 +4860,12 @@ dependencies = [ [[package]] name = "time" -version = "0.3.22" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" +checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" dependencies = [ - "itoa 1.0.8", + "deranged", + "itoa 1.0.9", "serde", "time-core", "time-macros", @@ -4847,9 +4879,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.9" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" dependencies = [ "time-core", ] @@ -4954,7 +4986,7 @@ checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" dependencies = [ "bytes 0.4.12", "futures", - "log 0.4.19", + "log 0.4.20", ] [[package]] @@ -4966,7 +4998,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.19", + "log 0.4.20", "mio", "num_cpus", "parking_lot 0.9.0", @@ -5025,7 +5057,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.19", + "log 0.4.20", "num_cpus", "slab", "tokio-executor", @@ -5051,7 +5083,7 @@ checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" dependencies = [ "bytes 0.4.12", "futures", - "log 0.4.19", + "log 0.4.20", "mio", "tokio-codec", "tokio-io", @@ -5068,7 +5100,7 @@ dependencies = [ "futures", "iovec", "libc", - "log 0.4.19", + "log 0.4.20", "mio", "mio-uds", "tokio-codec", @@ -5087,11 +5119,36 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.11" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" dependencies = [ "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" +dependencies = [ + "indexmap 2.0.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", ] [[package]] @@ -5128,7 +5185,7 @@ dependencies = [ "failure", "futures", "lazy_static", - "log 0.4.19", + "log 0.4.20", "radix_trie 0.1.6", "rand 0.7.3", "tokio", @@ -5149,7 +5206,7 @@ dependencies = [ "futures", "idna 0.2.3", "lazy_static", - "log 0.4.19", + "log 0.4.20", "rand 0.7.3", "smallvec 0.6.14", "socket2 0.3.19", @@ -5159,7 +5216,7 @@ dependencies = [ "tokio-tcp", "tokio-timer", "tokio-udp", - "url 2.4.0", + "url 2.4.1", ] [[package]] @@ -5189,11 +5246,11 @@ dependencies = [ "http 0.2.9", "httparse", "input_buffer", - "log 0.4.19", + "log 0.4.20", "rand 0.8.5", "sha-1 0.9.8", "thiserror", - "url 2.4.0", + "url 2.4.1", "utf-8", ] @@ -5235,9 +5292,9 @@ dependencies = [ [[package]] name = "unicase" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" dependencies = [ "version_check 0.9.4", ] @@ -5250,9 +5307,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -5315,9 +5372,9 @@ dependencies = [ [[package]] name = "url" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", "idna 0.4.0", @@ -5386,7 +5443,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" dependencies = [ "futures", - "log 0.4.19", + "log 0.4.20", "try-lock", ] @@ -5425,11 +5482,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", - "log 0.4.19", + "log 0.4.20", "once_cell", - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", "wasm-bindgen-shared", ] @@ -5439,7 +5496,7 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote 1.0.29", + "quote 1.0.33", "wasm-bindgen-macro-support", ] @@ -5449,9 +5506,9 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5595,9 +5652,9 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", @@ -5610,45 +5667,54 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "winnow" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" +dependencies = [ + "memchr", +] [[package]] name = "winreg" @@ -5684,14 +5750,14 @@ dependencies = [ "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.22", + "time 0.3.28", ] [[package]] name = "xml-rs" -version = "0.8.15" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a56c84a8ccd4258aed21c92f70c0f6dea75356b6892ae27c24139da456f9336" +checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1" [[package]] name = "yaml-rust" diff --git a/Cargo.toml b/Cargo.toml index 1b22cf2..deeabae 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,7 +36,7 @@ sn0int-common = { version="0.13.0", path="sn0int-common" } sn0int-std = { version="=0.25.0", path="sn0int-std" } rustyline = "10.0" log = "0.4" -env_logger = "0.9" +env_logger = "0.10" hlua-badtouch = "0.4" clap = { version = "4.3.11", features = ["derive", "env"] } clap_complete = "4.3.2" @@ -60,22 +60,21 @@ serde_urlencoded = "0.7" serde_json = "1.0" crossbeam-channel = "0.5" ctrlc = "3.1" -opener = "0.5" +opener = "0.6" separator = "0.4" maplit = "1.0.1" sloppy-rfc4880 = "0.2" regex = "1.0" -toml = "0.5" +toml = "0.7" threadpool = "1.7" atty = "0.2" semver = "1" bytes = "0.4" -bytesize = "1.0" -ipnetwork = "0.18" -strum = "0.24" -strum_macros = "0.24" +ipnetwork = "0.20" +strum = "0.25" +strum_macros = "0.25" embedded-triple = "0.1.0" -humansize = "1.1.0" +humansize = "2" digest = "0.10" md-5 = "0.10" @@ -93,7 +92,7 @@ os-version = "0.2" caps = "0.5" #syscallz = { path="../syscallz-rs" } syscallz = "0.16" -nix = "0.24" +nix = { version = "0.27", features = ["fs"] } [target.'cfg(target_os="openbsd")'.dependencies] pledge = "0.4" diff --git a/Dockerfile b/Dockerfile index 2c7ffbe..8bfe052 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM rust:alpine3.15 +FROM rust:alpine3.18 ENV RUSTFLAGS="-C target-feature=-crt-static" RUN apk add --no-cache musl-dev sqlite-dev libseccomp-dev libsodium-dev WORKDIR /usr/src/sn0int @@ -10,7 +10,7 @@ RUN --mount=type=cache,target=/var/cache/buildkit \ cp -v /var/cache/buildkit/target/release/sn0int / RUN strip /sn0int -FROM alpine:3.15 +FROM alpine:3.18 RUN apk add --no-cache libgcc sqlite-libs libseccomp libsodium COPY --from=0 /sn0int /usr/local/bin/sn0int VOLUME ["/data", "/cache"] diff --git a/sn0int-common/src/id.rs b/sn0int-common/src/id.rs index d20e6b4..da88b4d 100644 --- a/sn0int-common/src/id.rs +++ b/sn0int-common/src/id.rs @@ -18,15 +18,15 @@ pub fn valid_name(name: &str) -> Result<()> { } fn module(s: &str) -> nom::IResult<&str, ModuleID> { - let (input, (author, _, name)) = nom::sequence::tuple(( - token, - nom::bytes::complete::tag("/"), - token, - ))(s)?; - Ok((input, ModuleID { - author: author.to_string(), - name: name.to_string(), - })) + let (input, (author, _, name)) = + nom::sequence::tuple((token, nom::bytes::complete::tag("/"), token))(s)?; + Ok(( + input, + ModuleID { + author: author.to_string(), + name: name.to_string(), + }, + )) } #[inline] @@ -50,8 +50,8 @@ impl FromStr for ModuleID { type Err = Error; fn from_str(s: &str) -> Result { - let (trailing, module) = module(s) - .map_err(|err| anyhow!("Failed to parse module id: {:?}", err))?; + let (trailing, module) = + module(s).map_err(|err| anyhow!("Failed to parse module id: {:?}", err))?; if !trailing.is_empty() { bail!("Trailing data in module id"); } @@ -85,10 +85,13 @@ mod tests { #[test] fn verify_valid() { let result = ModuleID::from_str("kpcyrd/foo").expect("parse"); - assert_eq!(result, ModuleID { - author: "kpcyrd".to_string(), - name: "foo".to_string(), - }); + assert_eq!( + result, + ModuleID { + author: "kpcyrd".to_string(), + name: "foo".to_string(), + } + ); } #[test] diff --git a/sn0int-common/src/metadata/mod.rs b/sn0int-common/src/metadata/mod.rs index ad050e9..98ff634 100644 --- a/sn0int-common/src/metadata/mod.rs +++ b/sn0int-common/src/metadata/mod.rs @@ -158,8 +158,7 @@ impl FromStr for Metadata { type Err = Error; fn from_str(code: &str) -> Result { - let (_, lines) = metalines(code) - .map_err(|_| format_err!("Failed to parse header"))?; + let (_, lines) = metalines(code).map_err(|_| format_err!("Failed to parse header"))?; let mut data = NewMetadata::default(); @@ -194,24 +193,26 @@ pub struct NewMetadata<'a> { impl<'a> NewMetadata<'a> { fn try_from(self) -> Result { - let description = self.description.ok_or_else(|| format_err!("Description is required"))?; - let version = self.version.ok_or_else(|| format_err!("Version is required"))?; + let description = self + .description + .ok_or_else(|| format_err!("Description is required"))?; + let version = self + .version + .ok_or_else(|| format_err!("Version is required"))?; let source = match self.source { Some(x) => Some(x.parse()?), _ => None, }; - let keyring_access = self.keyring_access.into_iter() - .map(String::from) - .collect(); + let keyring_access = self.keyring_access.into_iter().map(String::from).collect(); let stealth = match self.stealth { Some(x) => x.parse()?, _ => Stealth::Normal, }; - let authors = self.authors.into_iter() - .map(String::from) - .collect(); + let authors = self.authors.into_iter().map(String::from).collect(); let repository = self.repository.map(String::from); - let license = self.license.ok_or_else(|| format_err!("License is required"))?; + let license = self + .license + .ok_or_else(|| format_err!("License is required"))?; let license = license.parse()?; Ok(Metadata { @@ -229,10 +230,7 @@ impl<'a> NewMetadata<'a> { fn metaline(input: &str) -> IResult<&str, (EntryType, &str)> { let (input, _) = tag("-- ")(input)?; - let (input, name) = map_res( - take_until(": "), - EntryType::from_str - )(input)?; + let (input, name) = map_res(take_until(": "), EntryType::from_str)(input)?; let (input, _) = tag(": ")(input)?; let (input, value) = take_until("\n")(input)?; let (input, _) = tag("\n")(input)?; @@ -241,14 +239,10 @@ fn metaline(input: &str) -> IResult<&str, (EntryType, &str)> { } fn metalines(input: &str) -> IResult<&str, Vec<(EntryType, &str)>> { - let (input, lines) = fold_many0( - metaline, - Vec::new, - |mut acc: Vec<_>, item| { - acc.push(item); - acc - } - )(input)?; + let (input, lines) = fold_many0(metaline, Vec::new, |mut acc: Vec<_>, item| { + acc.push(item); + acc + })(input)?; let (input, _) = tag("\n")(input)?; Ok((input, lines)) @@ -260,27 +254,34 @@ mod tests { #[test] fn verify_simple() { - let metadata = Metadata::from_str(r#"-- Description: Hello world, this is my description + let metadata = Metadata::from_str( + r#"-- Description: Hello world, this is my description -- Version: 1.0.0 -- Source: domains -- License: WTFPL -"#).expect("parse"); - assert_eq!(metadata, Metadata { - description: "Hello world, this is my description".to_string(), - version: "1.0.0".to_string(), - license: License::WTFPL, - source: Some(Source::Domains), - stealth: Stealth::Normal, - authors: vec![], - repository: None, - keyring_access: Vec::new(), - }); +"#, + ) + .expect("parse"); + assert_eq!( + metadata, + Metadata { + description: "Hello world, this is my description".to_string(), + version: "1.0.0".to_string(), + license: License::WTFPL, + source: Some(Source::Domains), + stealth: Stealth::Normal, + authors: vec![], + repository: None, + keyring_access: Vec::new(), + } + ); } #[test] fn verify_much_metadata() { - let metadata = Metadata::from_str(r#"-- Description: Hello world, this is my description + let metadata = Metadata::from_str( + r#"-- Description: Hello world, this is my description -- Version: 1.0.0 -- Source: domains -- Stealth: passive @@ -289,59 +290,74 @@ mod tests { -- Repository: https://github.com/kpcyrd/sn0int -- License: WTFPL -"#).expect("parse"); - assert_eq!(metadata, Metadata { - description: "Hello world, this is my description".to_string(), - version: "1.0.0".to_string(), - license: License::WTFPL, - source: Some(Source::Domains), - stealth: Stealth::Passive, - authors: vec![ - "kpcyrd ".to_string(), - "kpcyrd's cat".to_string(), - ], - repository: Some("https://github.com/kpcyrd/sn0int".to_string()), - keyring_access: Vec::new(), - }); +"#, + ) + .expect("parse"); + assert_eq!( + metadata, + Metadata { + description: "Hello world, this is my description".to_string(), + version: "1.0.0".to_string(), + license: License::WTFPL, + source: Some(Source::Domains), + stealth: Stealth::Passive, + authors: vec![ + "kpcyrd ".to_string(), + "kpcyrd's cat".to_string(), + ], + repository: Some("https://github.com/kpcyrd/sn0int".to_string()), + keyring_access: Vec::new(), + } + ); } #[test] fn verify_no_source() { - let metadata = Metadata::from_str(r#"-- Description: Hello world, this is my description + let metadata = Metadata::from_str( + r#"-- Description: Hello world, this is my description -- Version: 1.0.0 -- License: WTFPL -"#).expect("parse"); - assert_eq!(metadata, Metadata { - description: "Hello world, this is my description".to_string(), - version: "1.0.0".to_string(), - license: License::WTFPL, - source: None, - stealth: Stealth::Normal, - authors: vec![], - repository: None, - keyring_access: Vec::new(), - }); +"#, + ) + .expect("parse"); + assert_eq!( + metadata, + Metadata { + description: "Hello world, this is my description".to_string(), + version: "1.0.0".to_string(), + license: License::WTFPL, + source: None, + stealth: Stealth::Normal, + authors: vec![], + repository: None, + keyring_access: Vec::new(), + } + ); } #[test] fn verify_require_license() { - let metadata = Metadata::from_str(r#"-- Description: Hello world, this is my description + let metadata = Metadata::from_str( + r#"-- Description: Hello world, this is my description -- Version: 1.0.0 -- Source: domains -"#); +"#, + ); assert!(metadata.is_err()); } #[test] fn verify_require_opensource_license() { - let metadata = Metadata::from_str(r#"-- Description: Hello world, this is my description + let metadata = Metadata::from_str( + r#"-- Description: Hello world, this is my description -- Version: 1.0.0 -- Source: domains -- License: Proprietary -"#); +"#, + ); assert!(metadata.is_err()); } diff --git a/sn0int-common/src/metadata/stealth.rs b/sn0int-common/src/metadata/stealth.rs index 34c0a21..92f3fa0 100644 --- a/sn0int-common/src/metadata/stealth.rs +++ b/sn0int-common/src/metadata/stealth.rs @@ -1,5 +1,5 @@ -use clap::ValueEnum; use crate::errors::*; +use clap::ValueEnum; use serde::{Deserialize, Serialize}; use std::str::FromStr; @@ -14,12 +14,7 @@ pub enum Stealth { impl Stealth { #[inline] pub fn variants() -> &'static [&'static str] { - &[ - "loud", - "normal", - "passive", - "offline", - ] + &["loud", "normal", "passive", "offline"] } #[inline(always)] diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index db0c373..8cad28f 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -27,7 +27,7 @@ ct-logs = "0.7" chrootable-https = "0.16" http = "0.2" bufstream = "0.1.4" -pem = "1" +pem = "3" url = "2.0" tungstenite = { version = "0.13", default-features = false } kuchiki = "0.8.0" @@ -36,7 +36,7 @@ x509-parser = "0.13" der-parser = "8" publicsuffix = { version="2", default-features=false } xml-rs = "0.8" -geo = "0.23" +geo = "0.25" bytes = "0.4" chrono = { version = "0.4", features = ["serde"] } mqtt-protocol = "0.11" @@ -46,12 +46,12 @@ image = "0.23" kamadak-exif = "0.5.1" img_hash_median = "4.0.0" -bs58 = "0.4" +bs58 = "0.5" digest = "0.10" blake2 = "0.10" data-encoding = "2.3.3" thiserror = "1.0.38" [dev-dependencies] -env_logger = "0.9" +env_logger = "0.10" maplit = "1.0.1" diff --git a/sn0int-std/src/blobs.rs b/sn0int-std/src/blobs.rs index 59b8323..0571d51 100644 --- a/sn0int-std/src/blobs.rs +++ b/sn0int-std/src/blobs.rs @@ -15,10 +15,7 @@ pub struct Blob { impl Blob { pub fn create(bytes: Bytes) -> Blob { let id = Self::hash(&bytes); - Blob { - id, - bytes, - } + Blob { id, bytes } } pub fn hash(bytes: &[u8]) -> String { @@ -53,8 +50,7 @@ impl<'de> Deserialize<'de> for Blob { D: Deserializer<'de>, { let s = String::deserialize(deserializer)?; - let bytes = BASE64.decode(s.as_bytes()) - .map_err(de::Error::custom)?; + let bytes = BASE64.decode(s.as_bytes()).map_err(de::Error::custom)?; Ok(Blob::create(Bytes::from(bytes))) } } @@ -63,7 +59,6 @@ pub trait BlobState { fn register_blob(&self, blob: Blob) -> String; } - #[cfg(test)] mod tests { use super::*; @@ -78,10 +73,13 @@ mod tests { #[test] fn verify_create_blob() { let (bytes, blob) = blob(); - assert_eq!(blob, Blob { - id: String::from("DTTV3EjpHBNJx3Zw7eJsVPm4bYXKmNkJQpVNkcvTtTSz"), - bytes, - }); + assert_eq!( + blob, + Blob { + id: String::from("DTTV3EjpHBNJx3Zw7eJsVPm4bYXKmNkJQpVNkcvTtTSz"), + bytes, + } + ); } #[test] diff --git a/sn0int-std/src/crt.rs b/sn0int-std/src/crt.rs index de4da74..7ff58dc 100644 --- a/sn0int-std/src/crt.rs +++ b/sn0int-std/src/crt.rs @@ -1,11 +1,11 @@ use crate::errors::*; -use serde::{Serialize, Deserialize}; +use serde::{Deserialize, Serialize}; use std::collections::HashSet; use std::net::IpAddr; -use x509_parser::x509::X509Version; use x509_parser::certificate::X509Certificate; use x509_parser::extensions::{GeneralName, ParsedExtension}; use x509_parser::prelude::*; +use x509_parser::x509::X509Version; #[derive(Debug, PartialEq, Serialize, Deserialize)] pub struct Certificate { @@ -25,7 +25,7 @@ impl Certificate { bail!("input is not a certificate"); } pem - }, + } Err(_) => bail!("Failed to parse pem"), }; Certificate::from_bytes(&pem.contents) @@ -41,7 +41,7 @@ impl Certificate { bail!("unexpected certificate version"); } der - }, + } Err(_) => bail!("Failed to parse der"), }; @@ -63,28 +63,26 @@ impl Certificate { match name { GeneralName::DNSName(v) => { valid_names.insert(v.to_string()); - }, + } GeneralName::RFC822Name(v) => { valid_emails.insert(v.to_string()); - }, + } GeneralName::IPAddress(v) => { let ip = match v.len() { 4 => Some(IpAddr::from([v[0], v[1], v[2], v[3]])), 16 => Some(IpAddr::from([ - v[0], v[1], v[2], v[3], - v[4], v[5], v[6], v[7], - v[8], v[9], v[10], v[11], - v[12], v[13], v[14], v[15], + v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], + v[10], v[11], v[12], v[13], v[14], v[15], ])), _ => { info!("Certificate is valid for invalid ip address: {:?}", v); None - }, + } }; if let Some(ip) = ip { valid_ipaddrs.insert(ip); } - }, + } _ => (), } } @@ -108,7 +106,8 @@ mod tests { #[test] fn test_parse_pem_github() { - let mut x = Certificate::parse_pem(r#"-----BEGIN CERTIFICATE----- + let mut x = Certificate::parse_pem( + r#"-----BEGIN CERTIFICATE----- MIIHQjCCBiqgAwIBAgIQCgYwQn9bvO1pVzllk7ZFHzANBgkqhkiG9w0BAQsFADB1 MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMTQwMgYDVQQDEytEaWdpQ2VydCBTSEEyIEV4dGVuZGVk @@ -149,18 +148,24 @@ Kqg6LK0Hcq4K0sZnxE8HFxiZ92WpV2AVWjRMEc/2z2shNoDvxvFUYyY1Oe67xINk myQKc+ygSBZzyLnXSFVWmHr3u5dcaaQGGAR42v6Ydr4iL38Hd4dOiBma+FXsXBIq WUjbST4VXmdaol7uzFMojA4zkxQDZAvF5XgJlAFadfySna/teik= -----END CERTIFICATE----- -"#).expect("Failed to parse cert"); +"#, + ) + .expect("Failed to parse cert"); x.valid_names.sort(); - assert_eq!(x, Certificate { - valid_names: vec!["github.com".into(), "www.github.com".into()], - valid_emails: vec![], - valid_ipaddrs: vec![], - }); + assert_eq!( + x, + Certificate { + valid_names: vec!["github.com".into(), "www.github.com".into()], + valid_emails: vec![], + valid_ipaddrs: vec![], + } + ); } #[test] fn test_parse_pem_1_1_1_1() { - let mut x = Certificate::parse_pem(r#"-----BEGIN CERTIFICATE----- + let mut x = Certificate::parse_pem( + r#"-----BEGIN CERTIFICATE----- MIID9DCCA3qgAwIBAgIQBWzetBRl/ycHFsBukRYuGTAKBggqhkjOPQQDAjBMMQsw CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMSYwJAYDVQQDEx1EaWdp Q2VydCBFQ0MgU2VjdXJlIFNlcnZlciBDQTAeFw0xODAzMzAwMDAwMDBaFw0yMDAz @@ -184,27 +189,30 @@ ADBlAjEAjoyy2Ogh1i1/Kh9+psMc1OChlQIvQF6AkojZS8yliar6m8q5nqC3qe0h HR0fExwLAjAueWRnHX4QJ9loqMhsPk3NB0Cs0mStsNDNG6/DpCYw7XmjoG3y1LS7 ZkZZmqNn2Q8= -----END CERTIFICATE----- -"#).expect("Failed to parse cert"); +"#, + ) + .expect("Failed to parse cert"); x.valid_names.sort(); x.valid_ipaddrs.sort(); - assert_eq!(x, Certificate { - valid_names: vec![ - "*.cloudflare-dns.com".into(), - "cloudflare-dns.com".into(), - ], - valid_emails: vec![], - valid_ipaddrs: vec![ - "1.0.0.1".parse().unwrap(), - "1.1.1.1".parse().unwrap(), - "2606:4700:4700::1001".parse().unwrap(), - "2606:4700:4700::1111".parse().unwrap(), - ], - }); + assert_eq!( + x, + Certificate { + valid_names: vec!["*.cloudflare-dns.com".into(), "cloudflare-dns.com".into(),], + valid_emails: vec![], + valid_ipaddrs: vec![ + "1.0.0.1".parse().unwrap(), + "1.1.1.1".parse().unwrap(), + "2606:4700:4700::1001".parse().unwrap(), + "2606:4700:4700::1111".parse().unwrap(), + ], + } + ); } #[test] fn test_long_san_extension() { - let mut x = Certificate::parse_pem(r#"-----BEGIN CERTIFICATE----- + let mut x = Certificate::parse_pem( + r#"-----BEGIN CERTIFICATE----- MIII3jCCB8agAwIBAgIQAp1dOviF3mpYKKObx4fjxjANBgkqhkiG9w0BAQsFADBe MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMR0wGwYDVQQDExRHZW9UcnVzdCBSU0EgQ0EgMjAxODAe @@ -254,56 +262,62 @@ mAlnYDoB0Mj2UIPvIeftkDfF6sURmmZb0/+AMbFDCQYHvZFPI8DFgcagy8og5XJZ gQ+70UdJdM3RWyrd9R66aZwNGkcS6C2wtKCRhztWDMru/wNuyOsYS6JttoTYxRsh z/6Vy8Ga9kigYVsa8ZFMR+Ex -----END CERTIFICATE----- -"#).expect("Failed to parse cert"); +"#, + ) + .expect("Failed to parse cert"); x.valid_names.sort(); x.valid_ipaddrs.sort(); - assert_eq!(x, Certificate { - valid_names: vec![ - "aboutyou.de".into(), - "assets.aboutyou.de".into(), - "cdn.aboutstatic.com".into(), - "cdn.aboutyou-staging.de".into(), - "cdn.aboutyou.de".into(), - "cdn.edited.de".into(), - "cdn.mary-paul.de".into(), - "cdn.youandidol.de".into(), - "cdn1.aboutyou.de".into(), - "cdn2.aboutyou.de".into(), - "cdn3.aboutyou.de".into(), - "cdn4.aboutyou.de".into(), - "cdn5.aboutyou.de".into(), - "co-m.aboutyou.de".into(), - "co-mapp.aboutyou.de".into(), - "co-t.aboutyou.de".into(), - "co.aboutyou.de".into(), - "edited.de".into(), - "files.aboutstatic.com".into(), - "images.aboutstatic.com".into(), - "img.aboutstatic.com".into(), - "img.aboutyou.de".into(), - "m-assets.aboutyou.de".into(), - "m.aboutyou.de".into(), - "media.aboutyou.de".into(), - "static.aboutyou.de".into(), - "static1.aboutyou.de".into(), - "static2.aboutyou.de".into(), - "static3.aboutyou.de".into(), - "static4.aboutyou.de".into(), - "static5.aboutyou.de".into(), - "staticmail-cdn.aboutyou.de".into(), - "t.aboutyou.de".into(), - "witt-weiden.dam.acme.aboutyou.cloud".into(), - "witt-weiden.dam.staging.aboutyou.cloud".into(), - "www.aboutyou.de".into(), - ], - valid_emails: vec![], - valid_ipaddrs: vec![], - }); + assert_eq!( + x, + Certificate { + valid_names: vec![ + "aboutyou.de".into(), + "assets.aboutyou.de".into(), + "cdn.aboutstatic.com".into(), + "cdn.aboutyou-staging.de".into(), + "cdn.aboutyou.de".into(), + "cdn.edited.de".into(), + "cdn.mary-paul.de".into(), + "cdn.youandidol.de".into(), + "cdn1.aboutyou.de".into(), + "cdn2.aboutyou.de".into(), + "cdn3.aboutyou.de".into(), + "cdn4.aboutyou.de".into(), + "cdn5.aboutyou.de".into(), + "co-m.aboutyou.de".into(), + "co-mapp.aboutyou.de".into(), + "co-t.aboutyou.de".into(), + "co.aboutyou.de".into(), + "edited.de".into(), + "files.aboutstatic.com".into(), + "images.aboutstatic.com".into(), + "img.aboutstatic.com".into(), + "img.aboutyou.de".into(), + "m-assets.aboutyou.de".into(), + "m.aboutyou.de".into(), + "media.aboutyou.de".into(), + "static.aboutyou.de".into(), + "static1.aboutyou.de".into(), + "static2.aboutyou.de".into(), + "static3.aboutyou.de".into(), + "static4.aboutyou.de".into(), + "static5.aboutyou.de".into(), + "staticmail-cdn.aboutyou.de".into(), + "t.aboutyou.de".into(), + "witt-weiden.dam.acme.aboutyou.cloud".into(), + "witt-weiden.dam.staging.aboutyou.cloud".into(), + "www.aboutyou.de".into(), + ], + valid_emails: vec![], + valid_ipaddrs: vec![], + } + ); } #[test] fn test_san_email() { - let mut x = Certificate::parse_pem(r#"-----BEGIN CERTIFICATE----- + let mut x = Certificate::parse_pem( + r#"-----BEGIN CERTIFICATE----- MIIE5zCCA8+gAwIBAgIQBvsKfZ5AGSW3Vc8Ldto1hTANBgkqhkiG9w0BAQUFADBp MSQwIgYJKoZIhvcNAQkBFhVwa2lfYWRtaW5Ac3VuZ2FyZC5jb20xJjAkBgNVBAoT HVN1bkdhcmQgQXZhaWxhYmlsaXR5IFNlcnZpY2VzMRkwFwYDVQQDExBTQVMgUHVi @@ -332,18 +346,19 @@ K4f9GAOcawvNsI//mx99ol/ZGEamydeL9G0qiKrhqSxd2TGmFaIVJdu9fh59hos4 UT+11L6q7MSIXSIMV8kJSUUYE92P7bnAqViTIuu/hHnfmIhiy6t7AuT2QHEhqDab EF4l5MwdUqs8FvM= -----END CERTIFICATE----- -"#).expect("Failed to parse cert"); +"#, + ) + .expect("Failed to parse cert"); x.valid_names.sort(); x.valid_emails.sort(); x.valid_ipaddrs.sort(); - assert_eq!(x, Certificate { - valid_names: vec![ - "*.hosted.jivesoftware.com".into(), - ], - valid_emails: vec![ - "subjectname@example.com".into(), - ], - valid_ipaddrs: vec![], - }); + assert_eq!( + x, + Certificate { + valid_names: vec!["*.hosted.jivesoftware.com".into(),], + valid_emails: vec!["subjectname@example.com".into(),], + valid_ipaddrs: vec![], + } + ); } } diff --git a/sn0int-std/src/crypto.rs b/sn0int-std/src/crypto.rs index 13727c6..9860701 100644 --- a/sn0int-std/src/crypto.rs +++ b/sn0int-std/src/crypto.rs @@ -17,8 +17,7 @@ pub fn sodium_secretbox_open(encrypted: &[u8], key: &[u8]) -> Result> { bail!("Encrypted message is too short"); } - let key = Key::from_slice(key) - .ok_or_else(|| format_err!("Key has wrong length"))?; + let key = Key::from_slice(key).ok_or_else(|| format_err!("Key has wrong length"))?; let nonce = Nonce::from_slice(&encrypted[..secretbox::NONCEBYTES]) .ok_or_else(|| format_err!("Nonce has wrong length"))?; let ciphertext = &encrypted[secretbox::NONCEBYTES..]; diff --git a/sn0int-std/src/engine/structs.rs b/sn0int-std/src/engine/structs.rs index 2947277..a87a553 100644 --- a/sn0int-std/src/engine/structs.rs +++ b/sn0int-std/src/engine/structs.rs @@ -1,13 +1,13 @@ use crate::errors::*; -use crate::hlua::{AnyHashableLuaValue, AnyLuaValue, AnyLuaString}; -use std::collections::{self, HashMap}; +use crate::hlua::{AnyHashableLuaValue, AnyLuaString, AnyLuaValue}; use crate::json::LuaJsonValue; +use std::collections::{self, HashMap}; pub fn from_lua(x: LuaJsonValue) -> Result - where for<'de> T: serde::Deserialize<'de> +where + for<'de> T: serde::Deserialize<'de>, { - serde_json::from_value(x.into()) - .map_err(Error::from) + serde_json::from_value(x.into()).map_err(Error::from) } #[derive(Debug, Default)] @@ -26,22 +26,32 @@ impl LuaMap { #[inline] pub fn insert, V: Into>(&mut self, k: K, v: V) { - self.0.insert(AnyHashableLuaValue::LuaString(k.into()), v.into()); + self.0 + .insert(AnyHashableLuaValue::LuaString(k.into()), v.into()); } #[inline] pub fn insert_str, V: Into>(&mut self, k: K, v: V) { - self.0.insert(AnyHashableLuaValue::LuaString(k.into()), AnyLuaValue::LuaString(v.into())); + self.0.insert( + AnyHashableLuaValue::LuaString(k.into()), + AnyLuaValue::LuaString(v.into()), + ); } #[inline] pub fn insert_num>(&mut self, k: K, v: f64) { - self.0.insert(AnyHashableLuaValue::LuaString(k.into()), AnyLuaValue::LuaNumber(v)); + self.0.insert( + AnyHashableLuaValue::LuaString(k.into()), + AnyLuaValue::LuaNumber(v), + ); } pub fn insert_serde, S: serde::Serialize>(&mut self, k: K, v: S) -> Result<()> { let v = serde_json::to_value(v)?; - self.0.insert(AnyHashableLuaValue::LuaString(k.into()), LuaJsonValue::from(v).into()); + self.0.insert( + AnyHashableLuaValue::LuaString(k.into()), + LuaJsonValue::from(v).into(), + ); Ok(()) } } @@ -102,7 +112,7 @@ impl From for AnyLuaValue { _ => None, // TODO: unknown types are discarded } }) - .collect() + .collect(), ) } } @@ -146,17 +156,20 @@ pub fn byte_array(bytes: AnyLuaValue) -> Result> { match bytes { AnyLuaValue::LuaAnyString(bytes) => Ok(bytes.0), AnyLuaValue::LuaString(bytes) => Ok(bytes.into_bytes()), - AnyLuaValue::LuaArray(bytes) => { - Ok(bytes.into_iter() - .map(|num| match num.1 { - AnyLuaValue::LuaNumber(num) if (0.0..=255.0).contains(&num) && (num % 1.0 == 0.0) => - Ok(num as u8), - AnyLuaValue::LuaNumber(num) => - Err(format_err!("number is out of range: {:?}", num)), - _ => Err(format_err!("unexpected type: {:?}", num)), - }) - .collect::>()?) - }, + AnyLuaValue::LuaArray(bytes) => Ok(bytes + .into_iter() + .map(|num| match num.1 { + AnyLuaValue::LuaNumber(num) + if (0.0..=255.0).contains(&num) && (num % 1.0 == 0.0) => + { + Ok(num as u8) + } + AnyLuaValue::LuaNumber(num) => { + Err(format_err!("number is out of range: {:?}", num)) + } + _ => Err(format_err!("unexpected type: {:?}", num)), + }) + .collect::>()?), _ => Err(format_err!("invalid type: {:?}", bytes)), } } diff --git a/sn0int-std/src/geo.rs b/sn0int-std/src/geo.rs index ec3f99c..32901ce 100644 --- a/sn0int-std/src/geo.rs +++ b/sn0int-std/src/geo.rs @@ -1,8 +1,8 @@ use crate::errors::*; use crate::hlua::AnyLuaValue; use crate::json::LuaJsonValue; -use geo::{LineString, Polygon, Coord}; use geo::prelude::*; +use geo::{Coord, LineString, Polygon}; use serde::Deserialize; #[derive(Debug, Deserialize)] @@ -20,7 +20,8 @@ impl Point { } pub fn polygon_contains(ring: &[Point], p: &Point) -> bool { - let ring = ring.iter() + let ring = ring + .iter() .map(|p| Coord { x: p.lon, y: p.lat }) .collect::>(); @@ -36,75 +37,210 @@ mod tests { fn hamburg_polygon() -> &'static [Point] { &[ - Point { lat: 53.63975308945899, lon: 9.764785766601562 }, - Point { lat: 53.59494998253459, lon: 9.827270507812 }, - Point { lat: 53.663153974456456, lon: 9.9151611328125 }, - Point { lat: 53.65582987649682, lon: 9.976272583007812 }, - Point { lat: 53.68613523817129, lon: 9.992752075195312 }, - Point { lat: 53.68674518938816, lon: 10.051460266113281 }, - Point { lat: 53.72495117617815, lon: 10.075492858886719 }, - Point { lat: 53.71946627930625, lon: 10.118408203125 }, - Point { lat: 53.743635083157756, lon: 10.164413452148438 }, - Point { lat: 53.73104466704585, lon: 10.202865600585938 }, - Point { lat: 53.676781546441546, lon: 10.16304016113281 }, - Point { lat: 53.632832079199474, lon: 10.235824584960938 }, - Point { lat: 53.608803292930894, lon: 10.2008056640625 }, - Point { lat: 53.578646152866504, lon: 10.208358764648438 }, - Point { lat: 53.57212285981298, lon: 10.163726806640625 }, - Point { lat: 53.52071674896369, lon: 10.18707275390625 }, - Point { lat: 53.52643162253097, lon: 10.224151611328125 }, - Point { lat: 53.44062753992289, lon: 10.347747802734375 }, - Point { lat: 53.38824275010831, lon: 10.248870849609375 }, - Point { lat: 53.38824275010831, lon: 10.15960693359375 }, - Point { lat: 53.44635321212876, lon: 10.064849853515625 }, - Point { lat: 53.40595029739904, lon: 9.985198974609375 }, - Point { lat: 53.42385506057106, lon: 9.951210021972656 }, - Point { lat: 53.41843327091211, lon: 9.944171905517578 }, - Point { lat: 53.41812635648326, lon: 9.927349090576172 }, - Point { lat: 53.412294561442884, lon: 9.917736053466797 }, - Point { lat: 53.41464783813818, lon: 9.901256561279297 }, - Point { lat: 53.443490472483326, lon: 9.912586212158201 }, - Point { lat: 53.45177144115704, lon: 9.897651672363281 }, - Point { lat: 53.43633277935392, lon: 9.866924285888672 }, - Point { lat: 53.427639673754776, lon: 9.866409301757812 }, - Point { lat: 53.427639673754776, lon: 9.858856201171875 }, - Point { lat: 53.46710230573499, lon: 9.795513153076172 }, - Point { lat: 53.49039461941655, lon: 9.795341491699219 }, - Point { lat: 53.49029248806277, lon: 9.77903366088867 }, - Point { lat: 53.49856433088649, lon: 9.780235290527344 }, - Point { lat: 53.5078554643033, lon: 9.758434295654297 }, - Point { lat: 53.545407634092975, lon: 9.759807586669922 }, - Point { lat: 53.568147234570084, lon: 9.633293151855469 }, - Point { lat: 53.58802162343514, lon: 9.655780792236328 }, - Point { lat: 53.568351121879815, lon: 9.727706909179688 }, - Point { lat: 53.60921067445695, lon: 9.737663269042969 }, + Point { + lat: 53.63975308945899, + lon: 9.764785766601562, + }, + Point { + lat: 53.59494998253459, + lon: 9.827270507812, + }, + Point { + lat: 53.663153974456456, + lon: 9.9151611328125, + }, + Point { + lat: 53.65582987649682, + lon: 9.976272583007812, + }, + Point { + lat: 53.68613523817129, + lon: 9.992752075195312, + }, + Point { + lat: 53.68674518938816, + lon: 10.051460266113281, + }, + Point { + lat: 53.72495117617815, + lon: 10.075492858886719, + }, + Point { + lat: 53.71946627930625, + lon: 10.118408203125, + }, + Point { + lat: 53.743635083157756, + lon: 10.164413452148438, + }, + Point { + lat: 53.73104466704585, + lon: 10.202865600585938, + }, + Point { + lat: 53.676781546441546, + lon: 10.16304016113281, + }, + Point { + lat: 53.632832079199474, + lon: 10.235824584960938, + }, + Point { + lat: 53.608803292930894, + lon: 10.2008056640625, + }, + Point { + lat: 53.578646152866504, + lon: 10.208358764648438, + }, + Point { + lat: 53.57212285981298, + lon: 10.163726806640625, + }, + Point { + lat: 53.52071674896369, + lon: 10.18707275390625, + }, + Point { + lat: 53.52643162253097, + lon: 10.224151611328125, + }, + Point { + lat: 53.44062753992289, + lon: 10.347747802734375, + }, + Point { + lat: 53.38824275010831, + lon: 10.248870849609375, + }, + Point { + lat: 53.38824275010831, + lon: 10.15960693359375, + }, + Point { + lat: 53.44635321212876, + lon: 10.064849853515625, + }, + Point { + lat: 53.40595029739904, + lon: 9.985198974609375, + }, + Point { + lat: 53.42385506057106, + lon: 9.951210021972656, + }, + Point { + lat: 53.41843327091211, + lon: 9.944171905517578, + }, + Point { + lat: 53.41812635648326, + lon: 9.927349090576172, + }, + Point { + lat: 53.412294561442884, + lon: 9.917736053466797, + }, + Point { + lat: 53.41464783813818, + lon: 9.901256561279297, + }, + Point { + lat: 53.443490472483326, + lon: 9.912586212158201, + }, + Point { + lat: 53.45177144115704, + lon: 9.897651672363281, + }, + Point { + lat: 53.43633277935392, + lon: 9.866924285888672, + }, + Point { + lat: 53.427639673754776, + lon: 9.866409301757812, + }, + Point { + lat: 53.427639673754776, + lon: 9.858856201171875, + }, + Point { + lat: 53.46710230573499, + lon: 9.795513153076172, + }, + Point { + lat: 53.49039461941655, + lon: 9.795341491699219, + }, + Point { + lat: 53.49029248806277, + lon: 9.77903366088867, + }, + Point { + lat: 53.49856433088649, + lon: 9.780235290527344, + }, + Point { + lat: 53.5078554643033, + lon: 9.758434295654297, + }, + Point { + lat: 53.545407634092975, + lon: 9.759807586669922, + }, + Point { + lat: 53.568147234570084, + lon: 9.633293151855469, + }, + Point { + lat: 53.58802162343514, + lon: 9.655780792236328, + }, + Point { + lat: 53.568351121879815, + lon: 9.727706909179688, + }, + Point { + lat: 53.60921067445695, + lon: 9.737663269042969, + }, ] } #[test] fn test_polygon_hamburg_contains_hamburg() { - let contains = polygon_contains(hamburg_polygon(), &Point { - lat: 53.551085, - lon: 9.993682, - }); + let contains = polygon_contains( + hamburg_polygon(), + &Point { + lat: 53.551085, + lon: 9.993682, + }, + ); assert!(contains); } #[test] fn test_polygon_hamburg_not_contains_berlin() { - let contains = polygon_contains(hamburg_polygon(), &Point { - lat: 52.52437, - lon: 13.41053, - }); + let contains = polygon_contains( + hamburg_polygon(), + &Point { + lat: 52.52437, + lon: 13.41053, + }, + ); assert!(!contains); } #[test] fn test_polygon_hamburg_not_contains_ny() { - let contains = polygon_contains(hamburg_polygon(), &Point { - lat: 40.726662, - lon: -74.036677, - }); + let contains = polygon_contains( + hamburg_polygon(), + &Point { + lat: 40.726662, + lon: -74.036677, + }, + ); assert!(!contains); } } diff --git a/sn0int-std/src/geoip/mod.rs b/sn0int-std/src/geoip/mod.rs index 6daa717..8d2088b 100644 --- a/sn0int-std/src/geoip/mod.rs +++ b/sn0int-std/src/geoip/mod.rs @@ -3,15 +3,14 @@ use crate::lazy::LazyInit; use maxminddb::{self, geoip2}; use std::fmt; use std::fs::{self, File}; +use std::io::Read; use std::net::IpAddr; use std::path::{Path, PathBuf}; -use std::io::Read; use std::sync::Arc; pub mod models; -use self::models::GeoLookup; use self::models::AsnLookup; - +use self::models::GeoLookup; pub trait Maxmind: Sized { fn filename() -> &'static str; @@ -37,14 +36,13 @@ pub trait Maxmind: Sized { } // use cache path - let path = cache_dir - .join(Self::filename()); + let path = cache_dir.join(Self::filename()); Ok(path) } fn from_buf(buf: Vec) -> Result { - let reader = maxminddb::Reader::from_source(buf) - .context("Failed to read geoip database")?; + let reader = + maxminddb::Reader::from_source(buf).context("Failed to read geoip database")?; Ok(Self::new(reader)) } @@ -72,9 +70,7 @@ pub struct MaxmindReader { impl MaxmindReader { fn open_path>(path: P) -> Result { let reader = File::open(path)?; - Ok(MaxmindReader { - reader, - }) + Ok(MaxmindReader { reader }) } } @@ -118,9 +114,7 @@ impl Maxmind for GeoIP { #[inline] fn new(reader: maxminddb::Reader>) -> Self { - GeoIP { - reader - } + GeoIP { reader } } } @@ -150,9 +144,7 @@ impl Maxmind for AsnDB { #[inline] fn new(reader: maxminddb::Reader>) -> Self { - AsnDB { - reader - } + AsnDB { reader } } } diff --git a/sn0int-std/src/geoip/models.rs b/sn0int-std/src/geoip/models.rs index d812cfa..5f289f2 100644 --- a/sn0int-std/src/geoip/models.rs +++ b/sn0int-std/src/geoip/models.rs @@ -134,9 +134,11 @@ pub struct AsnLookup { impl AsnLookup { pub fn try_from(lookup: geoip2::Isp) -> Result { // parse maxminddb lookup - let asn = lookup.autonomous_system_number + let asn = lookup + .autonomous_system_number .ok_or_else(|| format_err!("autonomous_system_number not set"))?; - let as_org = lookup.autonomous_system_organization + let as_org = lookup + .autonomous_system_organization .ok_or_else(|| format_err!("autonomous_system_organization not set"))?; Ok(AsnLookup { diff --git a/sn0int-std/src/gfx/exif.rs b/sn0int-std/src/gfx/exif.rs index 269df2e..1594d12 100644 --- a/sn0int-std/src/gfx/exif.rs +++ b/sn0int-std/src/gfx/exif.rs @@ -1,5 +1,5 @@ use crate::errors::*; -use serde::{Serialize, Deserialize}; +use serde::{Deserialize, Serialize}; use std::io; #[derive(Debug, PartialEq, Serialize, Deserialize)] @@ -9,7 +9,7 @@ pub struct Location { } impl Location { - fn try_from_iter<'a, I: IntoIterator>(iter: I) -> Result { + fn try_from_iter<'a, I: IntoIterator>(iter: I) -> Result { let mut builder = LocationBuilder::default(); for f in iter { debug!("Exif field: {:?}", f.display_value().to_string()); @@ -31,8 +31,12 @@ impl LocationBuilder { fn add_one(&mut self, f: &exif::Field) -> Result<()> { debug!("Exif tag: {:?}, {}", f.tag, f.value.display_as(f.tag)); match f.tag { - exif::Tag::GPSLatitudeRef => self.latitude_ref = Some(cardinal_direction_modifier(&f.value)?), - exif::Tag::GPSLongitudeRef => self.longitude_ref = Some(cardinal_direction_modifier(&f.value)?), + exif::Tag::GPSLatitudeRef => { + self.latitude_ref = Some(cardinal_direction_modifier(&f.value)?) + } + exif::Tag::GPSLongitudeRef => { + self.longitude_ref = Some(cardinal_direction_modifier(&f.value)?) + } exif::Tag::GPSLatitude => self.latitude = Some(dms_to_float(&f.value)?), exif::Tag::GPSLongitude => self.longitude = Some(dms_to_float(&f.value)?), _ => (), @@ -41,14 +45,18 @@ impl LocationBuilder { } fn build(self) -> Result { - let latitude = self.latitude + let latitude = self + .latitude .ok_or_else(|| format_err!("Missing latitude field"))?; - let latitude_ref = self.latitude_ref + let latitude_ref = self + .latitude_ref .ok_or_else(|| format_err!("Missing latitude field"))?; - let longitude = self.longitude + let longitude = self + .longitude .ok_or_else(|| format_err!("Missing latitude field"))?; - let longitude_ref = self.longitude_ref + let longitude_ref = self + .longitude_ref .ok_or_else(|| format_err!("Missing latitude field"))?; Ok(Location { @@ -60,8 +68,7 @@ impl LocationBuilder { pub fn gps(img: &[u8]) -> Result> { let mut buf = io::Cursor::new(img); - let reader = exif::Reader::new() - .read_from_container(&mut buf)?; + let reader = exif::Reader::new().read_from_container(&mut buf)?; let fields = reader.fields(); let location = Location::try_from_iter(fields).ok(); @@ -82,7 +89,7 @@ pub fn dms_to_float(dms: &exif::Value) -> Result { let minutes = dms[1].to_f64(); let seconds = dms[2].to_f64(); - let float = degrees + minutes/60.0 + seconds/3600.0; + let float = degrees + minutes / 60.0 + seconds / 3600.0; let float = (float * 1000000.0).round() / 1000000.0; Ok(float) } @@ -90,7 +97,8 @@ pub fn dms_to_float(dms: &exif::Value) -> Result { pub fn cardinal_direction_modifier(value: &exif::Value) -> Result { match value { exif::Value::Ascii(s) => { - let s = s.get(0) + let s = s + .get(0) .ok_or_else(|| format_err!("Cardinal direction value is empty"))?; match s.first() { @@ -100,7 +108,7 @@ pub fn cardinal_direction_modifier(value: &exif::Value) -> Result { Some(b'W') => Ok(-1.0), _ => bail!("Unexpected cardinal direction"), } - }, + } _ => bail!("Unexpected exif value"), } } @@ -119,60 +127,62 @@ mod tests { tag: exif::Tag::GPSLatitudeRef, ifd_num: exif::In::PRIMARY, value: exif::Value::Ascii(vec![vec![b'N']]), - }, exif::Field { + }, + exif::Field { tag: exif::Tag::GPSLongitudeRef, ifd_num: exif::In::PRIMARY, value: exif::Value::Ascii(vec![vec![b'E']]), - }, exif::Field { + }, + exif::Field { tag: exif::Tag::GPSLatitude, ifd_num: exif::In::PRIMARY, - value: exif::Value::Rational(vec![exif::Rational { - num: 43, - denom: 1, - }, exif::Rational { - num: 28, - denom: 1, - }, exif::Rational { - num: 176399999, - denom: 100000000, - }]), - }, exif::Field { + value: exif::Value::Rational(vec![ + exif::Rational { num: 43, denom: 1 }, + exif::Rational { num: 28, denom: 1 }, + exif::Rational { + num: 176399999, + denom: 100000000, + }, + ]), + }, + exif::Field { tag: exif::Tag::GPSLongitude, ifd_num: exif::In::PRIMARY, - value: exif::Value::Rational(vec![exif::Rational { - num: 11, - denom: 1, - }, exif::Rational { - num: 53, - denom: 1, - }, exif::Rational { - num: 742199999, - denom: 100000000, - }]), + value: exif::Value::Rational(vec![ + exif::Rational { num: 11, denom: 1 }, + exif::Rational { num: 53, denom: 1 }, + exif::Rational { + num: 742199999, + denom: 100000000, + }, + ]), }, - ]).unwrap(); + ]) + .unwrap(); println!("{:?}", location); - assert_eq!(location, Location { - latitude: 43.467157, - longitude: 11.885395 - }); + assert_eq!( + location, + Location { + latitude: 43.467157, + longitude: 11.885395 + } + ); } #[test] fn verify_dms() { test_init(); - let latitude = dms_to_float(&exif::Value::Rational(vec![exif::Rational { - num: 43, - denom: 1, - }, exif::Rational { - num: 28, - denom: 1, - }, exif::Rational { - num: 176399999, - denom: 100000000, - }])).unwrap(); + let latitude = dms_to_float(&exif::Value::Rational(vec![ + exif::Rational { num: 43, denom: 1 }, + exif::Rational { num: 28, denom: 1 }, + exif::Rational { + num: 176399999, + denom: 100000000, + }, + ])) + .unwrap(); assert_eq!(latitude, 43.467157); } diff --git a/sn0int-std/src/gfx/mod.rs b/sn0int-std/src/gfx/mod.rs index 03a7770..9d1e90c 100644 --- a/sn0int-std/src/gfx/mod.rs +++ b/sn0int-std/src/gfx/mod.rs @@ -4,7 +4,6 @@ pub use img_hash_median::HashAlg; pub mod exif; - #[derive(Debug)] pub enum ImageFormat { Png, @@ -108,10 +107,7 @@ pub fn load(buf: &[u8]) -> Result { let image = image::load_from_memory_with_format(buf, img_format)?; - Ok(Image { - image, - format, - }) + Ok(Image { image, format }) } #[cfg(test)] diff --git a/sn0int-std/src/html.rs b/sn0int-std/src/html.rs index 8855cc7..c0fa8e0 100644 --- a/sn0int-std/src/html.rs +++ b/sn0int-std/src/html.rs @@ -41,14 +41,10 @@ fn transform_element(entry: &kuchiki::NodeDataRef) -> Elem Err(_) => { debug!("html serialize failed"); String::new() - }, + } }; - Element { - attrs, - text, - html, - } + Element { attrs, text, html } } pub fn html_select(html: &str, selector: &str) -> Result { @@ -95,7 +91,6 @@ pub fn html_form(html: &str) -> Result> { Ok(form) } - #[cfg(test)] mod tests { use super::*; @@ -104,9 +99,10 @@ mod tests { #[test] fn test_html_select() { let elems = html_select(r#"
content
"#, "#yey").unwrap(); - assert_eq!(elems, + assert_eq!( + elems, Element { - attrs: hashmap!{ + attrs: hashmap! { "id".into() => "yey".into(), }, text: "content".into(), @@ -117,15 +113,17 @@ mod tests { #[test] fn test_html_select_list() { - let elems = html_select_list(r#"
content
"#, "#yey").unwrap(); - assert_eq!(elems, vec![ - Element { - attrs: hashmap!{ + let elems = + html_select_list(r#"
content
"#, "#yey").unwrap(); + assert_eq!( + elems, + vec![Element { + attrs: hashmap! { "id".into() => "yey".into(), }, text: "content".into(), html: r#"
content
"#.into(), - } - ]); + }] + ); } } diff --git a/sn0int-std/src/json.rs b/sn0int-std/src/json.rs index 33bfee7..d4d704e 100644 --- a/sn0int-std/src/json.rs +++ b/sn0int-std/src/json.rs @@ -1,13 +1,11 @@ use crate::errors::*; -use std::collections::HashMap; use crate::hlua::AnyLuaValue; -use serde_json::{self, Deserializer, Value, Number, Map}; - +use serde_json::{self, Deserializer, Map, Number, Value}; +use std::collections::HashMap; pub fn decode>(x: T) -> Result { - let v: Value = serde_json::from_slice(x.as_ref()) - .context("deserialize failed")?; + let v: Value = serde_json::from_slice(x.as_ref()).context("deserialize failed")?; let v: LuaJsonValue = v.into(); Ok(v.into()) } @@ -15,8 +13,7 @@ pub fn decode>(x: T) -> Result { pub fn encode(v: AnyLuaValue) -> Result { let v: LuaJsonValue = v.into(); let v: Value = v.into(); - let s = serde_json::to_string(&v) - .context("serialize failed")?; + let s = serde_json::to_string(&v).context("serialize failed")?; Ok(s) } @@ -59,13 +56,16 @@ impl From for AnyLuaValue { // TODO: not sure if this might fail LuaJsonValue::Number(v) => AnyLuaValue::LuaNumber(v.as_f64().unwrap()), LuaJsonValue::String(v) => AnyLuaValue::LuaString(v), - LuaJsonValue::Array(v) => AnyLuaValue::LuaArray(v.into_iter().enumerate() - .map(|(i, x)| (AnyLuaValue::LuaNumber((i+1) as f64), x.into())) - .collect() + LuaJsonValue::Array(v) => AnyLuaValue::LuaArray( + v.into_iter() + .enumerate() + .map(|(i, x)| (AnyLuaValue::LuaNumber((i + 1) as f64), x.into())) + .collect(), ), - LuaJsonValue::Object(v) => AnyLuaValue::LuaArray(v.into_iter() - .map(|(k, v)| (AnyLuaValue::LuaString(k), v.into())) - .collect() + LuaJsonValue::Object(v) => AnyLuaValue::LuaArray( + v.into_iter() + .map(|(k, v)| (AnyLuaValue::LuaString(k), v.into())) + .collect(), ), } } @@ -77,9 +77,10 @@ impl From for LuaJsonValue { AnyLuaValue::LuaNil => LuaJsonValue::Null, AnyLuaValue::LuaBoolean(v) => LuaJsonValue::Bool(v), AnyLuaValue::LuaString(v) => LuaJsonValue::String(v), - AnyLuaValue::LuaAnyString(v) => LuaJsonValue::Array(v.0.into_iter() - .map(|x| LuaJsonValue::Number(x.into())) - .collect() + AnyLuaValue::LuaAnyString(v) => LuaJsonValue::Array( + v.0.into_iter() + .map(|x| LuaJsonValue::Number(x.into())) + .collect(), ), AnyLuaValue::LuaNumber(v) => { // this is needed or every number is detected as float @@ -88,23 +89,21 @@ impl From for LuaJsonValue { } else { Number::from_f64(v).expect("invalid LuaJson::Number") }) - }, + } AnyLuaValue::LuaArray(v) => { if lua_array_is_list(&v) { - LuaJsonValue::Array(v.into_iter() - .map(|(_, v)| v.into()) - .collect() - ) + LuaJsonValue::Array(v.into_iter().map(|(_, v)| v.into()).collect()) } else { - LuaJsonValue::Object(v.into_iter() - .filter_map(|(k, v)| match k { - AnyLuaValue::LuaString(k) => Some((k, v.into())), - _ => None, - }) - .collect() + LuaJsonValue::Object( + v.into_iter() + .filter_map(|(k, v)| match k { + AnyLuaValue::LuaString(k) => Some((k, v.into())), + _ => None, + }) + .collect(), ) } - }, + } AnyLuaValue::LuaOther => LuaJsonValue::Null, } } @@ -117,13 +116,11 @@ impl From for serde_json::Value { LuaJsonValue::Bool(v) => Value::Bool(v), LuaJsonValue::Number(v) => Value::Number(v), LuaJsonValue::String(v) => Value::String(v), - LuaJsonValue::Array(v) => Value::Array(v.into_iter() - .map(|x| x.into()) - .collect() - ), - LuaJsonValue::Object(v) => Value::Object(v.into_iter() - .map(|(k, v)| (k, v.into())) - .collect::>() + LuaJsonValue::Array(v) => Value::Array(v.into_iter().map(|x| x.into()).collect()), + LuaJsonValue::Object(v) => Value::Object( + v.into_iter() + .map(|(k, v)| (k, v.into())) + .collect::>(), ), } } @@ -136,13 +133,11 @@ impl From for LuaJsonValue { Value::Bool(v) => LuaJsonValue::Bool(v), Value::Number(v) => LuaJsonValue::Number(v), Value::String(v) => LuaJsonValue::String(v), - Value::Array(v) => LuaJsonValue::Array(v.into_iter() - .map(|x| x.into()) - .collect() - ), - Value::Object(v) => LuaJsonValue::Object(v.into_iter() - .map(|(k, v)| (k, v.into())) - .collect::>() + Value::Array(v) => LuaJsonValue::Array(v.into_iter().map(|x| x.into()).collect()), + Value::Object(v) => LuaJsonValue::Object( + v.into_iter() + .map(|(k, v)| (k, v.into())) + .collect::>(), ), } } diff --git a/sn0int-std/src/lazy.rs b/sn0int-std/src/lazy.rs index c2903d3..8afb66c 100644 --- a/sn0int-std/src/lazy.rs +++ b/sn0int-std/src/lazy.rs @@ -13,11 +13,12 @@ impl, T2> Lazy { pub fn get(&mut self) -> Result<&mut T2> { match self { Lazy::Init(init) => { - let init = init.take() + let init = init + .take() .ok_or_else(|| format_err!("Previous initialization failed"))?; *self = Lazy::Active(init.initialize()?); self.get() - }, + } Lazy::Active(active) => Ok(active), } } diff --git a/sn0int-std/src/psl.rs b/sn0int-std/src/psl.rs index 5a08ac4..ed25403 100644 --- a/sn0int-std/src/psl.rs +++ b/sn0int-std/src/psl.rs @@ -1,12 +1,12 @@ -use chrootable_https::Client; use crate::errors::*; use crate::lazy::LazyInit; +use chrootable_https::Client; use publicsuffix::{List, Psl as _}; use std::fs::{self, File}; use std::io::Read; use std::path::{Path, PathBuf}; -use std::sync::Arc; use std::str::FromStr; +use std::sync::Arc; #[derive(Debug, PartialEq)] pub struct DnsName { @@ -23,8 +23,8 @@ pub enum PslReader { impl PslReader { pub fn open_or_download(cache_dir: &Path, indicator: F) -> Result - where - F: Fn(Box Result>) -> Result + where + F: Fn(Box Result>) -> Result, { let path = Self::path(cache_dir)?; let reader = match Self::open_from(&path) { @@ -55,14 +55,14 @@ impl PslReader { } // else, use local cache - let path = cache_dir - .join("public_suffix_list.dat"); + let path = cache_dir.join("public_suffix_list.dat"); Ok(path) } pub fn download(path: &Path, url: &str) -> Result<()> { let client = Client::with_system_resolver_v4()?; - let resp = client.get(url) + let resp = client + .get(url) .wait_for_response() .context("http request failed")?; fs::write(path, &resp.body)?; @@ -77,16 +77,14 @@ impl LazyInit> for PslReader { let mut buf = String::new(); file.read_to_string(&mut buf)?; buf - }, + } PslReader::String(s) => s, }; let list = List::from_str(&list) .map_err(|e| format_err!("Failed to load public suffix list: {}", e))?; - Ok(Arc::new(Psl { - list, - })) + Ok(Arc::new(Psl { list })) } } @@ -99,7 +97,9 @@ impl Psl { pub fn parse_dns_name(&self, name: &str) -> Result { let bytes = name.as_bytes(); - let suffix = self.list.suffix(bytes) + let suffix = self + .list + .suffix(bytes) .ok_or_else(|| format_err!("Failed to detect suffix"))?; let suffix = String::from_utf8(suffix.as_bytes().to_vec())?; @@ -124,60 +124,82 @@ impl Psl { } } - #[cfg(test)] mod tests { use super::*; fn init() -> Arc { - PslReader::String(r#" + PslReader::String( + r#" // ===BEGIN ICANN DOMAINS=== com // ===END ICANN DOMAINS=== // ===BEGIN PRIVATE DOMAINS=== a.prod.fastly.net // ===END PRIVATE DOMAINS=== -"#.into()).initialize().unwrap() +"# + .into(), + ) + .initialize() + .unwrap() } #[test] fn test_psl_example_com() { - let x = init().parse_dns_name("example.com").expect("parse_dns_name"); - assert_eq!(x, DnsName { - fulldomain: None, - root: "example.com".into(), - suffix: "com".into(), - }); + let x = init() + .parse_dns_name("example.com") + .expect("parse_dns_name"); + assert_eq!( + x, + DnsName { + fulldomain: None, + root: "example.com".into(), + suffix: "com".into(), + } + ); } #[test] fn test_psl_www_example_com() { - let x = init().parse_dns_name("www.example.com").expect("parse_dns_name"); - assert_eq!(x, DnsName { - fulldomain: Some("www.example.com".into()), - root: "example.com".into(), - suffix: "com".into(), - }); + let x = init() + .parse_dns_name("www.example.com") + .expect("parse_dns_name"); + assert_eq!( + x, + DnsName { + fulldomain: Some("www.example.com".into()), + root: "example.com".into(), + suffix: "com".into(), + } + ); } #[test] fn test_psl_com() { let x = init().parse_dns_name("com").expect("parse_dns_name"); - assert_eq!(x, DnsName { - fulldomain: None, - root: "com".into(), - suffix: "com".into(), - }); + assert_eq!( + x, + DnsName { + fulldomain: None, + root: "com".into(), + suffix: "com".into(), + } + ); } #[test] fn test_psl_a_b_c_d_e_f_g_com() { - let x = init().parse_dns_name("a.b.c.d.e.f.g.com").expect("parse_dns_name"); - assert_eq!(x, DnsName { - fulldomain: Some("a.b.c.d.e.f.g.com".into()), - root: "g.com".into(), - suffix: "com".into(), - }); + let x = init() + .parse_dns_name("a.b.c.d.e.f.g.com") + .expect("parse_dns_name"); + assert_eq!( + x, + DnsName { + fulldomain: Some("a.b.c.d.e.f.g.com".into()), + root: "g.com".into(), + suffix: "com".into(), + } + ); } #[test] @@ -188,41 +210,61 @@ a.prod.fastly.net #[test] fn test_psl_asdfinvalid() { - let x = init().parse_dns_name("asdfinvalid").expect("parse_dns_name"); - assert_eq!(x, DnsName { - fulldomain: None, - root: "asdfinvalid".into(), - suffix: "asdfinvalid".into(), - }); + let x = init() + .parse_dns_name("asdfinvalid") + .expect("parse_dns_name"); + assert_eq!( + x, + DnsName { + fulldomain: None, + root: "asdfinvalid".into(), + suffix: "asdfinvalid".into(), + } + ); } #[test] fn test_psl_www_example_asdfinvalid() { - let x = init().parse_dns_name("www.example.asdfinvalid").expect("parse_dns_name"); - assert_eq!(x, DnsName { - fulldomain: Some("www.example.asdfinvalid".into()), - root: "example.asdfinvalid".into(), - suffix: "asdfinvalid".into(), - }); + let x = init() + .parse_dns_name("www.example.asdfinvalid") + .expect("parse_dns_name"); + assert_eq!( + x, + DnsName { + fulldomain: Some("www.example.asdfinvalid".into()), + root: "example.asdfinvalid".into(), + suffix: "asdfinvalid".into(), + } + ); } #[test] fn test_psl_a_prod_fastly_net() { - let x = init().parse_dns_name("a.prod.fastly.net").expect("parse_dns_name"); - assert_eq!(x, DnsName { - fulldomain: None, - root: "a.prod.fastly.net".into(), - suffix: "a.prod.fastly.net".into(), - }); + let x = init() + .parse_dns_name("a.prod.fastly.net") + .expect("parse_dns_name"); + assert_eq!( + x, + DnsName { + fulldomain: None, + root: "a.prod.fastly.net".into(), + suffix: "a.prod.fastly.net".into(), + } + ); } #[test] fn test_psl_www_a_prod_fastly_net() { - let x = init().parse_dns_name("www.a.prod.fastly.net").expect("parse_dns_name"); - assert_eq!(x, DnsName { - fulldomain: None, - root: "www.a.prod.fastly.net".into(), - suffix: "a.prod.fastly.net".into(), - }); + let x = init() + .parse_dns_name("www.a.prod.fastly.net") + .expect("parse_dns_name"); + assert_eq!( + x, + DnsName { + fulldomain: None, + root: "www.a.prod.fastly.net".into(), + suffix: "a.prod.fastly.net".into(), + } + ); } } diff --git a/sn0int-std/src/ratelimits.rs b/sn0int-std/src/ratelimits.rs index f2cbe2f..2e49f38 100644 --- a/sn0int-std/src/ratelimits.rs +++ b/sn0int-std/src/ratelimits.rs @@ -1,5 +1,5 @@ use chrono::prelude::*; -use serde::{Serialize, Deserialize}; +use serde::{Deserialize, Serialize}; use std::collections::HashMap; use std::result; use std::sync::mpsc; @@ -43,9 +43,7 @@ struct Bucket { impl Bucket { pub fn new() -> Bucket { - Bucket { - passes: Vec::new(), - } + Bucket { passes: Vec::new() } } pub fn pass(&mut self, passes: usize, time: u32) -> RatelimitResponse { diff --git a/sn0int-std/src/sockets/mod.rs b/sn0int-std/src/sockets/mod.rs index 172b792..2d17117 100644 --- a/sn0int-std/src/sockets/mod.rs +++ b/sn0int-std/src/sockets/mod.rs @@ -1,8 +1,8 @@ use crate::errors::*; -use bufstream::BufStream; use crate::hlua::AnyLuaValue; use crate::json::LuaJsonValue; +use bufstream::BufStream; use chrootable_https::dns::{DnsResolver, RecordType}; use chrootable_https::socks5::{self, ProxyDest}; use regex::Regex; @@ -10,19 +10,18 @@ use serde::Deserialize; use tokio::runtime::Runtime; use std::fmt; -use std::str; use std::io; use std::io::prelude::*; use std::io::BufRead; use std::net::SocketAddr; use std::net::TcpStream; use std::net::{IpAddr, Ipv4Addr}; +use std::str; use std::time::Duration; mod tls; pub use self::tls::TlsData; - #[cfg(unix)] fn unwrap_socket(socket: tokio::net::TcpStream) -> Result { use std::os::unix::io::AsRawFd; @@ -49,7 +48,6 @@ pub struct SocketOptions { // TODO: enable_sni (default to true) // TODO: sni_name // TODO: cacert - #[serde(default)] pub connect_timeout: u64, #[serde(default)] @@ -96,10 +94,16 @@ pub enum Stream { } impl Stream { - pub fn connect_stream(resolver: &R, host: &str, port: u16, options: &SocketOptions) -> Result { + pub fn connect_stream( + resolver: &R, + host: &str, + port: u16, + options: &SocketOptions, + ) -> Result { let addrs = match host.parse::() { Ok(addr) => vec![addr], - Err(_) => resolver.resolve(host, RecordType::A) + Err(_) => resolver + .resolve(host, RecordType::A) .wait_for_response()? .success()?, }; @@ -110,7 +114,7 @@ impl Stream { match Stream::connect_addr(host, (addr, port).into(), options) { Ok(socket) => { return Ok(socket); - }, + } Err(err) => errors.push((addr, err)), } } @@ -138,8 +142,16 @@ impl Stream { tls::wrap_if_enabled(socket, host, options) } - pub fn connect_socks5_stream(proxy: SocketAddr, host: &str, port: u16, options: &SocketOptions) -> Result { - debug!("connecting to {:?}:{:?} with socks5 on {:?}", host, port, proxy); + pub fn connect_socks5_stream( + proxy: SocketAddr, + host: &str, + port: u16, + options: &SocketOptions, + ) -> Result { + debug!( + "connecting to {:?}:{:?} with socks5 on {:?}", + host, port, proxy + ); let addr = match host.parse::() { Ok(ipaddr) => ProxyDest::Ipv4Addr(ipaddr), @@ -206,12 +218,22 @@ impl Socket { } } - pub fn connect(resolver: &R, host: &str, port: u16, options: &SocketOptions) -> Result { + pub fn connect( + resolver: &R, + host: &str, + port: u16, + options: &SocketOptions, + ) -> Result { let stream = Stream::connect_stream(resolver, host, port, options)?; Ok(Socket::new(stream)) } - pub fn connect_socks5(proxy: SocketAddr, host: &str, port: u16, options: &SocketOptions) -> Result { + pub fn connect_socks5( + proxy: SocketAddr, + host: &str, + port: u16, + options: &SocketOptions, + ) -> Result { let stream = Stream::connect_socks5_stream(proxy, host, port, options)?; Ok(Socket::new(stream)) } @@ -266,8 +288,7 @@ impl Socket { pub fn recvline(&mut self) -> Result { let needle = self.newline.clone(); let buf = self.recvuntil(needle.as_bytes())?; - let line = String::from_utf8(buf) - .context("Failed to decode utf8")?; + let line = String::from_utf8(buf).context("Failed to decode utf8")?; Ok(line) } @@ -321,10 +342,13 @@ impl Socket { Ok(n) => n, Err(ref e) if e.kind() == io::ErrorKind::Interrupted => continue, Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => return Ok(Vec::new()), - Err(e) => return Err(e.into()) + Err(e) => return Err(e.into()), }; - match available.windows(delim_len).position(|window| window == delim) { + match available + .windows(delim_len) + .position(|window| window == delim) + { Some(i) => { buf.extend_from_slice(&available[..i + delim_len]); (true, i + delim_len) @@ -366,21 +390,34 @@ mod tests { #[test] fn verify_tls_good() { let resolver = Resolver::from_system_v4().unwrap(); - let _sock = Socket::connect(&resolver, "badssl.com", 443, &SocketOptions{ - tls: true, - ..Default::default() - }).unwrap(); + let _sock = Socket::connect( + &resolver, + "badssl.com", + 443, + &SocketOptions { + tls: true, + ..Default::default() + }, + ) + .unwrap(); } #[test] #[ignore] fn verify_tls_good_request() { let resolver = Resolver::from_system_v4().unwrap(); - let mut sock = Socket::connect(&resolver, "badssl.com", 443, &SocketOptions{ - tls: true, - ..Default::default() - }).unwrap(); - sock.send(b"GET / HTTP/1.1\r\nHost: badssl.com\r\nConnection: close\r\n\r\n").unwrap(); + let mut sock = Socket::connect( + &resolver, + "badssl.com", + 443, + &SocketOptions { + tls: true, + ..Default::default() + }, + ) + .unwrap(); + sock.send(b"GET / HTTP/1.1\r\nHost: badssl.com\r\nConnection: close\r\n\r\n") + .unwrap(); let status = sock.recvline().unwrap(); assert_eq!(status, "HTTP/1.1 200 OK\r\n"); } @@ -389,10 +426,15 @@ mod tests { #[ignore] fn verify_tls_expired() { let resolver = Resolver::from_system_v4().unwrap(); - let sock = Socket::connect(&resolver, "expired.badssl.com", 443, &SocketOptions{ - tls: true, - ..Default::default() - }); + let sock = Socket::connect( + &resolver, + "expired.badssl.com", + 443, + &SocketOptions { + tls: true, + ..Default::default() + }, + ); assert!(sock.is_err()); } diff --git a/sn0int-std/src/sockets/tls.rs b/sn0int-std/src/sockets/tls.rs index c495e5c..b6faadd 100644 --- a/sn0int-std/src/sockets/tls.rs +++ b/sn0int-std/src/sockets/tls.rs @@ -1,13 +1,13 @@ +use super::{SocketOptions, Stream}; use crate::errors::*; use crate::hlua::AnyLuaValue; use crate::json::LuaJsonValue; -use rustls::{self, ClientConfig, Session, ClientSession}; +use rustls::{self, ClientConfig, ClientSession, Session}; use serde::Serialize; -use std::str; +use std::net::TcpStream; use std::result; +use std::str; use std::sync::Arc; -use std::net::TcpStream; -use super::{Stream, SocketOptions}; #[derive(Debug, Serialize)] pub struct TlsData { @@ -42,7 +42,8 @@ pub fn wrap(stream: TcpStream, host: &str, options: &SocketOptions) -> Result<(S if options.disable_tls_verify { info!("tls verification has been disabled"); - config.dangerous() + config + .dangerous() .set_certificate_verifier(Arc::new(NoCertificateVerification {})); } @@ -73,12 +74,14 @@ fn get_dns_name(config: &mut ClientConfig, host: &str) -> webpki::DNSName { fn setup(mut stream: TcpStream, mut session: ClientSession) -> Result<(Stream, TlsData)> { info!("starting tls handshake"); if session.is_handshaking() { - session.complete_io(&mut stream) + session + .complete_io(&mut stream) .context("Failed to read reply to tls client hello")?; } if session.wants_write() { - session.complete_io(&mut stream) + session + .complete_io(&mut stream) .context("wants_write->complete_io failed")?; } @@ -88,19 +91,14 @@ fn setup(mut stream: TcpStream, mut session: ClientSession) -> Result<(Stream, T }; if let Some(certs) = session.get_peer_certificates() { - tls.cert_chain = certs.into_iter() + tls.cert_chain = certs + .into_iter() .rev() - .map(|c| { - pem::encode(&pem::Pem { - tag: String::from("CERTIFICATE"), - contents: c.0, - }) - }) + .map(|c| pem::encode(&pem::Pem::new("CERTIFICATE", c.0))) .collect(); } - tls.cert = tls.cert_chain.last() - .map(|x| x.to_owned()); + tls.cert = tls.cert_chain.last().map(|x| x.to_owned()); info!("successfully established tls connection"); let stream = rustls::StreamOwned::new(session, stream); @@ -111,11 +109,13 @@ fn setup(mut stream: TcpStream, mut session: ClientSession) -> Result<(Stream, T pub struct NoCertificateVerification {} impl rustls::ServerCertVerifier for NoCertificateVerification { - fn verify_server_cert(&self, + fn verify_server_cert( + &self, _roots: &rustls::RootCertStore, _presented_certs: &[rustls::Certificate], _dns_name: webpki::DNSNameRef<'_>, - _ocsp: &[u8]) -> result::Result { + _ocsp: &[u8], + ) -> result::Result { Ok(rustls::ServerCertVerified::assertion()) } } diff --git a/sn0int-std/src/web.rs b/sn0int-std/src/web.rs index cc2274a..a747829 100644 --- a/sn0int-std/src/web.rs +++ b/sn0int-std/src/web.rs @@ -1,17 +1,17 @@ use crate::blobs::{Blob, BlobState}; use crate::engine::structs::LuaMap; use crate::errors::*; -use crate::json::LuaJsonValue; use crate::hlua::AnyLuaValue; -use chrootable_https::{Request, Body, Uri}; -pub use chrootable_https::{Client, HttpClient, Resolver, Response}; -use chrootable_https::http::HttpTryFrom; -use chrootable_https::http::uri::Parts; +use crate::json::LuaJsonValue; use chrootable_https::http::request::Builder; +use chrootable_https::http::uri::Parts; +use chrootable_https::http::HttpTryFrom; +use chrootable_https::{Body, Request, Uri}; +pub use chrootable_https::{Client, HttpClient, Resolver, Response}; use data_encoding::BASE64; -use rand::{Rng, thread_rng}; use rand::distributions::Alphanumeric; -use serde::{Serialize, Deserialize}; +use rand::{thread_rng, Rng}; +use serde::{Deserialize, Serialize}; use std::collections::{HashMap, HashSet}; use std::fmt; use std::fmt::Write; @@ -27,15 +27,17 @@ pub fn url_set_qs(url: Uri, query: &S) -> Result let query = serde_urlencoded::to_string(query)?; - parts.path_and_query = Some(match parts.path_and_query { - Some(pq) => { - format!("{}?{}", pq.path(), query) - }, - None => format!("/?{}", query), - }.parse()?); + parts.path_and_query = Some( + match parts.path_and_query { + Some(pq) => { + format!("{}?{}", pq.path(), query) + } + None => format!("/?{}", query), + } + .parse()?, + ); - Uri::from_parts(parts) - .map_err(Error::from) + Uri::from_parts(parts).map_err(Error::from) } pub trait WebState { @@ -58,10 +60,13 @@ impl HttpSession { .map(char::from) .take(16) .collect(); - (id.clone(), HttpSession { - id, - cookies: CookieJar::default(), - }) + ( + id.clone(), + HttpSession { + id, + cookies: CookieJar::default(), + }, + ) } } @@ -112,7 +117,13 @@ pub struct HttpRequest { } impl HttpRequest { - pub fn new(session: &HttpSession, method: String, url: String, user_agent: String, options: RequestOptions) -> HttpRequest { + pub fn new( + session: &HttpSession, + method: String, + url: String, + user_agent: String, + options: RequestOptions, + ) -> HttpRequest { let cookies = session.cookies.clone(); let timeout = options.timeout.map(Duration::from_millis); @@ -179,21 +190,21 @@ impl HttpRequest { // finalize request let body = match self.body { - Some(ReqBody::Raw(ref x)) => { Body::from(x.clone()) }, + Some(ReqBody::Raw(ref x)) => Body::from(x.clone()), Some(ReqBody::Form(ref x)) => { // if Content-Type is not set, set header if !observed_headers.contains("content-type") { req.header("Content-Type", "application/x-www-form-urlencoded"); } Body::from(serde_urlencoded::to_string(x)?) - }, + } Some(ReqBody::Json(ref x)) => { // if Content-Type is not set, set header if !observed_headers.contains("content-type") { req.header("Content-Type", "application/json"); } Body::from(serde_json::to_string(x)?) - }, + } None => Body::empty(), }; let mut req = req.body(body)?; @@ -204,7 +215,8 @@ impl HttpRequest { let res = loop { // send request debug!("Sending http request: {:?}", req); - let res = client.request(req) + let res = client + .request(req) .with_timeout(self.timeout) .wait_for_response()?; @@ -232,7 +244,8 @@ impl HttpRequest { /// create a basic request, reusable when following redirects fn mkrequest(&self, method: &str, url: T) -> Builder - where Uri: HttpTryFrom, + where + Uri: HttpTryFrom, { let mut req = Request::builder(); req.method(method); @@ -263,7 +276,8 @@ impl HttpRequest { } pub fn response_to_lua(&self, state: &S, res: Response) -> Result - where S: WebState + BlobState + where + S: WebState + BlobState, { // map result to LuaMap let mut resp = LuaMap::new(); diff --git a/sn0int-std/src/websockets.rs b/sn0int-std/src/websockets.rs index f4dcc99..3dd3e7a 100644 --- a/sn0int-std/src/websockets.rs +++ b/sn0int-std/src/websockets.rs @@ -1,13 +1,13 @@ -use chrootable_https::DnsResolver; use crate::errors::*; use crate::hlua::AnyLuaValue; use crate::json::LuaJsonValue; -use crate::sockets::{Stream, SocketOptions}; +use crate::sockets::{SocketOptions, Stream}; +use chrootable_https::DnsResolver; use http::Request; use serde::Deserialize; use std::collections::HashMap; -use std::net::SocketAddr; use std::io; +use std::net::SocketAddr; use tungstenite::protocol::{self, Message}; use url::Url; @@ -44,7 +44,11 @@ pub struct WebSocket { } impl WebSocket { - pub fn negotiate(stream: Stream, url: Url, headers: Option<&HashMap>) -> Result { + pub fn negotiate( + stream: Stream, + url: Url, + headers: Option<&HashMap>, + ) -> Result { let mut req = Request::get(url.to_string()); // TODO: don't re-parse here if let Some(headers) = headers { @@ -56,19 +60,22 @@ impl WebSocket { let req = req.body(()).unwrap(); let (sock, _resp) = tungstenite::client::client(req, stream)?; - Ok(WebSocket { - sock, - }) + Ok(WebSocket { sock }) } - pub fn connect(resolver: &R, url: Url, options: &WebSocketOptions) -> Result { + pub fn connect( + resolver: &R, + url: Url, + options: &WebSocketOptions, + ) -> Result { let tls = match url.scheme() { "ws" => false, "wss" => true, _ => bail!("Invalid websocket protocol"), }; - let host = url.host_str() + let host = url + .host_str() .ok_or_else(|| format_err!("Missing host in url"))?; let port = match (url.port(), tls) { @@ -77,16 +84,21 @@ impl WebSocket { (None, false) => 80, }; - let stream = Stream::connect_stream(resolver, host, port, &SocketOptions { - tls, - sni_value: None, - disable_tls_verify: false, - proxy: options.proxy, - - connect_timeout: options.connect_timeout, - read_timeout: options.read_timeout, - write_timeout: options.write_timeout, - })?; + let stream = Stream::connect_stream( + resolver, + host, + port, + &SocketOptions { + tls, + sni_value: None, + disable_tls_verify: false, + proxy: options.proxy, + + connect_timeout: options.connect_timeout, + read_timeout: options.read_timeout, + write_timeout: options.write_timeout, + }, + )?; Self::negotiate(stream, url, options.headers.as_ref()) } @@ -107,12 +119,14 @@ impl WebSocket { Ok(Message::Ping(ping)) => { self.sock.write_message(Message::Pong(ping))?; continue; - }, + } Ok(Message::Pong(_)) => continue, // this should never happen Ok(Message::Close(_)) => Event::Close, Err(tungstenite::Error::ConnectionClosed) => Event::Close, Err(tungstenite::Error::AlreadyClosed) => Event::Close, - Err(tungstenite::Error::Io(err)) if err.kind() == io::ErrorKind::WouldBlock => Event::Timeout, + Err(tungstenite::Error::Io(err)) if err.kind() == io::ErrorKind::WouldBlock => { + Event::Timeout + } Err(err) => return Err(err.into()), }; return Ok(msg); diff --git a/sn0int-std/src/xml.rs b/sn0int-std/src/xml.rs index d97eb1a..b25dee1 100644 --- a/sn0int-std/src/xml.rs +++ b/sn0int-std/src/xml.rs @@ -1,14 +1,13 @@ use crate::errors::*; -use crate::json::LuaJsonValue; use crate::hlua::AnyLuaValue; +use crate::json::LuaJsonValue; use serde::Serialize; use std::collections::HashMap; use xml::attribute::OwnedAttribute; use xml::name::OwnedName; use xml::reader::{EventReader, ParserConfig, XmlEvent}; - #[derive(Debug, PartialEq, Serialize)] pub struct XmlDocument { pub children: Vec, @@ -41,7 +40,8 @@ impl XmlElement { #[inline] fn from(name: OwnedName, attributes: Vec) -> XmlElement { let name = name.local_name; - let attrs = attributes.into_iter() + let attrs = attributes + .into_iter() .map(|attr| (attr.name.local_name, attr.value)) .collect(); XmlElement { @@ -91,16 +91,13 @@ fn decode_raw(x: &str) -> Result { match next { XmlEvent::StartElement { - name, - attributes, - .. + name, attributes, .. } => { stack.push(XmlElement::from(name, attributes)); - }, - XmlEvent::EndElement { - name, - } => { - let child = stack.pop() + } + XmlEvent::EndElement { name } => { + let child = stack + .pop() .ok_or_else(|| format_err!("end element has no matching start element"))?; let name = name.local_name; @@ -113,7 +110,7 @@ fn decode_raw(x: &str) -> Result { } else { doc.children.push(child); } - }, + } XmlEvent::CData(text) => append_text(&mut stack, text), XmlEvent::Characters(text) => append_text(&mut stack, text), _ => (), @@ -142,63 +139,62 @@ mod tests { #[test] fn verify_xml_decode_empty_body() { let doc = decode_raw("").unwrap(); - assert_eq!(doc, XmlDocument { - children: vec![ - XmlElement { + assert_eq!( + doc, + XmlDocument { + children: vec![XmlElement { name: String::from("body"), attrs: HashMap::new(), text: None, children: vec![], - } - ] - }); + }] + } + ); } #[test] fn verify_xml_decode_single_tag() { let doc = decode_raw("").unwrap(); - assert_eq!(doc, XmlDocument { - children: vec![ - XmlElement { + assert_eq!( + doc, + XmlDocument { + children: vec![XmlElement { name: String::from("body"), attrs: HashMap::new(), text: None, - children: vec![ - XmlElement { - name: String::from("foo"), - attrs: hashmap!{ - String::from("x") => String::from("1"), - }, - text: None, - children: vec![], - } - ], - } - ] - }); + children: vec![XmlElement { + name: String::from("foo"), + attrs: hashmap! { + String::from("x") => String::from("1"), + }, + text: None, + children: vec![], + }], + }] + } + ); } #[test] fn verify_xml_decode_single_tag_text() { let doc = decode_raw("hello world").unwrap(); - assert_eq!(doc, XmlDocument { - children: vec![ - XmlElement { + assert_eq!( + doc, + XmlDocument { + children: vec![XmlElement { name: String::from("body"), attrs: HashMap::new(), text: None, - children: vec![ - XmlElement { - name: String::from("foo"), - attrs: hashmap!{ - String::from("x") => String::from("1"), - }, - text: Some(String::from("hello world")), - children: vec![], - } - ], - } - ] - }); + children: vec![XmlElement { + name: String::from("foo"), + attrs: hashmap! { + String::from("x") => String::from("1"), + }, + text: Some(String::from("hello world")), + children: vec![], + }], + }] + } + ); } } diff --git a/src/cmd/stats_cmd.rs b/src/cmd/stats_cmd.rs index 10a06bb..e7e49e8 100644 --- a/src/cmd/stats_cmd.rs +++ b/src/cmd/stats_cmd.rs @@ -7,7 +7,6 @@ use crate::errors::*; use crate::models::*; use crate::shell::{self, Shell}; use crate::workspaces; -use humansize::{FileSize, file_size_opts}; use separator::Separatable; use serde::{Serialize, Deserialize}; use clap::Parser; @@ -114,8 +113,7 @@ impl Stats { total_size += storage.stat(blob)?; } - let total_human_size = total_size.file_size(file_size_opts::CONVENTIONAL) - .map_err(|e| format_err!("Failed to format size: {}", e))?; + let total_human_size = humansize::format_size(total_size, humansize::BINARY); self.blobs = Some(BlobStats { count: blobs.len(), diff --git a/src/config.rs b/src/config.rs index 86d498f..0285c51 100644 --- a/src/config.rs +++ b/src/config.rs @@ -41,10 +41,10 @@ impl Config { } pub fn load_from>(path: P) -> Result { - let config = fs::read(&path) + let config = fs::read_to_string(&path) .context("Failed to read config file")?; - let config = toml::from_slice(&config)?; + let config = toml::from_str(&config)?; Ok(config) } diff --git a/src/workspaces.rs b/src/workspaces.rs index 45248e9..8289c41 100644 --- a/src/workspaces.rs +++ b/src/workspaces.rs @@ -26,7 +26,7 @@ impl Workspace { #[inline] pub fn usage_human(&self) -> Result { let usage = self.usage()?; - Ok(bytesize::to_string(usage, false)) + Ok(humansize::format_size(usage, humansize::BINARY)) } pub fn usage(&self) -> Result { From 64d59c6eca8b921e8b4cd8049541ee4a59208411 Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Fri, 8 Sep 2023 18:21:21 +0200 Subject: [PATCH 48/55] Change target for runtime::http::tests::verify_request --- src/runtime/http.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/http.rs b/src/runtime/http.rs index da33afc..bc013f9 100644 --- a/src/runtime/http.rs +++ b/src/runtime/http.rs @@ -97,7 +97,7 @@ mod tests { let script = Script::load_unchecked(r#" function run() session = http_mksession() - req = http_request(session, "GET", "https://httpbin.org/anything", {}) + req = http_request(session, "GET", "https://github.com", {}) x = http_send(req) if last_err() then return end print(x) From b49aba5a8a6ae09c885c1aaee03fcfc9515fb42a Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 9 Sep 2023 13:15:17 +0200 Subject: [PATCH 49/55] Release v0.26.0 --- Cargo.lock | 6 +++--- Cargo.toml | 6 +++--- sn0int-common/Cargo.toml | 2 +- sn0int-registry/Cargo.toml | 2 +- sn0int-std/Cargo.toml | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 54a6ad8..54d73fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4332,7 +4332,7 @@ checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "sn0int" -version = "0.25.0" +version = "0.26.0" dependencies = [ "atty", "boxxy", @@ -4397,7 +4397,7 @@ dependencies = [ [[package]] name = "sn0int-common" -version = "0.13.0" +version = "0.14.0" dependencies = [ "anyhow", "clap 4.4.1", @@ -4437,7 +4437,7 @@ dependencies = [ [[package]] name = "sn0int-std" -version = "0.25.0" +version = "0.26.0" dependencies = [ "blake2 0.10.6", "bs58", diff --git a/Cargo.toml b/Cargo.toml index deeabae..755f790 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int" -version = "0.25.0" +version = "0.26.0" description = "Semi-automatic OSINT framework and package manager" authors = ["kpcyrd "] license = "GPL-3.0" @@ -32,8 +32,8 @@ assets = [ sqlite-bundled = ["libsqlite3-sys/bundled"] [dependencies] -sn0int-common = { version="0.13.0", path="sn0int-common" } -sn0int-std = { version="=0.25.0", path="sn0int-std" } +sn0int-common = { version="0.14.0", path="sn0int-common" } +sn0int-std = { version="=0.26.0", path="sn0int-std" } rustyline = "10.0" log = "0.4" env_logger = "0.10" diff --git a/sn0int-common/Cargo.toml b/sn0int-common/Cargo.toml index 9c9eef8..eb1baf3 100644 --- a/sn0int-common/Cargo.toml +++ b/sn0int-common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int-common" -version = "0.13.0" +version = "0.14.0" description = "sn0int - common code" authors = ["kpcyrd "] license = "GPL-3.0" diff --git a/sn0int-registry/Cargo.toml b/sn0int-registry/Cargo.toml index 00f8294..b80e16e 100644 --- a/sn0int-registry/Cargo.toml +++ b/sn0int-registry/Cargo.toml @@ -8,7 +8,7 @@ repository = "https://github.com/kpcyrd/sn0int" edition = "2018" [dependencies] -sn0int-common = { version="0.13.0", path="../sn0int-common" } +sn0int-common = { version="0.14.0", path="../sn0int-common" } rocket = { version = "0.4", default-features=false } #rocket_failure = { path = "../../rocket_failure" } rocket_failure = { version = "0.2" } diff --git a/sn0int-std/Cargo.toml b/sn0int-std/Cargo.toml index 8cad28f..cf4bc3f 100644 --- a/sn0int-std/Cargo.toml +++ b/sn0int-std/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int-std" -version = "0.25.0" +version = "0.26.0" description = "sn0int - stdlib" authors = ["kpcyrd "] repository = "https://github.com/kpcyrd/sn0int" From 5554611f63f880759a25fcafb9408f387fc6882d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20DUFOURCQ?= Date: Sat, 16 Sep 2023 23:11:53 +0200 Subject: [PATCH 50/55] Update docker command line in README.md https://github.com/kpcyrd/sn0int/issues/237 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ef1599..cd9e2c2 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ There are prebuilt packages signed by a debian maintainer: Docker - docker run --rm --init -it -v "$PWD/.cache:/cache" -v "$PWD/.data:/data" kpcyrd/sn0int + docker run --rm --init -it -v "$PWD/.cache:/cache" -v "$PWD/.data:/data" ghcr.io/kpcyrd/sn0int Alpine From 62cf78c34a7e9a48ff9228fe20faf3c803de5609 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 21:44:45 +0000 Subject: [PATCH 51/55] Bump openssl from 0.10.57 to 0.10.60 Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.57 to 0.10.60. - [Release notes](https://github.com/sfackler/rust-openssl/releases) - [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.57...openssl-v0.10.60) --- updated-dependencies: - dependency-name: openssl dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 54d73fb..0de2a26 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2928,9 +2928,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.57" +version = "0.10.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" +checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800" dependencies = [ "bitflags 2.4.0", "cfg-if 1.0.0", @@ -2960,9 +2960,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.92" +version = "0.9.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db7e971c2c2bba161b2d2fdf37080177eff520b3bc044787c7f1f5f9e78d869b" +checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f" dependencies = [ "cc", "libc", From 44c708fe485d8a384522eff949d6a19e79f76120 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 21:42:37 +0000 Subject: [PATCH 52/55] Bump shlex from 1.1.0 to 1.3.0 Bumps [shlex](https://github.com/comex/rust-shlex) from 1.1.0 to 1.3.0. - [Changelog](https://github.com/comex/rust-shlex/blob/master/CHANGELOG.md) - [Commits](https://github.com/comex/rust-shlex/commits) --- updated-dependencies: - dependency-name: shlex dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0de2a26..ca75069 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4275,9 +4275,9 @@ dependencies = [ [[package]] name = "shlex" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signature" From cfe35bb710b3fafc535e622a165f17a54b31271d Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Thu, 22 Aug 2024 21:08:02 +0200 Subject: [PATCH 53/55] Update dependencies --- Cargo.lock | 330 ++++++++++++++++++++++++++++++++++++----------------- Cargo.toml | 2 +- Dockerfile | 4 +- 3 files changed, 228 insertions(+), 108 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ca75069..36e54f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,23 +58,24 @@ dependencies = [ [[package]] name = "anstream" -version = "0.5.0" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.2" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" @@ -91,17 +92,17 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" dependencies = [ - "windows-sys", + "windows-sys 0.48.0", ] [[package]] name = "anstyle-wincon" -version = "2.1.0" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -138,7 +139,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.28", + "time 0.3.36", ] [[package]] @@ -306,7 +307,7 @@ dependencies = [ "env_logger 0.9.3", "lazy_static", "lazycell", - "log 0.4.20", + "log 0.4.22", "peeking_take_while", "proc-macro2 1.0.66", "quote 1.0.33", @@ -392,7 +393,7 @@ dependencies = [ "close_fds", "errno 0.2.8", "libc", - "log 0.4.20", + "log 0.4.22", "nix 0.24.3", "pledge", "regex", @@ -525,7 +526,7 @@ dependencies = [ "serde", "time 0.1.45", "wasm-bindgen", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -543,7 +544,7 @@ dependencies = [ "hyper 0.12.36", "hyper-rustls", "ipconfig", - "log 0.4.20", + "log 0.4.22", "lru-cache", "rustls 0.16.0", "serde", @@ -595,34 +596,33 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.1" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c8d502cbaec4595d2e7d5f61e318f05417bd2b66fdc3809498f0d3fdf0bea27" +checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" dependencies = [ "clap_builder", - "clap_derive 4.4.0", - "once_cell", + "clap_derive 4.4.7", ] [[package]] name = "clap_builder" -version = "4.4.1" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5891c7bc0edb3e1c2204fc5e94009affabeb1821c9e5fdc3959536c5c0bb984d" +checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" dependencies = [ "anstream", "anstyle", - "clap_lex 0.5.1", + "clap_lex 0.6.0", "strsim 0.10.0", ] [[package]] name = "clap_complete" -version = "4.4.0" +version = "4.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5" +checksum = "b5a2d6eec27fce550d708b2be5d798797e5a55b246b323ef36924a0001996352" dependencies = [ - "clap 4.4.1", + "clap 4.4.18", ] [[package]] @@ -640,9 +640,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.4.0" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9fd1a5729c4548118d7d70ff234a44868d00489a4b6597b0b020918a0e91a1a" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" dependencies = [ "heck 0.4.1", "proc-macro2 1.0.66", @@ -661,9 +661,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "clipboard-win" @@ -715,7 +715,7 @@ checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6" dependencies = [ "is-terminal", "lazy_static", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -753,7 +753,7 @@ dependencies = [ "cookie 0.12.0", "failure", "idna 0.1.5", - "log 0.4.20", + "log 0.4.22", "publicsuffix 1.5.6", "serde", "serde_json", @@ -965,7 +965,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a011bbe2c35ce9c1f143b7af6f94f29a167beb4cd1d29e6740ce836f723120e" dependencies = [ "nix 0.26.4", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1063,9 +1063,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] [[package]] name = "derive_more" @@ -1311,6 +1314,16 @@ dependencies = [ "syn 0.15.44", ] +[[package]] +name = "env_filter" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +dependencies = [ + "log 0.4.22", + "regex", +] + [[package]] name = "env_logger" version = "0.9.3" @@ -1319,7 +1332,7 @@ checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime 2.1.0", - "log 0.4.20", + "log 0.4.22", "regex", "termcolor", ] @@ -1332,11 +1345,24 @@ checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" dependencies = [ "humantime 2.1.0", "is-terminal", - "log 0.4.20", + "log 0.4.22", "regex", "termcolor", ] +[[package]] +name = "env_logger" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime 2.1.0", + "log 0.4.22", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -1362,7 +1388,7 @@ checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" dependencies = [ "errno-dragonfly", "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1427,7 +1453,7 @@ checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" dependencies = [ "cfg-if 1.0.0", "rustix", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1439,7 +1465,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall 0.3.5", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1602,7 +1628,7 @@ dependencies = [ "float_next_after", "geo-types", "geographiclib-rs", - "log 0.4.20", + "log 0.4.22", "num-traits", "robust", "rstar", @@ -1685,7 +1711,7 @@ dependencies = [ "futures", "http 0.1.21", "indexmap 1.9.3", - "log 0.4.20", + "log 0.4.22", "slab", "string", "tokio-io", @@ -1698,7 +1724,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d82e5750d8027a97b9640e3fefa66bbaf852a35228e1c90790efd13c4b09c166" dependencies = [ "lazy_static", - "log 0.4.20", + "log 0.4.22", "pest", "pest_derive", "quick-error", @@ -1803,7 +1829,7 @@ version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" dependencies = [ - "log 0.4.20", + "log 0.4.22", "mac", "markup5ever", "proc-macro2 1.0.66", @@ -1909,7 +1935,7 @@ dependencies = [ "httparse", "iovec", "itoa 0.4.8", - "log 0.4.20", + "log 0.4.22", "net2", "rustc_version 0.2.3", "time 0.1.45", @@ -2137,9 +2163,15 @@ checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi 0.3.2", "rustix", - "windows-sys", + "windows-sys 0.48.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.10.5" @@ -2340,14 +2372,14 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" dependencies = [ - "log 0.4.20", + "log 0.4.22", ] [[package]] name = "log" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru-cache" @@ -2387,7 +2419,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" dependencies = [ - "log 0.4.20", + "log 0.4.22", "phf", "phf_codegen", "string_cache", @@ -2408,7 +2440,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe2ba61113f9f7a9f0e87c519682d39c43a6f3f79c2cc42c3ba3dda83b1fa334" dependencies = [ "ipnetwork 0.18.0", - "log 0.4.20", + "log 0.4.22", "memchr", "serde", ] @@ -2553,7 +2585,7 @@ dependencies = [ "iovec", "kernel32-sys", "libc", - "log 0.4.20", + "log 0.4.22", "miow", "net2", "slab", @@ -2567,7 +2599,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" dependencies = [ "lazycell", - "log 0.4.20", + "log 0.4.22", "mio", "slab", ] @@ -2603,7 +2635,7 @@ checksum = "ca0b17380dc69fbcf5f967828cfd10e55028ba83a57da1f580c5b0792ab807ac" dependencies = [ "byteorder", "lazy_static", - "log 0.4.20", + "log 0.4.22", "regex", "thiserror", ] @@ -2622,7 +2654,7 @@ checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", - "log 0.4.20", + "log 0.4.22", "openssl", "openssl-probe", "openssl-sys", @@ -2732,7 +2764,7 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5" dependencies = [ - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -2761,7 +2793,7 @@ checksum = "629bf84f31f765ba48058371c6eb3c5eed0fcdec68b814eb11f6f65dec0adbe3" dependencies = [ "failure", "image", - "log 0.4.20", + "log 0.4.22", "rand 0.7.3", ] @@ -2786,6 +2818,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-integer" version = "0.1.45" @@ -2928,9 +2966,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.60" +version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ "bitflags 2.4.0", "cfg-if 1.0.0", @@ -2960,9 +2998,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.96" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", @@ -3034,7 +3072,7 @@ dependencies = [ "libc", "redox_syscall 0.3.5", "smallvec 1.11.0", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -3245,7 +3283,7 @@ dependencies = [ "line-wrap", "quick-xml", "serde", - "time 0.3.28", + "time 0.3.36", ] [[package]] @@ -3260,6 +3298,12 @@ dependencies = [ "miniz_oxide 0.3.7", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -3393,7 +3437,7 @@ version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ - "log 0.4.20", + "log 0.4.22", "parking_lot 0.12.1", "scheduled-thread-pool", ] @@ -3722,7 +3766,7 @@ dependencies = [ "http 0.1.21", "hyper 0.12.36", "hyper-tls", - "log 0.4.20", + "log 0.4.22", "mime 0.3.17", "mime_guess", "native-tls", @@ -3769,7 +3813,7 @@ checksum = "83b9d9dc08c5dcc1d8126a9dd615545e6a358f8c13c883c8dfed8c0376fa355e" dependencies = [ "atty", "base64 0.13.1", - "log 0.4.20", + "log 0.4.22", "memchr", "num_cpus", "pear", @@ -3805,7 +3849,7 @@ checksum = "e20efbc6a211cb3df5375accf532d4186f224b623f39eca650b19b96240c596b" dependencies = [ "glob", "handlebars", - "log 0.4.20", + "log 0.4.22", "notify", "rocket", "serde", @@ -3934,7 +3978,7 @@ dependencies = [ "errno 0.3.3", "libc", "linux-raw-sys", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -3944,7 +3988,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e" dependencies = [ "base64 0.10.1", - "log 0.4.20", + "log 0.4.22", "ring", "sct", "webpki", @@ -3957,7 +4001,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" dependencies = [ "base64 0.12.3", - "log 0.4.20", + "log 0.4.22", "ring", "sct", "webpki", @@ -3981,7 +4025,7 @@ dependencies = [ "dirs-next", "fd-lock", "libc", - "log 0.4.20", + "log 0.4.22", "memchr", "nix 0.25.1", "radix_trie 0.2.1", @@ -4019,7 +4063,7 @@ version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4095,7 +4139,7 @@ dependencies = [ "cssparser", "derive_more", "fxhash", - "log 0.4.20", + "log 0.4.22", "matches", "phf", "phf_codegen", @@ -4310,7 +4354,7 @@ dependencies = [ "base64 0.13.1", "byteorder", "hex", - "log 0.4.20", + "log 0.4.22", "serde", "sha-1 0.9.8", ] @@ -4340,7 +4384,7 @@ dependencies = [ "caps", "chrono", "chrootable-https", - "clap 4.4.1", + "clap 4.4.18", "clap_complete", "colored", "crossbeam-channel", @@ -4351,7 +4395,7 @@ dependencies = [ "digest 0.10.7", "dirs-next", "embedded-triple", - "env_logger 0.10.0", + "env_logger 0.11.5", "failure", "glob", "hlua-badtouch", @@ -4360,7 +4404,7 @@ dependencies = [ "ipnetwork 0.20.0", "lazy_static", "libsqlite3-sys", - "log 0.4.20", + "log 0.4.22", "maplit", "md-5", "nix 0.27.1", @@ -4400,7 +4444,7 @@ name = "sn0int-common" version = "0.14.0" dependencies = [ "anyhow", - "clap 4.4.1", + "clap 4.4.18", "nom", "rocket_failure_errors", "serde", @@ -4419,7 +4463,7 @@ dependencies = [ "failure", "hex", "lazy_static", - "log 0.4.20", + "log 0.4.22", "maplit", "oauth2", "reqwest", @@ -4458,7 +4502,7 @@ dependencies = [ "img_hash_median", "kamadak-exif", "kuchiki", - "log 0.4.20", + "log 0.4.22", "maplit", "maxminddb", "mqtt-protocol", @@ -4746,7 +4790,7 @@ version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "110ff7f267e583b58489bb0b01fa62ce71c032cd193df3affe9b3b51369aa6ad" dependencies = [ - "log 0.4.20", + "log 0.4.22", "pkg-config", "seccomp-sys", "strum 0.21.0", @@ -4763,7 +4807,7 @@ dependencies = [ "fastrand", "redox_syscall 0.3.5", "rustix", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4860,12 +4904,14 @@ dependencies = [ [[package]] name = "time" -version = "0.3.28" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa 1.0.9", + "num-conv", + "powerfmt", "serde", "time-core", "time-macros", @@ -4873,16 +4919,17 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.14" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] @@ -4986,7 +5033,7 @@ checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" dependencies = [ "bytes 0.4.12", "futures", - "log 0.4.20", + "log 0.4.22", ] [[package]] @@ -4998,7 +5045,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.20", + "log 0.4.22", "mio", "num_cpus", "parking_lot 0.9.0", @@ -5057,7 +5104,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures", "lazy_static", - "log 0.4.20", + "log 0.4.22", "num_cpus", "slab", "tokio-executor", @@ -5083,7 +5130,7 @@ checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" dependencies = [ "bytes 0.4.12", "futures", - "log 0.4.20", + "log 0.4.22", "mio", "tokio-codec", "tokio-io", @@ -5100,7 +5147,7 @@ dependencies = [ "futures", "iovec", "libc", - "log 0.4.20", + "log 0.4.22", "mio", "mio-uds", "tokio-codec", @@ -5185,7 +5232,7 @@ dependencies = [ "failure", "futures", "lazy_static", - "log 0.4.20", + "log 0.4.22", "radix_trie 0.1.6", "rand 0.7.3", "tokio", @@ -5206,7 +5253,7 @@ dependencies = [ "futures", "idna 0.2.3", "lazy_static", - "log 0.4.20", + "log 0.4.22", "rand 0.7.3", "smallvec 0.6.14", "socket2 0.3.19", @@ -5246,7 +5293,7 @@ dependencies = [ "http 0.2.9", "httparse", "input_buffer", - "log 0.4.20", + "log 0.4.22", "rand 0.8.5", "sha-1 0.9.8", "thiserror", @@ -5443,7 +5490,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" dependencies = [ "futures", - "log 0.4.20", + "log 0.4.22", "try-lock", ] @@ -5482,7 +5529,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", - "log 0.4.20", + "log 0.4.22", "once_cell", "proc-macro2 1.0.66", "quote 1.0.33", @@ -5638,7 +5685,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -5647,7 +5694,16 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -5656,13 +5712,29 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -5671,42 +5743,90 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + [[package]] name = "windows_i686_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + [[package]] name = "windows_i686_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + [[package]] name = "winnow" version = "0.5.15" @@ -5750,7 +5870,7 @@ dependencies = [ "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.28", + "time 0.3.36", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 755f790..766e85e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,7 +36,7 @@ sn0int-common = { version="0.14.0", path="sn0int-common" } sn0int-std = { version="=0.26.0", path="sn0int-std" } rustyline = "10.0" log = "0.4" -env_logger = "0.10" +env_logger = "0.11" hlua-badtouch = "0.4" clap = { version = "4.3.11", features = ["derive", "env"] } clap_complete = "4.3.2" diff --git a/Dockerfile b/Dockerfile index 8bfe052..26084f2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM rust:alpine3.18 +FROM rust:alpine3.20 ENV RUSTFLAGS="-C target-feature=-crt-static" RUN apk add --no-cache musl-dev sqlite-dev libseccomp-dev libsodium-dev WORKDIR /usr/src/sn0int @@ -10,7 +10,7 @@ RUN --mount=type=cache,target=/var/cache/buildkit \ cp -v /var/cache/buildkit/target/release/sn0int / RUN strip /sn0int -FROM alpine:3.18 +FROM alpine:3.20 RUN apk add --no-cache libgcc sqlite-libs libseccomp libsodium COPY --from=0 /sn0int /usr/local/bin/sn0int VOLUME ["/data", "/cache"] From 49e2acab76171caf1c7ad26813426ed1a0ad29ee Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Sat, 14 Sep 2024 16:16:02 +0200 Subject: [PATCH 54/55] Release v0.26.1 --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 36e54f6..3468c0f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4376,7 +4376,7 @@ checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "sn0int" -version = "0.26.0" +version = "0.26.1" dependencies = [ "atty", "boxxy", diff --git a/Cargo.toml b/Cargo.toml index 766e85e..dbc53b6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sn0int" -version = "0.26.0" +version = "0.26.1" description = "Semi-automatic OSINT framework and package manager" authors = ["kpcyrd "] license = "GPL-3.0" From 7aaad62ca20e3da927344c2c3560d9943d64bff9 Mon Sep 17 00:00:00 2001 From: kayos Date: Mon, 23 Sep 2024 18:21:18 -0700 Subject: [PATCH 55/55] Doc: apt update perms apt update requires sudo, keep consistency and restore copypasta-ability --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cd9e2c2..66fed35 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ There are prebuilt packages signed by a debian maintainer: sudo apt install curl sq curl -sSf https://apt.vulns.sexy/kpcyrd.pgp | sq dearmor | sudo tee /etc/apt/trusted.gpg.d/apt-vulns-sexy.gpg > /dev/null echo deb http://apt.vulns.sexy stable main | sudo tee /etc/apt/sources.list.d/apt-vulns-sexy.list - apt update + sudo apt update Docker