Skip to content
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

backport changes from master #1

Merged
merged 116 commits into from
Aug 24, 2021
Merged

backport changes from master #1

merged 116 commits into from
Aug 24, 2021

Conversation

murillo128
Copy link
Owner

No description provided.

ydroneaud and others added 30 commits June 15, 2020 19:09
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.
When building fat binaries for Apple Silicon one call to the compiler
is used for multiple arch´s This means that HAVE_X86 would have been
defined for arm builds. There should be a more generic solution for this
but requiores a clean up of project configuration.
Builds a FAT binary containing both x86_64 & arm64
add parentheses to clarify
pull the latest commits from the origin.
Fix gcc11 warning by defining output length
minimal build to ensure some thing works
Add more of the existing tests to cmake.
Add option to use sanitizers with cmake.
Add sanitizers build to travis.
test that require internal symbols fail to build
on windows when building shared as the internal
symbols are hidden
disabling build until some one can look in to it
temporary disable meson ci builds on mips
merging from master first to get ci fix
pabuhler and others added 29 commits June 11, 2021 12:01
…ypes_to_satisfy_strict-prototypes_gcc_11_1_1

Add void to function declarations for EVP_EncryptInit check
Add workflow badge
run on pull requests
Adjust .pc file not to expose used crypto library
Update configure in preparation for 2.4 release
update cmake minimal required version to 3.12
update CHANGES in preparation for 2.4 release
update format check to use clang-format-10
@murillo128 murillo128 merged commit f09a939 into cryptex Aug 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.