From 49579e4ce77fb5cd5a5fa8b8dc8844a0f2f3abc0 Mon Sep 17 00:00:00 2001 From: Jeremy Lin Date: Sat, 19 Jun 2021 21:32:11 -0700 Subject: [PATCH] Avoid `Error parsing LastKnownRevisionDate` warning for mobile clients When creating a new cipher, the mobile clients seem to set this field to an invalid value, which causes a warning to be logged: Error parsing LastKnownRevisionDate '0001-01-01T00:00:00': premature end of input Avoid this by dropping the `LastKnownRevisionDate` field on cipher creation. --- src/api/core/ciphers.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/api/core/ciphers.rs b/src/api/core/ciphers.rs index 6e425743..db455231 100644 --- a/src/api/core/ciphers.rs +++ b/src/api/core/ciphers.rs @@ -268,7 +268,13 @@ fn post_ciphers_create(data: JsonUpcase, headers: Headers, conn /// Called when creating a new user-owned cipher. #[post("/ciphers", data = "")] fn post_ciphers(data: JsonUpcase, headers: Headers, conn: DbConn, nt: Notify) -> JsonResult { - let data: CipherData = data.into_inner().data; + let mut data: CipherData = data.into_inner().data; + + // The web/browser clients set this field to null as expected, but the + // mobile clients seem to set the invalid value `0001-01-01T00:00:00`, + // which results in a warning message being logged. This field isn't + // needed when creating a new cipher, so just ignore it unconditionally. + data.LastKnownRevisionDate = None; let mut cipher = Cipher::new(data.Type, data.Name.clone()); update_cipher_from_data(&mut cipher, data, &headers, false, &conn, &nt, UpdateType::CipherCreate)?;