zhengchao
|
258ece3fa1
|
从redis读取到无对应table的rule时,写日志。
|
2022-06-30 14:39:22 +08:00 |
|
zhengchao
|
432337da6d
|
新创建的clause,在加入哈希表时,使用了compile中的literal_ids指针,导致内存非法读。修复 TSG-9741 TSG-10495
|
2022-04-29 20:37:01 +08:00 |
|
zhengchao
|
af4cdebe2c
|
修复bug: IP Plugin和FQDN Plugin更新时, 先释放了哈希表索引的ex data, 后进行匹配引擎重建,导致匹配线程从旧的匹配引擎中访问到已释放的结构体,造成Segmentation fault TSG-10486
|
2022-04-28 11:32:14 +08:00 |
|
zhengchao
|
d814b4e9eb
|
修复bug:ex_data释放时,使用错误的hash表删除索引。 This fix is related to TSG-10486
|
2022-04-27 14:25:15 +08:00 |
|
zhengchao
|
fd88b6a266
|
EX_data_rt_row2EX_data返回-1时,ip_rule和fqdn_rule内存未释放,导致内存泄漏 TSG-10475。
|
2022-04-26 16:34:54 +08:00 |
|
zhengchao
|
742512e10f
|
修复由于笔误将Maat_hierarchy_clause_fetch中的局部变量的定义为静态变量的错误。 多个maat实例同时重建布尔表达式运算器时,该错误会导致线程不安全访问静态变量,但不应导致 TSG-9741 。
|
2022-04-23 18:17:28 +08:00 |
|
zhengchao
|
a4fcb73f8a
|
在ex data更新时,操作哈希时笔误,导致断错误。
|
2022-03-04 13:01:28 +05:00 |
|
zhengchao
|
a184be53de
|
ex data更新可能耗时10秒以上,超过全局垃圾回收时间,导致非法内存访问。因此, 每个表的ex data使用独立的垃圾回收队列,每次更新完毕时强制回收。
|
2022-03-03 15:39:39 +05:00 |
|
zhengchao
|
7e1f3eb3d6
|
删除无用的成员。
|
2022-01-22 11:36:58 +05:00 |
|
zhengchao
|
732a944ff4
|
EX_data中的hash表使用RCU更新,替代读写锁,提高多线程下的访问性能。
|
2022-01-21 22:31:13 +05:00 |
|
zhengchao
|
dd86ba5fc1
|
JSON文件中不包含有效配置时,避免段错误。 TSG-9349
|
2022-01-13 12:06:09 +05:00 |
|
zhengchao
|
d2db95e528
|
Maat_rule_get_ex_data读取compile rule的exdata时,对scanner判空,避免无配置时发生段错误。 修复 TSG-9349
|
2022-01-12 10:43:46 +05:00 |
|
zhengchao
|
65712be21c
|
未正确统计0号线程的outer_mid和inner_mid计数
|
2021-10-24 17:23:08 +03:00 |
|
zhengchao
|
ab22b32a25
|
Use new method to stat rule number of plugin, ip_plugin and fqdn_plugin table.
|
2021-10-24 15:16:43 +03:00 |
|
zhengchao
|
6e50978258
|
maat stat输出plugin(含EX data)、fqdn_plugin、IP_plugin中有效规则的数量。调整outer scan_status的计数方式。
|
2021-10-24 12:04:11 +03:00 |
|
zhengchao
|
aee1da170e
|
修复expr表无配置时,maat_stat文件输出的stream计数出现负数的bug。
|
2021-10-24 09:23:56 +03:00 |
|
zhengchao
|
d954c5a011
|
expr_plus和interval_plus表的district对英文大小写不敏感。
|
2021-10-20 00:02:43 +03:00 |
|
zhengchao
|
342c3c36b3
|
将rulescan.h的编码由GBK转为utf8
|
2021-10-12 11:52:45 +03:00 |
|
zhengchao
|
51b26e3a54
|
修复expr_plus和expr混合扫描时,expr漏命中的问题。
|
2021-10-12 09:55:53 +03:00 |
|
zhengchao
|
2eb2a4aca9
|
修复bug:对于已命中编译配置的mid,扫描expr_plus或interval_plus表,命中表达式/区间,但没命中district时,会错误的返回之前已命中的编译配置。
|
2021-10-11 19:16:17 +03:00 |
|
zhengchao
|
593bcfb907
|
修复 TSG-7994 ,避免处理未知district时出现误命中。
|
2021-10-11 12:00:26 +03:00 |
|
liuxueli
|
c84fb97aae
|
如果扫描无规则数值类型的table时直接返回,导致未进行非表达式的运算。
|
2021-08-20 14:44:09 +08:00 |
|
zhengchao
|
d86d220f33
|
Rebase. 适配支持Prometheus输出的Field Stat2
|
2021-08-19 22:10:36 +08:00 |
|
zhengchao
|
465ad3ca6a
|
如果扫描无规则table时直接返回,导致未进行非表达式的运算。
|
2021-08-19 21:47:38 +08:00 |
|
liuxueli
|
97ea56eb86
|
TSG-7066: 支持--prefix参数安装,支持查看changelog
TSG-7390: 支持输出扫描状态到prometheus
|
2021-08-14 16:22:10 +08:00 |
|
zhengchao
|
50934de91d
|
Plugin表更新后,不需要进行Hierarchy的重建。
|
2021-08-05 13:51:17 +08:00 |
|
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的加载性能。
|
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的测试用例增加扫描状态输出。
|
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的处理性能。
|
2021-07-20 20:55:52 +08:00 |
|
zhengchao
|
524edff8be
|
优化hit_path增加性能
|
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
|
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
|
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 |
|
郑超
|
6d5a42fb4a
|
提高expr_plus和interval_plus表的扫描性能
|
2021-07-15 03:59:09 +00: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
|
2021-06-15 01:32:46 +00:00 |
|
zhengchao
|
fe73ef1156
|
Hierarchy中,使用垃圾回收方式释放compile,避免bool_matcher命中已删除的compile后,从而非法内存访问导致段错误。 修复 TSG-6548
|
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运算,以免误命中。
|
2021-05-27 20:44:21 +08:00 |
|
zhengchao
|
df4fad9e8b
|
增加测试用例: 使用同一个mid扫描时, 更新boolmatcher。
|
2021-05-24 23:11:54 +08:00 |
|
zhengchao
|
85daf06a79
|
TSG-6345 redis断开期间redis内的数据发生变化,且版本号未发生回滚,导致maat无法加载新配置。 修复方法: 重连redis后,触发全量配置更新。
|
2021-05-13 17:51:23 +08:00 |
|