Reducing memory footprint.

This commit is contained in:
stephb9959
2022-02-05 09:32:35 -08:00
parent 19c8773768
commit 262011e7bf
2 changed files with 17 additions and 1 deletions

View File

@@ -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();

View File

@@ -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,