Commit Graph

549 Commits

Author SHA1 Message Date
zhengchao
a44e14f82d 删除IP Plugin表项时,未能及时更新ip_matcher,也未能正确同步uthash和ip_matcher的状态,导致ip_matcher返回了已被删除的ex_data。解决方案:
- 在IP Plugin的table runtime中增加垃圾回收队列,延迟删除EX_data,并延后ip_matcher在扫描线程的生效时机。
- 在scanner中增加ip_plugin_update_q_size,在IP Plugin的table runtime中增加changed_flag,以判断ip_matcher是否需要更新
2020-08-19 22:57:37 +08:00
zhengchao
5931b445ff 增加对group_num为0的编译配置的处理。 v3.0.3 2020-07-31 19:30:16 +08:00
zhengchao
9eac53c0ab 扫描ip_plugin表时,未对ip_matcher判空,导致ip_matcher报错写日志。 2020-07-27 20:55:27 +08:00
zhengchao
608a50535c 修复从redis中加载ip_plugin表时,未能正确读取有效标志位的bug。 2020-07-27 20:53:48 +08:00
zhengchao
dc1fced511 销毁region时未在assert中考虑未使用region的情况,即expr_id_cnt==0。 v3.0.2 2020-07-08 19:38:57 +08:00
zhengchao
121cfea4fc fix #23 Maat_plugin_exdata的回调使用以'\0'结尾的key。 2020-07-07 17:57:11 +08:00
zhengchao
2962c6c90a 修复删除region时,笔误导致错误计算rulescan expr_id的bug,该bug导致rulescan_update失败的assert。 2020-07-06 19:46:55 +08:00
zhengchao
41b3628b53 region_rule_inner中增加magic_num,以诊断region配置删除时可能发生的野指针访问;同时hierarchy增加对region_id查找的判空,以避免在一个region扫描命中后,hierarchy中该region又被删除,产生的空指针访问。 2020-07-06 16:46:41 +08:00
zhengchao
639feb17b0 为提高命中大量region时的性能,扫描中间状态使用utarray替代数组存储clause_id。 2020-07-03 19:45:16 +08:00
zhengchao
aef9f80891 Maat_hierarchy总是返回可用的compile_rule,以同步修复master分支中的bug:在对编译配置排序时,如果其已被删除,compile_sort_para_set会访问空指针,导致段错误。 v3.0.1 2020-07-02 20:59:59 +08:00
zhengchao
61efaef045 Maat_hierarchy在删除group时,不同时删除igraph中的vertex,避免vertex id发生变化,导致段错误 2020-07-02 18:37:51 +08:00
zhengchao
895baa489d EX_data功能使用uthash替代MESA Htable,实现哈希表的动态伸缩。 v3.0.0 2020-06-28 22:19:27 +08:00
zhengchao
207f99714e EX_data系列函数使用uthash替代MESA_htable,实现哈希表的动态伸缩。 2020-06-28 22:10:33 +08:00
zhengchao
f112c16d2c 修改v3版本的性能测试用例。 2020-06-22 20:27:29 +08:00
zhengchao
58ff7ddc16 打磨性能测试用例。 2020-06-22 20:27:29 +08:00
zhengchao
73d27d983c redis内部key改为unsigned long,适配性能测试用例。 2020-06-22 20:26:44 +08:00
zhengchao
af27d7197c Maat command支持批量提交 2020-06-22 20:26:44 +08:00
zhengchao
2dbbd55c95 version3单元测试通过。 2020-06-22 20:26:44 +08:00
zhengchao
df19a8ce71 通过原有功能的单元测试。 2020-06-22 20:26:43 +08:00
zhengchao
469539ab5a 基础扫描功能的测试用例通过。 2020-06-22 20:26:43 +08:00
zhengchao
2c80ba4c0a 代码适配Maat command、maat json。 2020-06-22 20:26:43 +08:00
zhengchao
7e1cb56d4f 完成Maat_hierarchy规则加载重构的代码编写,未编译。 2020-06-22 20:26:42 +08:00
zhengchao
c083777f3b 准备放弃sqlite,改用multimap。sqlite必须集中提交以获得高性能,这将不利于Maat进行异常处理。同时考察了以下key value stores:
* LevelDB和RocksDB太重了
* Berkeley DB也有点重,而且免费版使用类似AGPL的高传染性License,收费版一个Processor就要1000-13000美元。它提供的bdbfirewallexample很有意思,以后可能有机会使用。
* LMDB轻量、快速,Mark下,以后有机会使用。
2020-06-22 20:26:42 +08:00
zhengchao
6b3dd3d0b6 准备用sqlite3替代MESA_htable进行Maat hierarchy构建。 2020-06-22 20:26:42 +08:00
zhengchao
2a10f85aa0 抽象垃圾回收模块,新增Maat_garbage_collection.cpp/h 2020-06-22 20:26:42 +08:00
zhengchao
8a89dcfdae 尝试分离hierarchy的中间版本 2020-06-22 20:26:41 +08:00
zhengchao
a69ab5c609 使用glibc中的remove函数替代rm命令;清理无用代码,垃圾回收方式删除外键文件功能,在不支持MAAT_OPT_FOREIGN_CONT_LINGER选项后已不使用。 2020-06-22 20:26:41 +08:00
zhengchao
1179e9c76a 在编译配置级别支持合取范式,编译配置最多8个子句(Clause)组成,子句内的分组是“或”运算,子句之间是“与”运算。 2020-06-22 20:26:41 +08:00
zhengchao
48881faafe 头文件中keyword和district为'\0'多保留1个字节。 2020-06-22 20:26:40 +08:00
zhengchao
9c34ce3a9c 修复读取epxr配置时,关键字长度超过1024字节后导致内存越界 TSG-1893 2020-06-22 20:26:40 +08:00
郑超
4cb3f13b14 Merge branch 'bugfix-ip-plugin-htable-size-ineffective' into 'master'
修正设置IP Plugin时,未正确设置estimate size的bug,默认值4K,在加载大量配置时会发生严重哈希冲突。

