diff --git a/src/RESTAPI/RESTAPI_device_commandHandler.cpp b/src/RESTAPI/RESTAPI_device_commandHandler.cpp index 5d8a04ef..6b9ceb2a 100644 --- a/src/RESTAPI/RESTAPI_device_commandHandler.cpp +++ b/src/RESTAPI/RESTAPI_device_commandHandler.cpp @@ -1130,8 +1130,8 @@ namespace OpenWifi { if (RTTYS_server()->UseInternal()) { std::uint64_t SN = Utils::SerialNumberToInt(SerialNumber_); bool mTLS = AP_WS_Server()->DeviceRequiresSecureRtty(SN); - Rtty.Token = Utils::ComputeHash(UserInfo_.webtoken.refresh_token_, Utils::Now()) - .substr(0, RTTY_DEVICE_TOKEN_LENGTH); + auto Hash = Utils::ComputeHash(UserInfo_.webtoken.refresh_token_, Utils::Now()); + Rtty.Token = Hash.substr(0, RTTY_DEVICE_TOKEN_LENGTH); if (!RTTYS_server()->CreateEndPoint(Rtty.ConnectionId, Rtty.Token, Requester(), SerialNumber_, mTLS)) { return BadRequest(RESTAPI::Errors::MaximumRTTYSessionsReached); diff --git a/src/rttys/RTTYS_server.cpp b/src/rttys/RTTYS_server.cpp index 7eeea61e..fe6c244e 100644 --- a/src/rttys/RTTYS_server.cpp +++ b/src/rttys/RTTYS_server.cpp @@ -205,7 +205,7 @@ namespace OpenWifi { poco_debug( Logger(), fmt::format("Device {} has been validated from {}.", CN, CId_)); - auto NewDevice = std::make_shared(NewSocket, ++CurrentTID_); + auto NewDevice = std::make_shared(NewSocket, ++CurrentTID_,Logger().get(CId_)); std::lock_guard Lock(ServerMutex_); AddConnectedDeviceEventHandlers(NewDevice); return; @@ -213,12 +213,12 @@ namespace OpenWifi { } poco_debug(Logger(), fmt::format("Device cannot be validated from {}.", CId_)); } else { - auto NewDevice = std::make_shared(NewSocket, ++CurrentTID_); + auto NewDevice = std::make_shared(NewSocket, ++CurrentTID_, Logger().get(CId_)); std::lock_guard Lock(ServerMutex_); AddConnectedDeviceEventHandlers(NewDevice); return; } - auto NewDevice = std::make_shared(NewSocket, ++CurrentTID_); + auto NewDevice = std::make_shared(NewSocket, ++CurrentTID_, Logger().get(CId_)); std::lock_guard Lock(ServerMutex_); AddConnectedDeviceEventHandlers(NewDevice); return; @@ -772,7 +772,7 @@ namespace OpenWifi { if (MaxConcurrentSessions_ != 0 && EndPoints_.size() == MaxConcurrentSessions_) { return false; } - EndPoints_[Id] = std::make_unique(Id, Token, SerialNumber, UserName, mTLS); + EndPoints_[Id] = std::make_unique(Id, Token, SerialNumber, UserName, mTLS, Logger().get(SerialNumber)); ++TotalEndPoints_; return true; } @@ -1048,14 +1048,16 @@ namespace OpenWifi { RTTYS_EndPoint::RTTYS_EndPoint(const std::string &Id, const std::string &Token, const std::string &SerialNumber, const std::string &UserName, - bool mTLS) + bool mTLS, + Poco::Logger &Logger) : Id_(Id), Token_(Token), SerialNumber_(SerialNumber), UserName_(UserName), - Logger_(RTTYS_server()->Logger()), mTLS_(mTLS) { + Logger_(Logger), mTLS_(mTLS) { Created_ = std::chrono::high_resolution_clock::now(); } - RTTYS_EndPoint::RTTYS_EndPoint(Poco::Net::StreamSocket &Socket, std::uint64_t tid) : - Logger_(RTTYS_server()->Logger()) + RTTYS_EndPoint::RTTYS_EndPoint(Poco::Net::StreamSocket &Socket, std::uint64_t tid, + Poco::Logger &Logger) : + Logger_(Logger) { DeviceSocket_ = std::make_unique(Socket); DeviceInBuf_ = std::make_shared(RTTY_DEVICE_BUFSIZE); diff --git a/src/rttys/RTTYS_server.h b/src/rttys/RTTYS_server.h index 65e0f83d..50ef4a17 100644 --- a/src/rttys/RTTYS_server.h +++ b/src/rttys/RTTYS_server.h @@ -35,9 +35,9 @@ namespace OpenWifi { public: RTTYS_EndPoint(const std::string &Id, const std::string &Token, const std::string &SerialNumber, const std::string &UserName, - bool mTLS); + bool mTLS, Poco::Logger &Logger); - RTTYS_EndPoint(Poco::Net::StreamSocket &Socket, std::uint64_t tid); + RTTYS_EndPoint(Poco::Net::StreamSocket &Socket, std::uint64_t tid, Poco::Logger &Logger); ~RTTYS_EndPoint();