-
Notifications
You must be signed in to change notification settings - Fork 7
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
Crypto modern api #18
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #18 +/- ##
===========================================
- Coverage 89.94% 63.31% -26.63%
===========================================
Files 2 2
Lines 179 199 +20
Branches 13 44 +31
===========================================
- Hits 161 126 -35
- Misses 18 73 +55 ☔ View full report in Codecov by Sentry. |
647bfa6
to
ae22bea
Compare
ae22bea
to
713e745
Compare
9e268ec
to
169e9cf
Compare
169e9cf
to
f678d1e
Compare
f678d1e
to
d7957cb
Compare
71c37f3
to
a144c64
Compare
a144c64
to
b6c4536
Compare
There's some progress, now the failure is well handled and doesn't segfault nor aborts. But the failure's still there 🥲 |
b6c4536
to
e434a05
Compare
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.
I reviewed partially, because the code might change. Everything looks really good so far (I checked more than half of the C code).
e434a05
to
cf388f1
Compare
This is the main rework. I initially wrote the standard functions for SHA1, and only later refactored to extract all SHA1 specifics into macro parameters, so that all other algorithms could be generated by the macro. It follows the same idea that the previous code, however it is not a step-by-step refactoring but a rewrite from scratch.
There was an issue in MacOS where in 15.x the dynamic linker would give preference to the system's cached `libboringssl.dylib`, instead of the OpenSSL's one put in the path. For the dynamic linker to resolve the right library correctly, the static linker would need to add strict resolution rules by being provided more strict flags.
cf388f1
to
5e1e46d
Compare
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.
looks good to me
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.
Looks good 👌 I didn't analyse the algorithm itself that much, but the transformation from the previous code looks good to me.
Solves #14, and also implements the SHA3 family of algorithms, which turned out to be a low hanging fruit after the API migration.