summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/stellar/enforcer.h11
-rw-r--r--include/stellar/exporter.h2
-rw-r--r--include/stellar/kv.h35
-rw-r--r--include/stellar/scanner.h18
-rw-r--r--include/stellar/security_enforcer.h21
5 files changed, 35 insertions, 52 deletions
diff --git a/include/stellar/enforcer.h b/include/stellar/enforcer.h
deleted file mode 100644
index 0804d2f..0000000
--- a/include/stellar/enforcer.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#pragma once
-
-struct enforcer;
-
-void enforcer_append_monitor_rule_action_on_packet(struct enforcer *enforcer, struct packet *pkt, const char *action);
-void enforcer_append_monitor_rule_action_on_session(struct enforcer *enforcer, struct session *sess, const char *action);
-
-void enforcer_append_security_rule_action_on_packet(struct enforcer *enforcer, struct packet *pkt, const char *action);
-void enforcer_append_security_rule_action_on_session(struct enforcer *enforcer, struct session *sess, const char *action);
-
-
diff --git a/include/stellar/exporter.h b/include/stellar/exporter.h
index 9232652..a24134e 100644
--- a/include/stellar/exporter.h
+++ b/include/stellar/exporter.h
@@ -30,7 +30,7 @@ struct exporter_context *exporter_aquire_transaction_context(struct exporter *ex
// add http_action_file_size/security_rule_action
// add monitor_mirrored_bytes/monitor_mirrored_packets/monitor_packet_capture_filepath
// add http transaction request/response body file path
-void exporter_context_add_kv(struct exporter_context *ctx, struct kv *kv);
+void exporter_context_add_kv(struct exporter_context *ctx, struct utable_kv *kv);
#ifdef __cplusplus
}
diff --git a/include/stellar/kv.h b/include/stellar/kv.h
deleted file mode 100644
index c950d0a..0000000
--- a/include/stellar/kv.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#pragma once
-
-#include <stddef.h>
-#include <uuid/uuid.h>
-
-enum vtype
-{
- VTYPE_INTEGER,
- VTYPE_DOUBLE,
- VTYPE_CSTRING,
- VTYPE_UUID,
-};
-
-struct kv
-{
- char *key;
- size_t key_sz;
- enum vtype type;
- union
- {
- long long value_longlong;
- double value_double;
- struct
- {
- char *str;
- size_t sz;
- }value_str;
- uuid_t value_uuid;
- struct
- {
- struct kv **elements;
- size_t n_element;
- }value_list;
- };
-};
diff --git a/include/stellar/scanner.h b/include/stellar/scanner.h
index fdabaa4..6bb150b 100644
--- a/include/stellar/scanner.h
+++ b/include/stellar/scanner.h
@@ -8,11 +8,19 @@ extern "C"
#include "maat.h"
#include <stddef.h>
-#include <stellar/kv.h>
-#include <stellar/module.h>
-#include <stellar/session.h>
+#include "utable/utable.h"
+#include "stellar/module.h"
+#include "stellar/session.h"
+#include "stellar/packet.h"
#define SCANNER_MODULE_NAME "scanner_module"
+
+#define PACKET_BASED_SCANNER_NODE "packet_based_scanner_node"
+void packet_based_scanner_node_entry(struct packet *pkt, struct module *mod);
+
+#define SESSION_BASED_SCANNER_NODE "session_based_scanner_node"
+void session_based_scanner_node_entry(struct packet *pkt, struct module *mod);
+
struct scanner;
struct scanner *scanner_module_to_scanner(struct module *mod);
@@ -48,8 +56,8 @@ enum ATTRIBUTE_KV_INDEX
ATTRIBUTE_KV_MAX
};
-const struct kv *scanner_get_attribute_on_session(struct scanner *scanner, struct session *sess, enum ATTRIBUTE_KV_INDEX index);
-const struct kv *scanner_get_attribute_on_packet(struct scanner *scanner, struct packet *pkt, enum ATTRIBUTE_KV_INDEX index);
+const struct utable_kv *scanner_get_attribute_on_session(struct scanner *scanner, struct session *sess, enum ATTRIBUTE_KV_INDEX index);
+const struct utable_kv *scanner_get_attribute_on_packet(struct scanner *scanner, struct packet *pkt, enum ATTRIBUTE_KV_INDEX index);
#ifdef __cplusplus
diff --git a/include/stellar/security_enforcer.h b/include/stellar/security_enforcer.h
new file mode 100644
index 0000000..aff00b2
--- /dev/null
+++ b/include/stellar/security_enforcer.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#include "stellar/module.h"
+#include "stellar/packet.h"
+
+#define SECUIRTY_ENFORCER_MODULE_NAME "security_enforcer_module"
+
+#define PACKET_BASED_SECURITY_ENFORCER_NODE "packet_based_security_enforcer_node"
+void packet_based_security_enforcer_node_entry(struct packet *pkt, struct module *mod);
+
+#define SESSION_BASED_SECURITY_ENFORCER_NODE "session_based_security_enforcer_node"
+void session_based_security_enforcer_node_entry(struct packet *pkt, struct module *mod);
+
+#ifdef __cplusplus
+}
+#endif \ No newline at end of file