See merge request MESA_framework/maat!46
v2.9.3
2020-06-22 20:23:54 +08:00
zhengchao
14078e971c 修正设置IP Plugin时,未正确设置estimate size的bug,默认值4K,在加载大量配置时会发生严重哈希冲突。 2020-06-22 20:22:20 +08:00
zhengchao
2cfdbc5127 修改v3版本的性能测试用例。 2020-06-22 20:15:08 +08:00
zhengchao
8983bfc9ad 打磨性能测试用例。 2020-06-19 20:49:54 +08:00
zhengchao
e214fc5afc redis内部key改为unsigned long,适配性能测试用例。 2020-06-18 21:59:44 +08:00
zhengchao
7044456f83 Maat command支持批量提交 2020-06-17 19:59:55 +08:00
zhengchao
15253f9966 version3单元测试通过。 2020-06-16 22:19:02 +08:00
zhengchao
adf5cd8af8 通过原有功能的单元测试。 2020-06-16 21:31:26 +08:00
zhengchao
81a827d162 基础扫描功能的测试用例通过。 2020-06-14 20:52:14 +08:00
zhengchao
d67aa1b8b2 代码适配Maat command、maat json。 2020-06-13 21:05:42 +08:00
郑超
7519c63d66 Merge branch 'bugfix-foreign-content-missed' into 'master'
读取外键文件时,循环下标设置错误。

See merge request MESA_framework/maat!45
v2.9.2
2020-06-11 18:23:14 +08:00
zhengchao
34e495a1b9 读取外键文件时,循环下标设置错误。 2020-06-11 18:20:06 +08:00
zhengchao
f6973954be 读取外键文件时,循环下标设置错误。 2020-06-11 18:12:22 +08:00
zhengchao
10df3b503f 完成Maat_hierarchy规则加载重构的代码编写,未编译。 2020-06-11 18:03:32 +08:00
zhengchao
da7fde5620 准备放弃sqlite,改用multimap。sqlite必须集中提交以获得高性能,这将不利于Maat进行异常处理。同时考察了以下key value stores:
* LevelDB和RocksDB太重了
* Berkeley DB也有点重,而且免费版使用类似AGPL的高传染性License,收费版一个Processor就要1000-13000美元。它提供的bdbfirewallexample很有意思,以后可能有机会使用。
* LMDB轻量、快速,Mark下,以后有机会使用。
2020-06-07 11:23:08 +08:00
zhengchao
e09b31e8f9 准备用sqlite3替代MESA_htable进行Maat hierarchy构建。 2020-06-06 18:13:33 +08:00
zhengchao
0cf4b2bb24 抽象垃圾回收模块,新增Maat_garbage_collection.cpp/h 2020-06-05 11:44:54 +08:00
zhengchao
65af4bfd13 尝试分离hierarchy的中间版本 2020-06-05 11:44:54 +08:00
zhengchao
cad9604695 使用glibc中的remove函数替代rm命令;清理无用代码,垃圾回收方式删除外键文件功能,在不支持MAAT_OPT_FOREIGN_CONT_LINGER选项后已不使用。 2020-06-05 11:44:54 +08:00
zhengchao
54504a9d77 在编译配置级别支持合取范式,编译配置最多8个子句(Clause)组成,子句内的分组是“或”运算,子句之间是“与”运算。 2020-06-05 11:44:54 +08:00