aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorEric Fahlgren <ericfahlgren@gmail.com>2024-02-07 15:09:37 -0800
committerTianling Shen <cnsztl@gmail.com>2024-02-14 12:53:28 +0800
commitdb58c9cd814267e403aa1aadb2e7ca973b25c2a6 (patch)
tree844b56024ae32660f0ffad781db2668228dabd2d /net
parentaec476691327417dd1b5576fad1600ae53b03697 (diff)
snort3: clean up ucode usage
- Add missing 'ucode' package dependency - Proto-ify the ConfigItem objects - Fix indentation and tab usage Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Diffstat (limited to 'net')
-rw-r--r--net/snort3/Makefile5
-rw-r--r--net/snort3/files/main.uc76
2 files changed, 42 insertions, 39 deletions
diff --git a/net/snort3/Makefile b/net/snort3/Makefile
index 87500abfe..4886fd5d3 100644
--- a/net/snort3/Makefile
+++ b/net/snort3/Makefile
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=snort3
PKG_VERSION:=3.1.78.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/
@@ -25,7 +25,8 @@ define Package/snort3
SUBMENU:=Firewall
SECTION:=net
CATEGORY:=Network
- DEPENDS:=+libstdcpp +libdaq3 +libdnet +libopenssl +libpcap +libpcre +libpthread +libuuid +zlib +libhwloc +libtirpc @HAS_LUAJIT_ARCH +luajit +libatomic +kmod-nft-queue +liblzma
+ DEPENDS:=+libstdcpp +libdaq3 +libdnet +libopenssl +libpcap +libpcre +libpthread +libuuid +zlib +libhwloc +libtirpc @HAS_LUAJIT_ARCH +luajit +libatomic +kmod-nft-queue +liblzma \
+ +ucode +ucode-mod-fs +ucode-mod-uci
TITLE:=Lightweight Network Intrusion Detection System
URL:=http://www.snort.org/
MENU:=1
diff --git a/net/snort3/files/main.uc b/net/snort3/files/main.uc
index 4f2a63ca8..8e33f9e5d 100644
--- a/net/snort3/files/main.uc
+++ b/net/snort3/files/main.uc
@@ -30,15 +30,46 @@ function wrn(fmt, ...args) {
function rpad(str, fill, len)
{
- str = rtrim(str) + ' ';
- while (length(str) < len) {
- str += fill;
- }
- return str;
+ str = rtrim(str) + ' ';
+ while (length(str) < len) {
+ str += fill;
+ }
+ return str;
}
//------------------------------------------------------------------------------
+const ConfigItem = {
+ contains: function(value) {
+ // Check if the value is contained in the listed values,
+ // depending on the item type.
+ switch (this.type) {
+ case "enum":
+ return value in this.values;
+ case "range":
+ return value >= this.values[0] && value <= this.values[1];
+ default:
+ return true;
+ }
+ },
+
+ allowed: function() {
+ // Show a pretty version of the possible values, for error messages.
+ switch (this.type) {
+ case "enum":
+ return "one of [" + join(", ", this.values) + "]";
+ case "range":
+ return `${this.values[0]} <= x <= ${this.values[1]}`;
+ case "path":
+ return "a path string";
+ case "str":
+ return "a string";
+ default:
+ return "???";
+ }
+ },
+};
+
function config_item(type, values, def) {
// If no default value is provided explicity, then values[0] is used as default.
if (! type in [ "enum", "range", "path", "str" ]) {
@@ -49,42 +80,13 @@ function config_item(type, values, def) {
wrn(`A 'range' type item must have exactly 2 values in ascending order.`);
return;
}
- // Maybe check paths for existence???
+ // Maybe check 'path' values for existence???
- return {
+ return proto({
type: type,
values: values,
default: def ?? values[0],
-
- contains: function(value) {
- // Check if the value is contained in the listed values,
- // depending on the item type.
- switch (this.type) {
- case "enum":
- return value in this.values;
- case "range":
- return value >= this.values[0] && value <= this.values[1];
- default:
- return true;
- }
- },
-
- allowed: function() {
- // Show a pretty version of the possible values, for error messages.
- switch (this.type) {
- case "enum":
- return "one of [" + join(", ", this.values) + "]";
- case "range":
- return `${this.values[0]} <= x <= ${this.values[1]}`;
- case "path":
- return "a path string";
- case "str":
- return "a string";
- default:
- return "???";
- }
- },
- }
+ }, ConfigItem);
};
const snort_config = {