mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralgw.git
synced 2025-11-02 03:37:57 +00:00
Fixed failure to connect for brand new devices.
This commit is contained in:
@@ -20,10 +20,6 @@ namespace OpenWifi {
|
||||
void AddSerialNumber(const std::string &SerialNumber);
|
||||
void DeleteSerialNumber(const std::string &SerialNumber);
|
||||
void FindNumbers(const std::string &SerialNumber, uint HowMany, std::vector<uint64_t> &A);
|
||||
/* inline bool NumberExists(const std::string &SerialNumber) {
|
||||
return NumberExists(Utils::SerialNumberToInt(SerialNumber));
|
||||
}
|
||||
*/
|
||||
inline bool NumberExists(uint64_t SerialNumber) {
|
||||
std::lock_guard G(Mutex_);
|
||||
return std::find(SNs_.begin(),SNs_.end(),SerialNumber)!=SNs_.end();
|
||||
|
||||
@@ -343,15 +343,9 @@ namespace OpenWifi {
|
||||
auto Firmware = ParamsObj->get(uCentralProtocol::FIRMWARE).toString();
|
||||
auto Capabilities = ParamsObj->get(uCentralProtocol::CAPABILITIES).toString();
|
||||
|
||||
std::cout << SerialNumber_ << std::endl;
|
||||
SerialNumber_ = Serial;
|
||||
std::cout << SerialNumber_ << std::endl;
|
||||
_OWDEBUG_
|
||||
SerialNumberInt_ = Utils::SerialNumberToInt(SerialNumber_);
|
||||
std::cout << SerialNumber_ << std::endl;
|
||||
_OWDEBUG_
|
||||
Conn_ = DeviceRegistry()->Register(SerialNumberInt_, this, ConnectionId_);
|
||||
_OWDEBUG_
|
||||
Conn_->Conn_.UUID = UUID;
|
||||
Conn_->Conn_.Firmware = Firmware;
|
||||
Conn_->Conn_.PendingUUID = 0;
|
||||
@@ -359,16 +353,12 @@ namespace OpenWifi {
|
||||
Conn_->Conn_.Address = Utils::FormatIPv6(WS_->peerAddress().toString());
|
||||
CId_ = SerialNumber_ + "@" + CId_;
|
||||
// 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_)) ||
|
||||
WebSocketServer()->IsSimSerialNumber(CN_)) {
|
||||
std::cout << SerialNumber_ << std::endl;
|
||||
CertValidation_ = GWObjects::VERIFIED;
|
||||
Logger().information(
|
||||
Poco::format("CONNECT(%s): Fully validated and authenticated device..", CId_));
|
||||
} else {
|
||||
_OWDEBUG_
|
||||
if (CN_.empty())
|
||||
Logger().information(
|
||||
Poco::format("CONNECT(%s): Not authenticated or validated.", CId_));
|
||||
@@ -377,17 +367,12 @@ namespace OpenWifi {
|
||||
"CONNECT(%s): Authenticated but not validated. Serial='%s' CN='%s'", CId_,
|
||||
Serial, CN_));
|
||||
}
|
||||
_OWDEBUG_
|
||||
Conn_->Conn_.VerifiedCertificate = CertValidation_;
|
||||
_OWDEBUG_
|
||||
|
||||
auto DeviceExists = SerialNumberCache()->NumberExists(SerialNumberInt_);
|
||||
_OWDEBUG_
|
||||
if (Daemon()->AutoProvisioning() && !DeviceExists) {
|
||||
_OWDEBUG_
|
||||
StorageService()->CreateDefaultDevice(SerialNumber_, Capabilities, Firmware,
|
||||
Compatible_, PeerAddress_);
|
||||
_OWDEBUG_
|
||||
Conn_->Conn_.Compatible = Compatible_;
|
||||
} else if (DeviceExists) {
|
||||
StorageService()->UpdateDeviceCapabilities(SerialNumber_, Capabilities,
|
||||
|
||||
Reference in New Issue
Block a user