2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
6 include $(TOPDIR
)/rules.mk
13 PKG_SOURCE_VERSION
:=$(PKG_VERSION
)
14 PKG_SOURCE_URL
:=https
://github.com
/snort3
/snort3
15 PKG_MIRROR_HASH
:=ffa69fdd95c55a943ab4dd782923caf31937dd8ad29e202d7fe781373ed84444
17 PKG_MAINTAINER
:=W. Michael Petullo
<mike@flyn.org
>, John Audia
<therealgraysky@proton.me
>
18 PKG_LICENSE
:=GPL-2.0
-only
19 PKG_LICENSE_FILES
:=COPYING
20 PKG_CPE_ID
:=cpe
:/a
:snort
:snort
22 include $(INCLUDE_DIR
)/package.mk
23 include $(INCLUDE_DIR
)/cmake.mk
30 +(TARGET_x86||TARGET_x86_64
):hyperscan-runtime \
31 +(TARGET_x86||TARGET_x86_64
):gperftools-runtime \
32 +libstdcpp
+libdaq3
+libdnet
+libopenssl
+libpcap
+libpcre2
+libpthread \
33 +libuuid
+zlib
+libhwloc
+libtirpc @HAS_LUAJIT_ARCH
+luajit
+libatomic \
34 +kmod-nft-queue
+liblzma
+ucode
+ucode-mod-fs
+ucode-mod-uci
35 TITLE
:=Lightweight Network Intrusion Detection System
36 URL
:=http
://www.snort.org
/
40 define Package
/snort3
/description
41 Snort is an open source network intrusion detection and prevention system.
42 It is capable of performing real-time traffic analysis
, alerting
, blocking
43 and packet logging on IP networks. It utilizes a combination of protocol
44 analysis and pattern matching in order to detect anomalies
, misuse and
48 # Hyperscan and gperftools only builds for x86
49 ifdef CONFIG_TARGET_x86_64
50 CMAKE_OPTIONS
+= -DHS_INCLUDE_DIRS
=$(STAGING_DIR
)/usr
/include/hs \
51 -DENABLE_TCMALLOC
=ON \
52 -DTCMALLOC_LIBRARIES
=$(STAGING_DIR
)/usr
/lib
/libtcmalloc.so
56 -DUSE_TIRPC
:BOOL
=YES \
57 -DENABLE_STATIC_DAQ
:BOOL
=NO \
58 -DDAQ_INCLUDE_DIR
=$(STAGING_DIR
)/usr
/include/daq3 \
59 -DDAQ_LIBRARIES_DIR_HINT
:PATH
=$(STAGING_DIR
)/usr
/lib
/daq3 \
60 -DFLEX_INCLUDES
:PATH
=$(STAGING_DIR_HOST
)/include \
61 -DENABLE_COREFILES
:BOOL
=NO \
62 -DENABLE_GDB
:BOOL
=NO \
64 -DMAKE_HTML_DOC
:BOOL
=NO \
65 -DMAKE_PDF_DOC
:BOOL
=NO \
66 -DMAKE_TEXT_DOC
:BOOL
=NO \
67 -DHAVE_LIBUNWIND
=OFF \
70 TARGET_CFLAGS
+= -I
$(STAGING_DIR
)/usr
/include/daq3
-I
$(STAGING_DIR
)/usr
/include/tirpc
71 TARGET_LDFLAGS
+= -L
$(STAGING_DIR
)/usr
/lib
/daq3
-ltirpc
73 define Package
/snort3
/conffiles
78 define Package
/snort3
/install
79 $(INSTALL_DIR
) $(1)/usr
/bin
81 $(PKG_INSTALL_DIR
)/usr
/bin
/snort \
85 $(PKG_INSTALL_DIR
)/usr
/bin
/snort2lua \
89 $(PKG_INSTALL_DIR
)/usr
/bin
/u2
{boat
,spewfoo
} \
93 .
/files
/snort-
{mgr
,rules
} \
96 $(INSTALL_DIR
) $(1)/usr
/lib
/snort
98 $(PKG_INSTALL_DIR
)/usr
/lib
/snort
/daq
/daq_hext.so \
102 $(PKG_INSTALL_DIR
)/usr
/lib
/snort
/daq
/daq_file.so \
105 $(INSTALL_DIR
) $(1)/usr
/share
/lua
107 $(PKG_INSTALL_DIR
)/usr
/include/snort
/lua
/snort_plugin.lua \
110 $(INSTALL_DIR
) $(1)/usr
/share
/snort
113 $(1)/usr
/share
/snort
/
115 $(INSTALL_DIR
) $(1)/usr
/share
/snort
/templates
117 .
/files
/nftables.uc \
118 $(1)/usr
/share
/snort
/templates
/
121 $(1)/usr
/share
/snort
/templates
/
123 $(INSTALL_DIR
) $(1)/etc
/snort
/{rules
,lists
,builtin_rules
,so_rules
}
126 $(PKG_INSTALL_DIR
)/usr
/etc
/snort
/*.lua \
129 $(PKG_INSTALL_DIR
)/usr
/etc
/snort
/file_magic.rules \
132 $(INSTALL_DIR
) $(1)/etc
/init.d
135 $(1)/etc
/init.d
/snort
137 $(INSTALL_DIR
) $(1)/etc
/config
139 .
/files
/snort.config \
140 $(1)/etc
/config
/snort
144 -e
"/^-- HOME_NET and EXTERNAL_NET/ i -- The values for the two variables HOME_NET and EXTERNAL_NET have been" \
145 -e
"/^-- HOME_NET and EXTERNAL_NET/ i -- moved to /etc/config/snort, so do not modify them here without good" \
146 -e
"/^-- HOME_NET and EXTERNAL_NET/ i -- reason.\n" \
147 -e
's/^\(HOME_NET\s\+=\)/--\1/g' \
148 -e
's/^\(EXTERNAL_NET\s\+=\)/--\1/g' \
149 $(1)/etc
/snort
/snort.lua
151 -i
-e
"s/^\\(RULE_PATH\\s\\+=\\).*/\\1 'rules'/g" \
152 -e
"s/^\\(BUILTIN_RULE_PATH\\s\\+=\\).*/\\1 'builtin_rules'/g" \
153 -e
"s/^\\(PLUGIN_RULE_PATH\\s\\+=\\).*/\\1 'so_rules'/g" \
154 -e
"s/^\\(WHITE_LIST_PATH\\s\\+=\\).*/\\1 'lists'/g" \
155 -e
"s/^\\(BLACK_LIST_PATH\\s\\+=\\).*/\\1 'lists'/g" \
156 $(1)/etc
/snort
/snort_defaults.lua
159 $(eval
$(call BuildPackage
,snort3
))