From ef94b83a62b4d1c7cefd8982f0bcadfc0b1f097c Mon Sep 17 00:00:00 2001 From: Toni Uhlig Date: Thu, 14 Jul 2022 04:09:15 +0200 Subject: Replaced outdated nDPI version info with the correct one. * add CI job to verify the lowest known-to-work-libnDPI-version Signed-off-by: Toni Uhlig --- .github/workflows/build.yml | 21 ++++++++++++--------- README.md | 2 +- nDPId.c | 4 ++-- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 30ac755dc..91a00c658 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,12 +13,16 @@ jobs: test: name: ${{ matrix.os }} ${{ matrix.gcrypt }} runs-on: ${{ matrix.os }} + env: + CMAKE_C_COMPILER: ${{ matrix.compiler }} + CMAKE_C_FLAGS: -Werror strategy: fail-fast: true matrix: os: ["ubuntu-latest", "ubuntu-18.04"] ndpid_gcrypt: ["-DNDPI_WITH_GCRYPT=OFF", "-DNDPI_WITH_GCRYPT=ON"] ndpid_zlib: ["-DENABLE_ZLIB=OFF", "-DENABLE_ZLIB=ON"] + ndpi_min_version: ["4.4"] include: - compiler: "default-cc" os: "ubuntu-latest" @@ -50,7 +54,7 @@ jobs: - name: Configure nDPId run: | mkdir build && cd build - env CMAKE_C_COMPILER=${{ matrix.compiler }} CMAKE_C_FLAGS='-Werror' cmake .. -DENABLE_COVERAGE=ON -DBUILD_EXAMPLES=ON -DBUILD_NDPI=ON -DENABLE_SANITIZER=ON ${{ matrix.ndpid_zlib }} ${{ matrix.ndpid_gcrypt }} + cmake .. -DENABLE_COVERAGE=ON -DBUILD_EXAMPLES=ON -DBUILD_NDPI=ON -DENABLE_SANITIZER=ON ${{ matrix.ndpid_zlib }} ${{ matrix.ndpid_gcrypt }} - name: Build nDPId run: | make -C build all VERBOSE=1 @@ -75,11 +79,10 @@ jobs: - name: CPack DEB run: | cd ./build && cpack -G DEB && cd .. -# enable this block after the next libnDPI release -# - name: Build against libnDPI-4.3 -# run: | -# mkdir build-local-ndpi && cd build-local-ndpi -# wget 'https://github.com/ntop/nDPI/archive/refs/tags/4.3.tar.gz' -# tar -xzvf 4.3.tar.gz && cd nDPI-4.3 && ./autogen.sh --prefix=/usr --with-only-libndpi CC=${{ matrix.compiler }} CXX=false CFLAGS='-Werror' && sudo make install && cd .. -# env CMAKE_C_COMPILER=${{ matrix.compiler }} CMAKE_C_FLAGS='-Werror' cmake .. -DENABLE_COVERAGE=ON -DBUILD_EXAMPLES=ON -DBUILD_NDPI=OFF -DENABLE_SANITIZER=ON ${{ matrix.ndpid_zlib }} -# make all VERBOSE=1 + - name: Build against libnDPI-${{ matrix.ndpi_min_version }} + run: | + mkdir build-local-ndpi && cd build-local-ndpi + wget 'https://github.com/ntop/nDPI/archive/refs/tags/${{ matrix.ndpi_min_version }}.tar.gz' + tar -xzvf ${{ matrix.ndpi_min_version }}.tar.gz && cd nDPI-${{ matrix.ndpi_min_version }} && ./autogen.sh --prefix=/usr --with-only-libndpi CC=${{ matrix.compiler }} CXX=false CFLAGS='-Werror' && sudo make install && cd .. + cmake .. -DENABLE_COVERAGE=ON -DBUILD_EXAMPLES=ON -DBUILD_NDPI=OFF -DENABLE_SANITIZER=ON ${{ matrix.ndpi_min_version }} + make all VERBOSE=1 diff --git a/README.md b/README.md index eb54f0d58..8ebb7f4be 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ # abstract nDPId is a set of daemons and tools to capture, process and classify network traffic. -It's minimal dependencies (besides a half-way modern c library and POSIX threads) are libnDPI (> 4.2.0 or current github dev branch) and libpcap. +It's minimal dependencies (besides a half-way modern c library and POSIX threads) are libnDPI (>= 4.4.0 or current github dev branch) and libpcap. The daemon nDPId is capable of multithreading for packet processing, but w/o mutexes for performance reasons. Instead synchronization is achieved by a packet distribution mechanism. diff --git a/nDPId.c b/nDPId.c index 614440285..d034ecaa2 100644 --- a/nDPId.c +++ b/nDPId.c @@ -47,8 +47,8 @@ #define DLT_DSA_TAG_EDSA 285 #endif -#if ((NDPI_MAJOR == 4 && NDPI_MINOR < 3) || NDPI_MAJOR < 4) && NDPI_API_VERSION < 6336 -#error "nDPI >= 4.3.0 or API version >= 6336 required" +#if ((NDPI_MAJOR == 4 && NDPI_MINOR < 4) || NDPI_MAJOR < 4) && NDPI_API_VERSION < 6336 +#error "nDPI >= 4.4.0 or API version >= 6336 required" #endif #if !defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) || !defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) -- cgit v1.2.3