-
Notifications
You must be signed in to change notification settings - Fork 834
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
Reduce the number of runtime exceptions (SecurityModuleException) #4508
Reduce the number of runtime exceptions (SecurityModuleException) #4508
Conversation
…ith the new format (EIP-8), and if there is an exception, try the old format. This will reduce the number of exceptions and unnecessary executions. Signed-off-by: Ameziane H <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just a suggestion on the changelog
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Seems like such a low percentage of handshakes are using the pre-EIP-8 format, that it doesn't really matter much whether we try to decode with the old format if the buffer length is wrong.
Signed-off-by: Ameziane H <[email protected]>
5de2862
to
e4b1101
Compare
Signed-off-by: Ameziane H <[email protected]>
Signed-off-by: ahamlat <[email protected]>
Signed-off-by: Ameziane H <[email protected]>
…o reduce-handshake-exceptions
…perledger#4508) * During handshake, flip the encrypted message decryption by starting with the new format (EIP-8), and if there is an exception, try the old format. This will reduce the number of exceptions and unnecessary executions. Signed-off-by: Ameziane H <[email protected]> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <[email protected]> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <[email protected]> * Delete some debug code committed by error Signed-off-by: Ameziane H <[email protected]> Signed-off-by: Ameziane H <[email protected]> Signed-off-by: ahamlat <[email protected]>
* The block variable was keeping too much memory while waiting for future to finish (#4489) Signed-off-by: Jiri Peinlich <[email protected]> * Reduce the number of runtime exceptions (SecurityModuleException) (#4508) * During handshake, flip the encrypted message decryption by starting with the new format (EIP-8), and if there is an exception, try the old format. This will reduce the number of exceptions and unnecessary executions. Signed-off-by: Ameziane H <[email protected]> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <[email protected]> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <[email protected]> * Delete some debug code committed by error Signed-off-by: Ameziane H <[email protected]> Signed-off-by: Ameziane H <[email protected]> Signed-off-by: ahamlat <[email protected]> * Upgrade Apache Commons Text to 1.10.0 (#4542) * upgraded Apache Commons Text to fix CVE-2022-42889 Signed-off-by: Daniel Lehrner <[email protected]> * add changelog Signed-off-by: garyschulte <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> Signed-off-by: garyschulte <[email protected]> Co-authored-by: garyschulte <[email protected]> * Tune EthScheduler thread pools to avoid to recreate too many threads (#4529) Signed-off-by: Fabio Di Fabio <[email protected]> * Make GraphQL scalar parsing compatible with variables (#4522) Our current GraphQL scalar parsing interacts poorly with the variables support in the library. Revise the parsing so it works correctly. Signed-off-by: Danno Ferrin <[email protected]> * don't add to bad blocks manager on StorageException (#4524) * don't add to bad blocks manager on StorageException * add bugfix to changelog * adds test coverage Signed-off-by: Justin Florentine <[email protected]> * CHANGELOG for 22.7.7 Signed-off-by: Fabio Di Fabio <[email protected]> * Release 22.7.7 Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Jiri Peinlich <[email protected]> Signed-off-by: Ameziane H <[email protected]> Signed-off-by: ahamlat <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> Signed-off-by: garyschulte <[email protected]> Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Justin Florentine <[email protected]> Co-authored-by: Jiri Peinlich <[email protected]> Co-authored-by: ahamlat <[email protected]> Co-authored-by: Daniel Lehrner <[email protected]> Co-authored-by: garyschulte <[email protected]> Co-authored-by: Danno Ferrin <[email protected]> Co-authored-by: Justin Florentine <[email protected]>
…perledger#4508) * During handshake, flip the encrypted message decryption by starting with the new format (EIP-8), and if there is an exception, try the old format. This will reduce the number of exceptions and unnecessary executions. Signed-off-by: Ameziane H <[email protected]> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <[email protected]> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <[email protected]> * Delete some debug code committed by error Signed-off-by: Ameziane H <[email protected]> Signed-off-by: Ameziane H <[email protected]> Signed-off-by: ahamlat <[email protected]> Signed-off-by: Sally MacFarlane <[email protected]>
…perledger#4508) * During handshake, flip the encrypted message decryption by starting with the new format (EIP-8), and if there is an exception, try the old format. This will reduce the number of exceptions and unnecessary executions. Signed-off-by: Ameziane H <[email protected]> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <[email protected]> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <[email protected]> * Delete some debug code committed by error Signed-off-by: Ameziane H <[email protected]> Signed-off-by: Ameziane H <[email protected]> Signed-off-by: ahamlat <[email protected]>
Signed-off-by: Ameziane H [email protected]
PR description
During handshake, flip the encrypted message decryption by starting with the new format (EIP-8), and if there is an exception, try the old format. This will reduce the number of exceptions and unnecessary executions.
I noticed by adding some debug logs that on 4400 calls to ECIESHandshaker.handleMessage, there're only 7 cases where the encrypted message has the old format.
By changing the order of execution, starting by decoding the new format (eip8) and without resetting the logs, we can notice there're no more exceptions
There is one case I'm not sure about it : if (buf.writerIndex() < size), do we need to try to decode with the old format or we should just throw HandshakeException. With the current PR, HandshakeException will be caught and the old format decryption will be executed.
Fixed Issue(s)
Documentation
doc-change-required
label to this PR ifupdates are required.
Changelog