mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralgw.git
synced 2025-11-02 11:47:47 +00:00
Reducing memory footprint.
This commit is contained in:
@@ -20,9 +20,10 @@ namespace OpenWifi {
|
|||||||
void AddSerialNumber(const std::string &SerialNumber);
|
void AddSerialNumber(const std::string &SerialNumber);
|
||||||
void DeleteSerialNumber(const std::string &SerialNumber);
|
void DeleteSerialNumber(const std::string &SerialNumber);
|
||||||
void FindNumbers(const std::string &SerialNumber, uint HowMany, std::vector<uint64_t> &A);
|
void FindNumbers(const std::string &SerialNumber, uint HowMany, std::vector<uint64_t> &A);
|
||||||
inline bool NumberExists(const std::string &SerialNumber) {
|
/* inline bool NumberExists(const std::string &SerialNumber) {
|
||||||
return NumberExists(Utils::SerialNumberToInt(SerialNumber));
|
return NumberExists(Utils::SerialNumberToInt(SerialNumber));
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
inline bool NumberExists(uint64_t SerialNumber) {
|
inline bool NumberExists(uint64_t SerialNumber) {
|
||||||
std::lock_guard G(Mutex_);
|
std::lock_guard G(Mutex_);
|
||||||
return std::find(SNs_.begin(),SNs_.end(),SerialNumber)!=SNs_.end();
|
return std::find(SNs_.begin(),SNs_.end(),SerialNumber)!=SNs_.end();
|
||||||
|
|||||||
@@ -343,9 +343,15 @@ namespace OpenWifi {
|
|||||||
auto Firmware = ParamsObj->get(uCentralProtocol::FIRMWARE).toString();
|
auto Firmware = ParamsObj->get(uCentralProtocol::FIRMWARE).toString();
|
||||||
auto Capabilities = ParamsObj->get(uCentralProtocol::CAPABILITIES).toString();
|
auto Capabilities = ParamsObj->get(uCentralProtocol::CAPABILITIES).toString();
|
||||||
|
|
||||||
|
std::cout << SerialNumber_ << std::endl;
|
||||||
SerialNumber_ = Serial;
|
SerialNumber_ = Serial;
|
||||||
|
std::cout << SerialNumber_ << std::endl;
|
||||||
|
_OWDEBUG_
|
||||||
SerialNumberInt_ = Utils::SerialNumberToInt(SerialNumber_);
|
SerialNumberInt_ = Utils::SerialNumberToInt(SerialNumber_);
|
||||||
|
std::cout << SerialNumber_ << std::endl;
|
||||||
|
_OWDEBUG_
|
||||||
Conn_ = DeviceRegistry()->Register(SerialNumberInt_, this, ConnectionId_);
|
Conn_ = DeviceRegistry()->Register(SerialNumberInt_, this, ConnectionId_);
|
||||||
|
_OWDEBUG_
|
||||||
// Conn_->Conn_.SerialNumber = Serial;
|
// Conn_->Conn_.SerialNumber = Serial;
|
||||||
Conn_->Conn_.UUID = UUID;
|
Conn_->Conn_.UUID = UUID;
|
||||||
Conn_->Conn_.Firmware = Firmware;
|
Conn_->Conn_.Firmware = Firmware;
|
||||||
@@ -354,12 +360,16 @@ namespace OpenWifi {
|
|||||||
Conn_->Conn_.Address = Utils::FormatIPv6(WS_->peerAddress().toString());
|
Conn_->Conn_.Address = Utils::FormatIPv6(WS_->peerAddress().toString());
|
||||||
CId_ = SerialNumber_ + "@" + CId_;
|
CId_ = SerialNumber_ + "@" + CId_;
|
||||||
// We need to verify the certificate if we have one
|
// We need to verify the certificate if we have one
|
||||||
|
_OWDEBUG_
|
||||||
|
std::cout << "SN:" << SerialNumber_ << " CN:" << CN_ << std::endl;
|
||||||
if ((!CN_.empty() && Utils::SerialNumberMatch(CN_, SerialNumber_)) ||
|
if ((!CN_.empty() && Utils::SerialNumberMatch(CN_, SerialNumber_)) ||
|
||||||
|
_OWDEBUG_
|
||||||
WebSocketServer()->IsSimSerialNumber(CN_)) {
|
WebSocketServer()->IsSimSerialNumber(CN_)) {
|
||||||
CertValidation_ = GWObjects::VERIFIED;
|
CertValidation_ = GWObjects::VERIFIED;
|
||||||
Logger().information(
|
Logger().information(
|
||||||
Poco::format("CONNECT(%s): Fully validated and authenticated device..", CId_));
|
Poco::format("CONNECT(%s): Fully validated and authenticated device..", CId_));
|
||||||
} else {
|
} else {
|
||||||
|
_OWDEBUG_
|
||||||
if (CN_.empty())
|
if (CN_.empty())
|
||||||
Logger().information(
|
Logger().information(
|
||||||
Poco::format("CONNECT(%s): Not authenticated or validated.", CId_));
|
Poco::format("CONNECT(%s): Not authenticated or validated.", CId_));
|
||||||
@@ -368,12 +378,17 @@ namespace OpenWifi {
|
|||||||
"CONNECT(%s): Authenticated but not validated. Serial='%s' CN='%s'", CId_,
|
"CONNECT(%s): Authenticated but not validated. Serial='%s' CN='%s'", CId_,
|
||||||
Serial, CN_));
|
Serial, CN_));
|
||||||
}
|
}
|
||||||
|
_OWDEBUG_
|
||||||
Conn_->Conn_.VerifiedCertificate = CertValidation_;
|
Conn_->Conn_.VerifiedCertificate = CertValidation_;
|
||||||
|
_OWDEBUG_
|
||||||
|
|
||||||
auto DeviceExists = SerialNumberCache()->NumberExists(SerialNumberInt_);
|
auto DeviceExists = SerialNumberCache()->NumberExists(SerialNumberInt_);
|
||||||
|
_OWDEBUG_
|
||||||
if (Daemon()->AutoProvisioning() && !DeviceExists) {
|
if (Daemon()->AutoProvisioning() && !DeviceExists) {
|
||||||
|
_OWDEBUG_
|
||||||
StorageService()->CreateDefaultDevice(SerialNumber_, Capabilities, Firmware,
|
StorageService()->CreateDefaultDevice(SerialNumber_, Capabilities, Firmware,
|
||||||
Compatible_, PeerAddress_);
|
Compatible_, PeerAddress_);
|
||||||
|
_OWDEBUG_
|
||||||
Conn_->Conn_.Compatible = Compatible_;
|
Conn_->Conn_.Compatible = Compatible_;
|
||||||
} else if (DeviceExists) {
|
} else if (DeviceExists) {
|
||||||
StorageService()->UpdateDeviceCapabilities(SerialNumber_, Capabilities,
|
StorageService()->UpdateDeviceCapabilities(SerialNumber_, Capabilities,
|
||||||
|
|||||||
Reference in New Issue
Block a user