change type of rule_id, object_id, item_id from (long long) to (uuid_t)
just compile libmaatframe.so, without modifing about test case
This commit is contained in:
@@ -57,11 +57,10 @@ struct ip_matcher *ip_matcher_new(struct ip_rule *rules, size_t rule_num,
|
||||
map<long long, struct ip_rule> ipv4_rules;
|
||||
map<long long, struct ip_rule> ipv6_rules;
|
||||
for (size_t i = 0; i < rule_num; i++) {
|
||||
long long id = rules[i].rule_id;
|
||||
if(rules[i].type == IPv4)
|
||||
ipv4_rules[id] = rules[i];
|
||||
ipv4_rules[i] = rules[i];
|
||||
if(rules[i].type == IPv6 )
|
||||
ipv6_rules[id] = rules[i];
|
||||
ipv6_rules[i] = rules[i];
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD>ipv4ɨ<34><C9A8><EFBFBD><EFBFBD>
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#define H_IP_MATCHER_H
|
||||
|
||||
#include <stddef.h>
|
||||
#include <uuid/uuid.h>
|
||||
|
||||
#include "../../deps/log/log.h"
|
||||
|
||||
@@ -45,7 +46,7 @@ struct ipv6_range {
|
||||
/* common type for ip rule */
|
||||
struct ip_rule {
|
||||
enum IP_TYPE type; /* IPv4 or IPv6 */
|
||||
long long rule_id; /* rule id */
|
||||
uuid_t rule_uuid; /* rule id */
|
||||
void *user_tag; /* point to user-defined data which will return with hit results */
|
||||
union {
|
||||
struct ipv4_range ipv4_rule;
|
||||
@@ -64,7 +65,7 @@ struct ip_data {
|
||||
|
||||
/* data type for scan result */
|
||||
struct scan_result {
|
||||
long long rule_id; /* rule id */
|
||||
uuid_t rule_uuid; /* rule id */
|
||||
void *tag; /* point to the same address as user_tag in struct ip_rule which has same rule_id */
|
||||
};
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ long long CIPv4Match::initialize(const map<long long, struct ip_rule>& rules)
|
||||
{
|
||||
struct ipv4_range arule = it->second.ipv4_rule;
|
||||
m_rules[i].rule = arule;
|
||||
m_rules[i].rule_id = it->first;
|
||||
uuid_copy(m_rules[i].rule_uuid, it->second.rule_uuid);
|
||||
m_rules[i++].tag = it->second.user_tag;
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ int CIPv4Match::search_rule(const struct ip_data * data, struct scan_result * pr
|
||||
return hit_num;
|
||||
|
||||
unsigned int index = m_v[i];
|
||||
presult[hit_num].rule_id = m_rules[index].rule_id;
|
||||
uuid_copy(presult[hit_num].rule_uuid, m_rules[index].rule_uuid);
|
||||
presult[hit_num++].tag = m_rules[index].tag;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ typedef struct _ipv4_rule_t{
|
||||
|
||||
struct ipv4_range rule;
|
||||
void * tag;
|
||||
long long rule_id;
|
||||
uuid_t rule_uuid;
|
||||
}ipv4_rule_t;
|
||||
|
||||
class CIPv4Match : public CRuleMatch
|
||||
|
||||
@@ -75,7 +75,7 @@ long long CIPv6Match::initialize(const map<long long, struct ip_rule>& rules)
|
||||
for (map<long long, struct ip_rule>::const_iterator it = rules.begin(); it != rules.end(); ++it) {
|
||||
struct ipv6_range arule = it->second.ipv6_rule;;
|
||||
m_rules[i].rule = arule;
|
||||
m_rules[i].rule_id = it->first;
|
||||
uuid_copy(m_rules[i].rule_uuid, it->second.rule_uuid);
|
||||
m_rules[i++].tag = it->second.user_tag;
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ int CIPv6Match::search_rule(const struct ip_data * data, struct scan_result * pr
|
||||
if(hit_num == size)
|
||||
return hit_num;
|
||||
unsigned int index = m_v[i];
|
||||
presult[hit_num].rule_id = m_rules[index].rule_id;
|
||||
uuid_copy(presult[hit_num].rule_uuid, m_rules[index].rule_uuid);
|
||||
presult[hit_num++].tag = m_rules[index].tag;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
typedef struct _ipv6_rule_t{
|
||||
|
||||
struct ipv6_range rule;
|
||||
long long rule_id;
|
||||
uuid_t rule_uuid;
|
||||
void * tag;
|
||||
}ipv6_rule_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user