-
Notifications
You must be signed in to change notification settings - Fork 4k
GH-43057: [C++] Thread-safe AesEncryptor / AesDecryptor #44990
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
Merged
Merged
Changes from all commits
Commits
Show all changes
44 commits
Select commit
Hold shift + click to select a range
bef853c
Add multi-threaded test reading encrypted parquet
EnricoMi 501eef0
Add uniform encryption test
EnricoMi 89be57b
Test multi-threaded read
EnricoMi 5335a8c
Revert "Test multi-threaded read"
EnricoMi 96c8778
Create new cipher context for each decrypt call
EnricoMi 28e20e9
Move common code into AesEncryptionContext, remove wipeout from AesEn…
EnricoMi d47f5e9
Avoid segfaults daling with FileDecryptionProperties
EnricoMi 18aa801
Remove WipeOut from nossl implementation
EnricoMi 7663463
Remove all_decryptors_ and mutex_
EnricoMi 24b986a
Remove context duplication
EnricoMi 6a86cff
Rename ctxDeleter to match coding convention
EnricoMi bd24e54
Remove unused 'class AesEncryptionContext' from encryption_internal.h
EnricoMi 0a3ca35
Restore properties_->WipeOut[De|En]cryptionKeys()
EnricoMi d74a7e7
Remove InitCipherContext, implement NewCipherContext in derived classes
EnricoMi 5d902b5
Fix linting
EnricoMi 6cc7f56
Use parametrized tests
EnricoMi e323ffc
Rework concurrency in test, use Arrow Future
EnricoMi 99a1239
Fix lint error
EnricoMi c625efd
Use per PageReader copy of CryptoContext.[da|me]ta_decryptor
EnricoMi 85bc7c5
Fix test parameter name
EnricoMi e83517e
Remove thread pool assertions
EnricoMi 373ff36
Move threaded bool into test parameters
EnricoMi 7e39752
Test writing multi-threaded
EnricoMi 6a7788e
Fix code style in tests
EnricoMi b37b7da
Do not cache footer decryptors but footer key
EnricoMi a25ba1f
Fix NoSSL AesDecryptor::Make
EnricoMi 813f9aa
Rework auto-freeing EVP_CIPHER_CTX
EnricoMi 7c6e97c
Apply new CipherContext, rename AesEncryptionContext to AesCryptoContext
EnricoMi c8a1225
Merge std::tuple with EncryptionParam
EnricoMi 9e68c92
Make GetColumnMetaDecryptor return a Decryptor factory
EnricoMi 46288fb
Decryptor factory functions should have their encryption parameters c…
pitrou 76b887f
Enable parallel dataset writing + various nits
pitrou 162b605
Remove outdated comment
pitrou 31ab8ba
Reintroduce mutex to protect footer key updates (+ nits)
pitrou 1db3d24
Use unique_ptr for non-shareable objects + address review comments
pitrou da544f2
Add debug logs, hopefully we can diagnose this a bit more precisely
pitrou f175c71
Move decryptor reference into lambda
EnricoMi d89bcf1
Remove wipeout code, use shared_ptr instead of raw pointer
EnricoMi 608899d
Clear keys in destructor
EnricoMi 3193519
Revert "Add debug logs, hopefully we can diagnose this a bit more pre…
EnricoMi 5c8d4e0
Test with static footer keys in file [en|de]cryption properties
EnricoMi fe98196
Provide label for test params via << operator
EnricoMi a587553
Apply minor code review comments
EnricoMi 9961069
Hopefully fix compilation error
pitrou File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.