covert-encryption / covert

An encryption format offering better security, performance and ease of use than PGP. File a bug if you found anything where we are worse than our competition, and we will fix it.
40 stars 10 forks source link

Support editing archives, keeping encrypted notes #65

Closed covert-encryption closed 2 years ago

covert-encryption commented 2 years ago

Implements covert edit CLI command that extracts an existing archive, allows editing its text and then re-encrypts the data. Any attached files of the archive are kept without extracting them or the message to disk. The original file is overwritten.

This function is intended to allow adding and removing attachments, as well as using public keys, but for now it is limited to message editing and passphrases. Also, all data must fit in RAM, as no streaming is yet implemented for this mode.

Fixes #57

codecov[bot] commented 2 years ago

Codecov Report

Merging #65 (c8d9761) into main (1980da9) will increase coverage by 1.89%. The diff coverage is 84.28%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #65      +/-   ##
==========================================
+ Coverage   68.96%   70.85%   +1.89%     
==========================================
  Files          22       22              
  Lines        2088     2131      +43     
  Branches      488      499      +11     
==========================================
+ Hits         1440     1510      +70     
+ Misses        508      485      -23     
+ Partials      140      136       -4     
Impacted Files Coverage Δ
covert/tty.py 13.75% <16.66%> (+0.07%) :arrow_up:
covert/cli.py 74.13% <87.50%> (+11.27%) :arrow_up:
covert/__main__.py 77.41% <100.00%> (+3.03%) :arrow_up:
covert/archive.py 64.93% <100.00%> (+0.24%) :arrow_up:
covert/passphrase.py 60.00% <100.00%> (+0.27%) :arrow_up:
covert/util.py 95.00% <100.00%> (+0.08%) :arrow_up:
covert/lazyexec.py 63.33% <0.00%> (+3.33%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 1980da9...c8d9761. Read the comment docs.

covert-encryption commented 2 years ago

This needs still some additional work on decoding from pipe (an unrelated bug discovered while testing the new feature), but should be essentially usable now. Armor decoding got an optimisation that makes it noticeably faster for large data.

As additional benefits on end-to-end testing, we can now use stdio pipes and hashing passwords is much faster.

covert-encryption commented 2 years ago

Will need to address that FIXME added in another PR prior to 0.6 release.