Module manager offers enciphered modules with an empty CipherKey that can't be opened #83

Closed
opened 2026-10-27 16:57:57 +00:00 by claude-bot · 0 comments
Collaborator

Found by the review of PR #82 (round 3), deferred from it.

sword/src/install/index treats an entry whose conf has CipherKey= (present but empty) as not locked, so the catalog offers it and it installs. After that, Module::from_conf refuses it, so it never appears in the Bible chooser: the user installs something they cannot use.

Entries with a non-empty CipherKey are already marked locked and cannot be installed.

Fix: in the index parser, treat a present CipherKey key (empty or not) as locked, or hide it as unusable, matching from_conf. Add a test with an empty-CipherKey conf. This is a trunk path (sword/src/install*).

Priority Should: this needs a repository that lists such a module, which is rare in the CrossWire lists, and the effect is a module that is installed but unusable, not data loss.

Found by the review of PR #82 (round 3), deferred from it. `sword/src/install/index` treats an entry whose conf has `CipherKey=` (present but empty) as not locked, so the catalog offers it and it installs. After that, `Module::from_conf` refuses it, so it never appears in the Bible chooser: the user installs something they cannot use. Entries with a non-empty `CipherKey` are already marked locked and cannot be installed. **Fix:** in the index parser, treat a present `CipherKey` key (empty or not) as locked, or hide it as unusable, matching `from_conf`. Add a test with an empty-CipherKey conf. This is a trunk path (`sword/src/install*`). Priority Should: this needs a repository that lists such a module, which is rare in the CrossWire lists, and the effect is a module that is installed but unusable, not data loss.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
schaefera/utStudyBIble#83
No description provided.