From 282438b005a5c4013a0ce4d80ea54d7fc4075b80 Mon Sep 17 00:00:00 2001 From: nik012003 Date: Sun, 26 Jun 2022 00:56:03 +0200 Subject: [PATCH] Improving tests --- backend/proxy/proxy.cpp | 39 +++++++++++++++++++++------------- backend/proxy/test | 46 ++++++++++++++++++++--------------------- tests/benchmark.py | 6 ++---- 3 files changed, 49 insertions(+), 42 deletions(-) diff --git a/backend/proxy/proxy.cpp b/backend/proxy/proxy.cpp index 682f0f7..ead51c7 100644 --- a/backend/proxy/proxy.cpp +++ b/backend/proxy/proxy.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include @@ -13,7 +14,7 @@ #include #include -//#define DEBUG +#define DEBUG using namespace std; @@ -38,18 +39,21 @@ unhexlify(InputIterator first, InputIterator last, OutputIterator ascii) { return 0; } -vector> regex_s_c_w, regex_c_s_w, regex_s_c_b, regex_c_s_b; +vector> *regex_s_c_w, *regex_c_s_w, *regex_s_c_b, *regex_c_s_b; const char* config_file; +mutex mtx; -bool filter_data(unsigned char* data, const size_t& bytes_transferred, vector> const &blacklist, vector> const &whitelist){ - #ifdef DEBUG +bool filter_data(unsigned char* data, const size_t& bytes_transferred, vector> *const blacklist, vector> *const whitelist){ + #ifdef DEBUG_PACKET cout << "---------------- Packet ----------------" << endl; for(int i=0;i ele:blacklist){ + vector> *bp = blacklist; + for (pair ele:*bp){ + cout << "TRYING" << ele.first << endl; cmatch what; try{ regex_search(reinterpret_cast(data), reinterpret_cast(data)+bytes_transferred, what, ele.second); @@ -61,7 +65,8 @@ bool filter_data(unsigned char* data, const size_t& bytes_transferred, vector ele:whitelist){ + vector> *wp = whitelist; + for (pair ele:*wp){ cmatch what; try{ regex_search(reinterpret_cast(data),reinterpret_cast(data)+bytes_transferred, what, ele.second); @@ -320,7 +325,8 @@ namespace tcp_proxy }; } -void push_regex(char* arg, bool case_sensitive, vector> &v){ +void push_regex(char* arg, bool case_sensitive, vector> *v){ + std::unique_lock lck(mtx); size_t expr_len = (strlen(arg)-2)/2; char expr[expr_len]; unhexlify(arg+2, arg+strlen(arg)-1, expr); @@ -331,13 +337,13 @@ void push_regex(char* arg, bool case_sensitive, vector> &v){ #ifdef DEBUG cout << "Added case sensitive regex " << expr_str << endl; #endif - v.push_back(make_pair(string(arg), regex)); + v->push_back(make_pair(string(arg), regex)); } else { regex regex(expr_str,regex_constants::icase); #ifdef DEBUG cout << "Added case insensitive regex " << expr_str << endl; #endif - v.push_back(make_pair(string(arg), regex)); + v->push_back(make_pair(string(arg), regex)); } } catch(...){ cerr << "Regex " << expr << " was not compiled successfully" << endl; @@ -352,11 +358,16 @@ void update_regex(){ cerr << "Error: config file couln't be opened" << endl; exit(1); } - - regex_s_c_w.clear(); - regex_c_s_w.clear(); - regex_s_c_b.clear(); - regex_c_s_b.clear(); + /* + regex_s_c_w.reset(new vector>); + regex_c_s_w.reset(new vector>); + regex_s_c_b.reset(new vector>); + regex_c_s_b.reset(new vector>); + */ + regex_s_c_w = new vector>; + regex_c_s_w = new vector>; + regex_s_c_b = new vector>; + regex_c_s_b = new vector>; string line; while(getline(fd, line)){ diff --git a/backend/proxy/test b/backend/proxy/test index 156e119..ae44af0 100644 --- a/backend/proxy/test +++ b/backend/proxy/test @@ -1,31 +1,29 @@ 1C3733353138303461313162386234323563313931613664373937666264356630 1S3733353138303461313162386234323563313931613664373937666264356630 +1S3065376433366539666631353833373263633764613966396235313538633766 +1C3638316561366437356466353765656265383933396630326262393338336438 +1S3638316561366437356466353765656265383933396630326262393338336438 +1C3739663566343265663536633261656665623338346135616464633539663930 +1S3739663566343265663536633261656665623338346135616464633539663930 +1C3733353138303461313162386234323563313931613664373937666264356630 +1S3733353138303461313162386234323563313931613664373937666264356630 1C3065376433366539666631353833373263633764613966396235313538633766 1S3065376433366539666631353833373263633764613966396235313538633766 -1C3638316561366437356466353765656265383933396630326262393338336438 -1S3638316561366437356466353765656265383933396630326262393338336438 -1C3739663566343265663536633261656665623338346135616464633539663930 -1S3739663566343265663536633261656665623338346135616464633539663930 -1C3733353138303461313162386234323563313931613664373937666264356630 -1S3733353138303461313162386234323563313931613664373937666264356630 -1C3065376433366539666631353833373263633764613966396235313538633766 -1S3065376433366539666631353833373263633764613966396235313538633766 -1C3638316561366437356466353765656265383933396630326262393338336438 -1S3638316561366437356466353765656265383933396630326262393338336438 -1C3739663566343265663536633261656665623338346135616464633539663930 -1S3739663566343265663536633261656665623338346135616464633539663930 -1C3733353138303461313162386234323563313931613664373937666264356630 -1S3733353138303461313162386234323563313931613664373937666264356630 -1C3065376433366539666631353833373263633764613966396235313538633766 -1S3065376433366539666631353833373263633764613966396235313538633766 -1C3638316561366437356466353765656265383933396630326262393338336438 -1S3638316561366437356466353765656265383933396630326262393338336438 -1C3739663566343265663536633261656665623338346135616464633539663930 -1S3739663566343265663536633261656665623338346135616464633539663930 -1C3733353138303461313162386234323563313931613664373937666264356630 -1S3733353138303461313162386234323563313931613664373937666264356630 -1C3065376433366539666631353833373263633764613966396235313538633766 -1S3065376433366539666631353833373263633764613966396235313538633766 +1C3638316561366437356466353765656265383933396630326262393338336438 +1S3638316561366437356466353765656265383933396630326262393338336438 +1C3739663566343265663536633261656665623338346135616464633539663930 +1S3739663566343265663536633261656665623338346135616464633539663930 +1C3733353138303461313162386234323563313931613664373937666264356630 +1S3733353138303461313162386234323563313931613664373937666264356630 +1C3065376433366539666631353833373263633764613966396235313538633766 +1S3065376433366539666631353833373263633764613966396235313538633766 +1C3638316561366437356466353765656265383933396630326262393338336438 +1S3638316561366437356466353765656265383933396630326262393338336438 +1C3739663566343265663536633261656665623338346135616464633539663930 +1S3739663566343265663536633261656665623338346135616464633539663930 +1C3733353138303461313162386234323563313931613664373937666264356630 +1S3733353138303461313162386234323563313931613664373937666264356630 +1C3065376433366539666631353833373263633764613966396235313538633766 1C3638316561366437356466353765656265383933396630326262393338336438 1S3638316561366437356466353765656265383933396630326262393338336438 1C3739663566343265663536633261656665623338346135616464633539663930 diff --git a/tests/benchmark.py b/tests/benchmark.py index 7f4473c..47523d4 100755 --- a/tests/benchmark.py +++ b/tests/benchmark.py @@ -33,7 +33,7 @@ parser.add_argument("--num_of_streams", "-s", type=int, required=False, help='Ou args = parser.parse_args() sep() -puts(f"Benchmarking with {args.num_of_regexes} will start on ", color=colors.cyan, end="") +puts(f"Benchmarking with {args.num_of_regexes} regexes will start on ", color=colors.cyan, end="") puts(f"{args.address}", color=colors.yellow) s = Session() @@ -77,9 +77,7 @@ def getReading(port): client.port = port client.protocol = 'tcp' client.num_streams = args.num_of_streams - run = client.run() - print(run) - return round(run.json['end']['sum_received']['bits_per_second']/8e+6 , 3) + return round(client.run().json['end']['sum_received']['bits_per_second']/8e+6 , 3) server = Process(target=startServer) server.start()