-
Notifications
You must be signed in to change notification settings - Fork 513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement cryptographic access to files using GPGME #1949
Conversation
c5dde61
to
a1ec1bf
Compare
This one is now good to go from my side. |
@spacefrogg thanks for submitting this. It needs to be reviewed by @jwiegley |
I think the "default.nix: Fix testing" commit should be removed since it is unrelated. If default.nix is broken, can you open a separate PR (the commit should describe what you're fixing). |
is the |
I think it might be related to issue #1721 |
Yes, it is needed in this circumstance and is only partially related #1721. The RPATH is set during build time to point to the final location of the library. During testing, though, the library is not there, yet. So, As some modifications to |
I see, you've already answered my question. I will make a separate PR. |
Well, I was talking about the second commit, which looks unrelated. But if it's related, leave it here. |
(I know you also modified default.nix as part of the GPGME change, but that was obviously related and should be part of the first commit) |
Looks like great work to me, thank you! |
I cannot find any documentation or examples on how this feature is meant to be used. Am I correct to assume that ledger will now just automatically call into GPGME when it detects an encrypted file and decrypt it transparently? I.e. there is no additional configuration necessary, it just works (TM)? |
Yes, it will just work. You could name your ledger |
Goal
Access encrypted files (given to ledger as filenames) directly from ledger via GPGME++ wrapper for GPGME.
Current State
std::istream
class (same as files are currently used) nameddecrypted_stream_t
std::ifstream
if the input is unencrypteddata_streambuffer_t
astd::streambuf
class:decrypted_stream_t
users)std::FILE
into a seekable streambufferstd::streambuf
backing storedata_streambuffer_t
Current possible deficienciesEven when a file is assumed to be unencrypted, it is still handled by GPGME. This might incur a performance penalty.MissingTests (not working on NixOS due to linking errors inMathTests
andUtilTests
)Proper performance evaluation