onepub-dev / onepub-dev/reVault

hold toc meta data in secret storage.

Open
#88 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
4
Forks
0
Avg merge
1h 55m
Merged PRs (30d)
1

Description

This is only decrypting the archive.

The idea is that no data hits the disk that the user hasn't intended to hit the disk.

The toc, vars and other meta data would be held in secret storage.

If the user is trying to extract a file then we load pages/frames related to the file into secret memory.
We then check if only that file is in the page (if possible we can do this check before loading it into secret memory)
If the page contains the contents of multiple files - some of which aren't to be extracted then we hold the page in secret memory. If the page only contains files that are to be decrypted we unlock the page.

I'm concerned about the performance considerations here as need quite low level code to be able to determine if a file is going to be decrypted - which implies we need to look at the glob patterns passed into the cli command - this feels expensive.
It might be cheaper to not do the check and just hold the page lock if it contains more than one file.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the archive decryption path and the CLI glob-pattern handling mentioned in the issue. Determine how the TOC, variables, metadata, and pages are currently held, then define the boundary between secret storage and disk. Done means unrequested metadata and page contents do not reach disk, while requested files can still be extracted with acceptable performance.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.