commit 57850a3379546629eb2df669694921c1f6a81c03
parent 3b09750b768e98e754abc4a16ed8843391fccf86
Author: Daniel GarcĂa <dani-garcia@users.noreply.github.com>
Date: Fri, 1 Jun 2018 23:16:10 +0200
Fix SSN field in Identity cipher not loading correctly
It needs to be all uppercase otherwise the web vault doesn't load it
Diffstat:
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git 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)]