From 5861309ceb8474cf0cdb4d29b2e3a0e76518a9aa Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Tue, 15 Nov 2011 08:07:26 +0200 Subject: request code handling fix --- server/server/main.cpp | 94 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 86 insertions(+), 8 deletions(-) (limited to 'server') diff --git a/server/server/main.cpp b/server/server/main.cpp index 3c9c3d4..b2ad08d 100644 --- a/server/server/main.cpp +++ b/server/server/main.cpp @@ -411,7 +411,46 @@ void session::proto_parser(std::vector& data) } } break; - case 0x05: //files to del request + case 0x05: //existing files request + { + if(canceled) + { + delete this; + break; + } + logger->lock(); + *logger<< time_str() << ": recieved existing files request from "<unlock(); + if(!blacklisted) + { + logger->lock(); + *logger<< time_str() << ": existing files request from "<unlock(); + std::vector data; + data.push_back(0x13); + data.push_back(0x13); + data.push_back(0x05); + //TODO: add data here + data.push_back(0x14); + data.push_back(0x14); + write_w_response(data); + } + else + { + logger->lock(); + *logger<< time_str() << ": existing files request from "<unlock(); + std::vector data; + data.push_back(0x13); + data.push_back(0x13); + data.push_back(0x66); + data.push_back(0x14); + data.push_back(0x14); + write_w_close(data); + } + } + break; + case 0x06: //files to del request { if(canceled) { @@ -429,7 +468,7 @@ void session::proto_parser(std::vector& data) std::vector data; data.push_back(0x13); data.push_back(0x13); - data.push_back(0x05); + data.push_back(0x06); //TODO: add data here data.push_back(0x14); data.push_back(0x14); @@ -450,7 +489,7 @@ void session::proto_parser(std::vector& data) } } break; - case 0x06: //client version request + case 0x07: //client version request { if(canceled) { @@ -468,7 +507,7 @@ void session::proto_parser(std::vector& data) std::vector data; data.push_back(0x13); data.push_back(0x13); - data.push_back(0x06); + data.push_back(0x07); //TODO: add data here data.push_back(0x14); data.push_back(0x14); @@ -477,7 +516,7 @@ void session::proto_parser(std::vector& data) else { logger->lock(); - *logger<< time_str() << ": client version request from "<unlock(); std::vector data; data.push_back(0x13); @@ -489,7 +528,7 @@ void session::proto_parser(std::vector& data) } } break; - case 0x07: //client binary request + case 0x11: //client binary request { if(canceled) { @@ -507,7 +546,7 @@ void session::proto_parser(std::vector& data) std::vector data; data.push_back(0x13); data.push_back(0x13); - data.push_back(0x07); + data.push_back(0x11); //TODO: add data here data.push_back(0x14); data.push_back(0x14); @@ -516,7 +555,46 @@ void session::proto_parser(std::vector& data) else { logger->lock(); - *logger<< time_str() << ": config request from "<unlock(); + std::vector data; + data.push_back(0x13); + data.push_back(0x13); + data.push_back(0x66); + data.push_back(0x14); + data.push_back(0x14); + write_w_close(data); + } + } + break; + case 0x12: //file upload request + { + if(canceled) + { + delete this; + break; + } + logger->lock(); + *logger<< time_str() << ": recieved file upload request from "<unlock(); + if(!blacklisted) + { + logger->lock(); + *logger<< time_str() << ": file upload request from "<unlock(); + std::vector data; + data.push_back(0x13); + data.push_back(0x13); + data.push_back(0x12); + //TODO: add data here + data.push_back(0x14); + data.push_back(0x14); + write_w_response(data); + } + else + { + logger->lock(); + *logger<< time_str() << ": file upload request from "<unlock(); std::vector data; data.push_back(0x13); -- cgit v1.2.3