Add OpenSSL compat: BIO_get_new_index, i2d_PUBKEY_bio, OpenSSL_version - #10294
Add OpenSSL compat: BIO_get_new_index, i2d_PUBKEY_bio, OpenSSL_version#10294Roy-Carter wants to merge 9 commits into
Conversation
|
@julek-wolfssl can you please run the workflow on this ? |
|
Can one of the admins verify this patch? |
|
Okay to test. Contributor agreement on file. |
|
|
hey @julek-wolfssl would you mind checking why the packaging test failed ? looks like a false positive , I don't see any errors there on the log regarding the build process of wolfssl which can relate to my code , or maybe I missed something |
dgarske
left a comment
There was a problem hiding this comment.
�[1;38;5;243m--enable-leantls --enable-session-ticket --enable-sni --enable-opensslextra
Testing DEFAULT: --enable-leantls --enable-session-ticket --enable-sni --enable-opensslextra --disable-shared
Configure RESULT = 0
make[2]: warning: -j9 forced in submake: resetting jobserver mode.
/usr/bin/ld: tests/unit_test-api.o: in function `test_wolfSSL_i2d_PUBKEY_bio':
api.c:(.text+0xcb74): undefined reference to `wolfSSL_i2d_PUBKEY_bio'
/usr/bin/ld: api.c:(.text+0xcbc9): undefined reference to `wolfSSL_i2d_PUBKEY_bio'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:7709: tests/unit.test] Error 1
make[1]: *** [Makefile:11517: all-recursive] Error 1
4a8f2a7 to
12e2b22
Compare
|
@dgarske @julek-wolfssl can we re-test ? fixed build errors |
|
Retest this please. |
12e2b22 to
c3a8004
Compare
|
openvpn test failed due to what seems like diffs from master and not my code , i rebased to master can we re-run workflow @julek-wolfssl |
4dfa2fc to
74bd323
Compare
|
@julek-wolfssl @dgarske can we re-run workflows ? there was a conflict on two of the test files |
|
Jenkins retest this please |
julek-wolfssl
left a comment
There was a problem hiding this comment.
Please rebase before pushing to this branch.
68f5f12 to
e127cb1
Compare
|
@julek-wolfssl not sure what it is but error is not recreating locally but i just rebased : Also , regarding our ticket of Cato I see for some reason I don't have an access to it and I wrote a few extra messages there but not sure if it got to you . can you check ? |
|
@Roy-Carter |
|
@Roy-Carter The exact test failing is |
|
Hi @Roy-Carter, would you like me to make the final changes on this PR? |
|
Hey @julek-wolfssl , yes that'll be great. unfortunately I'm filled up with work so I didn't manage to get into these here . If you can please take over the other 2 also (AFAIK there were okay, just minor test fixes) Much appreciated ! |
wolfSSL_OpenSSL_version() was declared with either an int or a void parameter list depending on OPENSSL_VERSION_NUMBER. That macro does not evaluate the same way in the library and in the application: with OPENSSL_COEXIST the library additionally pulls in the real OpenSSL headers and gets their version number, while an application that turns coexist off gets wolfSSL's default. The two builds then disagreed on the argument list and the selector read garbage, so OpenSSL_version() always hit the default case. Give the function a single unconditional signature. Also match the test guards for wolfSSL_i2d_PUBKEY_bio and wolfSSL_OpenSSL_version to the guards on their implementations.
e127cb1 to
5919a9d
Compare
The Linux kernel build compiles with -Werror=date-time, so OPENSSL_BUILT_ON broke libwolfssl.ko.
Description
As part of the continuous of the integration of openssl to wolfssl i've come across a few missing functions needed for OpenSSL-compat APIs: BIO_get_new_index() (unique custom BIO type IDs, 128–255), i2d_PUBKEY_bio() (write public-key DER to a BIO), and OpenSSL_version(type) handling for the six standard OPENSSL_* selector constants (plus unknown → version string). Headers/macros updated under OPENSSL_EXTRA / !NO_BIO as appropriate.
Testing
Ran ./tests/unit.test with -~BIO_get_new_index, -~OpenSSL_version, and -~i2d_PUBKEY_bio (substring filters). All passed.
Checklist