fix: I use OpenSSL 4.1 ASN.1 string APIs - #808
Conversation
Signed-off-by: w3lld1 <42353747+w3lld1@users.noreply.github.com>
|
Hi @w3lld1 ! Thank you for your contribution. |
| goto done; | ||
| } | ||
|
|
||
| #if OPENSSL_VERSION_PREREQ(4, 1) |
There was a problem hiding this comment.
here the check must be compilation and execution time.
There was a problem hiding this comment.
Addressed in 5d0a76b: builds against OpenSSL 4.1 now check the runtime OpenSSL_version_num() before calling the 4.1 ASN.1 APIs and fall back to the legacy APIs on older runtime libraries. The legacy calls are isolated behind local deprecation-warning suppression so 4.1 builds remain warning-clean.
I reran the changed-line clang-format check and git diff --check. I could not rerun the C build in this environment because the OpenSSL development package is unavailable; configuration stops before compilation.
Signed-off-by: w3lld1 <42353747+w3lld1@users.noreply.github.com>
|
Thanks — addressed this in |
|
Fixed the coding-style failures in Validation:
|
Signed-off-by: w3lld1 <42353747+w3lld1@users.noreply.github.com>
694c024 to
b3ec65c
Compare
| int len) { | ||
| #if defined(__GNUC__) | ||
| #pragma GCC diagnostic push | ||
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" |
There was a problem hiding this comment.
Must confess I an not a big fan of handling it this way...
There was a problem hiding this comment.
I understand the idea, but the solution is adding a deprecated flag declaration to hide it if legacy path happens, I do not think is the most optimal way of handling it. Furthermore, it may later hide other deprecation declarations...
Summary
ASN1_STRING_length_ex()andASN1_STRING_set_data()APIs when they are available.Validation
-Werror=deprecated-declarationsagainst OpenSSL 3.5.6.masterbranch.oqs_endecodetest successfully on the exact commit against both versions.git diff --check.Fixes #804