From 3ad5d6d5ad2e7c80b624304411d92d93a337b946 Mon Sep 17 00:00:00 2001 From: DomySh Date: Sat, 16 Jul 2022 15:24:05 +0200 Subject: [PATCH] c++ filter done --- backend/nfqueue/nfqueue | Bin 360640 -> 360712 bytes backend/nfqueue/nfqueue.cpp | 64 ++++++++++++++++++------------------ 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/backend/nfqueue/nfqueue b/backend/nfqueue/nfqueue index c50e9289713d22bc8571311ea83f0559d78cb2b0..87b39b5dc9bc2fb6dfe3f12aabaa37b2672dde90 100755 GIT binary patch delta 75623 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 delta 75289 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�Q4$z`>^xDPPPSoQ+!oeQ=Y; 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®*OgwK`b9+E9uYd_s@r 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 NG$_%WN%KGO{{Y2alsNzZ diff --git a/backend/nfqueue/nfqueue.cpp b/backend/nfqueue/nfqueue.cpp index ab08abe..9327ed6 100644 --- a/backend/nfqueue/nfqueue.cpp +++ b/backend/nfqueue/nfqueue.cpp @@ -50,13 +50,13 @@ struct regex_rules{ regex_rule_vector* getByCode(char code){ switch(code){ case 'C': // Client to server Blacklist - return &output_blacklist; break; - case 'c': // Client to server Whitelist - return &output_whitelist; break; - case 'S': // Server to client Blacklist return &input_blacklist; break; - case 's': // Server to client Whitelist + case 'c': // Client to server Whitelist return &input_whitelist; break; + case 'S': // Server to client Blacklist + return &output_blacklist; break; + case 's': // Server to client Whitelist + return &output_whitelist; break; } throw invalid_argument( "Expected 'C' 'c' 'S' or 's'" ); } @@ -108,6 +108,7 @@ struct regex_rules{ } for (regex_rule_pair ele:(in_input?input_whitelist:output_whitelist)){ try{ + cerr << "[debug] [regex_rules.check] regex whitelist match " << ele.second.getPattern() << endl; if(!ele.second.match(str_data)){ unique_lock lck(stdout_mutex); cout << "BLOCKED " << ele.first << endl; @@ -336,33 +337,6 @@ class NetfilterQueue { }; - -bool is_sudo(){ - return getuid() == 0; -} - -void config_updater (){ - string line, data; - while (true){ - getline(cin, line); - if (cin.bad()){ - cerr << "[fatal] [upfdater] cin.bad() != 0" << endl; - exit(EXIT_FAILURE); - } - cerr << "[info] [updater] Updating configuration with line " << line << endl; - istringstream config_stream(line); - regex_rules *regex_new_config = new regex_rules(); - while(!config_stream.eof()){ - config_stream >> data; - regex_new_config->add(data.c_str()); - } - regex_config.reset(regex_new_config); - cerr << "[info] [updater] Config update done" << endl; - - } - -} - template class NFQueueSequence{ private: @@ -425,6 +399,32 @@ class NFQueueSequence{ } }; +bool is_sudo(){ + return getuid() == 0; +} + +void config_updater (){ + string line, data; + while (true){ + getline(cin, line); + if (cin.bad()){ + cerr << "[fatal] [upfdater] cin.bad() != 0" << endl; + exit(EXIT_FAILURE); + } + cerr << "[info] [updater] Updating configuration with line " << line << endl; + istringstream config_stream(line); + regex_rules *regex_new_config = new regex_rules(); + while(!config_stream.eof()){ + config_stream >> data; + regex_new_config->add(data.c_str()); + } + regex_config.reset(regex_new_config); + cerr << "[info] [updater] Config update done" << endl; + + } + +} + template bool filter_callback(const uint8_t *data, uint32_t len){ shared_ptr current_config = regex_config;