aboutsummaryrefslogtreecommitdiff
path: root/configure.seed
Commit message (Collapse)AuthorAge
* Get rid of `configure.seed` as it comes with some disadvantages. (#1328)Toni2021-10-10
| | | | | * using Autotools best-practices to achieve (hopefully) the same result Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added nDPI pkg-config file to Debian / Ubuntu ndpi-dev packaging. (#1318)Toni2021-10-03
| | | | | | | * Added nDPI pkg-config file to Debian / Ubuntu ndpi-dev packaging. * fixed missing gcrypt library dependency in libndpi.pc Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added API for handling compressed bitmapsLuca Deri2021-09-26
| | | | | | | | | | | | | | ndpi_bitmap* ndpi_bitmap_alloc(); void ndpi_bitmap_free(ndpi_bitmap* b); u_int64_t ndpi_bitmap_cardinality(ndpi_bitmap* b); void ndpi_bitmap_set(ndpi_bitmap* b, u_int32_t value); void ndpi_bitmap_unset(ndpi_bitmap* b, u_int32_t value); bool ndpi_bitmap_isset(ndpi_bitmap* b, u_int32_t value); void ndpi_bitmap_clear(ndpi_bitmap* b); size_t ndpi_bitmap_serialize(ndpi_bitmap* b, char **buf); ndpi_bitmap* ndpi_bitmap_deserialize(char *buf); based on https://github.com/RoaringBitmap/CRoaring
* Improve CI (#1303)Zied Aouini2021-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Improve CI pipeline * Fix branch name. * Fix branch name. * Fix libgcrypt configuration. * Update build.yml * Move to Github Actions instead of Travis CI. * Fix mingw on ubuntu bionic. * Reactivate cross compile on Ubuntu Bionic. * Switch to single line steps. * Add several compilers versions * Minor fix. * Fix build all and delete cxx * Fix RCE detection. * Fix PCRE configuration. * Add condition on PCRE test pcap. * Update WebattackRCE.pcap.out * Add missing SUBST. * Delete WebattackRCE.pcap.out * Update WebAttackRCE result. * Fix typo. * Extend jobs with pcre+msan+maxminddb. * Fix code inpector warnings. * Delete .appveyor.yml
* TLS: avoid zeroing large structures (#1300)Ivan Nardi2021-09-16
| | | | | | | | | | Zeroing large structures (i.e. size > KB) is quite costly (from a CPU point of view): we can safely avoid doing that for a couple of big structures. Standard and Valgrind tests have been diverging quite a lot: it is time to re-sync them. Use the same script and enable Valgrind via an enviroment variable: NDPI_TESTS_VALGRIND=1 ./tests/do.sh
* Print API versionAlfredo Cardigliano2021-09-01
|
* Compilation fixLuca Deri2021-08-20
|
* Compile everything with "-W -Wall -Wno-unused-parameter" flags (#1276)Ivan Nardi2021-08-20
| | | | | | | | | | | | | | | | Fix all the warnings. Getting rid of "-Wno-unused-parameter" is quite complex because some parameters usage depends on compilation variable (i.e. `--enable-debug-messages`). The "-Werror" flag has been added only in Travis builds to avoid breaking the builds to users using uncommon/untested OS/compiler/enviroment. Tested on: * x86_64; Ubuntu 20.04; gcc 7,8,9,10,11; clang 7,8,9,10,11,12 * x86_64; CentOS 7.7; gcc 4.8.5 (with "--disable-gcrypt" flag) * Raspberry 4; Debian 10.10; gcc 8.3.0
* Fixed Mingw64 build, SonerCloud-CI and more. (#1273)Toni2021-08-18
| | | | | | | | | | | | | * Added ARM build and unit test run for SonarCloud-CI. Signed-off-by: Toni Uhlig <matzeton@googlemail.com> * Fixed Mingw64 build. * adapted to SonarCloud-CI workflow * removed broken and incomplete Windows example (tested on VS2017/VS2019) * removed unnecessary include (e.g. pthread.h for the library which does not make use of it) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Improved libm check via Autoconf. (#1263)Toni2021-07-28
| | | | | * libm will now be part of @ADDITIONAL_LIBS@ (if required) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* autoconf: Do not check for json-c if --with-only-libndpi is set. (#1202)Toni2021-06-09
| | | | | | * json-c is used by a unit test * required to fix some libnDPI cross compilation issues Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Reworked human readeable string search in flowsLuca Deri2021-05-17
| | | | Removed fragment manager code
* Allow to override build date with SOURCE_DATE_EPOCH (#1176)Bernhard M. Wiedemann2021-05-09
| | | | | | in order to make builds reproducible. See https://reproducible-builds.org/ for why this is good and https://reproducible-builds.org/specs/source-date-epoch/ for the definition of this variable.
* Reworked GeoIP APILuca Deri2021-04-19
| | | | | | | | int ndpi_get_geoip_asn(struct ndpi_detection_module_struct *ndpi_str, char *ip, u_int32_t *asn); int ndpi_get_geoip_country_continent(struct ndpi_detection_module_struct *ndpi_str, char *ip, char *country_code, u_int8_t country_code_len, char *continent, u_int8_t continent_len);
* Make libmaxminddb build configurable. (#1154)Zied Aouini2021-03-14
|
* Initial geoip supportLuca Deri2021-02-18
|
* (Temporarely) Disabled fragment manager (#1129)Luca Deri2021-02-05
|
* Added fuzzy targets conditional in tests/do.sh.in which prevents the fuzzer ↵Toni2021-02-04
| | | | | | | | | from running if nDPI was configured previously --enable-fuzztargets but not for the current config (may produce invalid results). (#1126) * fixed possible NULL pointer dereference for memcpy(), src pointer should never be NULL Signed-off-by: Toni Uhlig <matzeton@googlemail.com> Co-authored-by: Luca Deri <lucaderi@users.noreply.github.com>
* fragments management added (#1122)Roberto AGOSTINO2021-02-03
| | | | | | Management of tcp segments managements. Co-authored-by: ragostino <ragostino73@gmail.com> Co-authored-by: Luca Deri <lucaderi@users.noreply.github.com>
* Disable tests that require libgcrypt if --disable-gcrypt set. (#1121)Toni2021-01-21
| | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added --with-mipsel for building nDPI on mipsel devicesLuca Deri2020-12-09
|
* Fixed JSON-C checkLuca Deri2020-11-30
|
* Improved JSON-C detectionLuca Deri2020-11-30
|
* Fix/overflow and libgerror check (#1068)Toni2020-11-26
| | | | | | | | | * Fixed stack overflow caused by missing buffer space for the trailing \0 added by sprintf() Signed-off-by: Toni Uhlig <matzeton@googlemail.com> * Remove the autoconf cache value from the previous and failed check before checking again. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Implement DGA detection performances tracking workflow. (#1064)Zied Aouini2020-11-16
| | | | | | | | | | | | | * Implement dga evaluation helper. * Add test set for DGA classification. * Add DGA classification performances tracking as part of Travis. * Add DGA evaluation doc. * Fix CI on OSX. * Add missing backquote.
* Set /usr as installation prefixLuca Deri2020-10-29
|
* Generate NDPI_API_VERSION based on git commands.Vitaliy Ivanov2020-10-29
| | | | | | | | | https://github.com/ntop/PF_RING/issues/668 Check for .git directory works in case of usual clone of nDPI repo. But if you integrate is as submodule then .git is a file. Signed-off-by: Vitaliy Ivanov <vitaliyi@interfacemasters.com>
* Improved/autoconf (#1037)Toni2020-10-21
| | | | | | | | | * Switched to PKG_CHECK_MODULES to keep pkg-config checks more portable. Signed-off-by: Toni Uhlig <matzeton@googlemail.com> * Improved GCrypt autoconf check to detect a possible gpg-error inter-library dependency. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added JSON-C check for unit testsLuca Deri2020-09-26
|
* Add unit tests to travis. Move ndpi serializer tests to unit tests.Alfredo Cardigliano2020-09-21
|
* Merge pull request #1017 from lnslbrty/fix/mingw-xcompileLuca Deri2020-09-20
|\ | | | | Added support for mingw xcompile.
| * Fixed mingw build w/o examples/tests/fuzzer.Toni Uhlig2020-09-18
| | | | | | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* | Added command for specifying the aux files dirLuca Deri2020-09-08
|/
* Fixed broken pkg-config file which did not care about gcrypt/pcre.Toni Uhlig2020-08-24
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Fixes compilation issues introduced by https://github.com/ntop/nDPI/pull/989Luca Deri2020-08-22
|
* Add (optional) dependency on external libraries: libgcrypt and libgpg-errorNardi Ivan2020-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To support QUIC payload and header decryption, it is necessary to choose an external crypto library to handle the low-level crypto stuff. Since we will use some Wireshark code, it is quite natural to choose the same library used by Wireshark itself: libgcrypt. More precisely, we will use libgcrypt and libgpg-error. Both libraries have LGPL license, so there should be no issue from this point of view. These libraries are not required to build nDPI, and their usage is optional: nDPI will keep working (and compiling) even if they are not available. However, without them, QUIC sub-classification is next to impossible. The configure flag "--disable-gcrypt" forces the build system to ignore these libraries. libgpg-error is only used for debug to have meaningful error messages and its usage is trivial. The same cannot be said for libgcrypt because its initialization is a significant issue. The rest of this commit message try explaining how libgcrypt is initialized. According to the documentation https://gnupg.org/documentation/manuals/gcrypt/Initializing-the-library.html https://gnupg.org/documentation/manuals/gcrypt/Multi_002dThreading.html#Multi_002dThreading libgcrypt must be initialized before using it, but such initialization should be performed by the actual application and not by any library. Forcing the users to proper initialize libgcrypt in their own code seems unreasonable: most people using nDPI might be complete unaware of any crypto stuff and update each and every one application linking to nDPI with specific libgcrypt code should be out of question, anyway. Fortunately, it seems a workaround exists to initialize libgcrypt in a library https://lists.gnupg.org/pipermail/gcrypt-devel/2003-August/000458.html Therefore, we could provide a wrapper to this initialization stuff in a nDPI function. Unfortunately nDPI API lacks a global init function that must be called only once, before any other functions. We could add it, but that would be a major API break. AFAIK, ndpi_init_detection_module() might be called multiple times, for example to create multiple independent dpi engines in the same program. The proposed solution is to (optionally) initialize libgcrypt in ndpi_init_detection_module() anyway: * if the actual application doesn't directly use libgcrypt and only calls ndpi_init_detection_module() once, everything is formally correct and it should work out of the box [by far the most common user case]; * if the actual application already uses libgcrypt directly, it already performs the required initialization. In this case the ndpi_prefs.ndpi_dont_init_libgcrypt flag should be passed to ndpi_init_detection_module() to avoid further initializations. The only scenario not supported by this solution is when the application is unaware of libgcrypt and calls ndpi_init_detection_module() multiple times concurrently. But this scenario should be uncommon. A completely different option should be to switch to another crypto library, with a huge impact on the QUIC dissector code. Bottom line: crypto is hard, using libgcrypt is complex and the proposed initialization, even if not perfect, should cover the most frequent user cases and should work, for the time being. If anyone has some suggestions...
* Configure code cleanupLuca Deri2020-08-19
|
* Added fix for API versions starting with 0Luca Deri2020-08-17
|
* Added --with-only-libndpi configure option to build just lindpiLuca Deri2020-08-17
|
* Minor fixesNardi Ivan2020-07-26
| | | | Fix a memory leak and an issue (re)-introduced in configure script
* Enables fuzz targets even without sanitizerPhilippe Antoine2020-07-20
| | | | Should fix ossfuzz build
* fix broken sanitizer CFLAGS, --enable-fuzztargets should also set -fsanitizeToni Uhlig2020-07-06
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* configure fixeslucaderi2020-07-06
|
* Fixed CodeInspector issues.Toni Uhlig2020-07-05
| | | | | | | | | * Added compiler search list for AC_PROG_CC, AM_PROG_CC_C_O, AC_PROG_CXX, AC_PROG_CC_STDC for Mac OS X only The list rendered the AX_CHECK_COMPILE_FLAG([-fsanitize=fuzzer]) useless as it did use clang for AX_CHECK_COMPILE_FLAG but gcc during the compile process. Seems broken somehow. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Improved fuzz_ndpi_reader which supports now SMP/MT w/o race-coniditions.Toni Uhlig2020-06-29
| | | | | | | ./tests/do.sh can supports SMP/MT via environment variables. Removed -fno-sanitize=shift as well, was fixed by 317d3ffd. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Restored compiler check for fuzzy targetsLuca Deri2020-06-27
|
* Use clang where available and fallback to gcc when missingLuca Deri2020-06-27
|
* CentOS6 fix (santize won't work as too old system)lucaderi2020-06-25
| | | | Fixes warning
* Allow -fsanitize for LLVM as well as for GCC.Toni Uhlig2020-06-23
| | | | | | | | | | | | | | * renamed --with-llvm-sanitizer to --with-sanitizer * disable all optimisations (-O0) if --with-sanitizer set, no functions/paramaters/variables will be optimised, improves debugging * enable undefined behaviour sanitizer (ubsan) * enable leak sanitizer (lsan) * check if -fsanitize=fuzzer is available and --enable-fuzztargets set, fail if not (only supported by clang) * include level 3 debugging information (-g3), improves macro debugging * disabled ubsan misaligned pointer access and lshift overflow Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* API cleanup for indetifying explicitly in automa's what we're searching ↵Luca Deri2020-05-06
| | | | | | (protocol or category) Removed hyperscan support that is apperently unused