Merge branch 'travis-xenial'
Run builds on Travis on Ubuntu Xenial (16.04) images.
This commit is contained in:
+58
-41
@@ -1,14 +1,12 @@
|
|||||||
language: c
|
language: c
|
||||||
|
|
||||||
sudo: required
|
sudo: required
|
||||||
dist: trusty
|
dist: xenial
|
||||||
|
|
||||||
# don't build tags separately
|
# don't build tags separately
|
||||||
if: tag IS blank
|
if: tag IS blank
|
||||||
|
|
||||||
compiler:
|
compiler: gcc
|
||||||
- gcc
|
|
||||||
- clang
|
|
||||||
|
|
||||||
cache: ccache
|
cache: ccache
|
||||||
|
|
||||||
@@ -29,54 +27,73 @@ after_success:
|
|||||||
|
|
||||||
after_failure:
|
after_failure:
|
||||||
- cat config.log
|
- cat config.log
|
||||||
|
- sleep 1
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- TESTS_REDUCED_KEYLENGTHS=yes
|
- TESTS_REDUCED_KEYLENGTHS=yes
|
||||||
- LEAK_DETECTIVE=no
|
- LEAK_DETECTIVE=no
|
||||||
- MONOLITHIC=no
|
- MONOLITHIC=no
|
||||||
matrix:
|
|
||||||
- TEST=all
|
|
||||||
- TEST=all MONOLITHIC=yes
|
|
||||||
- TEST=all LEAK_DETECTIVE=yes
|
|
||||||
- TEST=default
|
|
||||||
- TEST=default MONOLITHIC=yes
|
|
||||||
- TEST=default LEAK_DETECTIVE=yes
|
|
||||||
- TEST=botan
|
|
||||||
- TEST=botan LEAK_DETECTIVE=yes
|
|
||||||
- TEST=openssl
|
|
||||||
- TEST=openssl LEAK_DETECTIVE=yes
|
|
||||||
- TEST=gcrypt
|
|
||||||
- TEST=gcrypt LEAK_DETECTIVE=yes
|
|
||||||
# we can't test Vstr as negative int args are not properly passed to CBs
|
|
||||||
- TEST=printf-builtin
|
|
||||||
- TEST=printf-builtin LEAK_DETECTIVE=yes
|
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- compiler: clang
|
- env: TEST=sonarcloud
|
||||||
os: osx
|
if: type = push
|
||||||
env: TEST=osx
|
|
||||||
- compiler: gcc
|
|
||||||
env: TEST=sonarcloud
|
|
||||||
if: env(SONAR_TOKEN) IS present
|
|
||||||
git:
|
git:
|
||||||
depth: false
|
depth: false
|
||||||
addons:
|
addons:
|
||||||
sonarcloud:
|
sonarcloud:
|
||||||
organization: "strongswan"
|
organization: "strongswan"
|
||||||
- compiler: gcc
|
- env: TEST=osx
|
||||||
env: TEST=coverage
|
compiler: clang
|
||||||
- compiler: clang
|
os: osx
|
||||||
env: TEST=fuzzing MONOLITHIC=yes
|
- env: TEST=all
|
||||||
- compiler: gcc
|
- env: TEST=all
|
||||||
env: TEST=dist
|
compiler: clang
|
||||||
- compiler: gcc
|
- env: TEST=all MONOLITHIC=yes
|
||||||
env: TEST=apidoc
|
- env: TEST=all MONOLITHIC=yes
|
||||||
- compiler: gcc
|
compiler: clang
|
||||||
env: TEST=win64 MONOLITHIC=yes
|
- env: TEST=all LEAK_DETECTIVE=yes
|
||||||
# this does not work on 14.04 due to a missing @4 decoration for
|
- env: TEST=all LEAK_DETECTIVE=yes
|
||||||
# TryAcquireSRWLockExclusive in MinGW 3.1.0
|
compiler: clang
|
||||||
- compiler: gcc
|
- env: TEST=coverage
|
||||||
env: TEST=win32 MONOLITHIC=yes
|
- env: TEST=fuzzing MONOLITHIC=yes
|
||||||
dist: precise
|
compiler: clang
|
||||||
|
- env: TEST=win64 MONOLITHIC=yes
|
||||||
|
- env: TEST=win32 MONOLITHIC=yes
|
||||||
|
- env: TEST=dist
|
||||||
|
# "default" with GCC is already tested with "dist" above
|
||||||
|
- env: TEST=default
|
||||||
|
compiler: clang
|
||||||
|
- env: TEST=default MONOLITHIC=yes
|
||||||
|
- env: TEST=default MONOLITHIC=yes
|
||||||
|
compiler: clang
|
||||||
|
- env: TEST=default LEAK_DETECTIVE=yes
|
||||||
|
- env: TEST=default LEAK_DETECTIVE=yes
|
||||||
|
compiler: clang
|
||||||
|
# we can't test Vstr as negative int args are not properly passed to CBs
|
||||||
|
- env: TEST=printf-builtin
|
||||||
|
- env: TEST=printf-builtin
|
||||||
|
compiler: clang
|
||||||
|
- env: TEST=printf-builtin LEAK_DETECTIVE=yes
|
||||||
|
- env: TEST=printf-builtin LEAK_DETECTIVE=yes
|
||||||
|
compiler: clang
|
||||||
|
- env: TEST=botan
|
||||||
|
- env: TEST=botan
|
||||||
|
compiler: clang
|
||||||
|
- env: TEST=botan LEAK_DETECTIVE=yes
|
||||||
|
- env: TEST=botan LEAK_DETECTIVE=yes
|
||||||
|
compiler: clang
|
||||||
|
- env: TEST=openssl
|
||||||
|
- env: TEST=openssl
|
||||||
|
compiler: clang
|
||||||
|
- env: TEST=openssl LEAK_DETECTIVE=yes
|
||||||
|
- env: TEST=openssl LEAK_DETECTIVE=yes
|
||||||
|
compiler: clang
|
||||||
|
- env: TEST=gcrypt
|
||||||
|
- env: TEST=gcrypt
|
||||||
|
compiler: clang
|
||||||
|
- env: TEST=gcrypt LEAK_DETECTIVE=yes
|
||||||
|
- env: TEST=gcrypt LEAK_DETECTIVE=yes
|
||||||
|
compiler: clang
|
||||||
|
- env: TEST=apidoc
|
||||||
|
|||||||
-12
@@ -1789,18 +1789,6 @@ GENERATE_XML = NO
|
|||||||
|
|
||||||
XML_OUTPUT = xml
|
XML_OUTPUT = xml
|
||||||
|
|
||||||
# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
|
|
||||||
# validating XML parser to check the syntax of the XML files.
|
|
||||||
# This tag requires that the tag GENERATE_XML is set to YES.
|
|
||||||
|
|
||||||
XML_SCHEMA =
|
|
||||||
|
|
||||||
# The XML_DTD tag can be used to specify a XML DTD, which can be used by a
|
|
||||||
# validating XML parser to check the syntax of the XML files.
|
|
||||||
# This tag requires that the tag GENERATE_XML is set to YES.
|
|
||||||
|
|
||||||
XML_DTD =
|
|
||||||
|
|
||||||
# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
|
# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
|
||||||
# listings (including syntax highlighting and cross-referencing information) to
|
# listings (including syntax highlighting and cross-referencing information) to
|
||||||
# the XML output. Note that enabling this will significantly increase the size
|
# the XML output. Note that enabling this will significantly increase the size
|
||||||
|
|||||||
@@ -24,6 +24,11 @@ config_includedir = $(ipseclibdir)/include
|
|||||||
nodist_config_include_HEADERS = config.h
|
nodist_config_include_HEADERS = config.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# we can't (and shouldn't) install/uninstall system files during make distcheck,
|
||||||
|
# so override the autodetected path for systemd units
|
||||||
|
AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||||
|
--with-systemdsystemunitdir='$$(prefix)/lib/systemd/system'
|
||||||
|
|
||||||
# we leave config files behind intentionally so prevent distcheck from complaining
|
# we leave config files behind intentionally so prevent distcheck from complaining
|
||||||
distuninstallcheck_listfiles = find . -type f \! -name '*.conf' \! -name '*.secrets' -print
|
distuninstallcheck_listfiles = find . -type f \! -name '*.conf' \! -name '*.secrets' -print
|
||||||
|
|
||||||
|
|||||||
+13
-18
@@ -49,7 +49,8 @@ build_tss2()
|
|||||||
curl -L $TSS2_SRC | tar xz -C $TRAVIS_BUILD_DIR/.. &&
|
curl -L $TSS2_SRC | tar xz -C $TRAVIS_BUILD_DIR/.. &&
|
||||||
cd $TSS2_DIR &&
|
cd $TSS2_DIR &&
|
||||||
./configure &&
|
./configure &&
|
||||||
sudo make -j4 install >/dev/null &&
|
make -j4 >/dev/null &&
|
||||||
|
sudo make install >/dev/null &&
|
||||||
sudo ldconfig || exit $?
|
sudo ldconfig || exit $?
|
||||||
cd -
|
cd -
|
||||||
}
|
}
|
||||||
@@ -98,11 +99,9 @@ all|coverage|sonarcloud)
|
|||||||
--disable-kernel-pfroute --disable-keychain
|
--disable-kernel-pfroute --disable-keychain
|
||||||
--disable-lock-profiler --disable-padlock --disable-fuzzing
|
--disable-lock-profiler --disable-padlock --disable-fuzzing
|
||||||
--disable-osx-attr --disable-tkm --disable-uci
|
--disable-osx-attr --disable-tkm --disable-uci
|
||||||
--disable-systemd --disable-soup --disable-unwind-backtraces
|
--disable-soup --disable-unwind-backtraces
|
||||||
--disable-svc --disable-dbghelp-backtraces --disable-socket-win
|
--disable-svc --disable-dbghelp-backtraces --disable-socket-win
|
||||||
--disable-kernel-wfp --disable-kernel-iph --disable-winhttp"
|
--disable-kernel-wfp --disable-kernel-iph --disable-winhttp"
|
||||||
# Ubuntu 14.04 does not provide libnm
|
|
||||||
CONFIG="$CONFIG --disable-nm"
|
|
||||||
# not enabled on the build server
|
# not enabled on the build server
|
||||||
CONFIG="$CONFIG --disable-af-alg"
|
CONFIG="$CONFIG --disable-af-alg"
|
||||||
if test "$TEST" != "coverage"; then
|
if test "$TEST" != "coverage"; then
|
||||||
@@ -113,8 +112,8 @@ all|coverage|sonarcloud)
|
|||||||
fi
|
fi
|
||||||
DEPS="$DEPS libcurl4-gnutls-dev libsoup2.4-dev libunbound-dev libldns-dev
|
DEPS="$DEPS libcurl4-gnutls-dev libsoup2.4-dev libunbound-dev libldns-dev
|
||||||
libmysqlclient-dev libsqlite3-dev clearsilver-dev libfcgi-dev
|
libmysqlclient-dev libsqlite3-dev clearsilver-dev libfcgi-dev
|
||||||
libpcsclite-dev libpam0g-dev binutils-dev libunwind8-dev
|
libpcsclite-dev libpam0g-dev binutils-dev libunwind8-dev libnm-dev
|
||||||
libjson0-dev iptables-dev python-pip libtspi-dev"
|
libjson0-dev iptables-dev python-pip libtspi-dev libsystemd-dev"
|
||||||
PYDEPS="pytest"
|
PYDEPS="pytest"
|
||||||
if test "$1" = "deps"; then
|
if test "$1" = "deps"; then
|
||||||
build_botan
|
build_botan
|
||||||
@@ -130,10 +129,12 @@ win*)
|
|||||||
--enable-updown --enable-ext-auth --enable-libipsec
|
--enable-updown --enable-ext-auth --enable-libipsec
|
||||||
--enable-tnccs-20 --enable-imc-attestation --enable-imv-attestation
|
--enable-tnccs-20 --enable-imc-attestation --enable-imv-attestation
|
||||||
--enable-imc-os --enable-imv-os --enable-tnc-imv --enable-tnc-imc
|
--enable-imc-os --enable-imv-os --enable-tnc-imv --enable-tnc-imc
|
||||||
--enable-pki --enable-swanctl --enable-socket-win"
|
--enable-pki --enable-swanctl --enable-socket-win
|
||||||
|
--enable-kernel-iph --enable-kernel-wfp --enable-winhttp"
|
||||||
# no make check for Windows binaries unless we run on a windows host
|
# no make check for Windows binaries unless we run on a windows host
|
||||||
if test "$APPVEYOR" != "True"; then
|
if test "$APPVEYOR" != "True"; then
|
||||||
TARGET=
|
TARGET=
|
||||||
|
CCACHE=ccache
|
||||||
else
|
else
|
||||||
CONFIG="$CONFIG --enable-openssl"
|
CONFIG="$CONFIG --enable-openssl"
|
||||||
CFLAGS="$CFLAGS -I/c/OpenSSL-$TEST/include"
|
CFLAGS="$CFLAGS -I/c/OpenSSL-$TEST/include"
|
||||||
@@ -144,21 +145,14 @@ win*)
|
|||||||
DEPS="gcc-mingw-w64-base"
|
DEPS="gcc-mingw-w64-base"
|
||||||
case "$TEST" in
|
case "$TEST" in
|
||||||
win64)
|
win64)
|
||||||
# headers on 12.04 are too old, so we only build the plugins here
|
CONFIG="--host=x86_64-w64-mingw32 $CONFIG --enable-dbghelp-backtraces"
|
||||||
CONFIG="--host=x86_64-w64-mingw32 $CONFIG --enable-dbghelp-backtraces
|
|
||||||
--enable-kernel-iph --enable-kernel-wfp --enable-winhttp"
|
|
||||||
DEPS="gcc-mingw-w64-x86-64 binutils-mingw-w64-x86-64 mingw-w64-x86-64-dev $DEPS"
|
DEPS="gcc-mingw-w64-x86-64 binutils-mingw-w64-x86-64 mingw-w64-x86-64-dev $DEPS"
|
||||||
CC="x86_64-w64-mingw32-gcc"
|
CC="$CCACHE x86_64-w64-mingw32-gcc"
|
||||||
# apply patch to MinGW headers
|
|
||||||
if test "$APPVEYOR" != "True" -a -z "$1"; then
|
|
||||||
sudo patch -f -p 4 -d /usr/share/mingw-w64/include < src/libcharon/plugins/kernel_wfp/mingw-w64-4.8.1.diff
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
win32)
|
win32)
|
||||||
CONFIG="--host=i686-w64-mingw32 $CONFIG"
|
CONFIG="--host=i686-w64-mingw32 $CONFIG"
|
||||||
# currently only works on 12.04, so use mingw-w64-dev instead of mingw-w64-i686-dev
|
DEPS="gcc-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-i686-dev $DEPS"
|
||||||
DEPS="gcc-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-dev $DEPS"
|
CC="$CCACHE i686-w64-mingw32-gcc"
|
||||||
CC="i686-w64-mingw32-gcc"
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
@@ -291,6 +285,7 @@ sonarcloud)
|
|||||||
-Dsonar.projectKey=strongswan \
|
-Dsonar.projectKey=strongswan \
|
||||||
-Dsonar.projectVersion=$(git describe)+${TRAVIS_BUILD_NUMBER} \
|
-Dsonar.projectVersion=$(git describe)+${TRAVIS_BUILD_NUMBER} \
|
||||||
-Dsonar.sources=. \
|
-Dsonar.sources=. \
|
||||||
|
-Dsonar.cfamily.threads=2 \
|
||||||
-Dsonar.cfamily.build-wrapper-output=bw-output || exit $?
|
-Dsonar.cfamily.build-wrapper-output=bw-output || exit $?
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|||||||
@@ -43,10 +43,12 @@ struct private_gcrypt_plugin_t {
|
|||||||
gcrypt_plugin_t public;
|
gcrypt_plugin_t public;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if GCRYPT_VERSION_NUMBER < 0x010600
|
||||||
/**
|
/**
|
||||||
* Define gcrypt multi-threading callbacks as gcry_threads_pthread
|
* Define gcrypt multi-threading callbacks as gcry_threads_pthread
|
||||||
*/
|
*/
|
||||||
GCRY_THREAD_OPTION_PTHREAD_IMPL;
|
GCRY_THREAD_OPTION_PTHREAD_IMPL;
|
||||||
|
#endif
|
||||||
|
|
||||||
METHOD(plugin_t, get_name, char*,
|
METHOD(plugin_t, get_name, char*,
|
||||||
private_gcrypt_plugin_t *this)
|
private_gcrypt_plugin_t *this)
|
||||||
@@ -163,7 +165,9 @@ plugin_t *gcrypt_plugin_create()
|
|||||||
{
|
{
|
||||||
private_gcrypt_plugin_t *this;
|
private_gcrypt_plugin_t *this;
|
||||||
|
|
||||||
|
#if GCRYPT_VERSION_NUMBER < 0x010600
|
||||||
gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
|
gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!gcry_check_version(GCRYPT_VERSION))
|
if (!gcry_check_version(GCRYPT_VERSION))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user