-
Notifications
You must be signed in to change notification settings - Fork 480
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
autoconf cross-compile fails in 2.3.0 with PR #414 #479
Comments
As reported in cisco#479, testing for OPENSSL_cleanse() behavior within ./configure cannot happen when used in cross compilation environment. And autoconf -Wall reminds us about this issue: configure.ac:267: warning: AC_RUN_IFELSE called without default to allow cross compiling ../../lib/autoconf/general.m4:2759: AC_RUN_IFELSE is expanded from... configure.ac:267: the top level configure.ac:267: warning: AC_RUN_IFELSE called without default to allow cross compiling ../../lib/autoconf/general.m4:2759: AC_RUN_IFELSE is expanded from... configure.ac:267: the top level If cross-compiling, OPENSSL_cleanse() behavior cannot be validated, and should be considered broken.
As reported in cisco#479, testing for OPENSSL_cleanse() behavior within ./configure cannot happen when used in cross compilation environment. The initial issue addressed by this runtime test in ./configure was reported in cisco#414 with OPENSSL_cleanse() and was said to be related to OpenSSL 1.0.2g on aarch64. Subsequent releases of OpenSSL address the issue, and should be considered fixed as of: - OpenSSL 1.0.2i, with commit 5bbdc26cadc01cab811040e861f1f98e0f3af348 ("crypto/mem_clr.c: switch to OPENSSL_cleanse implementation from master.") - OpenSSL 1.1.0 and up, with commit 104ce8a9f02d250dd43c255eb7b8747e81b29422 ("RT4116: Change cleanse to just memset") Then there's no reason for current OpenSSL versions to use the broken OPENSSL_cleanse() implementation, so the runtime test is almost useless and can be replaced by a version check. If older OpenSSL version is detected, runtime OPENSSL_cleanse() test will take place as before (provided libsrtp is not to be cross compiled). If newer OpenSSL version is detected, no runtime OPENSSL_cleanse() is needed.
As reported in cisco#479, testing for OPENSSL_cleanse() behavior within ./configure cannot happen when used in cross compilation environment. And autoconf -Wall reminds us about this issue: configure.ac:267: warning: AC_RUN_IFELSE called without default to allow cross compiling ../../lib/autoconf/general.m4:2759: AC_RUN_IFELSE is expanded from... configure.ac:267: the top level configure.ac:267: warning: AC_RUN_IFELSE called without default to allow cross compiling ../../lib/autoconf/general.m4:2759: AC_RUN_IFELSE is expanded from... configure.ac:267: the top level If cross-compiling, OPENSSL_cleanse() behavior cannot be validated, and should be considered broken.
As reported in cisco#479, testing for OPENSSL_cleanse() behavior within ./configure cannot happen when used in cross compilation environment. The initial issue addressed by this runtime test in ./configure was reported in cisco#414 with OPENSSL_cleanse() and was said to be related to OpenSSL 1.0.2g on aarch64. Subsequent releases of OpenSSL address the issue, and should be considered fixed as of: - OpenSSL 1.0.2i, with commit 5bbdc26cadc01cab811040e861f1f98e0f3af348 ("crypto/mem_clr.c: switch to OPENSSL_cleanse implementation from master.") - OpenSSL 1.1.0 and up, with commit 104ce8a9f02d250dd43c255eb7b8747e81b29422 ("RT4116: Change cleanse to just memset") Then there's no reason for current OpenSSL versions to use the broken OPENSSL_cleanse() implementation, so the runtime test is almost useless and can be replaced by a version check. If older OpenSSL version is detected, runtime OPENSSL_cleanse() test will take place as before (provided libsrtp is not to be cross compiled). If newer OpenSSL version is detected, no runtime OPENSSL_cleanse() is needed.
Is this going to be merged in anytime soon? |
Also, if this is not going to be merged anytime soon, is there a workaround? |
Got it. Would the revert be made part of the release anytime soon? I am adding v2.3.0 as an external project, so will not be able to make any custom changes |
Hi, sorry for not following up sooner, will review again now an give some feedback. |
This should now be merged. reopen if you still have problems |
Using release 2.3.0 containing the PR #414 change, the autoconf test hard fails when cross compiling ...
There is no assumed case while cross compiling.
The text was updated successfully, but these errors were encountered: