https://gitlab.gnome.org/World/secrets/-/issues/537 Signed-off-by: Artem Polishchuk <ego.cordatus@gmail.com>
41 lines
1.2 KiB
Diff
41 lines
1.2 KiB
Diff
From 861e97445a11fcabe588b88b953be5350c6899f8 Mon Sep 17 00:00:00 2001
|
|
From: Maximiliano Sandoval <msandova@gnome.org>
|
|
Date: Sat, 6 Apr 2024 11:41:39 +0200
|
|
Subject: [PATCH] Open borked databases
|
|
|
|
---
|
|
gsecrets/database_manager.py | 8 +++++++-
|
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/gsecrets/database_manager.py b/gsecrets/database_manager.py
|
|
index af2d2658..06ac9def 100644
|
|
--- a/gsecrets/database_manager.py
|
|
+++ b/gsecrets/database_manager.py
|
|
@@ -2,6 +2,7 @@
|
|
from __future__ import annotations
|
|
|
|
import io
|
|
+import os
|
|
import json
|
|
import logging
|
|
from pathlib import Path
|
|
@@ -99,10 +100,15 @@ class DatabaseManager(GObject.Object):
|
|
return
|
|
|
|
try:
|
|
+ key = None
|
|
+ if composition_key:
|
|
+ key = io.BytesIO(composition_key)
|
|
+ key.seek(0, os.SEEK_END)
|
|
+
|
|
db = PyKeePass(
|
|
self.path,
|
|
password,
|
|
- io.BytesIO(composition_key) if composition_key else None,
|
|
+ key,
|
|
)
|
|
except Exception as err: # pylint: disable=broad-except
|
|
err = GLib.Error.new_literal(QUARK, str(err), 1)
|
|
--
|
|
2.44.0
|
|
|