Fixed failure to connect for brand new devices.

This commit is contained in:
stephb9959
2022-02-05 09:45:56 -08:00
parent 5333f45f93
commit c9b7edcdd9
3 changed files with 1 additions and 20 deletions

2
build
View File

@@ -1 +1 @@
159
160

View File

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

View File

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