fix(security): implement P1 loopback session token, P2 AAD filename binding, and P4 memory zeroization
This commit is contained in:
+6
-5
@@ -867,7 +867,7 @@ impl Database {
|
||||
let mut matched_record = None;
|
||||
for r in rows {
|
||||
let (id, p_id, enc_name, is_dir, size, c_at, m_at) = r?;
|
||||
let dec_name = decrypt_node_name(dek, &enc_name).unwrap_or(enc_name);
|
||||
let dec_name = decrypt_node_name(dek, p_id.unwrap_or(0), &enc_name).unwrap_or(enc_name);
|
||||
if dec_name == *segment {
|
||||
matched_record = Some(NodeRecord {
|
||||
id,
|
||||
@@ -918,8 +918,9 @@ impl Database {
|
||||
let record = stmt
|
||||
.query_row(params![id], |row| {
|
||||
let enc_name: String = row.get(2)?;
|
||||
let p_id: Option<i64> = row.get(1)?;
|
||||
let name = if vault_id == 1 {
|
||||
decrypt_node_name(dek, &enc_name).unwrap_or(enc_name)
|
||||
decrypt_node_name(dek, p_id.unwrap_or(0), &enc_name).unwrap_or(enc_name)
|
||||
} else {
|
||||
enc_name
|
||||
};
|
||||
@@ -961,7 +962,7 @@ impl Database {
|
||||
let rows = stmt.query_map(params![parent_id], |row| {
|
||||
let enc_name: String = row.get(2)?;
|
||||
let name = if vault_id == 1 {
|
||||
decrypt_node_name(dek, &enc_name).unwrap_or(enc_name)
|
||||
decrypt_node_name(dek, parent_id, &enc_name).unwrap_or(enc_name)
|
||||
} else {
|
||||
enc_name
|
||||
};
|
||||
@@ -1002,7 +1003,7 @@ impl Database {
|
||||
let conn = self.conn.lock().unwrap();
|
||||
|
||||
let stored_name = if vault_id == 1 {
|
||||
encrypt_node_name(dek, name)
|
||||
encrypt_node_name(dek, parent_id, name)
|
||||
} else {
|
||||
name.to_string()
|
||||
};
|
||||
@@ -1084,7 +1085,7 @@ impl Database {
|
||||
let now = current_timestamp();
|
||||
let conn = self.conn.lock().unwrap();
|
||||
let stored_name = if vault_id == 1 {
|
||||
encrypt_node_name(dek, new_name)
|
||||
encrypt_node_name(dek, new_parent_id, new_name)
|
||||
} else {
|
||||
new_name.to_string()
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user