Loading src/PlainSession.cpp +9 −7 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ PlainSession::~PlainSession() DEBUG_STREAM << "PlainSession::~PlainSession()" << endl; INFO_STREAM << "PlainSession::~PlainSession() Disconnection from " << remoteEndpoint << endl; << m_remoteEndpoint << endl; boost::system::error_code errorCode; Loading Loading @@ -65,11 +65,13 @@ void PlainSession::start() { DEBUG_STREAM << "PlainSession::start()" << endl; remoteEndpoint = boost::lexical_cast<std::string>( m_remoteEndpoint = boost::lexical_cast<std::string>( m_plainSocket.remote_endpoint()); INFO_STREAM << "PlainSession::start() Connection from " << remoteEndpoint << endl; << m_remoteEndpoint << endl; m_protocolManager_sp->setRemoteEndpoint(m_remoteEndpoint); startReadRequestHeader(); } Loading Loading @@ -102,7 +104,7 @@ void PlainSession::startReadRequestBody(boost::uint32_t bodySize) #ifdef VERBOSE_DEBUG INFO_STREAM << "PlainSession::startReadRequestBody() " << remoteEndpoint << " >>>> " << bodySize << " BYTE" << endl; << m_remoteEndpoint << " >>>> " << bodySize << " BYTE" << endl; #endif boost::asio::async_read(m_plainSocket, mutableBuffer, Loading Loading @@ -136,7 +138,7 @@ void PlainSession::startWriteResponse() #ifdef VERBOSE_DEBUG INFO_STREAM << "PlainSession::startWriteResponse() " << remoteEndpoint << " <<<< " << bodySize << " byte" << endl; << m_remoteEndpoint << " <<<< " << bodySize << " byte" << endl; #endif boost::asio::async_write(m_plainSocket, boost::asio::buffer(writeBuff), Loading @@ -146,12 +148,12 @@ void PlainSession::startWriteResponse() catch(std::runtime_error& ec) { ERROR_STREAM << "SSLSession::startWriteResponse() " << ec.what() << " from " << remoteEndpoint << endl; << ec.what() << " from " << m_remoteEndpoint << endl; } catch(...) { ERROR_STREAM << "SSLSession::startWriteResponse() unknown error from " << remoteEndpoint << endl; << m_remoteEndpoint << endl; } } Loading src/ProtocolManager.cpp +18 −5 Original line number Diff line number Diff line Loading @@ -37,6 +37,16 @@ ProtocolManager::SP ProtocolManager::create(Tango::DeviceImpl* deviceImpl_p, return d_sp; } //============================================================================== // ProtocolManager::ProtocolManager() //============================================================================== void ProtocolManager::setRemoteEndpoint(std::string remoteEndpoint) { DEBUG_STREAM << "ProtocolManager::setRemoteEndpoint()" << endl; m_remoteEndpoint = remoteEndpoint; } //============================================================================== // ProtocolManager::prepareResponse() //============================================================================== Loading Loading @@ -97,7 +107,7 @@ ResponseSP ProtocolManager::prepareAuthroisation(RequestSP request_sp) if(m_configuration_sp->isUserAuthorized(username, password)) { INFO_STREAM << "ProtocolManager::prepareAuthroisation() " << "Authorization accepted" << endl; << "Authorization accepted from " << m_remoteEndpoint << endl; m_isAuthorised = true; Loading @@ -107,7 +117,7 @@ ResponseSP ProtocolManager::prepareAuthroisation(RequestSP request_sp) else { WARN_STREAM << "ProtocolManager::prepareAuthroisation() " << "Invalid username or password" << endl; << "Invalid username or password from " << m_remoteEndpoint << endl; m_isAuthorised = false; Loading @@ -118,7 +128,7 @@ ResponseSP ProtocolManager::prepareAuthroisation(RequestSP request_sp) else { WARN_STREAM << "ProtocolManager::prepareAuthroisation() " << "Already authorized" << endl; << "Already authorized from " << m_remoteEndpoint << endl; auth_resp->set_state(Response::Authorization::REJECTED); auth_resp->set_status("Already authorized"); Loading Loading @@ -167,6 +177,9 @@ ResponseSP ProtocolManager::prepareValidation(RequestSP request_sp) for(it=columns.begin(); it!=columns.end(); ++it) validateColumn(*it, informationList); INFO_STREAM << "ProtocolManager::prepareValidation() " << "Validation accepted from " << m_remoteEndpoint << endl; m_isValidated = true; validationRes->set_state(Response::Validation::ACCEPTED); Loading @@ -181,7 +194,7 @@ ResponseSP ProtocolManager::prepareValidation(RequestSP request_sp) else { WARN_STREAM << "ProtocolManager::prepareValidation() " << "Already validated" << endl; << "Already validated from " << m_remoteEndpoint << endl; validationRes->set_state(Response::Validation::REJECTED); validationRes->set_status("Already validated"); Loading @@ -190,7 +203,7 @@ ResponseSP ProtocolManager::prepareValidation(RequestSP request_sp) else { WARN_STREAM << "ProtocolManager::prepareValidation() " << "Not authorised" << endl; << "Not authorised from " << m_remoteEndpoint << endl; validationRes->set_state(Response::Validation::REJECTED); validationRes->set_status("Not authorised"); Loading src/ProtocolManager.h +8 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,11 @@ public: static ProtocolManager::SP create(Tango::DeviceImpl*, Configuration::SP, DBManager::SP); //------------------------------------------------------------------------------ // [Public] Remote endpoint setter method //------------------------------------------------------------------------------ void setRemoteEndpoint(std::string); //------------------------------------------------------------------------------ // [Public] Request response management method //------------------------------------------------------------------------------ Loading Loading @@ -87,6 +92,9 @@ protected: //Table structure is validated bool m_isValidated; //Address and port of remote endpoint std::string m_remoteEndpoint; }; } //End of namespace Loading src/SSLServer.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -29,9 +29,9 @@ SSLServer::SSLServer(Tango::DeviceImpl* deviceImpl_p, std::string privateKey = m_configuration_sp->getPrivateKeyFile(); std::string dHTempFile = m_configuration_sp->getDHTempFile(); INFO_STREAM << "CERTIFICATE FILE: " << certificateFile << endl; INFO_STREAM << "PRIVATE KEY FILE: " << privateKey << endl; INFO_STREAM << "DH TEMPORARY FILE: " << dHTempFile << endl; INFO_STREAM << "SSLServer::SSLServer() Certificate " << certificateFile << endl; INFO_STREAM << "SSLServer::SSLServer() Private key " << privateKey << endl; INFO_STREAM << "SSLServer::SSLServer() DH Temporary " << dHTempFile << endl; //@todo: check error_code use in load file methods m_context_sp->use_certificate_chain_file(certificateFile); Loading src/SSLSession.cpp +11 −8 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ SSLSession::~SSLSession() DEBUG_STREAM << "SSLSession::~SSLSession()" << endl; INFO_STREAM << "SSLSession::~SSLSession() Disconnection from " << remoteEndpoint << endl; << m_remoteEndpoint << endl; boost::system::error_code errorCode; Loading Loading @@ -70,10 +70,13 @@ void SSLSession::start() { DEBUG_STREAM << "SSLSession::start()" << endl; remoteEndpoint = boost::lexical_cast<std::string>( m_remoteEndpoint = boost::lexical_cast<std::string>( m_sslSocket.lowest_layer().remote_endpoint()); INFO_STREAM << "SSLSession::start() Connection from " << remoteEndpoint << endl; INFO_STREAM << "SSLSession::start() Connection from " << m_remoteEndpoint << endl; m_protocolManager_sp->setRemoteEndpoint(m_remoteEndpoint); startHandShake(); } Loading Loading @@ -104,7 +107,7 @@ void SSLSession::handleHandShake(const boost::system::error_code& errorCode) else { ERROR_STREAM << "SSLSession::handleHandShake() error " << errorCode.message() << " from " << remoteEndpoint << endl; << errorCode.message() << " from " << m_remoteEndpoint << endl; } } Loading Loading @@ -136,7 +139,7 @@ void SSLSession::startReadRequestBody(boost::uint32_t bodySize) #ifdef VERBOSE_DEBUG INFO_STREAM << "SSLSession::startReadRequestBody() " << remoteEndpoint << " >>>> " << bodySize << " byte" << endl; << m_remoteEndpoint << " >>>> " << bodySize << " byte" << endl; #endif boost::asio::async_read(m_sslSocket, mutableBuffer, Loading Loading @@ -171,7 +174,7 @@ void SSLSession::startWriteResponse() #ifdef VERBOSE_DEBUG INFO_STREAM << "SSLSession::startWriteResponse() " << remoteEndpoint << " <<<< " << bodySize << " byte" << endl; << m_remoteEndpoint << " <<<< " << bodySize << " byte" << endl; #endif boost::asio::async_write(m_sslSocket, boost::asio::buffer(writeBuff), Loading @@ -181,12 +184,12 @@ void SSLSession::startWriteResponse() catch(std::runtime_error& ec) { ERROR_STREAM << "SSLSession::startWriteResponse() " << ec.what() << " from " << remoteEndpoint << endl; << ec.what() << " from " << m_remoteEndpoint << endl; } catch(...) { ERROR_STREAM << "SSLSession::startWriteResponse() unknown error from " << remoteEndpoint << endl; << m_remoteEndpoint << endl; } } Loading Loading
src/PlainSession.cpp +9 −7 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ PlainSession::~PlainSession() DEBUG_STREAM << "PlainSession::~PlainSession()" << endl; INFO_STREAM << "PlainSession::~PlainSession() Disconnection from " << remoteEndpoint << endl; << m_remoteEndpoint << endl; boost::system::error_code errorCode; Loading Loading @@ -65,11 +65,13 @@ void PlainSession::start() { DEBUG_STREAM << "PlainSession::start()" << endl; remoteEndpoint = boost::lexical_cast<std::string>( m_remoteEndpoint = boost::lexical_cast<std::string>( m_plainSocket.remote_endpoint()); INFO_STREAM << "PlainSession::start() Connection from " << remoteEndpoint << endl; << m_remoteEndpoint << endl; m_protocolManager_sp->setRemoteEndpoint(m_remoteEndpoint); startReadRequestHeader(); } Loading Loading @@ -102,7 +104,7 @@ void PlainSession::startReadRequestBody(boost::uint32_t bodySize) #ifdef VERBOSE_DEBUG INFO_STREAM << "PlainSession::startReadRequestBody() " << remoteEndpoint << " >>>> " << bodySize << " BYTE" << endl; << m_remoteEndpoint << " >>>> " << bodySize << " BYTE" << endl; #endif boost::asio::async_read(m_plainSocket, mutableBuffer, Loading Loading @@ -136,7 +138,7 @@ void PlainSession::startWriteResponse() #ifdef VERBOSE_DEBUG INFO_STREAM << "PlainSession::startWriteResponse() " << remoteEndpoint << " <<<< " << bodySize << " byte" << endl; << m_remoteEndpoint << " <<<< " << bodySize << " byte" << endl; #endif boost::asio::async_write(m_plainSocket, boost::asio::buffer(writeBuff), Loading @@ -146,12 +148,12 @@ void PlainSession::startWriteResponse() catch(std::runtime_error& ec) { ERROR_STREAM << "SSLSession::startWriteResponse() " << ec.what() << " from " << remoteEndpoint << endl; << ec.what() << " from " << m_remoteEndpoint << endl; } catch(...) { ERROR_STREAM << "SSLSession::startWriteResponse() unknown error from " << remoteEndpoint << endl; << m_remoteEndpoint << endl; } } Loading
src/ProtocolManager.cpp +18 −5 Original line number Diff line number Diff line Loading @@ -37,6 +37,16 @@ ProtocolManager::SP ProtocolManager::create(Tango::DeviceImpl* deviceImpl_p, return d_sp; } //============================================================================== // ProtocolManager::ProtocolManager() //============================================================================== void ProtocolManager::setRemoteEndpoint(std::string remoteEndpoint) { DEBUG_STREAM << "ProtocolManager::setRemoteEndpoint()" << endl; m_remoteEndpoint = remoteEndpoint; } //============================================================================== // ProtocolManager::prepareResponse() //============================================================================== Loading Loading @@ -97,7 +107,7 @@ ResponseSP ProtocolManager::prepareAuthroisation(RequestSP request_sp) if(m_configuration_sp->isUserAuthorized(username, password)) { INFO_STREAM << "ProtocolManager::prepareAuthroisation() " << "Authorization accepted" << endl; << "Authorization accepted from " << m_remoteEndpoint << endl; m_isAuthorised = true; Loading @@ -107,7 +117,7 @@ ResponseSP ProtocolManager::prepareAuthroisation(RequestSP request_sp) else { WARN_STREAM << "ProtocolManager::prepareAuthroisation() " << "Invalid username or password" << endl; << "Invalid username or password from " << m_remoteEndpoint << endl; m_isAuthorised = false; Loading @@ -118,7 +128,7 @@ ResponseSP ProtocolManager::prepareAuthroisation(RequestSP request_sp) else { WARN_STREAM << "ProtocolManager::prepareAuthroisation() " << "Already authorized" << endl; << "Already authorized from " << m_remoteEndpoint << endl; auth_resp->set_state(Response::Authorization::REJECTED); auth_resp->set_status("Already authorized"); Loading Loading @@ -167,6 +177,9 @@ ResponseSP ProtocolManager::prepareValidation(RequestSP request_sp) for(it=columns.begin(); it!=columns.end(); ++it) validateColumn(*it, informationList); INFO_STREAM << "ProtocolManager::prepareValidation() " << "Validation accepted from " << m_remoteEndpoint << endl; m_isValidated = true; validationRes->set_state(Response::Validation::ACCEPTED); Loading @@ -181,7 +194,7 @@ ResponseSP ProtocolManager::prepareValidation(RequestSP request_sp) else { WARN_STREAM << "ProtocolManager::prepareValidation() " << "Already validated" << endl; << "Already validated from " << m_remoteEndpoint << endl; validationRes->set_state(Response::Validation::REJECTED); validationRes->set_status("Already validated"); Loading @@ -190,7 +203,7 @@ ResponseSP ProtocolManager::prepareValidation(RequestSP request_sp) else { WARN_STREAM << "ProtocolManager::prepareValidation() " << "Not authorised" << endl; << "Not authorised from " << m_remoteEndpoint << endl; validationRes->set_state(Response::Validation::REJECTED); validationRes->set_status("Not authorised"); Loading
src/ProtocolManager.h +8 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,11 @@ public: static ProtocolManager::SP create(Tango::DeviceImpl*, Configuration::SP, DBManager::SP); //------------------------------------------------------------------------------ // [Public] Remote endpoint setter method //------------------------------------------------------------------------------ void setRemoteEndpoint(std::string); //------------------------------------------------------------------------------ // [Public] Request response management method //------------------------------------------------------------------------------ Loading Loading @@ -87,6 +92,9 @@ protected: //Table structure is validated bool m_isValidated; //Address and port of remote endpoint std::string m_remoteEndpoint; }; } //End of namespace Loading
src/SSLServer.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -29,9 +29,9 @@ SSLServer::SSLServer(Tango::DeviceImpl* deviceImpl_p, std::string privateKey = m_configuration_sp->getPrivateKeyFile(); std::string dHTempFile = m_configuration_sp->getDHTempFile(); INFO_STREAM << "CERTIFICATE FILE: " << certificateFile << endl; INFO_STREAM << "PRIVATE KEY FILE: " << privateKey << endl; INFO_STREAM << "DH TEMPORARY FILE: " << dHTempFile << endl; INFO_STREAM << "SSLServer::SSLServer() Certificate " << certificateFile << endl; INFO_STREAM << "SSLServer::SSLServer() Private key " << privateKey << endl; INFO_STREAM << "SSLServer::SSLServer() DH Temporary " << dHTempFile << endl; //@todo: check error_code use in load file methods m_context_sp->use_certificate_chain_file(certificateFile); Loading
src/SSLSession.cpp +11 −8 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ SSLSession::~SSLSession() DEBUG_STREAM << "SSLSession::~SSLSession()" << endl; INFO_STREAM << "SSLSession::~SSLSession() Disconnection from " << remoteEndpoint << endl; << m_remoteEndpoint << endl; boost::system::error_code errorCode; Loading Loading @@ -70,10 +70,13 @@ void SSLSession::start() { DEBUG_STREAM << "SSLSession::start()" << endl; remoteEndpoint = boost::lexical_cast<std::string>( m_remoteEndpoint = boost::lexical_cast<std::string>( m_sslSocket.lowest_layer().remote_endpoint()); INFO_STREAM << "SSLSession::start() Connection from " << remoteEndpoint << endl; INFO_STREAM << "SSLSession::start() Connection from " << m_remoteEndpoint << endl; m_protocolManager_sp->setRemoteEndpoint(m_remoteEndpoint); startHandShake(); } Loading Loading @@ -104,7 +107,7 @@ void SSLSession::handleHandShake(const boost::system::error_code& errorCode) else { ERROR_STREAM << "SSLSession::handleHandShake() error " << errorCode.message() << " from " << remoteEndpoint << endl; << errorCode.message() << " from " << m_remoteEndpoint << endl; } } Loading Loading @@ -136,7 +139,7 @@ void SSLSession::startReadRequestBody(boost::uint32_t bodySize) #ifdef VERBOSE_DEBUG INFO_STREAM << "SSLSession::startReadRequestBody() " << remoteEndpoint << " >>>> " << bodySize << " byte" << endl; << m_remoteEndpoint << " >>>> " << bodySize << " byte" << endl; #endif boost::asio::async_read(m_sslSocket, mutableBuffer, Loading Loading @@ -171,7 +174,7 @@ void SSLSession::startWriteResponse() #ifdef VERBOSE_DEBUG INFO_STREAM << "SSLSession::startWriteResponse() " << remoteEndpoint << " <<<< " << bodySize << " byte" << endl; << m_remoteEndpoint << " <<<< " << bodySize << " byte" << endl; #endif boost::asio::async_write(m_sslSocket, boost::asio::buffer(writeBuff), Loading @@ -181,12 +184,12 @@ void SSLSession::startWriteResponse() catch(std::runtime_error& ec) { ERROR_STREAM << "SSLSession::startWriteResponse() " << ec.what() << " from " << remoteEndpoint << endl; << ec.what() << " from " << m_remoteEndpoint << endl; } catch(...) { ERROR_STREAM << "SSLSession::startWriteResponse() unknown error from " << remoteEndpoint << endl; << m_remoteEndpoint << endl; } } Loading