LLNL / UnifyFS

UnifyFS: A file system for burst buffers
Other
99 stars 31 forks source link

Use New MD5 API Function #791

Closed rgmiller closed 11 months ago

rgmiller commented 1 year ago

Description

Change the OpenSSL MD5 API function from the deprecated MD5 to the new EVP_Digest. Also added a check for EVP_Digest to the configure script. This PR fixes issue #723.

Motivation and Context

As of OpenSSL v3, the MD5 function is deprecated and generates a warning at compile time if it's used.

How Has This Been Tested?

Ran existing unit tests on an Ubuntu 22.04 system.

Types of changes

Checklist:

MichaelBrim commented 1 year ago

@rgmiller I just found more uses of MD5_xxxx() functions in util/unifyfs-stage/src/unifyfs-stage-transfer.c. This PR should probably move those calls over to the EVP_xxxx() ones as well.

rgmiller commented 1 year ago

@MichaelBrim That's interesting. Those functions don't generate warnings at build time. Maybe they aren't deprecated the way MD5() is? I'll take a look...

rgmiller commented 1 year ago

Mystery sort-of solved: I don't see deprecation warnings for the functions in unifyfs-stage-transfer.c because in my build environment, unifyfs-stage is built using the spack-provided version of OpenSSL (which is v1.1.1 and hasn't yet deprecated the functions).

Now the new question is: why is one part of UnifyFS built against the system-provided OpenSSL, while another part is build against a spack-built version?