diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/server/main.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/server/server/main.cpp b/server/server/main.cpp index abe7ba8..5bf3253 100644 --- a/server/server/main.cpp +++ b/server/server/main.cpp @@ -622,7 +622,12 @@ void session::proto_parser(std::vector<byte>& data) } std::list<upload_entry>::iterator uit = std::find(cfg->get_upload_list()->begin(), cfg->get_upload_list()->end(), 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(); break; + } std::ifstream file; file.open(uit->source.c_str()); if(file.is_open()) @@ -643,10 +648,20 @@ void session::proto_parser(std::vector<byte>& data) data.push_back(0x14); data.push_back(0x14); //write_wo_response(data); + for(int i = 0; i < data.size(); ++i) + *logger<<(char)data[i]; + *logger<<"\n"; socket_.write_some(boost::asio::buffer(data));//this may not work } file.close(); } + else + { + logger->lock(); + *logger<< time_str() << ": failed to open file "<<uit->source<<" , request from "<<remote_ip<< " session " << this_sid << "\n"; + logger->unlock(); + break; + } std::vector<byte> data; data.push_back(0x13); @@ -655,6 +670,9 @@ void session::proto_parser(std::vector<byte>& data) data.push_back(0x14); data.push_back(0x14); write_w_response(data); + for(int i = 0; i < data.size(); ++i) + *logger<<(char)data[i]; + *logger<<"\n"; } else { |