vw_small

Hardened fork of Vaultwarden (https://github.com/dani-garcia/vaultwarden) with fewer features.
git clone https://git.philomathiclife.com/repos/vw_small
Log | Files | Refs | README

commit 48e69cebab29585684be4bf22282ff1dd4697d24
parent 798a3b6a437fca9b20bdc6fd8d883c978eecd59f
Author: Daniel García <dani-garcia@users.noreply.github.com>
Date:   Wed, 18 Jul 2018 14:07:28 +0200

Merge pull request #92 from mprasil/not_found

Return 404 in case the path doesn't match instead of 500
Diffstat:
MCargo.toml | 2+-
Msrc/api/web.rs | 21+++++++++++++--------
2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bitwarden_rs" -version = "0.10.0" +version = "0.11.0" authors = ["Daniel García <dani-garcia@users.noreply.github.com>"] [dependencies] diff --git a/src/api/web.rs b/src/api/web.rs @@ -4,7 +4,7 @@ use std::path::{Path, PathBuf}; use rocket::request::Request; use rocket::response::{self, NamedFile, Responder}; use rocket::response::content::Content; -use rocket::http::ContentType; +use rocket::http::{ContentType, Status}; use rocket::Route; use rocket_contrib::{Json, Value}; @@ -49,14 +49,19 @@ struct WebHeaders<R>(R); impl<'r, R: Responder<'r>> Responder<'r> for WebHeaders<R> { fn respond_to(self, req: &Request) -> response::Result<'r> { - let mut res = self.0.respond_to(req)?; + match self.0.respond_to(req) { + Ok(mut res) => { + res.set_raw_header("Referrer-Policy", "same-origin"); + res.set_raw_header("X-Frame-Options", "SAMEORIGIN"); + res.set_raw_header("X-Content-Type-Options", "nosniff"); + res.set_raw_header("X-XSS-Protection", "1; mode=block"); - res.set_raw_header("Referrer-Policy", "same-origin"); - res.set_raw_header("X-Frame-Options", "SAMEORIGIN"); - res.set_raw_header("X-Content-Type-Options", "nosniff"); - res.set_raw_header("X-XSS-Protection", "1; mode=block"); - - Ok(res) + Ok(res) + }, + Err(_) => { + Err(Status::NotFound) + } + } } }