summaryrefslogtreecommitdiff
path: root/test/maat_framework_gtest.cpp
diff options
context:
space:
mode:
authorliuwentan <[email protected]>2024-03-20 10:08:39 +0800
committerliuwentan <[email protected]>2024-03-20 10:08:39 +0800
commitdd5d65ec80154b29ad6e522d6cc66120e1f0db89 (patch)
tree6a52c50496d4714c43ee0d5d44b0a9ddc012dd9d /test/maat_framework_gtest.cpp
parentd2422fe7e161218d80fdc999e9a9a09d5aace6b4 (diff)
[PATCH]update colm & ragel version
Diffstat (limited to 'test/maat_framework_gtest.cpp')
-rw-r--r--test/maat_framework_gtest.cpp52
1 files changed, 50 insertions, 2 deletions
diff --git a/test/maat_framework_gtest.cpp b/test/maat_framework_gtest.cpp
index 2b4d518..56603c4 100644
--- a/test/maat_framework_gtest.cpp
+++ b/test/maat_framework_gtest.cpp
@@ -869,13 +869,13 @@ TEST_F(MaatHsStringScan, Regex) {
long long results[ARRAY_SIZE] = {0};
size_t n_hit_result = 0;
int thread_id = 0;
- const char *cookie = "Cookie: Txa123aheadBCAxd";
+ const char *scan_data = "Cookie: Txa123aheadBCAxd";
const char *table_name = "HTTP_URL";
struct maat *maat_inst = MaatHsStringScan::_shared_maat_inst;
struct maat_state *state = maat_state_new(maat_inst, thread_id);
int table_id = maat_get_table_id(maat_inst, table_name);
- ret = maat_scan_string(maat_inst, table_id, cookie, strlen(cookie),
+ ret = maat_scan_string(maat_inst, table_id, scan_data, strlen(scan_data),
results, ARRAY_SIZE, &n_hit_result, state);
EXPECT_EQ(ret, MAAT_SCAN_HIT);
EXPECT_EQ(results[0], 148);
@@ -888,6 +888,30 @@ TEST_F(MaatHsStringScan, Regex) {
state = NULL;
}
+TEST_F(MaatHsStringScan, RegexUnicode) {
+ int ret = 0;
+ long long results[ARRAY_SIZE] = {0};
+ size_t n_hit_result = 0;
+ int thread_id = 0;
+ const char *scan_data = "String contains É";
+ const char *table_name = "HTTP_URL";
+ struct maat *maat_inst = MaatHsStringScan::_shared_maat_inst;
+ struct maat_state *state = maat_state_new(maat_inst, thread_id);
+
+ int table_id = maat_get_table_id(maat_inst, table_name);
+ ret = maat_scan_string(maat_inst, table_id, scan_data, strlen(scan_data),
+ results, ARRAY_SIZE, &n_hit_result, state);
+ EXPECT_EQ(ret, MAAT_SCAN_HIT);
+ EXPECT_EQ(results[0], 229);
+
+ ret = maat_scan_not_logic(maat_inst, table_id, results, ARRAY_SIZE,
+ &n_hit_result, state);
+ EXPECT_EQ(ret, MAAT_SCAN_OK);
+
+ maat_state_free(state);
+ state = NULL;
+}
+
TEST_F(MaatHsStringScan, BackslashR_N_Escape) {
int ret = 0;
long long results[ARRAY_SIZE] = {0};
@@ -1778,6 +1802,30 @@ TEST_F(MaatRsStringScan, Regex) {
state = NULL;
}
+TEST_F(MaatRsStringScan, RegexUnicode) {
+ int ret = 0;
+ long long results[ARRAY_SIZE] = {0};
+ size_t n_hit_result = 0;
+ int thread_id = 0;
+ const char *scan_data = "String contains É";
+ const char *table_name = "HTTP_URL";
+ struct maat *maat_inst = MaatRsStringScan::_shared_maat_inst;
+ struct maat_state *state = maat_state_new(maat_inst, thread_id);
+
+ int table_id = maat_get_table_id(maat_inst, table_name);
+ ret = maat_scan_string(maat_inst, table_id, scan_data, strlen(scan_data),
+ results, ARRAY_SIZE, &n_hit_result, state);
+ EXPECT_EQ(ret, MAAT_SCAN_HIT);
+ EXPECT_EQ(results[0], 229);
+
+ ret = maat_scan_not_logic(maat_inst, table_id, results, ARRAY_SIZE,
+ &n_hit_result, state);
+ EXPECT_EQ(ret, MAAT_SCAN_OK);
+
+ maat_state_free(state);
+ state = NULL;
+}
+
TEST_F(MaatRsStringScan, BackslashR_N_Escape) {
int ret = 0;
long long results[ARRAY_SIZE] = {0};