diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f85b91d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +## 2021-05-02 unftp v0.12.9 + +_tag: v0.12.9_ + +- Added Mutual TLS support with the addition of the `--ftps-client-auth` and `--ftps-trust-store` arguments. +- The JSON authentication method (`--auth-json-path`) now supports encryption through + [PBKDF2](https://tools.ietf.org/html/rfc2898#section-5.2) encoded passwords. See the + [unftp-auth-jsonfile](https://docs.rs/unftp-auth-jsonfile/0.1.1/unftp_auth_jsonfile/) documentation for an example. diff --git a/Cargo.lock b/Cargo.lock index cebac8b..db1a94f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1853,9 +1853,9 @@ checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" [[package]] name = "tracing" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f" +checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" dependencies = [ "cfg-if 1.0.0", "pin-project-lite", @@ -1876,9 +1876,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f" +checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" dependencies = [ "lazy_static", ] @@ -1909,7 +1909,7 @@ checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" [[package]] name = "unftp" -version = "0.12.8" +version = "0.12.9" dependencies = [ "async-trait", "built", diff --git a/Cargo.toml b/Cargo.toml index 9e5893a..dc682c1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "unftp" -version = "0.12.8" +version = "0.12.9" authors = [ "Agoston Horvath ", "Dávid Kosztka ", @@ -45,7 +45,7 @@ unftp-auth-rest = { version = "0.1", optional = true } unftp-auth-jsonfile = { version = "0.1.1", optional = true } ## Build conflict fixes -tracing = "0.1.25" +tracing = "0.1.26" [target.'cfg(unix)'.dependencies] unftp-auth-pam = { version = "0.1", optional = true } diff --git a/README.md b/README.md index 1a61b93..0f67ae5 100644 --- a/README.md +++ b/README.md @@ -37,21 +37,21 @@ you can choose between a statically linked image (no PAM integration) or a dynam Linux (static, no PAM): ```sh -curl -L https://github.com/bolcom/unFTP/releases/download/v0.12.8/unftp_x86_64-unknown-linux-musl \ +curl -L https://github.com/bolcom/unFTP/releases/download/v0.12.9/unftp_x86_64-unknown-linux-musl \ | sudo tee /usr/local/bin/unftp > /dev/null && sudo chmod +x /usr/local/bin/unftp ``` Linux (dynamic with PAM support): ```sh -curl -L https://github.com/bolcom/unFTP/releases/download/v0.12.8/unftp_x86_64-unknown-linux-gnu \ +curl -L https://github.com/bolcom/unFTP/releases/download/v0.12.9/unftp_x86_64-unknown-linux-gnu \ | sudo tee /usr/local/bin/unftp > /dev/null && sudo chmod +x /usr/local/bin/unftp ``` macOS: ```sh -curl -L https://github.com/bolcom/unFTP/releases/download/v0.12.8/unftp_x86_64-apple-darwin \ +curl -L https://github.com/bolcom/unFTP/releases/download/v0.12.9/unftp_x86_64-apple-darwin \ | sudo tee /usr/local/bin/unftp > /dev/null && sudo chmod +x /usr/local/bin/unftp ``` @@ -203,9 +203,9 @@ make docker-image-alpine Alternatively you can download pre-made images from docker hub e.g.: ```sh -docker pull bolcom/unftp:v0.12.8-alpine -docker pull bolcom/unftp:v0.12.8-alpine-istio -docker pull bolcom/unftp:v0.12.8-scratch +docker pull bolcom/unftp:v0.12.9-alpine +docker pull bolcom/unftp:v0.12.9-alpine-istio +docker pull bolcom/unftp:v0.12.9-scratch ``` Example running it: @@ -232,7 +232,7 @@ docker run \ -v /Users/xxx/unftp/unftp.crt:/unftp.crt \ -v /Users/xxx/unftp/the-key.json:/key.json \ -ti \ - bolcom/unftp:v0.12.8-alpine + bolcom/unftp:v0.12.9-alpine ``` ## Getting help and staying informed diff --git a/RELEASE-CHECKLIST.md b/RELEASE-CHECKLIST.md new file mode 100644 index 0000000..c923548 --- /dev/null +++ b/RELEASE-CHECKLIST.md @@ -0,0 +1,22 @@ +# Release Checklist + +* Update minor versions dependencies +* Update Cargo.toml with the new version number +* Search for the old version number to find references to it in documentation and update those occurrences. +* Run `make pr-prep`, ensuring everything is green +* Prepare release notes for the Github release page +* Make a new commit (don't push) indicating the crate name and version number e.g. + > Release unftp version x.y.x + + or + + > Release slog-redis version x.y.x +* Run `make publish` +* Push to Github +* Create the release in Github using tag format \[{component}-\]{version} e.g. + > v0.12.9 + or + > slog-redis-v0.1.2 +* Create the artifacts: `make release-artifacts` and add to Github +* Build and push the docker containers +* Notify the Telegram channel. diff --git a/src/main.rs b/src/main.rs index f589a47..3a611b1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -364,13 +364,13 @@ where } (FtpsClientAuthType::request, Some(file)) => { if !PathBuf::from(file).exists() { - return Err(format!("file specified for --{} not found", args::FTPS_TRUST_STORE))?; + return Err(format!("file specified for --{} not found", args::FTPS_TRUST_STORE)); } server.ftps_client_auth(FtpsClientAuth::Request).ftps_trust_store(file) } (FtpsClientAuthType::require, Some(file)) => { if !PathBuf::from(file).exists() { - return Err(format!("file specified for --{} not found", args::FTPS_TRUST_STORE))?; + return Err(format!("file specified for --{} not found", args::FTPS_TRUST_STORE)); } server.ftps_client_auth(FtpsClientAuth::Require).ftps_trust_store(file) }