From fb737bc36f72ffd6c9695bc5244254cf8149eabb Mon Sep 17 00:00:00 2001 From: zhengchao Date: Thu, 24 Jan 2019 18:13:59 +0600 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0URL=E4=B8=8D=E8=BD=AC?= =?UTF-8?q?=E7=A0=81=E7=9A=84=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/maat_json.json | 32 +++++++++++++++++++++++++++++--- test/test_maatframe.cpp | 16 +++++++++++++++- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/test/maat_json.json b/test/maat_json.json index c53863a..d33a751 100644 --- a/test/maat_json.json +++ b/test/maat_json.json @@ -710,6 +710,31 @@ ] } ] + }, + { + "compile_id": 147, + "service": 1, + "action": 1, + "do_blacklist": 1, + "do_log": 1, + "user_region": "anything", + "is_valid": "yes", + "groups": [ + { + "regions": [ + { + "table_name": "HTTP_URL", + "table_type": "string", + "table_content": { + "keywords": "googlevideo.com/videoplayback&mn=sn-35153iuxa-5a56%2Csn-n8v7znz7", + "expr_type": "and", + "match_method": "sub", + "format": "uncase plain" + } + } + ] + } + ] } ], "plugin_table": [ @@ -732,9 +757,10 @@ { "table_name": "TEST_EFFECTIVE_RANGE_TABLE", "table_content": [ - "1\tSUCCESS\t99\t1\t{\"tag_sets\":[[{\"tag\":\"location\",\"value\":[\"北京/朝阳/华严北里\"]},{\"tag\":\"isp\",\"value\":[\"电信\",\"移动\"]}]]}", - "2\tSUCCESS\t66\t1\t0", - "3\tFAILED\t11\t1\t{\"tag_sets\":[[{\"tag\":\"location\",\"value\":[\"北京/朝阳/华严北里\",\"上海/浦东/陆家嘴\"]},{\"tag\":\"isp\",\"value\":[\"电信\",\"联通\"]}],[{\"tag\":\"location\",\"value\":[\"北京\"]},{\"tag\":\"isp\",\"value\":[\"联通\"]}]]}" + "1\tSUCCESS\t99\t1\t{\"tag_sets\":[[{\"tag\":\"location\",\"value\":[\"北京/朝阳/华严北里\"]},{\"tag\":\"isp\",\"value\":[\"电信\",\"移动\"]}]]}\t1111", + "2\tSUCCESS\t66\t1\t0\t222", + "3\tFAILED\t11\t1\t{\"tag_sets\":[[{\"tag\":\"location\",\"value\":[\"北京/朝阳/华严北里\",\"上海/浦东/陆家嘴\"]},{\"tag\":\"isp\",\"value\":[\"电信\",\"联通\"]}],[{\"tag\":\"location\",\"value\":[\"北京\"]},{\"tag\":\"isp\",\"value\":[\"联通\"]}]]}\t333", + "4\tSUCCESS\t66\t1\t{}\t444" ] } ] diff --git a/test/test_maatframe.cpp b/test/test_maatframe.cpp index cd09862..38c327f 100644 --- a/test/test_maatframe.cpp +++ b/test/test_maatframe.cpp @@ -526,6 +526,7 @@ TEST(StringScan, UTF8EncodedURL) { const char* url_utf8="www.google.com/?q=C%23%E4%B8%AD%E5%9B%BD"; const char* url_utf8_qs="googlevideo.com/qs?nh=%2CIgpwcjA0LnN2bzAzKgkxMjcuMC4wLjE"; + const char* url_utf8_long="https://r1---sn-35153iuxa-5a56.googlevideo.com/videoplayback?clen=14143675&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&initcwndbps=11060000&ipbits=0&c=WEB&lmt=1545866423716040&source=youtube&dur=995.221&requiressl=yes&txp=5511222&mime=audio%2Fwebm&gir=yes&signature=D1BAE8D85C01B7761609D5143FEC67B33EA35A3E.BDBFB0F6E657EC8D5E9D42015378B885CA87364E&key=yt6&itag=251&expire=1548352912&fvip=1&ei=MKlJXJjUMY6p7QSx2p3gDA&ms=au%2Crdu&mt=1548331263&mv=m&pl=24&ip=178.89.4.220&keepalive=yes&id=o-AMlnrhwQnnM19Tz8lVnzpUT7bbAsrbPPZBl9M1Sx2sw2&mm=31%2C29&mn=sn-35153iuxa-5a56%2Csn-n8v7znz7&alr=yes&cpn=nCaBFGicSajzXMjH&cver=2.20190119&range=266995-528469&rn=17&rbuf=16106"; int table_id=0,ret=0; struct Maat_rule_t result[4]; int found_pos[4]; @@ -535,18 +536,31 @@ TEST(StringScan, UTF8EncodedURL) table_id=Maat_table_register(g_feather,table_name); ASSERT_GT(table_id, 0); - + memset(result, 0, sizeof(result)); ret=Maat_full_scan_string(g_feather, table_id,CHARSET_GBK, url_utf8, strlen(url_utf8), result,found_pos, 4, &mid, 0); EXPECT_EQ(ret, 1); + EXPECT_EQ(result[0].config_id, 129); Maat_clean_status(&mid); + memset(result, 0, sizeof(result)); ret=Maat_full_scan_string(g_feather, table_id,CHARSET_GBK, url_utf8_qs, strlen(url_utf8_qs), result,found_pos, 4, &mid, 0); EXPECT_GT(ret, 1); + EXPECT_EQ(result[0].config_id, 142); Maat_clean_status(&mid); + + + memset(result, 0, sizeof(result)); + ret=Maat_full_scan_string(g_feather, table_id,CHARSET_GBK, url_utf8_long, strlen(url_utf8_long), + result,found_pos, 4, + &mid, 0); + EXPECT_EQ(ret, 1); + EXPECT_EQ(result[0].config_id, 147); + Maat_clean_status(&mid); + return; }