From 57850a3379546629eb2df669694921c1f6a81c03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa?= Date: Fri, 1 Jun 2018 23:16:10 +0200 Subject: [PATCH] Fix SSN field in Identity cipher not loading correctly It needs to be all uppercase otherwise the web vault doesn't load it --- src/api/core/ciphers.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/api/core/ciphers.rs b/src/api/core/ciphers.rs index f6067d1f..8d6dfef7 100644 --- a/src/api/core/ciphers.rs +++ b/src/api/core/ciphers.rs @@ -209,7 +209,8 @@ fn update_cipher_from_data(cipher: &mut Cipher, data: CipherData, headers: &Head fn copy_values(from: &Value, to: &mut Value) { if let Some(map) = from.as_object() { for (key, val) in map { - copy_values(val, &mut to[util::upcase_first(key)]); + let processed_key = _process_key(key); + copy_values(val, &mut to[processed_key]); } } else if let Some(array) = from.as_array() { // Initialize array with null values @@ -223,6 +224,13 @@ fn copy_values(from: &Value, to: &mut Value) { } } +fn _process_key(key: &str) -> String { + match key.to_lowercase().as_ref() { + "ssn" => "SSN".into(), + key => util::upcase_first(key) + } +} + use super::folders::FolderData; #[derive(Deserialize)]