diff options
author | Toni <matzeton@googlemail.com> | 2022-03-03 10:16:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-03 10:16:08 +0100 |
commit | 95a3d4fffe699823b1cc9730dd0e4e2827b94845 (patch) | |
tree | ff1001d6e9ebaaa2aad250e10edc5f76aa92862d | |
parent | cb62dfd24945f5732166ecb4121354adc48cec80 (diff) |
Added autoconf option `--enable-tls-sigs'. (#1471)
* Testing more code in CI environments.
* Added strict option checking for `./configure' in CI environments.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
-rw-r--r-- | .github/workflows/build.yml | 18 | ||||
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | src/include/ndpi_define.h.in | 2 |
3 files changed, 19 insertions, 10 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 05c23f659..8fa5655cd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: sudo apt-get install rrdtool librrd-dev sudo apt-get install libpcre3-dev libmaxminddb-dev lcov - name: Configure - run: env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-debug-messages --enable-code-coverage --with-pcre --with-maxminddb + run: env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages --enable-code-coverage --with-pcre --with-maxminddb --enable-tls-sigs - name: Build run: make all - name: Test @@ -191,19 +191,19 @@ jobs: - name: Configure nDPI on Ubuntu if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.arch, 'x86_64') && startsWith(matrix.compiler, 'default-cc') run: | - env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} + env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} --enable-tls-sigs - name: Configure nDPI on MacOS if: startsWith(matrix.os, 'macOS') && startsWith(matrix.arch, 'x86_64') && startsWith(matrix.compiler, 'default-cc') run: | - env CC=clang CFLAGS='-Werror' ./autogen.sh --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} + env CC=clang CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} --enable-tls-sigs - name: Configure nDPI with specified GCC version on Ubuntu if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.arch, 'x86_64') && startsWith(matrix.compiler, 'gcc') run: | - env CC=${{ matrix.compiler }} CFLAGS='-Werror' ./autogen.sh --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} + env CC=${{ matrix.compiler }} CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} --enable-tls-sigs - name: Configure nDPI with specified CLANG on Ubuntu if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.arch, 'x86_64') && startsWith(matrix.compiler, 'clang') run: | - env CC=${{ matrix.compiler }} CFLAGS='-Werror' ./autogen.sh --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} + env CC=${{ matrix.compiler }} CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} --enable-tls-sigs - name: Build nDPI if: startsWith(matrix.arch, 'x86_64') run: | @@ -241,7 +241,7 @@ jobs: - name: Configure nDPI [Mingw-w64] (runs only on ubuntu jobs) if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.arch, 'x86_64') run: | - make distclean && ./autogen.sh --host=x86_64-w64-mingw32 ${{ matrix.pcre }} ${{ matrix.maxminddb }} + make distclean && ./autogen.sh --enable-option-checking=fatal --host=x86_64-w64-mingw32 ${{ matrix.pcre }} ${{ matrix.maxminddb }} --enable-tls-sigs - name: Build nDPI [Mingw-w64] (runs only on ubuntu jobs) if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.arch, 'x86_64') run: | @@ -263,7 +263,7 @@ jobs: bash -c "apt-get -y update && apt-get -y install git autoconf automake libtool pkg-config gettext libjson-c-dev flex bison libpcap-dev libgcrypt20-dev libpcre3-dev libmaxminddb-dev rrdtool librrd-dev && - env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} && + env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} --enable-tls-sigs && make all && make -C example ndpiSimpleIntegration && make -C rrdtool && @@ -288,7 +288,7 @@ jobs: bash -c "apt-get -y update && apt-get -y install git autoconf automake libtool pkg-config gettext libjson-c-dev flex bison libpcap-dev libgcrypt20-dev libpcre3-dev libmaxminddb-dev rrdtool librrd-dev && - env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} && + env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} --enable-tls-sigs && make all && make -C example ndpiSimpleIntegration && make -C rrdtool && @@ -313,7 +313,7 @@ jobs: bash -c "apt-get -y update && apt-get -y install git autoconf automake libtool pkg-config gettext libjson-c-dev flex bison libpcap-dev libgcrypt20-dev libpcre3-dev libmaxminddb-dev rrdtool librrd-dev && - env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} && + env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages ${{ matrix.gcrypt }} ${{ matrix.msan }} ${{ matrix.pcre }} ${{ matrix.maxminddb }} --enable-tls-sigs && make all && make -C example ndpiSimpleIntegration && make -C rrdtool && diff --git a/configure.ac b/configure.ac index d10435fa8..51a1cecc5 100644 --- a/configure.ac +++ b/configure.ac @@ -17,6 +17,7 @@ AC_ARG_WITH(sanitizer, AS_HELP_STRING([--with-sanitizer], [Build with suppor AC_ARG_ENABLE(fuzztargets, AS_HELP_STRING([--enable-fuzztargets], [Enable fuzz targets]),[enable_fuzztargets=$enableval],[enable_fuzztargets=no]) AC_ARG_ENABLE(code-coverage, AS_HELP_STRING([--enable-code-coverage], [Generate Code Coverage report])) AC_ARG_WITH(local-libgcrypt, AS_HELP_STRING([--with-local-libgcrypt], [Build with libgcrypt (if present) instead of the enclosed gcrypt light])) +AC_ARG_ENABLE(tls-sigs, AS_HELP_STRING([--enable-tls-sigs], [Enable TLS Client signature algorithm dissection. Rarely used, but requires significantly more memory.])) AS_IF([test "x$enable_fuzztargets" = "xyes"], [BUILD_FUZZTARGETS=1], [BUILD_FUZZTARGETS=0]) AM_CONDITIONAL([BUILD_FUZZTARGETS], [test "x$enable_fuzztargets" = "xyes"]) @@ -26,7 +27,7 @@ AS_IF([test "${with_sanitizer+set}" = set],[ LDFLAGS="${LDFLAGS} -fsanitize=address -fsanitize=undefined -fno-sanitize=alignment -fsanitize=leak" ]) -AS_IF([test "x$enable_code_coverage" = "xyes"],[ +AS_IF([test "x${enable_code_coverage}" = "xyes"],[ CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage" LDFLAGS="${LDFLAGS} --coverage" ]) @@ -110,6 +111,11 @@ if ! test "${with_only_libndpi+set}" = set; then : ]) fi +HANDLE_TLS_SIGS="//" +AS_IF([test "x${enable_tls_sigs}" = "xyes"],[ + HANDLE_TLS_SIGS="" +]) + LIBS="$LIBS $JSONC_LIBS" CFLAGS="-W -Wall -Wno-unused-parameter -Wno-unused-function $CFLAGS $JSONC_CFLAGS" @@ -309,4 +315,5 @@ AC_SUBST(JSONC_CFLAGS) AC_SUBST(JSONC_LIBS) AC_SUBST(USE_HOST_LIBGCRYPT) AC_SUBST(PCRE_ENABLED) +AC_SUBST(HANDLE_TLS_SIGS) AC_OUTPUT diff --git a/src/include/ndpi_define.h.in b/src/include/ndpi_define.h.in index c6eb512ae..13e9962da 100644 --- a/src/include/ndpi_define.h.in +++ b/src/include/ndpi_define.h.in @@ -363,6 +363,8 @@ static inline u_int64_t get_u_int64_t(const u_int8_t* X, int O) #define NDPI_MAX_NUM_TLS_APPL_BLOCKS 8 +@HANDLE_TLS_SIGS@#define TLS_HANDLE_SIGNATURE_ALGORITMS 1 + #ifdef __APPLE__ #include <libkern/OSByteOrder.h> |