1 bin_PROGRAMS = suricata
3 bin_PROGRAMS += fuzz_applayerprotodetectgetproto \
4 fuzz_applayerparserparse fuzz_siginit \
5 fuzz_confyamlloadstring fuzz_decodepcapfile \
6 fuzz_sigpcap fuzz_mimedecparseline
15 app-layer-dcerpc-common.h \
17 app-layer-dcerpc-udp.h \
18 app-layer-detect-proto.h \
20 app-layer-dnp3-objects.h \
21 app-layer-enip-common.h \
24 app-layer-expectation.h \
27 app-layer-htp-body.h \
28 app-layer-htp-file.h \
30 app-layer-htp-libhtp.h \
45 app-layer-register.h \
53 app-layer-template.h \
54 app-layer-template-rust.h \
63 datasets-reputation.h \
98 detect-app-layer-event.h \
99 detect-app-layer-protocol.h \
101 detect-base64-data.h \
102 detect-base64-decode.h \
105 detect-byte-extract.h \
110 detect-cipservice.h \
119 detect-dce-stub-data.h \
121 detect-detection-filter.h \
124 detect-dns-opcode.h \
127 detect-engine-address.h \
128 detect-engine-address-ipv4.h \
129 detect-engine-address-ipv6.h \
130 detect-engine-alert.h \
131 detect-engine-analyzer.h \
132 detect-engine-build.h \
133 detect-engine-content-inspection.h \
134 detect-engine-dcepayload.h \
135 detect-engine-dns.h \
136 detect-engine-enip.h \
137 detect-engine-event.h \
138 detect-engine-file.h \
140 detect-engine-iponly.h \
141 detect-engine-loader.h \
142 detect-engine-modbus.h \
143 detect-engine-mpm.h \
144 detect-engine-payload.h \
145 detect-engine-port.h \
146 detect-engine-prefilter-common.h \
147 detect-engine-prefilter.h \
148 detect-engine-profile.h \
149 detect-engine-proto.h \
150 detect-engine-register.h \
151 detect-engine-siggroup.h \
152 detect-engine-sigorder.h \
153 detect-engine-state.h \
154 detect-engine-tag.h \
155 detect-engine-threshold.h \
156 detect-engine-uint.h \
157 detect-fast-pattern.h \
160 detect-file-hash-common.h \
165 detect-filesha256.h \
173 detect-fragoffset.h \
181 detect-http-accept-enc.h \
182 detect-http-accept.h \
183 detect-http-accept-lang.h \
184 detect-http-client-body.h \
185 detect-http-connection.h \
186 detect-http-content-len.h \
187 detect-http-content-type.h \
188 detect-http-cookie.h \
189 detect-http-header-common.h \
190 detect-http-header.h \
191 detect-http-header-names.h \
192 detect-http-headers.h \
193 detect-http-headers-stub.h \
195 detect-http-location.h \
196 detect-http-method.h \
197 detect-http-protocol.h \
198 detect-http-raw-header.h \
199 detect-http-referer.h \
200 detect-http-request-line.h \
201 detect-http-response-line.h \
202 detect-http-server-body.h \
203 detect-http-server.h \
204 detect-http-start.h \
205 detect-http-stat-code.h \
206 detect-http-stat-msg.h \
213 detect-icmpv6-mtu.h \
223 detect-krb5-cname.h \
224 detect-krb5-errcode.h \
225 detect-krb5-msgtype.h \
226 detect-krb5-sname.h \
228 detect-lua-extensions.h \
233 detect-mqtt-connack-sessionpresent.h \
234 detect-mqtt-connect-clientid.h \
235 detect-mqtt-connect-flags.h \
236 detect-mqtt-connect-password.h \
237 detect-mqtt-connect-username.h \
238 detect-mqtt-connect-willmessage.h \
239 detect-mqtt-connect-willtopic.h \
240 detect-mqtt-flags.h \
241 detect-mqtt-protocol-version.h \
242 detect-mqtt-publish-message.h \
243 detect-mqtt-publish-topic.h \
245 detect-mqtt-reason-code.h \
246 detect-mqtt-subscribe-topic.h \
248 detect-mqtt-unsubscribe-topic.h \
250 detect-nfs-procedure.h \
251 detect-nfs-version.h \
266 detect-rfb-secresult.h \
267 detect-rfb-sectype.h \
271 detect-sip-method.h \
272 detect-sip-protocol.h \
273 detect-sip-request-line.h \
274 detect-sip-response-line.h \
275 detect-sip-stat-code.h \
276 detect-sip-stat-msg.h \
279 detect-snmp-community.h \
280 detect-snmp-pdu_type.h \
281 detect-snmp-version.h \
283 detect-ssh-hassh-server.h \
284 detect-ssh-hassh-server-string.h \
285 detect-ssh-hassh-string.h \
287 detect-ssh-proto-version.h \
288 detect-ssh-software.h \
289 detect-ssh-software-version.h \
291 detect-ssl-version.h \
292 detect-stream_size.h \
300 detect-tcp-window.h \
302 detect-template-buffer.h \
304 detect-template-rust-buffer.h \
306 detect-tls-cert-fingerprint.h \
307 detect-tls-cert-issuer.h \
308 detect-tls-cert-serial.h \
310 detect-tls-cert-subject.h \
311 detect-tls-cert-validity.h \
313 detect-tls-ja3-hash.h \
314 detect-tls-ja3s-hash.h \
315 detect-tls-ja3s-string.h \
316 detect-tls-ja3-string.h \
318 detect-tls-version.h \
320 detect-transform-compress-whitespace.h \
321 detect-transform-dotprefix.h \
322 detect-transform-md5.h \
323 detect-transform-pcrexform.h \
324 detect-transform-sha1.h \
325 detect-transform-sha256.h \
326 detect-transform-strip-whitespace.h \
327 detect-transform-urldecode.h \
330 detect-uricontent.h \
371 output-json-alert.h \
372 output-json-anomaly.h \
373 output-json-dcerpc.h \
376 output-json-dnp3-objects.h \
379 output-json-email-common.h \
384 output-json-http2.h \
388 output-json-metadata.h \
390 output-json-netflow.h \
399 output-json-stats.h \
400 output-json-template.h \
401 output-json-template-rust.h \
414 respond-reject-libnet11.h \
415 runmode-af-packet.h \
423 runmode-pcap-file.h \
427 runmode-unittests.h \
428 runmode-unix-socket.h \
429 runmode-windivert.h \
440 source-nfq-prototypes.h \
441 source-pcap-file-directory-helper.h \
443 source-pcap-file-helper.h \
447 source-windivert-prototypes.h \
450 stream-tcp-inline.h \
452 stream-tcp-private.h \
453 stream-tcp-reassemble.h \
469 tm-threads-common.h \
477 util-bloomfilter-counting.h \
484 util-classification-config.h \
488 util-coredump-config.h \
492 util-debug-filters.h \
500 util-file-decompression.h \
502 util-file-swf-decompression.h \
503 util-fix_checksum.h \
507 util-hash-lookup3.h \
510 util-host-os-info.h \
519 util-lua-dnp3-objects.h \
553 util-profiling-locks.h \
557 util-reference-config.h \
561 util-running-modes.h \
569 util-streaming-buffer.h \
572 util-threshold-config.h \
575 util-unittest-helper.h \
585 libsuricata_c_a_SOURCES = \
592 app-layer-dcerpc-udp.c \
593 app-layer-detect-proto.c \
595 app-layer-dnp3-objects.c \
597 app-layer-enip-common.c \
599 app-layer-expectation.c \
601 app-layer-htp-body.c \
603 app-layer-htp-file.c \
604 app-layer-htp-libhtp.c \
605 app-layer-htp-mem.c \
606 app-layer-htp-xff.c \
612 app-layer-nfs-tcp.c \
613 app-layer-nfs-udp.c \
618 app-layer-register.c \
626 app-layer-template.c \
627 app-layer-template-rust.c \
667 detect-app-layer-event.c \
668 detect-app-layer-protocol.c \
670 detect-base64-data.c \
671 detect-base64-decode.c \
675 detect-byte-extract.c \
680 detect-cipservice.c \
689 detect-dce-stub-data.c \
691 detect-detection-filter.c \
694 detect-dns-opcode.c \
697 detect-engine-address.c \
698 detect-engine-address-ipv4.c \
699 detect-engine-address-ipv6.c \
700 detect-engine-alert.c \
701 detect-engine-analyzer.c \
702 detect-engine-build.c \
704 detect-engine-content-inspection.c \
705 detect-engine-dcepayload.c \
706 detect-engine-dns.c \
707 detect-engine-enip.c \
708 detect-engine-event.c \
709 detect-engine-file.c \
710 detect-engine-iponly.c \
711 detect-engine-loader.c \
712 detect-engine-modbus.c \
713 detect-engine-mpm.c \
714 detect-engine-payload.c \
715 detect-engine-port.c \
716 detect-engine-prefilter.c \
717 detect-engine-prefilter-common.c \
718 detect-engine-profile.c \
719 detect-engine-proto.c \
720 detect-engine-register.c \
721 detect-engine-siggroup.c \
722 detect-engine-sigorder.c \
723 detect-engine-state.c \
724 detect-engine-tag.c \
725 detect-engine-threshold.c \
726 detect-engine-uint.c \
727 detect-fast-pattern.c \
730 detect-file-hash-common.c \
735 detect-filesha256.c \
743 detect-fragoffset.c \
750 detect-http-accept.c \
751 detect-http-accept-enc.c \
752 detect-http-accept-lang.c \
753 detect-http-client-body.c \
754 detect-http-connection.c \
755 detect-http-content-len.c \
756 detect-http-content-type.c \
757 detect-http-cookie.c \
758 detect-http-header.c \
759 detect-http-header-common.c \
760 detect-http-header-names.c \
761 detect-http-headers.c \
763 detect-http-location.c \
764 detect-http-method.c \
765 detect-http-protocol.c \
766 detect-http-raw-header.c \
767 detect-http-referer.c \
768 detect-http-request-line.c \
769 detect-http-response-line.c \
770 detect-http-server-body.c \
771 detect-http-server.c \
772 detect-http-start.c \
773 detect-http-stat-code.c \
774 detect-http-stat-msg.c \
781 detect-icmpv6-mtu.c \
791 detect-krb5-cname.c \
792 detect-krb5-errcode.c \
793 detect-krb5-msgtype.c \
794 detect-krb5-sname.c \
797 detect-lua-extensions.c \
801 detect-mqtt-connack-sessionpresent.c \
802 detect-mqtt-connect-clientid.c \
803 detect-mqtt-connect-flags.c \
804 detect-mqtt-connect-password.c \
805 detect-mqtt-connect-username.c \
806 detect-mqtt-connect-willmessage.c \
807 detect-mqtt-connect-willtopic.c \
808 detect-mqtt-flags.c \
809 detect-mqtt-protocol-version.c \
810 detect-mqtt-publish-message.c \
811 detect-mqtt-publish-topic.c \
813 detect-mqtt-reason-code.c \
814 detect-mqtt-subscribe-topic.c \
816 detect-mqtt-unsubscribe-topic.c \
818 detect-nfs-procedure.c \
819 detect-nfs-version.c \
834 detect-rfb-secresult.c \
835 detect-rfb-sectype.c \
839 detect-sip-method.c \
840 detect-sip-protocol.c \
841 detect-sip-request-line.c \
842 detect-sip-response-line.c \
843 detect-sip-stat-code.c \
844 detect-sip-stat-msg.c \
847 detect-snmp-community.c \
848 detect-snmp-pdu_type.c \
849 detect-snmp-version.c \
851 detect-ssh-hassh-server.c \
852 detect-ssh-hassh-server-string.c \
853 detect-ssh-hassh-string.c \
855 detect-ssh-proto-version.c \
856 detect-ssh-software.c \
857 detect-ssh-software-version.c \
859 detect-ssl-version.c \
860 detect-stream_size.c \
868 detect-tcp-window.c \
870 detect-template-buffer.c \
872 detect-template-rust-buffer.c \
875 detect-tls-cert-fingerprint.c \
876 detect-tls-cert-issuer.c \
878 detect-tls-cert-serial.c \
879 detect-tls-cert-subject.c \
880 detect-tls-cert-validity.c \
881 detect-tls-ja3-hash.c \
882 detect-tls-ja3s-hash.c \
883 detect-tls-ja3s-string.c \
884 detect-tls-ja3-string.c \
886 detect-tls-version.c \
888 detect-transform-compress-whitespace.c \
889 detect-transform-dotprefix.c \
890 detect-transform-md5.c \
891 detect-transform-pcrexform.c \
892 detect-transform-sha1.c \
893 detect-transform-sha256.c \
894 detect-transform-strip-whitespace.c \
895 detect-transform-urldecode.c \
898 detect-uricontent.c \
938 output-json-alert.c \
939 output-json-anomaly.c \
941 output-json-common.c \
942 output-json-dcerpc.c \
945 output-json-dnp3-objects.c \
948 output-json-email-common.c \
952 output-json-http2.c \
956 output-json-metadata.c \
958 output-json-netflow.c \
967 output-json-stats.c \
968 output-json-template.c \
969 output-json-template-rust.c \
981 respond-reject-libnet11.c \
982 runmode-af-packet.c \
991 runmode-pcap-file.c \
994 runmode-unittests.c \
995 runmode-unix-socket.c \
996 runmode-windivert.c \
1007 source-pcap-file.c \
1008 source-pcap-file-directory-helper.c \
1009 source-pcap-file-helper.c \
1011 source-windivert.c \
1014 stream-tcp-inline.c \
1016 stream-tcp-reassemble.c \
1025 tm-queuehandlers.c \
1033 util-bloomfilter.c \
1034 util-bloomfilter-counting.c \
1040 util-classification-config.c \
1042 util-coredump-config.c \
1047 util-debug-filters.c \
1048 util-decode-mime.c \
1055 util-file-decompression.c \
1056 util-file-swf-decompression.c \
1057 util-fix_checksum.c \
1061 util-hash-lookup3.c \
1062 util-hash-string.c \
1064 util-host-os-info.c \
1069 util-logopenfile.c \
1074 util-lua-dnp3-objects.c \
1092 util-mpm-ac-ks-small.c \
1101 util-pool-thread.c \
1106 util-profiling-keywords.c \
1107 util-profiling-locks.c \
1108 util-profiling-prefilter.c \
1109 util-profiling-rulegroups.c \
1110 util-profiling-rules.c \
1114 util-reference-config.c \
1118 util-running-modes.c \
1126 util-streaming-buffer.c \
1132 util-threshold-config.c \
1135 util-unittest-helper.c \
1145 mkdir -p $(DESTDIR)${includedir}/suricata
1146 for header in $(noinst_HEADERS); do \
1147 $(INSTALL_DATA) $$header "$(DESTDIR)${includedir}/suricata"; \
1150 # set the include path found by configure
1151 AM_CPPFLAGS = $(all_includes)
1153 noinst_LIBRARIES = libsuricata_c.a
1155 suricata_SOURCES = main.c
1157 # the library search path.
1158 suricata_LDFLAGS = $(all_libraries) ${SECLDFLAGS}
1159 suricata_LDADD = libsuricata_c.a $(RUST_SURICATA_LIB) $(HTP_LDADD) $(RUST_LDADD)
1160 suricata_DEPENDENCIES = libsuricata_c.a
1162 if BUILD_SHARED_LIBRARY
1163 libsuricata.so.$(VERSION): libsuricata_c.a
1164 $(CC) -shared -o $@ -Wl,-soname,$@ -Wl,--whole-archive \
1166 $(RUST_SURICATA_LIB) \
1167 -Wl,--no-whole-archive
1168 libsuricata.so: libsuricata.so.$(VERSION)
1171 @echo "shared library support not enabled"
1175 if BUILD_SHARED_LIBRARY
1176 install-library: libsuricata.so.$(VERSION)
1180 $(MKDIR_P) "$(DESTDIR)$(libdir)"
1181 $(INSTALL_DATA) libsuricata_c.a "$(DESTDIR)$(libdir)"
1182 if BUILD_SHARED_LIBRARY
1183 $(INSTALL) libsuricata.so.$(VERSION) "$(DESTDIR)$(libdir)"
1184 ln -sf libsuricata.so.$(VERSION) "$(DESTDIR)$(libdir)/libsuricata.so"
1188 rm -f "$(DESTDIR)$(libdir)/libsuricata_c.a"
1189 rm -f "$(DESTDIR)$(libdir)/libsuricata.so"
1190 rm -f "$(DESTDIR)$(libdir)/libsuricata.$(VERSION)"
1192 if BUILD_FUZZTARGETS
1194 LDFLAGS_FUZZ = $(all_libraries) $(SECLDFLAGS)
1195 LDADD_FUZZ = libsuricata_c.a $(RUST_SURICATA_LIB) $(HTP_LDADD) $(RUST_LDADD)
1197 nodist_fuzz_applayerprotodetectgetproto_SOURCES = tests/fuzz/fuzz_applayerprotodetectgetproto.c
1198 fuzz_applayerprotodetectgetproto_LDFLAGS = $(LDFLAGS_FUZZ)
1199 fuzz_applayerprotodetectgetproto_LDADD = $(LDADD_FUZZ)
1201 fuzz_applayerprotodetectgetproto_LDFLAGS += $(LIB_FUZZING_ENGINE)
1203 nodist_fuzz_applayerprotodetectgetproto_SOURCES += tests/fuzz/onefile.c
1205 # force usage of CXX for linker
1206 nodist_EXTRA_fuzz_applayerprotodetectgetproto_SOURCES = force-cxx-linking.cxx
1208 nodist_fuzz_applayerparserparse_SOURCES = tests/fuzz/fuzz_applayerparserparse.c
1209 fuzz_applayerparserparse_LDFLAGS = $(LDFLAGS_FUZZ)
1210 fuzz_applayerparserparse_LDADD = $(LDADD_FUZZ)
1212 fuzz_applayerparserparse_LDFLAGS += $(LIB_FUZZING_ENGINE)
1214 nodist_fuzz_applayerparserparse_SOURCES += tests/fuzz/onefile.c
1216 # force usage of CXX for linker
1217 nodist_EXTRA_fuzz_applayerparserparse_SOURCES = force-cxx-linking.cxx
1219 nodist_fuzz_siginit_SOURCES = tests/fuzz/fuzz_siginit.c
1220 fuzz_siginit_LDFLAGS = $(LDFLAGS_FUZZ)
1221 fuzz_siginit_LDADD = $(LDADD_FUZZ)
1223 fuzz_siginit_LDFLAGS += $(LIB_FUZZING_ENGINE)
1225 nodist_fuzz_siginit_SOURCES += tests/fuzz/onefile.c
1227 # force usage of CXX for linker
1228 nodist_EXTRA_fuzz_siginit_SOURCES = force-cxx-linking.cxx
1230 nodist_fuzz_confyamlloadstring_SOURCES = tests/fuzz/fuzz_confyamlloadstring.c
1231 fuzz_confyamlloadstring_LDFLAGS = $(LDFLAGS_FUZZ)
1232 fuzz_confyamlloadstring_LDADD = $(LDADD_FUZZ)
1234 fuzz_confyamlloadstring_LDFLAGS += $(LIB_FUZZING_ENGINE)
1236 nodist_fuzz_confyamlloadstring_SOURCES += tests/fuzz/onefile.c
1238 # force usage of CXX for linker
1239 nodist_EXTRA_fuzz_confyamlloadstring_SOURCES = force-cxx-linking.cxx
1241 nodist_fuzz_decodepcapfile_SOURCES = tests/fuzz/fuzz_decodepcapfile.c
1242 fuzz_decodepcapfile_LDFLAGS = $(LDFLAGS_FUZZ)
1243 fuzz_decodepcapfile_LDADD = $(LDADD_FUZZ)
1245 fuzz_decodepcapfile_LDFLAGS += $(LIB_FUZZING_ENGINE)
1247 nodist_fuzz_decodepcapfile_SOURCES += tests/fuzz/onefile.c
1249 # force usage of CXX for linker
1250 nodist_EXTRA_fuzz_decodepcapfile_SOURCES = force-cxx-linking.cxx
1252 nodist_fuzz_sigpcap_SOURCES = tests/fuzz/fuzz_sigpcap.c
1253 fuzz_sigpcap_LDFLAGS = $(LDFLAGS_FUZZ)
1254 fuzz_sigpcap_LDADD = $(LDADD_FUZZ)
1256 fuzz_sigpcap_LDFLAGS += $(LIB_FUZZING_ENGINE)
1258 nodist_fuzz_sigpcap_SOURCES += tests/fuzz/onefile.c
1260 # force usage of CXX for linker
1261 nodist_EXTRA_fuzz_sigpcap_SOURCES = force-cxx-linking.cxx
1263 nodist_fuzz_mimedecparseline_SOURCES = tests/fuzz/fuzz_mimedecparseline.c
1264 fuzz_mimedecparseline_LDFLAGS = $(LDFLAGS_FUZZ)
1265 fuzz_mimedecparseline_LDADD = $(LDADD_FUZZ)
1267 fuzz_mimedecparseline_LDFLAGS += $(LIB_FUZZING_ENGINE)
1269 nodist_fuzz_mimedecparseline_SOURCES += tests/fuzz/onefile.c
1271 # force usage of CXX for linker
1272 nodist_EXTRA_fuzz_mimedecparseline_SOURCES = force-cxx-linking.cxx
1276 AM_CFLAGS = ${OPTIMIZATION_CFLAGS} ${GCC_CFLAGS} ${CLANG_CFLAGS} \
1277 ${SECCFLAGS} ${PCAP_CFLAGS} -DLOCAL_STATE_DIR=\"$(localstatedir)\" \
1278 -Wall -Wno-unused-parameter -Wmissing-prototypes -Wmissing-declarations \
1279 -Wstrict-prototypes -Wwrite-strings -Wbad-function-cast \
1280 -Wformat-security -Wno-format-nonliteral -Wmissing-format-attribute \
1283 # different flags for different cases
1285 AM_CFLAGS += -ggdb -O0
1288 AM_LDFLAGS = ${SECLDFLAGS}
1292 -mkdir $(top_builddir)/qa/log/
1293 $(top_builddir)/src/suricata -u -l $(top_builddir)/qa/log/
1294 -rm -rf $(top_builddir)/qa/log
1298 -rm -rf $(top_builddir)/src/build-info.h