zhengchao
|
c4c1ade152
|
变更table runtime垃圾回收机制的单元测试通过。
|
2021-08-05 10:08:21 +08:00 |
|
zhengchao
|
c7e9b29309
|
IP Plugin和FQDN Plugin内部实现垃圾回收,不再由外部调用。
|
2021-08-05 00:39:32 +08:00 |
|
zhengchao
|
e356d74bc0
|
重构table runtime工作量较大,准备放弃。
|
2021-08-05 00:22:00 +08:00 |
|
zhengchao
|
7e3b746eaa
|
未对FQDN Plugin表的changed_flag进行重置,产生不必要的FQDN Engine重建
|
2021-08-04 23:18:02 +08:00 |
|
zhengchao
|
96abe1d9f4
|
Maat_hierarchy_build_region2clause_hash中,不在对group中的region id排序和去重, 可以提高大Group的加载性能。
v3.4.4
|
2021-07-27 15:17:29 +08:00 |
|
zhengchao
|
dc057b2562
|
减少增量更新时hier重建的写锁临界区,减少扫描线程的所冲突。 修复 TSG-7211
|
2021-07-27 11:54:24 +08:00 |
|
zhengchao
|
479eb77369
|
基于Maat_cmd的测试用例增加扫描状态输出。
v3.4.2
|
2021-07-21 15:30:30 +08:00 |
|
zhengchao
|
0037646ef6
|
因使用MAAT_SET_SCAN_NO_COUNT后,在Group移除region id时会出现误命中,移除对MAAT_SET_SCAN_NO_COUNT的支持。 回调表使用feather中的垃圾回收队列,便于观察队列长度。
|
2021-07-21 14:48:08 +08:00 |
|
zhengchao
|
72ffbd9809
|
修复bug:上一版本引入,region更新不能反映到compile命中;
改善Maat_hierarchy_compile_mid_udpate的处理性能。
v3.4.1
|
2021-07-20 20:55:52 +08:00 |
|
zhengchao
|
524edff8be
|
优化hit_path增加性能
v3.2.4
|
2021-07-19 20:55:13 +08:00 |
|
zhengchao
|
53beb2f221
|
compile_mid使用ut_arrary替代tailq存储hit_path。
|
2021-07-19 20:55:13 +08:00 |
|
zhengchao
|
0ef61c7e0b
|
更新性能测试用例: 验证多线程、高命中情况下的扫描性能。
|
2021-07-19 20:55:13 +08:00 |
|
zhengchao
|
1e2e3a1798
|
改进Hierarchy的多线程扫描性能: Hierarchy使用rwlock来保证更新线程和扫描线程间的线程安全, 测试发现在不发生读写锁冲突的情况下, 读写锁的固有开销会导致并发扫描速度降低。
reference:
https://stackoverflow.com/questions/11866486/how-many-simultaneous-readers-can-a-pthread-rwlock-have
|
2021-07-19 20:55:12 +08:00 |
|
zhengchao
|
ebd07cc5a7
|
增加性能测试用例: 高命中率、多线程扫描。
|
2021-07-19 20:55:12 +08:00 |
|
zhengchao
|
e21db4ddf7
|
去掉不必要的memset,避免性损失。
|
2021-07-19 20:55:12 +08:00 |
|
zhengchao
|
233bc2f0ef
|
Maat_set_scan_status可以设置MAAT_SET_SCAN_NO_COUNT类型参数, 指示下一次扫描不进行计数,以减少hit path的存储开销。
|
2021-07-19 20:55:12 +08:00 |
|
zhengchao
|
99e8ffb510
|
修改scan status重的测试用例,覆盖更多分支。
|
2021-07-19 20:55:11 +08:00 |
|
zhengchao
|
15562f1c57
|
提高expr_plus和interval_plus表的扫描性能,去掉match_district函数,用region_wraper向region_compile函数传入有效的region。 修复 TSG-7055
|
2021-07-19 20:55:11 +08:00 |
|
zhengchao
|
856b79ba6c
|
增加IP Plugin多线程性能测试规则文件
|
2021-07-19 20:55:07 +08:00 |
|
zhengchao
|
0b6e982fdc
|
增加IP Plugin的性能测试用例。
|
2021-07-19 20:55:06 +08:00 |
|
郑超
|
6d5a42fb4a
|
提高expr_plus和interval_plus表的扫描性能
v3.2.3
3.2.3
|
2021-07-15 03:59:09 +00:00 |
|
zhengchao
|
502a6e3420
|
更新IP Matcher:不再使用全局的结果缓存数组m_v,改为栈内变量,以修复多线程扫描时的线程不安全访问。
修复 TSG-6825 TSG-6524
v3.2.2
|
2021-07-01 14:42:14 +08:00 |
|
zhengchao
|
1c08363dc4
|
bool Matcher对输入的item id(clause id)排序和去重,会改变外部ut_array内容,可能造成风险, 去除bool matcher 中的这部分代码。
|
2021-07-01 14:42:14 +08:00 |
|
zhengchao
|
00f782b0cf
|
修复配置数量为0时,流式扫描句柄计数错误。
|
2021-06-18 15:11:52 +08:00 |
|
郑超
|
8bf48ba1f3
|
Feature faster bool matcher on reptead item
v3.2.1
|
2021-06-15 01:32:46 +00:00 |
|
zhengchao
|
fe73ef1156
|
Hierarchy中,使用垃圾回收方式释放compile,避免bool_matcher命中已删除的compile后,从而非法内存访问导致段错误。 修复 TSG-6548
v3.1.24
|
2021-06-01 21:40:20 +08:00 |
|
zhengchao
|
7980d87924
|
bool matcher中引用了已经被释放的compile,导致段错误。 TSG-6548
|
2021-06-01 21:19:41 +08:00 |
|
zhengchao
|
6b9162272d
|
修复bug: Bool matcher重建时,maat hierarchy会重新生成clause id,会引发两种bug现象:
1. 新生成的clause id,与扫描状态mid中缓存的clause id冲突,导致误命中。引发 TSG-6419
2. mid中已缓存了clause id,但是由于构造的bool macher使用新的clause id,导致漏命中。
修复方案:
1. 将生成clause id的哈希表保存在hierarchy中, 保证增量更新前后clause id不变化;
2. 在mid中增加时间戳作为版本号,旧版本的mid不进行bool matcher运算,以免误命中。
3.1.22
|
2021-05-27 20:44:21 +08:00 |
|
zhengchao
|
df4fad9e8b
|
增加测试用例: 使用同一个mid扫描时, 更新boolmatcher。
|
2021-05-24 23:11:54 +08:00 |
|
zhengchao
|
a58baa274f
|
为刘梦岩2021-5-15提出的IPv6误命中bug,增加单元测试用例。该问题已在rulescan_VERSION_2020_12_20、MAAT_FRAME_VERSION_3_1_21_20210513重现。
|
2021-05-17 20:07:51 +08:00 |
|
zhengchao
|
85daf06a79
|
TSG-6345 redis断开期间redis内的数据发生变化,且版本号未发生回滚,导致maat无法加载新配置。 修复方法: 重连redis后,触发全量配置更新。
v3.1.20
|
2021-05-13 17:51:23 +08:00 |
|
zhengchao
|
f2fac87894
|
修复bug: TSG-6324 在流式扫描过程中,发生版本号回滚导致的全量更新后,Maat_stream_scan_string_end释放rulescan流式扫描句柄时,会非法访问已被销毁的rulescan句柄内存,从而导致段错误。
|
2021-05-13 16:11:37 +08:00 |
|
zhengchao
|
1460f891c6
|
支持加载使用gzip命令压缩的maat JSON文件。允许先压缩、后加密,不支持先加密后压缩。
|
2021-04-28 21:44:04 +08:00 |
|
zhengchao
|
c5239762fe
|
增加测试用例:正则规则中不包含字符串
|
2021-04-28 12:07:12 +08:00 |
|
zhengchao
|
c1355dd3e5
|
为了便于单元测试,支持设置垃圾回收时间,默认10秒。
|
2021-04-28 12:06:34 +08:00 |
|
zhengchao
|
66c294feae
|
确认bug修复:组合扫描命中域配置或编译配置时,进行全量更新,会导致的hierarchy导致的死锁。 更新版本号为 v3.1.19
v3.1.19
|
2021-04-20 15:04:02 +08:00 |
|
zhengchao
|
154a4e592d
|
增加测试用例:在扫描过程中进行全量更新。
|
2021-04-20 14:58:14 +08:00 |
|
zhengchao
|
cd5f2c7c26
|
Maat Hierarchy中的compile mid结构体保留了Hier的指针,可能指向已被释放的hier,导致扫描线程死锁。
|
2021-04-20 12:47:05 +08:00 |
|
zhengchao
|
ac4b39e6f5
|
Maat_hierarchy_region_compile按照用户传入的结果数量申请缓存,当bool mactcher返回的结果中包含之前命中过的compile时, 可能导致bool matcher未返回全部的命中结果。
v3.1.18
|
2021-04-19 10:27:12 +08:00 |
|
zhengchao
|
0f6eccbb47
|
增加hierarachy中为每个线程分配expr_buff,以修复使用用户设置的缓冲区大小,导致不命中的bug。
|
2021-04-19 10:27:11 +08:00 |
|
zhengchao
|
e3b3288dc1
|
集成支持expr_id的bool matcher
|
2021-04-19 10:27:11 +08:00 |
|
liuxueli
|
0eff6faae6
|
使用流式扫描接口,命中多个不同策略时导致死循环
|
2021-04-18 21:10:27 +08:00 |
|
刘学利
|
912749b1cd
|
Fix memory leak by update uncare table
v3.1.17
|
2021-04-01 02:28:12 +00:00 |
|
郑超
|
f82454a310
|
修复bug:ip_plugin和fqdn_plugin的扫描线程可能访问到无效的EX_data_container,导致#26; plugin的扫描线程和更新线程发生线程不安全访问EX_data_rt中的uthash。
v3.1.16
|
2021-03-20 08:09:52 +00:00 |
|
liuxueli
|
1d8f35ca50
|
未对for中释放内存的变量置NULL,当redis-server不可用时,freeReplyObject释放内存时出错
v3.1.15
|
2021-03-17 16:00:36 +08:00 |
|
liuxueli
|
673eeb9413
|
校验子句的序号值,避免越界重启
v3.1.14
|
2021-03-15 11:25:59 +08:00 |
|
liuxueli
|
dc6d324b52
|
生效范围支持对\b、\\、\&字符转义
v3.1.13
|
2021-03-11 09:36:07 +08:00 |
|
zhengchao
|
80576aafbc
|
扫描expr_plus表时,避免对rulescan result的不必要的拷贝。
|
2021-03-09 13:44:43 +08:00 |
|
zhengchao
|
af64b86de8
|
增加版本号
v3.1.12
|
2021-03-08 20:04:12 +08:00 |
|
zhengchao
|
460831ea23
|
处理expr_plus中的district时,使用了memmove,当命中region较多时,显著影响性能。 #25
|
2021-03-08 18:59:51 +08:00 |
|