diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 248 | ||||
-rw-r--r-- | src/include/ndpi_utils.h | 1 | ||||
-rw-r--r-- | src/lib/Makefile.in | 82 |
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) |