diff options
-rw-r--r-- | .github/workflows/build.yml | 21 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | 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 @@ -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. @@ -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) |