From ce50a81d21bbccacfead758ca63d520b6f7d8785 Mon Sep 17 00:00:00 2001 From: Jose Quintana Date: Sun, 21 Jul 2024 00:10:57 +0200 Subject: [PATCH 1/7] docs: v2.32.1 [skip ci] --- docs/content/download-and-install.md | 104 +++++++++++++-------------- scripts/installer.sh | 2 +- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/docs/content/download-and-install.md b/docs/content/download-and-install.md index 79cf7642..9df856e2 100644 --- a/docs/content/download-and-install.md +++ b/docs/content/download-and-install.md @@ -1,13 +1,13 @@ # Download and Install -Latest **v2.32.0** release `2024-06-19` ([changelog](https://github.com/static-web-server/static-web-server/releases/tag/v2.32.0), [sha256sum](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-SHA256SUM)) +Latest **v2.32.1** release `2024-07-20` ([changelog](https://github.com/static-web-server/static-web-server/releases/tag/v2.32.1), [sha256sum](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-SHA256SUM)) @@ -115,69 +115,69 @@ Pre-compiled binaries grouped by CPU architectures. ### x86_64 -- [static-web-server-v2.32.0-x86_64-apple-darwin.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-x86_64-apple-darwin.tar.gz)
-**SHA256SUM:** `2c0112758188207af54f2b160e6be6b1318098ae55ab1f9145e1988ea74d3ed7` -- [static-web-server-v2.32.0-x86_64-pc-windows-gnu.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-x86_64-pc-windows-gnu.zip)
-**SHA256SUM:** `7f4c72515a370f5776c2da982417d9a9ccf21773845b1af8e08c72dfe7f59f62` -- [static-web-server-v2.32.0-x86_64-pc-windows-msvc.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-x86_64-pc-windows-msvc.zip)
-**SHA256SUM:** `fbff273a0040b062e96149d811578d10efd547a386c7aa0a2f19e5462849a874` -- [static-web-server-v2.32.0-x86_64-unknown-freebsd.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-x86_64-unknown-freebsd.tar.gz)
-**SHA256SUM:** `25ce34d5b48d4e69afd832ddd24823eb058d1dabb7e797dd85c03b6f54fd264d` -- [static-web-server-v2.32.0-x86_64-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-x86_64-unknown-linux-gnu.tar.gz)
-**SHA256SUM:** `7a24eba311d90281d8e2f441918814cf3d4455c943fd3f2c23d494fc3444aced` -- [static-web-server-v2.32.0-x86_64-unknown-linux-musl.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-x86_64-unknown-linux-musl.tar.gz)
-**SHA256SUM:** `8d6346fb74808e3ec4dee6e80df0ac3d1dd69fc61f46214af4449834b8234a07` -- [static-web-server-v2.32.0-x86_64-unknown-netbsd.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-x86_64-unknown-netbsd.tar.gz)
-**SHA256SUM:** `338b2c685a49858229f1acc97fd078d37e63d808428f031c1b82084c3f229429` -- [static-web-server-v2.32.0-x86_64-unknown-illumos.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-x86_64-unknown-illumos.tar.gz)
-**SHA256SUM:** `d830b506c6cb7313c9a1e382be3cd21d8738719c74df093754a439b69844ff10` +- [static-web-server-v2.32.1-x86_64-apple-darwin.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-x86_64-apple-darwin.tar.gz)
+**SHA256SUM:** `4849197ca742cec18fc0bd3994e3abcc639225c65af0309a23d8d9ab0206ddbc` +- [static-web-server-v2.32.1-x86_64-pc-windows-gnu.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-x86_64-pc-windows-gnu.zip)
+**SHA256SUM:** `cbb506052535c17a1a042caf25c2ff76354d4de6a96cda605060bee502182cd3` +- [static-web-server-v2.32.1-x86_64-pc-windows-msvc.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-x86_64-pc-windows-msvc.zip)
+**SHA256SUM:** `b5ceba7fb0ebdf930efcc4e1b358dc82ef7b07e5b07f007f118488e79fac2647` +- [static-web-server-v2.32.1-x86_64-unknown-freebsd.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-x86_64-unknown-freebsd.tar.gz)
+**SHA256SUM:** `f57320b1b108ef1839f38a470ad92a76e998e78842352e7150dc893e4666b106` +- [static-web-server-v2.32.1-x86_64-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-x86_64-unknown-linux-gnu.tar.gz)
+**SHA256SUM:** `7f10a4601c82f2eda5227abf79edc2df5ba61a221c35a6e45878878c96875cee` +- [static-web-server-v2.32.1-x86_64-unknown-linux-musl.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-x86_64-unknown-linux-musl.tar.gz)
+**SHA256SUM:** `3594e490229b10fafe5c849addc8bcb777f1c69123d9d1a5ed731f6ae57cdf95` +- [static-web-server-v2.32.1-x86_64-unknown-netbsd.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-x86_64-unknown-netbsd.tar.gz)
+**SHA256SUM:** `4caa4a376055d9678edd9a89ace0693a1d2d323b5330392b2eccd35aac3ea7d0` +- [static-web-server-v2.32.1-x86_64-unknown-illumos.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-x86_64-unknown-illumos.tar.gz)
+**SHA256SUM:** `36ccad543873728b80546b3611a13728d557b15fb652b65ff14e36345f28bfc4` ### ARM64 -- [static-web-server-v2.32.0-aarch64-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-aarch64-unknown-linux-gnu.tar.gz)
-**SHA256SUM:** `1544651fa9bb2c04c8c571ea8debf7698df917336b5e703fcc9a779e17f33fdc` -- [static-web-server-v2.32.0-aarch64-unknown-linux-musl.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-aarch64-unknown-linux-musl.tar.gz)
-**SHA256SUM:** `eaa8f79c088707bbfb999de96e4306d3b22d09c6f57a08a279e5aeafaa9b849f` -- [static-web-server-v2.32.0-aarch64-apple-darwin.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-aarch64-apple-darwin.tar.gz)
-**SHA256SUM:** `da6a4779ed2a41a7ebefa29c0eb02370d2f52a23cce7b9eaf37ab4be1b97abe4` -- [static-web-server-v2.32.0-aarch64-linux-android.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-aarch64-linux-android.tar.gz)
-**SHA256SUM:** `abde6c8977498b893d7671b6ed428654979297cfc59d4e088dfb27e3d2654227` -- [static-web-server-v2.32.0-aarch64-pc-windows-msvc.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-aarch64-pc-windows-msvc.zip)
-**SHA256SUM:** `cd06b70f0628457e17a8a3616e174b490023ed1066a105ae135ee65545809e38` +- [static-web-server-v2.32.1-aarch64-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-aarch64-unknown-linux-gnu.tar.gz)
+**SHA256SUM:** `34571e9390fdcdf7b327870e7d3974b5a61a8d80f565c249487f08db1c81bdf0` +- [static-web-server-v2.32.1-aarch64-unknown-linux-musl.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-aarch64-unknown-linux-musl.tar.gz)
+**SHA256SUM:** `faa86f42798a58ff8a35ffe54f1b8b2be0f767b444ecbbf99bbeae10268eaece` +- [static-web-server-v2.32.1-aarch64-apple-darwin.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-aarch64-apple-darwin.tar.gz)
+**SHA256SUM:** `2b167558c428f55bcc177e40d0707d2bfc9fec4211da787e0824483e1326c386` +- [static-web-server-v2.32.1-aarch64-linux-android.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-aarch64-linux-android.tar.gz)
+**SHA256SUM:** `deebfc23d5b88db0a29bf29b4cf66f3c6052d758f5ab7755308ffcc9964aa59d` +- [static-web-server-v2.32.1-aarch64-pc-windows-msvc.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-aarch64-pc-windows-msvc.zip)
+**SHA256SUM:** `edd940eed3ca8f44e81a6db1cbbaa76900392132fc5435e859daa5d3e6dcc2e2` ### x86 -- [static-web-server-v2.32.0-i686-pc-windows-msvc.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-i686-pc-windows-msvc.zip)
-**SHA256SUM:** `ffb2b7927cfab6bc7a2022c4a0ea7d82c73d5b56bfe833305955ee46d2ed9608` -- [static-web-server-v2.32.0-i686-unknown-freebsd.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-i686-unknown-freebsd.tar.gz)
-**SHA256SUM:** `0c344b167d2e8024142c13c8689075b4c86852479d5359a0f9fb099efe1fac29` -- [static-web-server-v2.32.0-i686-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-i686-unknown-linux-gnu.tar.gz)
-**SHA256SUM:** `33e9f2481ce6f70ef2d80b1f2c3f712e05a9036a3720a920217ff77ddf067ab3` -- [static-web-server-v2.32.0-i686-unknown-linux-musl.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-i686-unknown-linux-musl.tar.gz)
-**SHA256SUM:** `e535ec5baf6d459e05abfd2e18b655f95866e5b05c00c3fa816e4f191fd6b3dc` +- [static-web-server-v2.32.1-i686-pc-windows-msvc.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-i686-pc-windows-msvc.zip)
+**SHA256SUM:** `d9f4da156c8c53469c9007c09723cf45f107379c1f81f832e53d3c720890eeb9` +- [static-web-server-v2.32.1-i686-unknown-freebsd.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-i686-unknown-freebsd.tar.gz)
+**SHA256SUM:** `64e41eb1d9802561aebdd7817a9311ec48020933b31f3971e1aeaaf8784eff1f` +- [static-web-server-v2.32.1-i686-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-i686-unknown-linux-gnu.tar.gz)
+**SHA256SUM:** `571ceaf2a20f786ba10ef81198b5bbbe4a9c8b4db2a02e54e6a6e39ab35f3170` +- [static-web-server-v2.32.1-i686-unknown-linux-musl.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-i686-unknown-linux-musl.tar.gz)
+**SHA256SUM:** `cab2684753f5c67ab6917b2eb5239c2308b72cd390fc33021720f8a0b5366229` ### ARM -- [static-web-server-v2.32.0-arm-unknown-linux-gnueabihf.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-arm-unknown-linux-gnueabihf.tar.gz)
-**SHA256SUM:** `754ba57444461e0f165a234cf0023196ce01bd7d1e9f19446e5f3e9d99746891` -- [static-web-server-v2.32.0-arm-unknown-linux-musleabihf.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-arm-unknown-linux-musleabihf.tar.gz)
-**SHA256SUM:** `997b82085007a3e86ec002f70420784e4271750be582b8f819279bf9e77c98a8` -- [static-web-server-v2.32.0-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-armv7-unknown-linux-musleabihf.tar.gz)
-**SHA256SUM:** `2026cc3dc24c19c0c2915312c8df1c8899f128197ee19a92a93c2fdd5b888efd` +- [static-web-server-v2.32.1-arm-unknown-linux-gnueabihf.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-arm-unknown-linux-gnueabihf.tar.gz)
+**SHA256SUM:** `5aaf1b92c565a37666fb474815bd5fd13e529ec3af80a050d79dc48d9cf7dd10` +- [static-web-server-v2.32.1-arm-unknown-linux-musleabihf.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-arm-unknown-linux-musleabihf.tar.gz)
+**SHA256SUM:** `d42fdedd0bf638b0d2a8ac847e67aba06b6d7686ad2eea0517aeee6e028135e5` +- [static-web-server-v2.32.1-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-armv7-unknown-linux-musleabihf.tar.gz)
+**SHA256SUM:** `0eabc77293d2beba1e26b847fa7935adcfa7c9a68ef481ea7ba629772a6034d6` ### PowerPC -- [static-web-server-v2.32.0-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-powerpc64le-unknown-linux-gnu.tar.gz)
-**SHA256SUM:** `bcfdf97a7e0d0b23e4f592af387dda06b1c08a2234a9c6d17ed673d6f2c5b13c` +- [static-web-server-v2.32.1-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-powerpc64le-unknown-linux-gnu.tar.gz)
+**SHA256SUM:** `ad0fb7ef05a1db53177a550dace6200e1d53be881edb61b709b6ebe323a0a76e` ### S390X -- [static-web-server-v2.32.0-s390x-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.0/static-web-server-v2.32.0-s390x-unknown-linux-gnu.tar.gz)
-**SHA256SUM:** `3945675abb6f3023a7ed3b01d50ba71d6c9e3b648e2a1db9715353a30b8eb7bf` +- [static-web-server-v2.32.1-s390x-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.32.1/static-web-server-v2.32.1-s390x-unknown-linux-gnu.tar.gz)
+**SHA256SUM:** `a19240d3db07b3a5b5f8f12e73cc2522a4cc1bff69c0cc37dac132ffe46d36ee` ## Source files -- [static-web-server-2.32.0.tar.gz](https://github.com/static-web-server/static-web-server/archive/refs/tags/v2.32.0.tar.gz)
-**SHA256SUM:** `0ba853ded8ee63f4714be0ac3aee4ca5c7f97596a18a4f2c3ea0ede373f0e76e` -- [static-web-server-2.32.0.zip](https://github.com/static-web-server/static-web-server/archive/refs/tags/v2.32.0.zip)
-**SHA256SUM:** `876597930a20ff296fec15e3be75469d1be16afdebc6825a395f1fa54e69f224` +- [static-web-server-2.32.1.tar.gz](https://github.com/static-web-server/static-web-server/archive/refs/tags/v2.32.1.tar.gz)
+**SHA256SUM:** `771aa43f3bc96334d432e75f31464e1a0d4dcb4aa920c4f58b2339757e929060` +- [static-web-server-2.32.1.zip](https://github.com/static-web-server/static-web-server/archive/refs/tags/v2.32.1.zip)
+**SHA256SUM:** `1d06135ce1846749c3a78ec416493024ecda353b927f684115d047a8b3577de6` diff --git a/scripts/installer.sh b/scripts/installer.sh index 3f5b636a..31e7a7b0 100755 --- a/scripts/installer.sh +++ b/scripts/installer.sh @@ -23,7 +23,7 @@ fi set -u # SWS latest version -version=${SWS_INSTALL_VERSION:-"2.32.0"} +version=${SWS_INSTALL_VERSION:-"2.32.1"} # Default directory where SWS will be installed local_bin=${SWS_INSTALL_DIR:-"/usr/local/bin"} From 915d04012e07fc9239b19e63b9fcf1d66f207617 Mon Sep 17 00:00:00 2001 From: Jose Quintana <1700322+joseluisq@users.noreply.github.com> Date: Mon, 22 Jul 2024 21:32:26 +0200 Subject: [PATCH 2/7] fix: can not run tests via cargo when passing non-sws arguments (#466) When running tests with additional non-sws arguments, tests execution fails because sws is trying to parse cli arguments anyways. Now, sws won't parse arguments by default when running tests. For example, the following command will work as expected: cargo test -- --test-threads 1 --nocapture --- src/settings/mod.rs | 16 +++++++++++++++- src/testing.rs | 2 +- tests/compression.rs | 1 + tests/handler.rs | 1 + tests/redirects.rs | 1 + tests/rewrites.rs | 1 + 6 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/settings/mod.rs b/src/settings/mod.rs index 5f9f76d7..7666b295 100644 --- a/src/settings/mod.rs +++ b/src/settings/mod.rs @@ -100,7 +100,21 @@ impl Settings { /// It also takes care to initialize the logging system with its level /// once the `general` settings are determined. pub fn get(log_init: bool) -> Result { - let opts = General::parse(); + Self::read(log_init, true) + } + + /// Reads CLI/Env and config file options returning the server settings + /// without parsing arguments useful for testing. + pub fn get_unparsed(log_init: bool) -> Result { + Self::read(log_init, false) + } + + fn read(log_init: bool, parse_args: bool) -> Result { + let opts = if parse_args { + General::parse() + } else { + General::parse_from([""]) + }; // Define the general CLI/file options let version = opts.version; diff --git a/src/testing.rs b/src/testing.rs index 3c3459e0..b5e4276f 100644 --- a/src/testing.rs +++ b/src/testing.rs @@ -26,7 +26,7 @@ pub mod fixtures { // Replace default config file and load the fixture TOML settings let f = PathBuf::from("tests/fixtures").join(fixture_toml); std::env::set_var("SERVER_CONFIG_FILE", f); - Settings::get(false).unwrap() + Settings::get_unparsed(false).unwrap() } /// Create a `RequestHandler` from a custom TOML config file (fixture). diff --git a/tests/compression.rs b/tests/compression.rs index 79d593cd..ebd80d94 100644 --- a/tests/compression.rs +++ b/tests/compression.rs @@ -3,6 +3,7 @@ #![deny(rust_2018_idioms)] #![deny(dead_code)] +#[cfg(test)] pub mod tests { use headers::HeaderValue; use hyper::Request; diff --git a/tests/handler.rs b/tests/handler.rs index 669b4431..d53c6585 100644 --- a/tests/handler.rs +++ b/tests/handler.rs @@ -3,6 +3,7 @@ #![deny(rust_2018_idioms)] #![deny(dead_code)] +#[cfg(test)] pub mod tests { use headers::HeaderValue; use hyper::Request; diff --git a/tests/redirects.rs b/tests/redirects.rs index c499ab9f..50ffce04 100644 --- a/tests/redirects.rs +++ b/tests/redirects.rs @@ -3,6 +3,7 @@ #![deny(rust_2018_idioms)] #![deny(dead_code)] +#[cfg(test)] pub mod tests { use hyper::Request; use std::net::SocketAddr; diff --git a/tests/rewrites.rs b/tests/rewrites.rs index d33b5a3b..3ede500e 100644 --- a/tests/rewrites.rs +++ b/tests/rewrites.rs @@ -3,6 +3,7 @@ #![deny(rust_2018_idioms)] #![deny(dead_code)] +#[cfg(test)] pub mod tests { use hyper::Request; use std::net::SocketAddr; From dd48972896d859344a84e5d2944d6662ccc22dcb Mon Sep 17 00:00:00 2001 From: Jose Quintana <1700322+joseluisq@users.noreply.github.com> Date: Wed, 24 Jul 2024 23:06:54 +0200 Subject: [PATCH 3/7] fix: regression boolean flags with without explicit values (#468) Now boolean flags like --directory-listing, --compression_static, etc will work in three variants. For example: --directory-listing --directory-listing true --directory-listing=true --- src/settings/cli.rs | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/settings/cli.rs b/src/settings/cli.rs index 8c3ea5d0..42bf8d2a 100644 --- a/src/settings/cli.rs +++ b/src/settings/cli.rs @@ -155,7 +155,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_HTTP2_TLS", )] @@ -181,7 +181,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, requires_if("true", "http2"), env = "SERVER_HTTPS_REDIRECT" @@ -252,7 +252,7 @@ pub struct General { default_value = "true", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_COMPRESSION", )] @@ -302,7 +302,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_COMPRESSION_STATIC", )] @@ -318,7 +318,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_DIRECTORY_LISTING", )] @@ -355,7 +355,7 @@ pub struct General { default_value_if("http2", "true", Some("true")), default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_SECURITY_HEADERS", )] @@ -376,7 +376,7 @@ pub struct General { default_value = "true", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_CACHE_CONTROL_HEADERS", )] @@ -407,7 +407,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_LOG_REMOTE_ADDRESS", )] @@ -419,7 +419,7 @@ pub struct General { default_value = "true", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_REDIRECT_TRAILING_SLASH", )] @@ -431,7 +431,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_IGNORE_HIDDEN_FILES", )] @@ -443,7 +443,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_DISABLE_SYMLINKS", )] @@ -455,7 +455,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_HEALTH", )] @@ -469,7 +469,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_EXPERIMENTAL_METRICS", )] @@ -481,7 +481,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_MAINTENANCE_MODE" )] @@ -518,7 +518,7 @@ pub struct General { default_value = "false", default_missing_value("true"), num_args(0..=1), - require_equals(true), + require_equals(false), action = clap::ArgAction::Set, env = "SERVER_WINDOWS_SERVICE", )] From a72c7b3c6bea9e8e509dbc43608a92367382a09f Mon Sep 17 00:00:00 2001 From: Jose Quintana <1700322+joseluisq@users.noreply.github.com> Date: Tue, 13 Aug 2024 01:32:41 +0200 Subject: [PATCH 4/7] fix: wrong `Content-Encoding` when compression & compression-static enabled (#471) --- src/compression.rs | 5 +++++ tests/compression.rs | 2 +- tests/fixtures/toml/handler_fixtures.toml | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 tests/fixtures/toml/handler_fixtures.toml diff --git a/src/compression.rs b/src/compression.rs index 69147783..babfe449 100644 --- a/src/compression.rs +++ b/src/compression.rs @@ -98,6 +98,11 @@ pub(crate) fn post_process( return Ok(resp); } + let is_precompressed = resp.headers().get(CONTENT_ENCODING).is_some(); + if is_precompressed { + return Ok(resp); + } + // Compression content encoding varies so use a `Vary` header resp.headers_mut().insert( hyper::header::VARY, diff --git a/tests/compression.rs b/tests/compression.rs index ebd80d94..8c8e7e46 100644 --- a/tests/compression.rs +++ b/tests/compression.rs @@ -16,7 +16,7 @@ pub mod tests { #[tokio::test] async fn compression_file() { - let opts = fixture_settings("toml/handler.toml"); + let opts = fixture_settings("toml/handler_fixtures.toml"); let general = General { compression: true, compression_static: true, diff --git a/tests/fixtures/toml/handler_fixtures.toml b/tests/fixtures/toml/handler_fixtures.toml new file mode 100644 index 00000000..3a002afc --- /dev/null +++ b/tests/fixtures/toml/handler_fixtures.toml @@ -0,0 +1,9 @@ +[general] + +root = "tests/fixtures/public" + +[advanced] + +[[advanced.headers]] +source = "**/*.{html,htm}" +headers = { Server = "Static Web Server" } From f228a7a0d8c74b6b43672eb519de792948ee723d Mon Sep 17 00:00:00 2001 From: Jose Quintana Date: Tue, 13 Aug 2024 02:00:15 +0200 Subject: [PATCH 5/7] chore: make task for build development docker images [skip ci] --- Makefile | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 442a78ff..6fc22a53 100644 --- a/Makefile +++ b/Makefile @@ -110,30 +110,41 @@ fmt: ## Development Docker images docker.image: - @echo "Creating Docker Scratch image..." + @echo "Creating development Docker Scratch image..." @cp -frp ./target/x86_64-unknown-linux-musl/release/static-web-server ./docker/devel/ @docker build \ --rm=true -f ./docker/devel/Dockerfile.scratch \ + --platform="linux/x86_64" \ + --network="host" \ -t joseluisq/${PKG_NAME}:devel . --pull=true .PHONY: docker.image docker.image.alpine: - @echo "Creating Docker Alpine image..." + @echo "Creating development Docker Alpine image..." @cp -frp ./target/x86_64-unknown-linux-musl/release/static-web-server ./docker/devel/ @docker build \ --rm=true -f ./docker/devel/Dockerfile.alpine \ + --platform="linux/x86_64" \ + --network="host" \ -t joseluisq/${PKG_NAME}:devel-alpine . --pull=true .PHONY: docker.image.alpine docker.image.debian: - @echo "Creating Docker Alpine image..." + @echo "Creating development Docker Alpine image..." @cp -frp ./target/x86_64-unknown-linux-musl/release/static-web-server ./docker/devel/ @docker build \ --platform="linux/x86_64" \ + --network="host" \ --rm=true -f ./docker/devel/Dockerfile.debian \ -t joseluisq/${PKG_NAME}:devel-debian . --pull=true .PHONY: docker.image.debian +docker.image.all: + @make docker.image + @make docker.image.alpine + @make docker.image.debian +.PHONY: docker.image.all + ####################################### ########## Production tasks ########### From 634dd98f5b0087dd5543d2d12736d285fd0774cd Mon Sep 17 00:00:00 2001 From: Jose Quintana <1700322+joseluisq@users.noreply.github.com> Date: Tue, 13 Aug 2024 23:12:04 +0200 Subject: [PATCH 6/7] chore: update dependencies 13.08.2024 (#472) --- Cargo.lock | 312 ++++++++++++++++++++--------------------------------- 1 file changed, 119 insertions(+), 193 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e4b8bbb3..e20d1700 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,9 +58,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", @@ -73,36 +73,36 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ - "windows-sys 0.52.0", + "windows-sys", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys", ] [[package]] @@ -113,9 +113,9 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "async-compression" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" +checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" dependencies = [ "brotli", "flate2", @@ -221,9 +221,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" dependencies = [ "memchr", "serde", @@ -243,15 +243,15 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" [[package]] name = "cc" -version = "1.1.6" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" +checksum = "e9e8aabfac534be767c909e0690571677d49f41bd8465ae876fe043d52ba5292" dependencies = [ "jobserver", "libc", @@ -272,7 +272,7 @@ dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -287,9 +287,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.9" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" +checksum = "11d8838454fda655dafd3accb2b6e2bea645b9e4078abe84a22ceb947235c5cc" dependencies = [ "clap_builder", "clap_derive", @@ -297,9 +297,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.9" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", @@ -309,9 +309,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.8" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck", "proc-macro2", @@ -321,15 +321,15 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "const_fn" @@ -359,15 +359,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -418,9 +418,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" dependencies = [ "crc32fast", "miniz_oxide", @@ -711,9 +711,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown", @@ -736,9 +736,9 @@ checksum = "06d198e9919d9822d5f7083ba8530e04de87841eaf21ead9af8f2304efd57c89" [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itoa" @@ -748,18 +748,18 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] @@ -790,9 +790,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.18" +version = "1.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" +checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" dependencies = [ "cc", "libc", @@ -882,13 +882,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.11" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ + "hermit-abi", "libc", "wasi", - "windows-sys 0.48.0", + "windows-sys", ] [[package]] @@ -916,16 +917,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "num_threads" version = "0.1.7" @@ -937,9 +928,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.1" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" +checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" dependencies = [ "memchr", ] @@ -976,7 +967,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1102,9 +1093,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -1141,7 +1132,7 @@ dependencies = [ "libc", "spin", "untrusted", - "windows-sys 0.52.0", + "windows-sys", ] [[package]] @@ -1152,9 +1143,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustls" -version = "0.23.11" +version = "0.23.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4828ea528154ae444e5a642dbb7d5623354030dc9822b83fd9bb79683c7399d0" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" dependencies = [ "log", "once_cell", @@ -1167,9 +1158,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" dependencies = [ "base64 0.22.1", "rustls-pki-types", @@ -1177,15 +1168,15 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" [[package]] name = "rustls-webpki" -version = "0.102.5" +version = "0.102.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a6fccd794a42c2c105b513a2f62bc3fd8f3ba57a4593677ceb0bd035164d78" +checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" dependencies = [ "ring", "rustls-pki-types", @@ -1206,18 +1197,18 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.204" +version = "1.0.207" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "5665e14a49a4ea1b91029ba7d3bca9f299e1f7cfa194388ccc20f14743e784f2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.207" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "6aea2634c86b0e8ef2cfdc0c340baede54ec27b1e46febd7f80dffb2aa44a00e" dependencies = [ "proc-macro2", "quote", @@ -1235,11 +1226,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "66ad62847a56b3dba58cc891acd13884b9c61138d330c0d7b6181713d4fce38d" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -1257,9 +1249,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -1351,7 +1343,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys", ] [[package]] @@ -1419,9 +1411,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.71" +version = "2.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" +checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" dependencies = [ "proc-macro2", "quote", @@ -1528,27 +1520,26 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.1" +version = "1.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df" +checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys", ] [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", @@ -1617,9 +1608,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", @@ -1629,18 +1620,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.16" +version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ "indexmap", "serde", @@ -1651,9 +1642,9 @@ dependencies = [ [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -1821,9 +1812,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "want" @@ -1842,19 +1833,20 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", @@ -1867,9 +1859,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1877,9 +1869,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", @@ -1890,9 +1882,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "widestring" @@ -1928,7 +1920,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1939,16 +1931,7 @@ checksum = "d24d6bcc7f734a4091ecf8d7a64c5f7d7066f45585c1861eba06449909609c8a" dependencies = [ "bitflags", "widestring", - "windows-sys 0.52.0", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", + "windows-sys", ] [[package]] @@ -1957,22 +1940,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "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", + "windows-targets", ] [[package]] @@ -1981,46 +1949,28 @@ 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_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", "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", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows_aarch64_gnullvm" -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" @@ -2033,48 +1983,24 @@ 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" @@ -2083,9 +2009,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.14" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374ec40a2d767a3c1b4972d9475ecd557356637be906f2cb3f7fe17a6eb5e22f" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] @@ -2107,18 +2033,18 @@ dependencies = [ [[package]] name = "zstd-safe" -version = "7.2.0" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa556e971e7b568dc775c136fc9de8c779b1c2fc3a63defaafadffdbd3181afa" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.12+zstd.1.5.6" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", "pkg-config", From e61c97e76fcd2ae3b4c9e4133ff145a16bc6eb04 Mon Sep 17 00:00:00 2001 From: Jose Quintana Date: Tue, 13 Aug 2024 23:41:03 +0200 Subject: [PATCH 7/7] v2.32.2 --- CHANGELOG.md | 19 ++++++++++++++++++- Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b54bb779..9ca6b102 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 _**Note:** See changelog for v1 under the [1.x](https://github.com/static-web-server/static-web-server/blob/1.x/CHANGELOG.md) branch._ +## v2.32.2 - 2024-08-13 + +This new `v2.32.2` release brings several security and bug fixes as well as other improvements. + +__Fixes__ + +- [634dd98](https://github.com/static-web-server/static-web-server/commit/634dd98) Bugfix/security dependency updates including tokio, rustls, serde, toml, zstd, clap and other crates. PR [#472](https://github.com/static-web-server/static-web-server/pull/472). +- [a72c7b3](https://github.com/static-web-server/static-web-server/commit/a72c7b3) Wrong `Content-Encoding` when serving a pre-compressed file if `compression` and `compression-static` features are enabled. PR [#471](https://github.com/static-web-server/static-web-server/pull/471) fixes [#470](https://github.com/static-web-server/static-web-server/issues/470) reported by [@davinkevin](https://github.com/davinkevin). +- [dd48972](https://github.com/static-web-server/static-web-server/commit/dd48972) CLI (regression): Boolean flags without explicit values do not work. PR [#468](https://github.com/static-web-server/static-web-server/pull/468) fixes [#467](https://github.com/static-web-server/static-web-server/issues/467) reported by [@stardustman](https://github.com/stardustman). +- [915d040](https://github.com/static-web-server/static-web-server/commit/915d040) Tests: Not able to run tests via Cargo when passing non-SWS arguments. PR [#466](https://github.com/static-web-server/static-web-server/pull/466) fixes [#465](https://github.com/static-web-server/static-web-server/issues/465) reported by [@fpletz](https://github.com/fpletz). + +__Refactorings__ + +- [f228a7a](https://github.com/static-web-server/static-web-server/commit/f228a7a) Misc: Add Make a task for building all development Docker images. + +For more details see the [v2.32.2 milestone](https://github.com/static-web-server/static-web-server/milestone/22?closed=1) and the full changelog [v2.32.1...v2.32.2](https://github.com/static-web-server/static-web-server/compare/v2.32.1...v2.32.2). + ## v2.32.1 - 2024-07-20 This new `v2.32.1` release brings several security and bug fixes as well as other improvements. @@ -19,7 +36,7 @@ __Fixes__ __Refactorings__ -- [b3fad98](https://github.com/static-web-server/static-web-server/commit/b3fad98) CI: Remove deprecated bors and improve devel workflow. PR [#458](https://github.com/static-web-server/static-web-server/pull/458). +- [b3fad98](https://github.com/static-web-server/static-web-server/commit/b3fad98) CI: Remove deprecated bors and improve devel workflow. PR [#458](https://github.com/static-web-server/static-web-server/pull/458).tokio, - [e64076c](https://github.com/static-web-server/static-web-server/commit/e64076c) CI: Improve typos workflow configuration. PR [#456](https://github.com/static-web-server/static-web-server/pull/456) by [@szepeviktor](https://github.com/szepeviktor). - [4c805d6](https://github.com/static-web-server/static-web-server/commit/4c805d6) Remove some redundant async function signatures. PR [#457](https://github.com/static-web-server/static-web-server/pull/457). diff --git a/Cargo.lock b/Cargo.lock index e20d1700..c0017a01 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1354,7 +1354,7 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "static-web-server" -version = "2.32.1" +version = "2.32.2" dependencies = [ "aho-corasick", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index dfbecfbc..0529b594 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "static-web-server" -version = "2.32.1" +version = "2.32.2" edition = "2021" rust-version = "1.74.0" authors = ["Jose Quintana "]