aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2020-12-11 17:25:43 +0100
committerLuca Deri <deri@ntop.org>2020-12-11 17:25:57 +0100
commit5cb6ddfd221bd8c761d6a54e450e8ba9e920de00 (patch)
tree4dc03a49c29ed62e3baf473f95201563cc514970 /src
parent21ad3a177527e3b5d933c141274ea79afb6cb02f (diff)
Rule changes work in progress
Diffstat (limited to 'src')
-rw-r--r--src/include/ndpi_typedefs.h25
-rw-r--r--src/lib/ndpi_main.c2
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;