FS#75230 - [gnome-passwordsafe] pykeepass 4.0.3 crashes Secrets 6.5

Attached to Project: Community Packages
Opened by bbhtt (bbhtt) - Monday, 04 July 2022, 01:14 GMT
Last edited by Antonio Rojas (arojas) - Monday, 04 July 2022, 18:27 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

The python-pykeepass upgrade https://github.com/archlinux/svntogit-community/commit/7e2258a6d02c1c4d865f52fa2137a714a41c5da7 causes Secrets to crash when trying to open the Safe with a passphrase.

```
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/gsecrets/unlock_database.py", line 270, in _unlock_callback
database = UnlockedDatabase(self.window, database_manager)
File "/usr/lib/python3.10/site-packages/gsecrets/unlocked_database.py", line 99, in __init__
self.show_browser_page(self.current_element)
File "/usr/lib/python3.10/site-packages/gsecrets/unlocked_database.py", line 178, in show_browser_page
new_page = UnlockedDatabasePage(self, group)
File "/usr/lib/python3.10/site-packages/gsecrets/widgets/unlocked_database_page.py", line 60, in __init__
self.populate_list_model()
File "/usr/lib/python3.10/site-packages/gsecrets/widgets/unlocked_database_page.py", line 180, in populate_list_model
entries = self.group.entries
File "/usr/lib/python3.10/site-packages/gsecrets/safe_element.py", line 288, in entries
return [SafeEntry(self._db_manager, entry) for entry in self._group.entries]
File "/usr/lib/python3.10/site-packages/gsecrets/safe_element.py", line 288, in <listcomp>
return [SafeEntry(self._db_manager, entry) for entry in self._group.entries]
File "/usr/lib/python3.10/site-packages/gsecrets/safe_element.py", line 330, in __init__
otp_uri = entry.get_custom_property("otp")
File "/usr/lib/python3.10/site-packages/pykeepass/entry.py", line 255, in get_custom_property
assert key not in reserved_keys, '{} is a reserved key'.format(key)
AssertionError: otp is a reserved key
```

Downgrading pykeepass to 4.0.2 fixes the issue.

Additional info:
* python-pykeepass-4.0.3, gnome-passwordsafe 6.5


Steps to reproduce:

1. Try to open a safe by typing the passphrase and hit enter. I also have attachments and OTP keys so those might be required.
This task depends upon

Closed by  Antonio Rojas (arojas)
Monday, 04 July 2022, 18:27 GMT
Reason for closing:  Fixed
Additional comments about closing:  gnome-passwordsafe 6.5-2
Comment by bbhtt (bbhtt) - Monday, 04 July 2022, 08:24 GMT
Contacted upstream about the issue, they said:

> Yes, secrets won't work with 4.0.3
> neither it will with 4.0.1
> I will update it to run with 4.0.3 during the week

Loading...