mirror of
https://github.com/espressif/openthread.git
synced 2026-08-11 13:17:48 +00:00
Do not start DTLS session if no Joiner Router is found. (#806)
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
#include <common/crc16.hpp>
|
||||
#include <common/encoding.hpp>
|
||||
#include <common/logging.hpp>
|
||||
#include <mac/mac_frame.hpp>
|
||||
#include <meshcop/joiner.hpp>
|
||||
#include <platform/radio.h>
|
||||
#include <platform/random.h>
|
||||
@@ -80,6 +81,8 @@ ThreadError Joiner::Start(const char *aPSKd, const char *aProvisioningUrl)
|
||||
SuccessOrExit(error = mNetif.GetDtls().SetPsk(reinterpret_cast<const uint8_t *>(aPSKd),
|
||||
static_cast<uint8_t>(strlen(aPSKd))));
|
||||
SuccessOrExit(error = mNetif.GetDtls().mProvisioningUrl.SetProvisioningUrl(aProvisioningUrl));
|
||||
|
||||
mJoinerRouterPanId = Mac::kPanIdBroadcast;
|
||||
SuccessOrExit(error = mNetif.GetMle().Discover(0, 0, mNetif.GetMac().GetPanId(), HandleDiscoverResult, this));
|
||||
|
||||
exit:
|
||||
@@ -128,7 +131,7 @@ void Joiner::HandleDiscoverResult(otActiveScanResult *aResult)
|
||||
memcpy(&mJoinerRouter, &aResult->mExtAddress, sizeof(mJoinerRouter));
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (mJoinerRouterPanId != Mac::kPanIdBroadcast)
|
||||
{
|
||||
// open UDP port
|
||||
Ip6::SockAddr sockaddr;
|
||||
|
||||
Reference in New Issue
Block a user