diff --git a/Cargo.lock b/Cargo.lock index 60b23a45..d5556192 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.14.1" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7" +checksum = "03345e98af8f3d786b6d9f656ccfa6ac316d954e92bc4841f0bba20789d5fb5a" dependencies = [ "gimli", ] @@ -74,9 +74,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.58" +version = "0.3.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88fb5a785d6b44fd9d6700935608639af1b8356de1e55d5f7c2740f4faa15d82" +checksum = "4717cfcbfaa661a0fd48f8453951837ae7e8f81e481fbb136e3202d72805a744" dependencies = [ "addr2line", "cc", @@ -338,10 +338,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" [[package]] -name = "cpuid-bool" -version = "0.1.2" +name = "cpufeatures" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" +checksum = "dec1028182c380cc45a2e2c5ec841134f2dfd0f8f5f0a5bcd68004f81b5efdf4" +dependencies = [ + "libc", +] [[package]] name = "crc32fast" @@ -423,7 +426,7 @@ dependencies = [ "bitflags", "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -451,7 +454,7 @@ checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -543,6 +546,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fastrand" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77b705829d1e87f762c2df6da140b26af5839e1033aa84aa5f56bb688e4e1bdb" +dependencies = [ + "instant", +] + [[package]] name = "fern" version = "0.6.0" @@ -691,7 +703,7 @@ dependencies = [ "proc-macro-hack", "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -779,9 +791,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce" +checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" [[package]] name = "glob" @@ -810,14 +822,14 @@ dependencies = [ [[package]] name = "handlebars" -version = "3.5.4" +version = "3.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "580b6f551b29a3a02436318aed09ba1c58eea177dc49e39beac627ad356730a5" +checksum = "4498fc115fa7d34de968184e473529abb40eeb6be8bc5f7faba3d08c316cb3e3" dependencies = [ "log 0.4.14", "pest", "pest_derive", - "quick-error 2.0.0", + "quick-error 2.0.1", "serde", "serde_json", "walkdir", @@ -881,7 +893,7 @@ dependencies = [ "markup5ever", "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -897,9 +909,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfb77c123b4e2f72a2069aeae0b4b4949cc7e966df277813fc16347e7549737" +checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9" dependencies = [ "bytes 1.0.1", "http", @@ -908,15 +920,15 @@ dependencies = [ [[package]] name = "httparse" -version = "1.3.6" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc35c995b9d93ec174cf9a27d425c7892722101e14993cd227fdb51d70cf9589" +checksum = "4a1ce40d6fc9764887c2fdc7305c3dcc429ba11ff981c1509416afd5697e4437" [[package]] name = "httpdate" -version = "0.3.2" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" +checksum = "05842d0d43232b23ccb7060ecb0f0626922c21f30012e97b767b30afd4a5d4b9" [[package]] name = "hyper" @@ -939,9 +951,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.5" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf09f61b52cfcf4c00de50df88ae423d6c02354e385a86341133b5338630ad1" +checksum = "1e5f105c494081baa3bf9e200b279e27ec1623895cd504c7dbef8d0b080fcf54" dependencies = [ "bytes 1.0.1", "futures-channel", @@ -980,29 +992,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes 1.0.1", - "hyper 0.14.5", + "hyper 0.14.7", "native-tls", "tokio", "tokio-native-tls", ] -[[package]] -name = "hyperx" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82566a1ace7f56f604d83b7b2c259c78e243d99c565f23d7b4ae34466442c5a2" -dependencies = [ - "base64 0.13.0", - "bytes 1.0.1", - "http", - "httparse", - "httpdate", - "language-tags", - "mime 0.3.16", - "percent-encoding 2.1.0", - "unicase 2.6.0", -] - [[package]] name = "idna" version = "0.1.5" @@ -1128,24 +1123,23 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "lettre" -version = "0.10.0-beta.3" +version = "0.10.0-beta.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897171ed0e63da84c988b157106ad8b6532d7499aeeec906ce46b05415cc79d3" +checksum = "2b7fd0c394e97e38d87bd2dfdf91983ab406b044a0bfd4e5b5c82bdfa0324526" dependencies = [ "base64 0.13.0", + "fastrand", "hostname", - "hyperx", + "httpdate", "idna 0.2.3", "mime 0.3.16", "native-tls", "nom 6.1.2", "once_cell", "quoted_printable", - "rand 0.8.3", "regex", "serde", "tracing", - "uuid", ] [[package]] @@ -1272,7 +1266,7 @@ dependencies = [ "migrations_internals", "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -1438,12 +1432,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" -[[package]] -name = "newline-converter" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f81c2b19eebbc4249b3ca6aff70ae05bf18d6a99b7cc63cf0248774e640565" - [[package]] name = "nodrop" version = "0.1.14" @@ -1499,7 +1487,7 @@ checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -1546,9 +1534,9 @@ dependencies = [ [[package]] name = "object" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4" +checksum = "1a5b3dd1c072ee7963717671d1ca129f1048fda25edea6b752bfc71ac8854170" [[package]] name = "once_cell" @@ -1599,9 +1587,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.62" +version = "0.9.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52160d45fa2e7608d504b7c3a3355afed615e6d8b627a74458634ba21b69bd" +checksum = "b6b0d6fb7d80f877617dfcb014e605e2b5ab2fb0afdf27935219bb6bd984cb98" dependencies = [ "autocfg", "cc", @@ -1635,7 +1623,7 @@ dependencies = [ "rand 0.7.3", "sha-1 0.8.2", "slab", - "url 2.2.1", + "url 2.2.2", ] [[package]] @@ -1774,7 +1762,7 @@ dependencies = [ "pest_meta", "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -1828,9 +1816,9 @@ dependencies = [ [[package]] name = "pico-args" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d70072c20945e1ab871c472a285fc772aefd4f5407723c206242f2c6f94595d6" +checksum = "7d7afeb98c5a10e0bffcc7fc16e105b04d06729fac5fd6384aebf7ff5cb5a67d" [[package]] name = "pin-project" @@ -1849,7 +1837,7 @@ checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f" dependencies = [ "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -1929,9 +1917,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quick-error" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ac73b1112776fc109b2e61909bc46c7e1bf0d7f690ffb1676553acce16d5cda" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quote" @@ -2104,18 +2092,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85dd92e586f7355c633911e11f77f3d12f04b1b1bd76a198bd34ae3af8341ef2" +checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc" dependencies = [ "bitflags", ] [[package]] name = "regex" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5f1ceb7f74abbce32601642fcf8e8508a8a8991e0621c7d750295b9095702b" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" dependencies = [ "aho-corasick", "memchr", @@ -2151,7 +2139,7 @@ dependencies = [ "futures-util", "http", "http-body", - "hyper 0.14.5", + "hyper 0.14.7", "hyper-tls", "ipnet", "js-sys", @@ -2168,7 +2156,7 @@ dependencies = [ "tokio-native-tls", "tokio-socks", "tokio-util", - "url 2.2.1", + "url 2.2.2", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -2275,9 +2263,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e3bad0ee36814ca07d7968269dd4b7ec89ec2da10c4bb613928d3077083c232" +checksum = "410f7acf3cb3a44527c5d9546bad4bf4e6c460915d5f9f2fc524498bfe8f70ce" [[package]] name = "rustc-hex" @@ -2418,7 +2406,7 @@ checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d" dependencies = [ "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -2471,13 +2459,13 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f" +checksum = "b659df5fc3ce22274daac600ffb845300bd2125bcfaec047823075afdab81c00" dependencies = [ "block-buffer 0.9.0", "cfg-if 1.0.0", - "cpuid-bool", + "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", ] @@ -2600,7 +2588,7 @@ dependencies = [ "quote 1.0.9", "serde", "serde_derive", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -2616,7 +2604,7 @@ dependencies = [ "serde_derive", "serde_json", "sha1", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -2669,9 +2657,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad184cc9470f9117b2ac6817bfe297307418819ba40552f9b3846f05c33d5373" +checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82" dependencies = [ "proc-macro2 1.0.26", "quote 1.0.9", @@ -2738,7 +2726,7 @@ checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0" dependencies = [ "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -2796,7 +2784,7 @@ dependencies = [ "proc-macro2 1.0.26", "quote 1.0.9", "standback", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -2901,7 +2889,7 @@ checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2" dependencies = [ "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", ] [[package]] @@ -3036,9 +3024,9 @@ dependencies = [ [[package]] name = "url" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" dependencies = [ "form_urlencoded", "idna 0.2.3", @@ -3085,7 +3073,6 @@ dependencies = [ "log 0.4.14", "markup5ever_rcdom", "multipart", - "newline-converter", "num-derive", "num-traits", "oath", @@ -3186,7 +3173,7 @@ dependencies = [ "log 0.4.14", "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", "wasm-bindgen-shared", ] @@ -3220,7 +3207,7 @@ checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c" dependencies = [ "proc-macro2 1.0.26", "quote 1.0.9", - "syn 1.0.71", + "syn 1.0.72", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3358,7 +3345,7 @@ dependencies = [ "hmac 0.10.1", "rand 0.8.3", "reqwest", - "sha-1 0.9.4", + "sha-1 0.9.5", "threadpool", "url 1.7.2", ] diff --git a/Cargo.toml b/Cargo.toml index a318b707..7282f066 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -103,16 +103,15 @@ num-derive = "0.3.3" # Email libraries tracing = { version = "0.1.26", features = ["log"] } # Needed to have lettre trace logging used when SMTP_DEBUG is enabled. -lettre = { version = "0.10.0-beta.3", features = ["smtp-transport", "builder", "serde", "native-tls", "hostname", "tracing"], default-features = false } -newline-converter = "0.2.0" +lettre = { version = "0.10.0-beta.4", features = ["smtp-transport", "builder", "serde", "native-tls", "hostname", "tracing"], default-features = false } # Template library -handlebars = { version = "3.5.4", features = ["dir_source"] } +handlebars = { version = "3.5.5", features = ["dir_source"] } # For favicon extraction from main website html5ever = "0.25.1" markup5ever_rcdom = "0.1.0" -regex = { version = "1.5.3", features = ["std", "perf"], default-features = false } +regex = { version = "1.5.4", features = ["std", "perf"], default-features = false } data-url = "0.1.0" # Used by U2F, JWT and Postgres @@ -124,10 +123,10 @@ percent-encoding = "2.1.0" idna = "0.2.3" # CLI argument parsing -pico-args = "0.4.0" +pico-args = "0.4.1" # Logging panics to logfile instead stderr only -backtrace = "0.3.58" +backtrace = "0.3.59" # Macro ident concatenation paste = "1.0.5" diff --git a/src/api/icons.rs b/src/api/icons.rs index b7674f3a..2b527285 100644 --- a/src/api/icons.rs +++ b/src/api/icons.rs @@ -389,7 +389,7 @@ fn get_favicons_node(node: &std::rc::Rc, icons: &mut Ve if has_rel { if let Some(inner_href) = href { - if let Ok(full_href) = url.join(&inner_href).map(|h| h.into_string()) { + if let Ok(full_href) = url.join(&inner_href).map(String::from) { let priority = get_icon_priority(&full_href, sizes); icons.push(Icon::new(priority, full_href)); } @@ -499,7 +499,7 @@ fn get_icon_url(domain: &str) -> Result { referer = url.as_str().to_string(); // Add the default favicon.ico to the list with the domain the content responded from. - iconlist.push(Icon::new(35, url.join("/favicon.ico").unwrap().into_string())); + iconlist.push(Icon::new(35, String::from(url.join("/favicon.ico").unwrap()))); // 512KB should be more than enough for the HTML, though as we only really need // the HTML header, it could potentially be reduced even further diff --git a/src/api/web.rs b/src/api/web.rs index 29c64ae4..1416da0d 100644 --- a/src/api/web.rs +++ b/src/api/web.rs @@ -78,9 +78,11 @@ fn static_files(filename: String) -> Result, Error> { match filename.as_ref() { "mail-github.png" => Ok(Content(ContentType::PNG, include_bytes!("../static/images/mail-github.png"))), "logo-gray.png" => Ok(Content(ContentType::PNG, include_bytes!("../static/images/logo-gray.png"))), - "shield-white.png" => Ok(Content(ContentType::PNG, include_bytes!("../static/images/shield-white.png"))), "error-x.svg" => Ok(Content(ContentType::SVG, include_bytes!("../static/images/error-x.svg"))), "hibp.png" => Ok(Content(ContentType::PNG, include_bytes!("../static/images/hibp.png"))), + "vaultwarden-icon.png" => { + Ok(Content(ContentType::PNG, include_bytes!("../static/images/vaultwarden-icon.png"))) + } "bootstrap.css" => Ok(Content(ContentType::CSS, include_bytes!("../static/scripts/bootstrap.css"))), "bootstrap-native.js" => { diff --git a/src/config.rs b/src/config.rs index fa7db32c..1a7c4c9e 100644 --- a/src/config.rs +++ b/src/config.rs @@ -832,6 +832,10 @@ where } // First register default templates here + reg!("email/email_header"); + reg!("email/email_footer"); + reg!("email/email_footer_text"); + reg!("email/change_email", ".html"); reg!("email/delete_account", ".html"); reg!("email/invite_accepted", ".html"); diff --git a/src/error.rs b/src/error.rs index e8fa7613..52275cf1 100644 --- a/src/error.rs +++ b/src/error.rs @@ -50,7 +50,6 @@ use yubico::yubicoerror::YubicoError as YubiErr; use lettre::address::AddressError as AddrErr; use lettre::error::Error as LettreErr; -use lettre::message::mime::FromStrError as FromStrErr; use lettre::transport::smtp::Error as SmtpErr; #[derive(Serialize)] @@ -84,7 +83,6 @@ make_error! { LettreError(LettreErr): _has_source, _api_error, AddressError(AddrErr): _has_source, _api_error, SmtpError(SmtpErr): _has_source, _api_error, - FromStrError(FromStrErr): _has_source, _api_error, DieselConError(DieselConErr): _has_source, _api_error, DieselMigError(DieselMigErr): _has_source, _api_error, diff --git a/src/mail.rs b/src/mail.rs index 025a1a9a..1cd875b8 100644 --- a/src/mail.rs +++ b/src/mail.rs @@ -27,7 +27,7 @@ fn mailer() -> SmtpTransport { .timeout(Some(Duration::from_secs(CONFIG.smtp_timeout()))); // Determine security - let smtp_client = if CONFIG.smtp_ssl() { + let smtp_client = if CONFIG.smtp_ssl() || CONFIG.smtp_explicit_tls() { let mut tls_parameters = TlsParameters::builder(host); if CONFIG.smtp_accept_invalid_hostnames() { tls_parameters = tls_parameters.dangerous_accept_invalid_hostnames(true); @@ -99,9 +99,8 @@ fn get_template(template_name: &str, data: &serde_json::Value) -> Result<(String None => err!("Template doesn't contain subject"), }; - use newline_converter::unix2dos; let body = match text_split.next() { - Some(s) => unix2dos(s.trim()).to_string(), + Some(s) => s.trim().to_string(), None => err!("Template doesn't contain body"), }; @@ -307,13 +306,13 @@ fn send_email(address: &str, subject: &str, body_html: String, body_text: String let html = SinglePart::builder() // We force Base64 encoding because in the past we had issues with different encodings. .header(header::ContentTransferEncoding::Base64) - .header(header::ContentType("text/html; charset=utf-8".parse()?)) + .header(header::ContentType::TEXT_HTML) .body(body_html); let text = SinglePart::builder() // We force Base64 encoding because in the past we had issues with different encodings. .header(header::ContentTransferEncoding::Base64) - .header(header::ContentType("text/plain; charset=utf-8".parse()?)) + .header(header::ContentType::TEXT_PLAIN) .body(body_text); let smtp_from = &CONFIG.smtp_from(); diff --git a/src/static/images/hibp.png b/src/static/images/hibp.png index 99d485a5..568b99b7 100644 Binary files a/src/static/images/hibp.png and b/src/static/images/hibp.png differ diff --git a/src/static/images/logo-gray.png b/src/static/images/logo-gray.png index 57b2949e..21caaf52 100644 Binary files a/src/static/images/logo-gray.png and b/src/static/images/logo-gray.png differ diff --git a/src/static/images/shield-white.png b/src/static/images/shield-white.png deleted file mode 100644 index ae5db28a..00000000 Binary files a/src/static/images/shield-white.png and /dev/null differ diff --git a/src/static/images/vaultwarden-icon.png b/src/static/images/vaultwarden-icon.png new file mode 100644 index 00000000..36c8c79e Binary files /dev/null and b/src/static/images/vaultwarden-icon.png differ diff --git a/src/static/templates/admin/base.hbs b/src/static/templates/admin/base.hbs index e476309d..d1c41a4a 100644 --- a/src/static/templates/admin/base.hbs +++ b/src/static/templates/admin/base.hbs @@ -4,7 +4,7 @@ - + Vaultwarden Admin Panel @@ -83,7 +84,7 @@