diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2012-03-20 23:31:25 +0200 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2012-03-20 23:31:25 +0200 |
commit | cd7e6b14fae54b023076f1338952a4a100a99648 (patch) | |
tree | 44d29c1c6d9cb78aab2265a2a611a4a3984bffd2 /server | |
parent | 05712da90682fed84e2ecf7e3037d8aed29ecf83 (diff) |
write log only in debug mode
Diffstat (limited to 'server')
-rwxr-xr-x | server/server/config.cpp | 36 | ||||
-rwxr-xr-x | server/server/main.cpp | 324 |
2 files changed, 243 insertions, 117 deletions
diff --git a/server/server/config.cpp b/server/server/config.cpp index 4d9f960..ac0f95e 100755 --- a/server/server/config.cpp +++ b/server/server/config.cpp @@ -155,12 +155,14 @@ void config::load_servers_list(char* pth) } else config.open(pth, std::fstream::in); + if(!config.is_open()) + return; + if(!servers_list.empty()) + servers_list.clear(); std::string cfg_str((std::istreambuf_iterator<char>(config)), std::istreambuf_iterator<char>()); config.close(); if(!cfg_str.empty()) { - if(!servers_list.empty()) - servers_list.clear(); std::string::size_type p1 = 0, p2 = 0, l = 1; if(cfg_str.find("\r\n") != std::string::npos) l = 2; @@ -196,12 +198,14 @@ void config::load_upload_list(char *pth) } else config.open(pth, std::fstream::in); + if(!config.is_open()) + return; + if(!upload_list.empty()) + upload_list.clear(); std::string cfg_str((std::istreambuf_iterator<char>(config)), std::istreambuf_iterator<char>()); config.close(); if(!cfg_str.empty()) { - if(!upload_list.empty()) - upload_list.clear(); std::string::size_type p1 = 0, p2 = 0, l = 1; if(cfg_str.find("\r\n") != std::string::npos) l = 2; @@ -258,12 +262,14 @@ void config::load_proxy_list(char *pth) } else config.open(pth, std::fstream::in); + if(!config.is_open()) + return; + if(!proxy_list.empty()) + proxy_list.clear(); std::string cfg_str((std::istreambuf_iterator<char>(config)), std::istreambuf_iterator<char>()); config.close(); if(!cfg_str.empty()) { - if(!proxy_list.empty()) - proxy_list.clear(); std::string::size_type p1 = 0, p2 = 0, l = 1; if(cfg_str.rfind("\r\n") != std::string::npos) l = 2; @@ -343,12 +349,14 @@ void config::load_static_proxy_list(char *pth) } else config.open(pth, std::fstream::in); + if(!config.is_open()) + return; + if(!static_proxy_list.empty()) + static_proxy_list.clear(); std::string cfg_str((std::istreambuf_iterator<char>(config)), std::istreambuf_iterator<char>()); config.close(); if(!cfg_str.empty()) { - if(!static_proxy_list.empty()) - static_proxy_list.clear(); std::string::size_type p1 = 0, p2 = 0, l = 1; if(cfg_str.rfind("\r\n") != std::string::npos) l = 2; @@ -422,12 +430,14 @@ void config::load_firewall_list(char* pth) } else config.open(pth, std::fstream::in); + if(!config.is_open()) + return; + if(!firewall_list.empty()) + firewall_list.clear(); std::string cfg_str((std::istreambuf_iterator<char>(config)), std::istreambuf_iterator<char>()); config.close(); if(!cfg_str.empty()) { - if(!firewall_list.empty()) - firewall_list.clear(); std::string::size_type p1 = 0, p2 = 0, l = 1; // if(cfg_str.find("\r\n") != std::string::npos) // l = 2; @@ -455,12 +465,14 @@ void config::load_deleted_list(char* pth) } else config.open(pth, std::fstream::in); + if(!config.is_open()) + return; + if(!deleted_list.empty()) + deleted_list.clear(); std::string cfg_str((std::istreambuf_iterator<char>(config)), std::istreambuf_iterator<char>()); config.close(); if(!cfg_str.empty()) { - if(!deleted_list.empty()) - deleted_list.clear(); std::string::size_type p1 = 0, p2 = 0, l = 1; if(cfg_str.find("\r\n") != std::string::npos) l = 2; diff --git a/server/server/main.cpp b/server/server/main.cpp index 2fc1b18..4ac3c83 100755 --- a/server/server/main.cpp +++ b/server/server/main.cpp @@ -44,9 +44,12 @@ session::~session() killer->interrupt(); delete killer; } - logger->lock(); - *logger << time_str() << ": Connection with ip "<< remote_ip << " session " << this_sid << " closed\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger << time_str() << ": Connection with ip "<< remote_ip << " session " << this_sid << " closed\n"; + logger->unlock(); + } critical_mutex.unlock(); } @@ -59,9 +62,12 @@ void session::start() { remote_ip = socket_.lowest_layer().remote_endpoint().address().to_string(); killer = new boost::thread(boost::bind(session::cancel_thread, this, cfg->conn_time())); - logger->lock(); - *logger << time_str() << ": New incomming connection from "<< remote_ip << " session " << this_sid << "\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger << time_str() << ": New incomming connection from "<< remote_ip << " session " << this_sid << "\n"; + logger->unlock(); + } std::list<std::string>* blacklist = server_->get_blacklist(); std::list<conn_count>* list = server_->get_connections_list(); if(!blacklist->empty()) @@ -71,9 +77,12 @@ void session::start() { if(*i == remote_ip) { - logger->lock(); - *logger << time_str() << ": session " << this_sid << " ip " << remote_ip << " is in blacklist\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger << time_str() << ": session " << this_sid << " ip " << remote_ip << " is in blacklist\n"; + logger->unlock(); + } blacklisted = true; break; } @@ -172,14 +181,20 @@ void session::proto_parser(std::vector<byte>& data) delete this; break; } - logger->lock(); - *logger<< time_str() << ": recieved config request from "<<remote_ip << " session " << this_sid <<"\n"; - logger->unlock(); - if(!blacklisted) + if(cfg->debug()) { logger->lock(); - *logger<< time_str() << ": config request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + *logger<< time_str() << ": recieved config request from "<<remote_ip << " session " << this_sid <<"\n"; logger->unlock(); + } + if(!blacklisted) + { + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": config request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -287,9 +302,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": config request from "<<remote_ip << " session " << this_sid <<" are denied \n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": config request from "<<remote_ip << " session " << this_sid <<" are denied \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -307,14 +325,20 @@ void session::proto_parser(std::vector<byte>& data) delete this; break; } - logger->lock(); - *logger<< time_str() << ": recieved proxy list request from "<<remote_ip << " session " << this_sid <<"\n"; - logger->unlock(); - if(!blacklisted) + if(cfg->debug()) { logger->lock(); - *logger<< time_str() << ": proxy list request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + *logger<< time_str() << ": recieved proxy list request from "<<remote_ip << " session " << this_sid <<"\n"; logger->unlock(); + } + if(!blacklisted) + { + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": proxy list request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -413,9 +437,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": proxy list request from "<<remote_ip << " session " << this_sid <<" are denied \n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": proxy list request from "<<remote_ip << " session " << this_sid <<" are denied \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -433,14 +460,20 @@ void session::proto_parser(std::vector<byte>& data) delete this; break; } - logger->lock(); - *logger<< time_str() << ": recieved static proxy list request from "<<remote_ip << " session " << this_sid <<"\n"; - logger->unlock(); - if(!blacklisted) + if(cfg->debug()) { logger->lock(); - *logger<< time_str() << ": static proxy list request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + *logger<< time_str() << ": recieved static proxy list request from "<<remote_ip << " session " << this_sid <<"\n"; logger->unlock(); + } + if(!blacklisted) + { + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": static proxy list request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -531,9 +564,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": static proxy list request from "<<remote_ip << " session " << this_sid <<" are denied \n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": static proxy list request from "<<remote_ip << " session " << this_sid <<" are denied \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -551,14 +587,20 @@ void session::proto_parser(std::vector<byte>& data) delete this; break; } - logger->lock(); - *logger<< time_str() << ": recieved firewall list request from "<<remote_ip << " session " << this_sid <<"\n"; - logger->unlock(); - if(!blacklisted) + if(cfg->debug()) { logger->lock(); - *logger<< time_str() << ": firewall list request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + *logger<< time_str() << ": recieved firewall list request from "<<remote_ip << " session " << this_sid <<"\n"; logger->unlock(); + } + if(!blacklisted) + { + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": firewall list request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -576,9 +618,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": firewall list request from "<<remote_ip << " session " << this_sid <<" are denied \n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": firewall list request from "<<remote_ip << " session " << this_sid <<" are denied \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -596,14 +641,20 @@ void session::proto_parser(std::vector<byte>& data) delete this; break; } - logger->lock(); - *logger<< time_str() << ": recieved existing files request from "<<remote_ip << " session " << this_sid <<"\n"; - logger->unlock(); - if(!blacklisted) + if(cfg->debug()) { logger->lock(); - *logger<< time_str() << ": existing files request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + *logger<< time_str() << ": recieved existing files request from "<<remote_ip << " session " << this_sid <<"\n"; logger->unlock(); + } + if(!blacklisted) + { + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": existing files request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -633,9 +684,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": existing files request from "<<remote_ip << " session " << this_sid <<" are denied \n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": existing files request from "<<remote_ip << " session " << this_sid <<" are denied \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -653,14 +707,20 @@ void session::proto_parser(std::vector<byte>& data) delete this; break; } - logger->lock(); - *logger<< time_str() << ": recieved files to del request from "<<remote_ip << " session " << this_sid <<"\n"; - logger->unlock(); - if(!blacklisted) + if(cfg->debug()) { logger->lock(); - *logger<< time_str() << ": files to del request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + *logger<< time_str() << ": recieved files to del request from "<<remote_ip << " session " << this_sid <<"\n"; logger->unlock(); + } + if(!blacklisted) + { + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": files to del request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -678,9 +738,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": files to del request from "<<remote_ip << " session " << this_sid <<" are denied \n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": files to del request from "<<remote_ip << " session " << this_sid <<" are denied \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -698,14 +761,20 @@ void session::proto_parser(std::vector<byte>& data) delete this; break; } - logger->lock(); - *logger<< time_str() << ": recieved client version request from "<<remote_ip << " session " << this_sid <<"\n"; - logger->unlock(); - if(!blacklisted) + if(cfg->debug()) { logger->lock(); - *logger<< time_str() << ": client version request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + *logger<< time_str() << ": recieved client version request from "<<remote_ip << " session " << this_sid <<"\n"; logger->unlock(); + } + if(!blacklisted) + { + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": client version request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -717,9 +786,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": client version from "<<remote_ip << " session " << this_sid <<" are denied \n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": client version from "<<remote_ip << " session " << this_sid <<" are denied \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -737,14 +809,20 @@ void session::proto_parser(std::vector<byte>& data) delete this; break; } - logger->lock(); - *logger<< time_str() << ": recieved client binary request from "<<remote_ip << " session " << this_sid <<"\n"; - logger->unlock(); - if(!blacklisted) + if(cfg->debug()) { logger->lock(); - *logger<< time_str() << ": client binary request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + *logger<< time_str() << ": recieved client binary request from "<<remote_ip << " session " << this_sid <<"\n"; logger->unlock(); + } + if(!blacklisted) + { + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": client binary request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + logger->unlock(); + } std::ifstream file; std::string source = boost::filesystem::initial_path().string(); source += "/client.exe"; @@ -773,9 +851,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": failed to open file "<<source<<" , request from "<<remote_ip<< " session " << this_sid << "\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": failed to open file "<<source<<" , request from "<<remote_ip<< " session " << this_sid << "\n"; + logger->unlock(); + } break; } @@ -789,9 +870,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": client binary request from "<<remote_ip << " session " << this_sid <<" are denied \n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": client binary request from "<<remote_ip << " session " << this_sid <<" are denied \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -809,14 +893,20 @@ void session::proto_parser(std::vector<byte>& data) delete this; break; } - logger->lock(); - *logger<< time_str() << ": recieved file upload request from "<<remote_ip << " session " << this_sid <<"\n"; - logger->unlock(); - if(!blacklisted) + if(cfg->debug()) { logger->lock(); - *logger<< time_str() << ": file upload request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + *logger<< time_str() << ": recieved file upload request from "<<remote_ip << " session " << this_sid <<"\n"; logger->unlock(); + } + if(!blacklisted) + { + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": file upload request from "<<remote_ip<< " session " << this_sid << " are permited \n"; + logger->unlock(); + } it++; std::string filename; for(;;++it) @@ -832,9 +922,12 @@ void session::proto_parser(std::vector<byte>& data) std::list<config::upload_entry>::iterator uit = std::find(cfg->get_upload_list()->begin(), cfg->get_upload_list()->end(), config::s_i(filename, 1)); if(uit == cfg->get_upload_list()->end()) { - logger->lock(); - *logger<< time_str() << ": file "<<filename << " not found in server upload_list, request from"<< remote_ip << " session " << this_sid <<"\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": file "<<filename << " not found in server upload_list, request from"<< remote_ip << " session " << this_sid <<"\n"; + logger->unlock(); + } break; } std::ifstream file; @@ -863,9 +956,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": failed to open file "<<uit->source<<" , request from "<<remote_ip<< " session " << this_sid << "\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": failed to open file "<<uit->source<<" , request from "<<remote_ip<< " session " << this_sid << "\n"; + logger->unlock(); + } break; } @@ -879,9 +975,12 @@ void session::proto_parser(std::vector<byte>& data) } else { - logger->lock(); - *logger<< time_str() << ": file upload request from "<<remote_ip << " session " << this_sid <<" are denied \n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger<< time_str() << ": file upload request from "<<remote_ip << " session " << this_sid <<" are denied \n"; + logger->unlock(); + } std::vector<byte> data; data.push_back(0x13); data.push_back(0x13); @@ -985,9 +1084,12 @@ void session::handle_read(const boost::system::error_code& error, size_t bytes_t } catch (std::exception& e) { - logger->lock(); - *logger << time_str() << ": read handler exception: " << e.what() << "\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger << time_str() << ": read handler exception: " << e.what() << "\n"; + logger->unlock(); + } } } //server @@ -1001,20 +1103,29 @@ server::server(boost::asio::io_service& io_service, unsigned short port) : io_se tmp_path = b_path; tmp_path.append("/ca.crt"); context_.load_verify_file(tmp_path, err); - logger->lock(); - *logger << time_str()<<": Openning verify cert: " << tmp_path << " " << err.message()<<"\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger << time_str()<<": Openning verify cert: " << tmp_path << " " << err.message()<<"\n"; + logger->unlock(); + } tmp_path = b_path; tmp_path.append("/server.crt"); context_.use_certificate_file(tmp_path, boost::asio::ssl::context::pem, err); - logger->lock(); - *logger << time_str()<<": Openning server cert file: " << tmp_path << " " << err.message()<<"\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger << time_str()<<": Openning server cert file: " << tmp_path << " " << err.message()<<"\n"; + logger->unlock(); + } tmp_path.replace(tmp_path.length() - 3, 3, "key"); context_.use_private_key_file(tmp_path, boost::asio::ssl::context::pem, err); - logger->lock(); - *logger << time_str()<<": Openning server key file: " << tmp_path << " " << err.message()<<"\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger << time_str()<<": Openning server key file: " << tmp_path << " " << err.message()<<"\n"; + logger->unlock(); + } flood_chek = new boost::thread(boost::bind(flood_check_thread, &conns, &blacklist)); blacklist_clean = new boost::thread(boost::bind(blacklist_clean_thread, &blacklist)); @@ -1239,9 +1350,12 @@ int main(int argc, char* argv[]) } catch (std::exception& e) { - logger->lock(); - *logger << time_str() << ": main thread exception: " << e.what() << " (this is bad)\n"; - logger->unlock(); + if(cfg->debug()) + { + logger->lock(); + *logger << time_str() << ": main thread exception: " << e.what() << " (this is bad)\n"; + logger->unlock(); + } } boost::this_thread::sleep(boost::posix_time::seconds(2)); } |