aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am248
-rw-r--r--src/include/ndpi_utils.h1
-rw-r--r--src/lib/Makefile.in82
3 files changed, 249 insertions, 82 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 000000000..f11b7032e
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,248 @@
+EXTRA_DIST = \
+ lib/third_party/src/hll/hll.c \
+ lib/third_party/src/hll/MurmurHash3.c \
+ lib/ndpi_content_match.c.inc \
+ lib/protocols/btlib.h \
+ lib/third_party/include/ahocorasick.h \
+ lib/third_party/include/hll.h \
+ lib/third_party/include/libcache.h \
+ lib/third_party/include/libinjection.h \
+ lib/third_party/include/libinjection_html5.h \
+ lib/third_party/include/libinjection_sqli_data.h \
+ lib/third_party/include/libinjection_sqli.h \
+ lib/third_party/include/libinjection_xss.h \
+ lib/third_party/include/MurmurHash3.h \
+ lib/third_party/include/ndpi_md5.h \
+ lib/third_party/include/ndpi_patricia.h \
+ lib/third_party/include/ndpi_sha1.h \
+ lib/third_party/include/rce_injection.h \
+ lib/third_party/include/uthash.h
+
+includendpidir = $(includedir)/ndpi
+
+includendpi_HEADERS = \
+ include/ndpi_api.h \
+ include/ndpi_config.h \
+ include/ndpi_define.h \
+ include/ndpi_classify.h \
+ include/ndpi_encryption.h \
+ include/ndpi_includes.h \
+ include/ndpi_includes_OpenBSD.h \
+ include/ndpi_main.h \
+ include/ndpi_patricia_typedefs.h \
+ include/ndpi_protocol_ids.h \
+ include/ndpi_protocols.h \
+ include/ndpi_typedefs.h \
+ include/ndpi_unix.h \
+ include/ndpi_utils.h \
+ include/ndpi_win32.h
+
+lib_LTLIBRARIES = libndpi.la
+
+libndpi_la_SOURCES = \
+ lib/ndpi_analyze.c \
+ lib/ndpi_classify.c \
+ lib/ndpi_community_id.c \
+ lib/ndpi_geoip.c \
+ lib/ndpi_main.c \
+ lib/ndpi_serializer.c \
+ lib/ndpi_utils.c \
+ lib/protocols/afp.c \
+ lib/protocols/aimini.c \
+ lib/protocols/ajp.c \
+ lib/protocols/amazon_video.c \
+ lib/protocols/among_us.c \
+ lib/protocols/amqp.c \
+ lib/protocols/applejuice.c \
+ lib/protocols/apple_push.c \
+ lib/protocols/armagetron.c \
+ lib/protocols/attic/flash.c \
+ lib/protocols/attic/ftp.c \
+ lib/protocols/attic/manolito.c \
+ lib/protocols/attic/popo.c \
+ lib/protocols/attic/secondlife.c \
+ lib/protocols/avast_securedns.c \
+ lib/protocols/ayiya.c \
+ lib/protocols/bgp.c \
+ lib/protocols/bittorrent.c \
+ lib/protocols/bjnp.c \
+ lib/protocols/btlib.c \
+ lib/protocols/capwap.c \
+ lib/protocols/checkmk.c \
+ lib/protocols/ciscovpn.c \
+ lib/protocols/citrix.c \
+ lib/protocols/coap.c \
+ lib/protocols/collectd.c \
+ lib/protocols/corba.c \
+ lib/protocols/cpha.c \
+ lib/protocols/crossfire.c \
+ lib/protocols/csgo.c \
+ lib/protocols/dcerpc.c \
+ lib/protocols/dhcp.c \
+ lib/protocols/dhcpv6.c \
+ lib/protocols/diameter.c \
+ lib/protocols/directconnect.c \
+ lib/protocols/directdownloadlink.c \
+ lib/protocols/dnp3.c \
+ lib/protocols/dns.c \
+ lib/protocols/dnscrypt.c \
+ lib/protocols/dofus.c \
+ lib/protocols/drda.c \
+ lib/protocols/dropbox.c \
+ lib/protocols/eaq.c \
+ lib/protocols/edonkey.c \
+ lib/protocols/fasttrack.c \
+ lib/protocols/fiesta.c \
+ lib/protocols/fix.c \
+ lib/protocols/florensia.c \
+ lib/protocols/ftp_control.c \
+ lib/protocols/ftp_data.c \
+ lib/protocols/genshin_impact.c \
+ lib/protocols/git.c \
+ lib/protocols/gnutella.c \
+ lib/protocols/gtp.c \
+ lib/protocols/guildwars.c \
+ lib/protocols/h323.c \
+ lib/protocols/halflife2_and_mods.c \
+ lib/protocols/hangout.c \
+ lib/protocols/hpvirtgrp.c \
+ lib/protocols/http.c \
+ lib/protocols/iax.c \
+ lib/protocols/icecast.c \
+ lib/protocols/iec60870-5-104.c \
+ lib/protocols/imo.c \
+ lib/protocols/ipp.c \
+ lib/protocols/irc.c \
+ lib/protocols/jabber.c \
+ lib/protocols/kakaotalk_voice.c \
+ lib/protocols/kerberos.c \
+ lib/protocols/kontiki.c \
+ lib/protocols/ldap.c \
+ lib/protocols/lisp.c \
+ lib/protocols/lotus_notes.c \
+ lib/protocols/mail_imap.c \
+ lib/protocols/mail_pop.c \
+ lib/protocols/mail_smtp.c \
+ lib/protocols/maplestory.c \
+ lib/protocols/megaco.c \
+ lib/protocols/memcached.c \
+ lib/protocols/mgcp.c \
+ lib/protocols/mining.c \
+ lib/protocols/modbus.c \
+ lib/protocols/mongodb.c \
+ lib/protocols/mpegts.c \
+ lib/protocols/mqtt.c \
+ lib/protocols/mssql_tds.c \
+ lib/protocols/mysql.c \
+ lib/protocols/nats.c \
+ lib/protocols/nest_log_sink.c \
+ lib/protocols/netbios.c \
+ lib/protocols/netflow.c \
+ lib/protocols/nfs.c \
+ lib/protocols/nintendo.c \
+ lib/protocols/noe.c \
+ lib/protocols/non_tcp_udp.c \
+ lib/protocols/ntp.c \
+ lib/protocols/ookla.c \
+ lib/protocols/openft.c \
+ lib/protocols/openvpn.c \
+ lib/protocols/oracle.c \
+ lib/protocols/postgres.c \
+ lib/protocols/ppstream.c \
+ lib/protocols/pptp.c \
+ lib/protocols/qq.c \
+ lib/protocols/quic.c \
+ lib/protocols/radius.c \
+ lib/protocols/rdp.c \
+ lib/protocols/redis_net.c \
+ lib/protocols/rsync.c \
+ lib/protocols/rtcp.c \
+ lib/protocols/rtmp.c \
+ lib/protocols/rtp.c \
+ lib/protocols/rtsp.c \
+ lib/protocols/rx.c \
+ lib/protocols/s7comm.c \
+ lib/protocols/sflow.c \
+ lib/protocols/shoutcast.c \
+ lib/protocols/sip.c \
+ lib/protocols/skinny.c \
+ lib/protocols/skype.c \
+ lib/protocols/smb.c \
+ lib/protocols/smpp.c \
+ lib/protocols/snmp_proto.c \
+ lib/protocols/soap.c \
+ lib/protocols/socks45.c \
+ lib/protocols/someip.c \
+ lib/protocols/sopcast.c \
+ lib/protocols/soulseek.c \
+ lib/protocols/spotify.c \
+ lib/protocols/ssdp.c \
+ lib/protocols/ssh.c \
+ lib/protocols/starcraft.c \
+ lib/protocols/stealthnet.c \
+ lib/protocols/steam.c \
+ lib/protocols/stun.c \
+ lib/protocols/syslog.c \
+ lib/protocols/targus_getdata.c \
+ lib/protocols/tcp_udp.c \
+ lib/protocols/teamspeak.c \
+ lib/protocols/teamviewer.c \
+ lib/protocols/telegram.c \
+ lib/protocols/telnet.c \
+ lib/protocols/teredo.c \
+ lib/protocols/tftp.c \
+ lib/protocols/thunder.c \
+ lib/protocols/tinc.c \
+ lib/protocols/tls.c \
+ lib/protocols/tvuplayer.c \
+ lib/protocols/ubntac2.c \
+ lib/protocols/usenet.c \
+ lib/protocols/vhua.c \
+ lib/protocols/viber.c \
+ lib/protocols/vmware.c \
+ lib/protocols/vnc.c \
+ lib/protocols/warcraft3.c \
+ lib/protocols/websocket.c \
+ lib/protocols/whatsapp.c \
+ lib/protocols/whoisdas.c \
+ lib/protocols/wireguard.c \
+ lib/protocols/world_of_kung_fu.c \
+ lib/protocols/world_of_warcraft.c \
+ lib/protocols/wsd.c \
+ lib/protocols/xbox.c \
+ lib/protocols/xdmcp.c \
+ lib/protocols/z3950.c \
+ lib/protocols/zabbix.c \
+ lib/protocols/zattoo.c \
+ lib/protocols/zeromq.c \
+ lib/third_party/src/ahocorasick.c \
+ lib/third_party/src/libcache.c \
+ lib/third_party/src/libinjection_html5.c \
+ lib/third_party/src/libinjection_sqli.c \
+ lib/third_party/src/libinjection_xss.c \
+ lib/third_party/src/ndpi_md5.c \
+ lib/third_party/src/ndpi_patricia.c \
+ lib/third_party/src/ndpi_sha1.c \
+ lib/third_party/src/sha1-fast.c \
+ lib/third_party/src/strptime.c
+
+libndpi_la_CFLAGS = \
+ -fPIC -DPIC \
+ -I$(top_srcdir)/src/include \
+ -I$(top_srcdir)/src/lib \
+ -I$(top_srcdir)/src/lib/third_party/include \
+ -DNDPI_LIB_COMPILATION \
+ -Wall \
+ @CUSTOM_NDPI@
+
+# Remember that libtool's semantic versioning is different from nDPI's versioning!
+# See: https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
+libndpi_la_LDFLAGS = -version-info @NDPI_MAJOR@:@NDPI_MINOR@:@NDPI_PATCH@
+
+check:
+ cppcheck --template='{file}:{line}:{severity}:{message}' --quiet --enable=all --force \
+ -Iinclude \
+ -I$(top_srcdir)/src/include \
+ -I$(top_srcdir)/src/lib \
+ -I$(top_srcdir)/src/lib/third_party/include \
+ $(top_srcdir)/src/lib/*.c $(top_srcdir)/src/lib/protocols/*.
diff --git a/src/include/ndpi_utils.h b/src/include/ndpi_utils.h
index 983aae283..8dcd5ac77 100644
--- a/src/include/ndpi_utils.h
+++ b/src/include/ndpi_utils.h
@@ -4,6 +4,7 @@
#define __NDPI_UTILS_H__
#include "ndpi_define.h"
+#include "ndpi_includes.h"
#define MYDBG(m, ...) \
printf(" DBG[%s:%s:%u]: \t" m "\n", __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);
diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
deleted file mode 100644
index ef866fe96..000000000
--- a/src/lib/Makefile.in
+++ /dev/null
@@ -1,82 +0,0 @@
-#
-# Simple non-autotools dependent makefile
-#
-# ./autogen.sh
-# cd src/lib
-# make Makefile
-#
-
-#
-# Installation directories
-#
-prefix = @prefix@
-libdir = ${prefix}/lib
-includedir = ${prefix}/include/ndpi
-CC = @GNU_PREFIX@@CC@
-CFLAGS += -fPIC -DPIC -I../include -Ithird_party/include -DNDPI_LIB_COMPILATION -Wall @CFLAGS@ @CUSTOM_NDPI@
-LDFLAGS = @LDFLAGS@ @ADDITIONAL_LIBS@ @LIBS@
-RANLIB = @GNU_PREFIX@ranlib
-
-OBJECTS = $(patsubst protocols/%.c, protocols/%.o, $(wildcard protocols/*.c)) $(patsubst third_party/src/%.c, third_party/src/%.o, $(wildcard third_party/src/*.c)) $(patsubst ./%.c, ./%.o, $(wildcard ./*.c))
-HEADERS = $(wildcard ../include/*.h)
-NDPI_VERSION_MAJOR = @NDPI_MAJOR@
-NDPI_LIB_STATIC = libndpi.a
-NDPI_LIB_SHARED_BASE = libndpi.so
-NDPI_LIB_SHARED = $(NDPI_LIB_SHARED_BASE).@NDPI_VERSION_SHORT@
-NDPI_LIBS = $(NDPI_LIB_STATIC) $(NDPI_LIB_SHARED)
-
-ifneq ($(OS),Windows_NT)
-OS := $(shell uname)
-endif
-BUILD_MINGW = @BUILD_MINGW@
-
-ifeq ($(OS),Darwin)
-CC=clang
-SONAME_FLAG=
-else
-ifneq ($(BUILD_MINGW),)
-NDPI_LIB_SHARED_BASE = libndpi
-NDPI_LIB_SHARED = $(NDPI_LIB_SHARED_BASE)-@NDPI_VERSION_SHORT@.dll
-else
-SONAME_FLAG=-Wl,-soname,$(NDPI_LIB_SHARED_BASE).$(NDPI_VERSION_MAJOR)
-endif
-endif
-
-all: $(NDPI_LIBS)
-
-ndpi_main.c: ndpi_content_match.c.inc
-
-$(NDPI_LIB_STATIC): $(OBJECTS)
- @GNU_PREFIX@ar rc $@ $(OBJECTS)
- $(RANLIB) $@
-
-$(NDPI_LIB_SHARED): $(OBJECTS)
- $(CC) -shared -fPIC $(SONAME_FLAG) -o $@ $(OBJECTS) $(LDFLAGS)
- ln -fs $(NDPI_LIB_SHARED) $(NDPI_LIB_SHARED_BASE)
- ln -fs $(NDPI_LIB_SHARED) $(NDPI_LIB_SHARED_BASE).$(NDPI_VERSION_MAJOR)
-
-%.o: %.c $(HEADERS) Makefile
- $(CC) $(CFLAGS) -c $< -o $@
-
-clean:
- /bin/rm -f $(NDPI_LIB_STATIC) $(OBJECTS) *.o *.so *.lo libndpi.so*
-
-distdir:
- cp ndpi_content_match.c.inc '$(distdir)/'
- find . -type d | xargs -I'{}' mkdir -p '$(distdir)/{}'
- find ../include -type f -name '*.h' | xargs -I'{}' cp '{}' '$(distdir)/{}'
- find . -type f -name '*.c' -o -name '*.h' | xargs -I'{}' cp '{}' '$(distdir)/{}'
-
-distclean: clean
- /bin/rm -f Makefile
-
-cppcheck:
- cppcheck --template='{file}:{line}:{severity}:{message}' --quiet --enable=all --force -I ../include *.c protocols/*.c
-
-install: $(NDPI_LIBS)
- mkdir -p $(DESTDIR)$(libdir)
- cp $(NDPI_LIBS) $(DESTDIR)$(libdir)/
- cp -P $(NDPI_LIB_SHARED_BASE) $(DESTDIR)$(libdir)/
- cp -P $(NDPI_LIB_SHARED_BASE).$(NDPI_VERSION_MAJOR) $(DESTDIR)$(libdir)/
- mkdir -p $(DESTDIR)$(includedir)
- cp ../include/*.h $(DESTDIR)$(includedir)