-
Notifications
You must be signed in to change notification settings - Fork 848
OpenSSL 3: Switched to non-deprecated APIs and removed code that was not being used #8615
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
Conversation
bneradt
left a comment
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 fine to me.
b5aa9ba to
db26d12
Compare
|
I updated it to remove HashMD5.cc and HashMD5.h too. I didn't see those being used. |
|
[approve ci autest] |
|
@bryancall Did you benchmark deprecated MD5 API and non-deprecated EVP API? I made a similar change for SHA functions, and kept the deprecated ones for better performance. Also, it seems like I missed the necessity of this change because FIPS was enabled when I tested build with OpenSSL 3. Can you update ☂️ issue #7341? |
|
[approve ci autest] |
|
@maskit There is no performance difference between the old and new APIs. I am shocked that there would be a difference with the SHA functions. Here is my benchmark code: |
|
I used the same type of benchmark to benchmark sha256 and I didn't see a difference between the old and new APIs: Updated benchmark code: |
|
On my AMD 3900x server I am seeing sha256 being about 2x faster than md5. Which is similar to the benchmarks I wrote: |
|
Sounds good. This change should be fine then. I found a difference between your benchmark and mine. Yours use the Init, Update and Finish functions, but mine use one instant function. That might affect the result. And my test was done with one of alpha versions, so they might have improved internal implementations at some point. I'll run the benchmarks on my box, and will make a PR if we no longer need to keep the deprecated one. |
|
I think I'm seeing a memory leak with this patch, either we're leaking the MD5Context (and not calling the destructor), or we're leaking something else. Also, it seems incredibly unfortunate that it has to call malloc() on every cache key generation now, doesn't it ? I ran about 10k requests through here, and a similar leak happens a few hundred times as well, so fairly certain there's exactly one MD5context related leak for each request. |
|
Linking the memory leak fix #8719 Because the fix has |
No description provided.