-
Notifications
You must be signed in to change notification settings - Fork 839
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 <ameziane.hamlat@consensys.net>
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 <ameziane.hamlat@consensys.net>
5de2862
to
e4b1101
Compare
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
Signed-off-by: ahamlat <ameziane.hamlat@consensys.net>
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
…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 <ameziane.hamlat@consensys.net> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> * Delete some debug code committed by error Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: ahamlat <ameziane.hamlat@consensys.net>
* The block variable was keeping too much memory while waiting for future to finish (#4489) Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com> * 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 <ameziane.hamlat@consensys.net> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> * Delete some debug code committed by error Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: ahamlat <ameziane.hamlat@consensys.net> * Upgrade Apache Commons Text to 1.10.0 (#4542) * upgraded Apache Commons Text to fix CVE-2022-42889 Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net> * add changelog Signed-off-by: garyschulte <garyschulte@gmail.com> Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> Co-authored-by: garyschulte <garyschulte@gmail.com> * Tune EthScheduler thread pools to avoid to recreate too many threads (#4529) Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> * 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 <danno.ferrin@gmail.com> * 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 <justin+github@florentine.us> * CHANGELOG for 22.7.7 Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> * Release 22.7.7 Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com> Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: ahamlat <ameziane.hamlat@consensys.net> Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com> Signed-off-by: Justin Florentine <justin+github@florentine.us> Co-authored-by: Jiri Peinlich <jiri.peinlich@gmail.com> Co-authored-by: ahamlat <ameziane.hamlat@consensys.net> Co-authored-by: Daniel Lehrner <daniel.lehrner@consensys.net> Co-authored-by: garyschulte <garyschulte@gmail.com> Co-authored-by: Danno Ferrin <danno.ferrin@gmail.com> Co-authored-by: Justin Florentine <justin+github@florentine.us>
…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 <ameziane.hamlat@consensys.net> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> * Delete some debug code committed by error Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: ahamlat <ameziane.hamlat@consensys.net> Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
…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 <ameziane.hamlat@consensys.net> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> * update CHANGELOG.md to give more context on this PR. Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> * Delete some debug code committed by error Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: ahamlat <ameziane.hamlat@consensys.net>
Signed-off-by: Ameziane H ameziane.hamlat@consensys.net
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