diff options
author | Luca Deri <deri@ntop.org> | 2020-12-11 17:25:43 +0100 |
---|---|---|
committer | Luca Deri <deri@ntop.org> | 2020-12-11 17:25:57 +0100 |
commit | 5cb6ddfd221bd8c761d6a54e450e8ba9e920de00 (patch) | |
tree | 4dc03a49c29ed62e3baf473f95201563cc514970 /src | |
parent | 21ad3a177527e3b5d933c141274ea79afb6cb02f (diff) |
Rule changes work in progress
Diffstat (limited to 'src')
-rw-r--r-- | src/include/ndpi_typedefs.h | 25 | ||||
-rw-r--r-- | src/lib/ndpi_main.c | 2 |
2 files changed, 24 insertions, 3 deletions
diff --git a/src/include/ndpi_typedefs.h b/src/include/ndpi_typedefs.h index 5c544aef0..20ea2c2ed 100644 --- a/src/include/ndpi_typedefs.h +++ b/src/include/ndpi_typedefs.h @@ -1571,17 +1571,38 @@ typedef enum { rule_drop } ndpi_rule_action; -typedef struct { +typedef struct _ndpi_rule { + /* Ancillary information */ u_int16_t id; char *description; + + /* Keys */ u_int8_t l4_proto; - ndpi_rule_action action; ndpi_rule_peer client, server; /* Network byte order */ u_int16_t l7_proto; + u_int8_t reverseable_rule:1 /* src <-> dst */, _not_used:7; + + /* Rule actions */ + ndpi_rule_action action; + + /* Internal use */ + struct _ndpi_rule *list_next; /* Linked list of rules */ + } ndpi_rule; +/* + Matching order + - L7 protocol + - match client/server + + */ typedef struct { u_int32_t num_rules; + ndpi_rule *root; + + ndpi_rule *l7_rules[NDPI_LAST_IMPLEMENTED_PROTOCOL], *l7_any; + + } ndpi_rules; #endif /* __NDPI_TYPEDEFS_H__ */ diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index f85538f9f..302a7fc03 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -1691,7 +1691,7 @@ u_int8_t ndpi_is_tor_flow(struct ndpi_detection_module_struct *ndpi_str, struct /* ******************************************* */ -static patricia_node_t *add_to_ptree(patricia_tree_t *tree, int family, void *addr, int bits) { +static patricia_node_t* add_to_ptree(patricia_tree_t *tree, int family, void *addr, int bits) { prefix_t prefix; patricia_node_t *node; |