diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/stellar/enforcer.h | 11 | ||||
| -rw-r--r-- | include/stellar/exporter.h | 2 | ||||
| -rw-r--r-- | include/stellar/kv.h | 35 | ||||
| -rw-r--r-- | include/stellar/scanner.h | 18 | ||||
| -rw-r--r-- | include/stellar/security_enforcer.h | 21 |
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 |
