Am 27.01.21 um 18:25 schrieb Juliusz Sosinowicz:
Hi Arne,
I believe I fixed the issues that you mentioned in your review of the
patch for wolfSSL. I have sent a new patch tested on the latest master
branch on OpenVPN along with the version of wolfSSL found in this pull
request: https://github.com/wolfSSL/wolfssl/pull/3697 .
Unfortunatel,y I am still not able to compile that branch on
macOS/clang. It seem wolfssl uses -Werror and this breaks it. On a quick
check I also don't see an option to disable this behaviour in configure.
The master branch compiles but that doesn't work for OpenVPN.
src/tls13.c:806:50: error: implicit conversion loses integer precision:
'size_t' (aka 'unsigned long') to 'word32' (aka 'unsigned int')
[-Werror,-Wshorten-64-to-32]
protocol, protocolLen, (byte*)label, labelLen,
^~~~~~~~
src/tls13.c:812:38: error: implicit conversion loses integer precision:
'size_t' (aka 'unsigned long') to 'word32' (aka 'unsigned int')
[-Werror,-Wshorten-64-to-32]
ret = wc_Hash(hashType, context, contextLen, hashOut,
WC_MAX_DIGEST_SIZE);
~~~~~~~ ^~~~~~~~~~
src/tls13.c:816:34: error: implicit conversion loses integer precision:
'size_t' (aka 'unsigned long') to 'word32' (aka 'unsigned int')
[-Werror,-Wshorten-64-to-32]
ret = HKDF_Expand_Label(out, outLen, firstExpand, hashLen,
~~~~~~~~~~~~~~~~~ ^~~~~~
CC examples/server/testsuite_testsuite_test-server.o
CC testsuite/testsuite_test-testsuite.o
CC tests/unit_test-unit.o
3 errors generated.
make[2]: *** [src/libwolfssl_la-tls13.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
src/ssl.c:11527:61: error: implicit conversion loses integer precision:
'unsigned long' to 'word32' (aka 'unsigned int')
[-Werror,-Wshorten-64-to-32]
word32 seedLen = !use_context ? SEED_LEN : SEED_LEN + 2 +
contextLen;
~~~~~~~ ~~~~~~~~~~~~~^~~~~~~~~~~~
src/ssl.c:11591:25: error: implicit conversion loses integer precision:
'size_t' (aka 'unsigned long') to 'word32' (aka 'unsigned int')
[-Werror,-Wshorten-64-to-32]
if (wc_PRF_TLS(out, outLen, ssl->arrays->masterSecret, SECRET_LEN,
~~~~~~~~~~ ^~~~~~
src/ssl.c:11592:27: error: implicit conversion loses integer precision:
'size_t' (aka 'unsigned long') to 'word32' (aka 'unsigned int')
[-Werror,-Wshorten-64-to-32]
(byte*)label, labelLen, seed, seedLen,
IsAtLeastTLSv1_2(ssl),
^~~~~~~~
3 errors generated.
make[2]: *** [src/libwolfssl_la-ssl.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Time: 0h:00m:27s