Commit Graph

99 Commits

Author SHA1 Message Date
Toni Uhlig
4048a8c300 Set minimal required nDPI version to 4.14 (tarball) and 4.13 (git)
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2025-01-26 01:10:30 +01:00
Toni Uhlig
34f01b90e3 Fixed CMake warnings
* `make dist`: improved libnDPI git version naming

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-11-20 12:05:03 +01:00
Toni Uhlig
7b91ad8458 Added script to warn a user about issues regarding wrong umask and CPack
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-11-20 11:01:01 +01:00
Toni Uhlig
4bed2a791f CMake/RPM integration
* CI integration
 * RPM (un)install scripts

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-11-17 17:12:06 +01:00
Toni Uhlig
9efdecf4ef bump libnDPI to 59ee1fe1156be234fed796972a29a31a0589e25a
* set minimum nDPI version to 4.12.0 (incompatible API changes)
 * fixed `ndpi_debug_printf()` function signature
 * JSON schema (flow): added risk `56`: "Obfuscated Traffic"
 * JSON schema (flow): added "domainame"
 * fixed OpenWrt build

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-11-13 17:23:31 +01:00
Toni Uhlig
f7933d0fdb Slightly unified C example's logging
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-11-05 12:48:36 +01:00
Toni Uhlig
ce5f448d3b Switched OpenWrt GitHub Actions SDK to main branch
* fixed some SonarCloud complaints
 * added more systemd CI tests
 * fixed debian package scripts to obey remove/purge
 * changed `chmod_chown()` error handling

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-11-02 18:36:54 +01:00
Toni Uhlig
5423797267 Added nDPId ndpi_process_packet() LLVM fuzzer
* replaced dumb `dumb_fuzzer.sh`
 * fixed nDPId NULL pointer deref found by fuzzer
 * nDPI: `--enable-debug-build` and `--enable-debug-messages` for non release builds
 * nDPI: do not force `log.level` to `3` anymore, use config value instead

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-10-24 15:45:04 +02:00
Toni Uhlig
7d58703bdb Removed ENABLE_MEMORY_STATUS CMake option as it's now enabled for **all** builds
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-10-22 13:12:59 +02:00
Toni Uhlig
ae36f8df6c Added libnDPI global context init/deinit used for cache mgmt.
* support for adding *.ndpiconf for nDPI config tests
 * all other configs should have the suffix *.conf
 * fixed nDPI malloc/free wrapper set (was already too late set)

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-10-21 16:17:01 +02:00
Toni Uhlig
9969f955dc Updated ReadMe's, ToDo's and ChangeLog.
* 1.7-release

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-10-21 15:44:42 +02:00
Toni
efed6f196e Read and parse configuration files. Fixes #41. (#42)
Read and parse configuration files. Fixes #41.

 * supports nDPId / nDPIsrvd via command line parameter `-f`
 * nDPId: read general/tuning and libnDPI settings
 * support for settings risk domains libnDPI option via config file or via `-R` (Fixes #45, thanks to @UnveilTech)
 * added some documentation in the config file
 * adjusted Systemd and Debian packaging to make use of config files

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-10-16 14:13:55 +02:00
Toni Uhlig
2a0161c1bb Fix CI.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-08-20 12:17:25 +02:00
Toni Uhlig
adb8fe96f5 CMake: add coverage-clean target and fix coverage dependency issue.
* improve/fix README

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-08-20 11:49:38 +02:00
Toni
5e4005162b Add PF_RING support. (#38) 2024-08-19 18:33:18 +02:00
Toni Uhlig
8271f15e25 Fixed build error due to missing nDPI includes.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-08-16 13:14:21 +02:00
Toni Uhlig
f6f3a4daab Extended analyse application to write global stats to a CSV.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-08-16 12:33:46 +02:00
Toni Uhlig
930aaf9276 Added global (heap) memory stats for daemon status events.
* added new CMake option `ENABLE_MEMORY_STATUS` to restore the old behavior
   (and increase performance)
 * splitted `ENABLE_MEMORY_PROFILING` into `ENABLE_MEMORY_STATUS` and `ENABLE_MEMORY_PROFILING`

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-06-19 14:25:42 +02:00
Toni Uhlig
71d2fcc491 CMake: set MacOS RPATH
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-05-06 09:57:00 +02:00
Toni Uhlig
4c91038274 Removed unmaintained C JSON dumper.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-04-17 01:47:31 +02:00
Toni Uhlig
33560d64d2 Fix example build error if memory profiling enabled.
* CI: build against libnDPI with `-DNDPI_NO_PKGCONFIG=ON` and `-DSTATIC_LIBNDPI_INSTALLDIR=/usr`
 * CI: `ENABLE_DBUS=ON` for most builds

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-03-21 07:26:22 +01:00
Toni Uhlig
675640b0e6 Fixed libpcre2 build.
* CI: build against libpcre2 / libmaxminddb

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-03-20 14:55:09 +01:00
Toni Uhlig
ea968180a2 Read Ipv6 address and netmask using getifaddrs() instead of reading /proc/net/if_inet6.
* fixes a compatibility issue with Mac OSX

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-02-07 14:25:14 +01:00
Toni Uhlig
556025b34d Removed API version macro check as it's inconsistent on different platforms.
* set min required nDPI version to 4.9.0

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-02-06 10:49:47 +01:00
Toni Uhlig
feb2583ef6 bump libnDPI to 4543385d107fcc5a7e8632e35d9a60bcc40cb4f4
* incorporated API changes from nDPI

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-02-06 10:34:52 +01:00
Toni Uhlig
876aef98e1 Improved collectd example.
* similiar behavior to influxd example
 * gauges and counters are now handled properly

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2024-01-05 11:26:53 +01:00
Toni Uhlig
142a435bf6 Add InfluxDB push daemon.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-07 10:00:25 +01:00
Toni Uhlig
3416db11dc Updated ReadMe's, ToDo's and ChangeLog.
* 1.6-release

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-20 23:39:47 +01:00
Toni Uhlig
b0c343a795 Workaround for libpap (<1.9.0) on Ubuntu-18.04
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-20 12:41:24 +01:00
Toni Uhlig
d5266b7f44 Support simple config file reading via systemd environment file.
* cfg file path defaults to PREFIX/etc/default/ndpid

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-20 12:27:40 +01:00
Toni Uhlig
55c8a848d3 Fixed missing deflate during flow event json serializing.
* caused by recently added serializing some nDPI data even packet processing is still ongoing

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-08 13:16:57 +01:00
Toni
93498fff02 Apple/BSD port (#30)
* Add MacOS to Github CI builds.
* Fixed libnDPI-4.8 CI build.
* Fixed missing include for `struct sockaddr*`.
* Reworked IPv4 address and netmask retrieval.

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-06 13:25:49 +01:00
Toni
1b67927169 Event I/O abstraction layer. (#28)
* Finalize Event I/O abstraction layer.
* Fix possible fd leakage, Gitlab-CI build and error logging.
* Fixed possible uninitialized signalfd variable.
* Fixed possible memory leak.
* Fixed some SonarCloud complaints.
* Fixed nDPId-test nDPIsrvd-arpa-mockup stuck indefinitely.
* Add nDPId / nDPIsrvd command line option to use poll() on Linux instead of the default epoll().

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-06 12:38:15 +01:00
Toni Uhlig
5335d84fe5 Add DBUS suspicious flow event notification daemon.
* nDPIsrvd.h: support for closing/resetting a nDPIsrvd_socket (required for a reconnect)

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-03 16:07:28 +01:00
Toni Uhlig
73b8c378f2 nDPId event I/O fixes.
* forcibly disable epoll even if available
 * nDPId-test event I/O selftest
 * CI event I/O tests

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-05 12:32:45 +02:00
Toni Uhlig
e42e3fe406 Serialize nDPId / libnDPI versions within daemon events.
* changed nDPI version hints / requirements

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-09-10 19:32:08 +02:00
Toni Uhlig
96b0a8a474 Add event I/O abstraction.
* required to support non-Linux OS e.g. Mac OS X / BSD
 * see Github issue #19

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-09-10 19:11:58 +02:00
Toni Uhlig
091fd4d116 Added CMake option BUILD_NDPI_FORCE_GIT_UPDATE to fix broken submodule caches in GitLab CIs..
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-08-27 22:37:55 +02:00
Toni Uhlig
dd4357c238 CMake: install header files for experimental usage
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-08-05 01:15:48 +02:00
Toni Uhlig
7bd8081cd2 bump libpcap dependency to 1.9.0
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-07-27 18:20:36 +02:00
Toni Uhlig
967381a599 get-and-build-libndpi.sh uses GMake MAKEFLAGS for sub-make (required for e.g. jobserver)
* fixed invalid CMake `test -r ...`

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-07-16 22:06:31 +02:00
Toni Uhlig
c8ec505b9c bump libnDPI to 8ea0eaa0d0c4a3be05f67ef7fa1d22c2579cf7d1
* added build fix for Gitlab CI
 * added friendly C11 check
 * set required libnDPI versionto 4.7
   (ArchLinux ndpi-git sets version to 4.7, which is not released yet)
 * reduced sklearn-random-forest memory consumption by adjusting min. sample leaf

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-06-12 19:05:33 +02:00
lns
2b1db0a556 Required libnDPI version increases (>=4.8.0) due to an API change.
* fix CI issues

Signed-off-by: lns <matzeton@googlemail.com>
2023-05-31 12:53:49 +02:00
lns
d0c070a800 Added CentOs and ArchLinux to the CI.
* added some additional checks in get-and-build-libndpi.sh
 * CMake fallback library checks

Signed-off-by: lns <matzeton@googlemail.com>
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-05-28 00:46:58 +02:00
Toni Uhlig
c9514136b7 bump libnDPI to ...
* upstream changed regression test interface, needed to adapt
 * improved libnDPI helper build script
 * updated JSON schema

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-05-24 19:30:19 +02:00
Toni Uhlig
07efb1efd4 Added distclean-libnDPI target to CMake.
* Gitlab-CI: Additional job for debian packages
 * Install Python examples iff BUILD_EXAMPLES=ON

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-01-10 01:03:34 +01:00
Toni Uhlig
e9443d7618 Fix libnDPI build script.
* added ntop Webinar 2022 reference

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2022-12-26 19:35:12 +01:00
Toni Uhlig
869d4de271 Improved make daemon / daemon.sh to accept nDPId / nDPIsrvd arguments via env.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2022-11-15 07:05:29 +01:00
Toni Uhlig
7515c8aeec Experimental systemd support.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2022-11-06 12:58:55 +01:00
Toni Uhlig
9bf4f31418 Removed example py-ja3-checker.
* renamed sklearn-ml.py to sklearn-random-forest.py (there is more to come!)
 * force all protocol classes to lower case

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2022-10-13 00:12:22 +02:00