From d7c0e9e7161e52c0bbdfc9f301068cb8104f2a7e Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Fri, 24 May 2019 11:31:15 -0700 Subject: [PATCH] [commissioner] add provisioning URL member variable (#3863) This commit moves the definition of Provisioning URL TLV member variable to `Commissioner` class (from `Dtls` class). --- src/core/meshcop/commissioner.cpp | 14 ++++++-------- src/core/meshcop/commissioner.hpp | 2 ++ src/core/meshcop/dtls.cpp | 2 -- src/core/meshcop/dtls.hpp | 6 ------ 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/core/meshcop/commissioner.cpp b/src/core/meshcop/commissioner.cpp index 93d4ae375..41e3615d8 100644 --- a/src/core/meshcop/commissioner.cpp +++ b/src/core/meshcop/commissioner.cpp @@ -79,6 +79,7 @@ Commissioner::Commissioner(Instance &aInstance) mCommissionerAloc.mValid = true; mCommissionerAloc.mScopeOverride = Ip6::Address::kRealmLocalScope; mCommissionerAloc.mScopeOverrideValid = true; + mProvisioningUrl.Init(); } void Commissioner::AddCoapResources(void) @@ -312,11 +313,9 @@ exit: const char *Commissioner::GetProvisioningUrl(uint16_t &aLength) const { - ProvisioningUrlTlv &provisioningUrl = Get().GetDtls().mProvisioningUrl; + aLength = mProvisioningUrl.GetLength(); - aLength = provisioningUrl.GetLength(); - - return provisioningUrl.GetProvisioningUrl(); + return mProvisioningUrl.GetProvisioningUrl(); } otError Commissioner::SetProvisioningUrl(const char *aProvisioningUrl) @@ -329,7 +328,7 @@ otError Commissioner::SetProvisioningUrl(const char *aProvisioningUrl) VerifyOrExit(len <= MeshCoP::ProvisioningUrlTlv::kMaxLength, error = OT_ERROR_INVALID_ARGS); } - Get().GetDtls().mProvisioningUrl.SetProvisioningUrl(aProvisioningUrl); + mProvisioningUrl.SetProvisioningUrl(aProvisioningUrl); exit: return error; @@ -903,9 +902,8 @@ void Commissioner::HandleJoinerFinalize(Coap::Message &aMessage, const Ip6::Mess if (Tlv::GetTlv(aMessage, Tlv::kProvisioningUrl, sizeof(provisioningUrl), provisioningUrl) == OT_ERROR_NONE) { - if (provisioningUrl.GetLength() != Get().GetDtls().mProvisioningUrl.GetLength() || - memcmp(provisioningUrl.GetProvisioningUrl(), - Get().GetDtls().mProvisioningUrl.GetProvisioningUrl(), + if (provisioningUrl.GetLength() != mProvisioningUrl.GetLength() || + memcmp(provisioningUrl.GetProvisioningUrl(), mProvisioningUrl.GetProvisioningUrl(), provisioningUrl.GetLength()) != 0) { state = StateTlv::kReject; diff --git a/src/core/meshcop/commissioner.hpp b/src/core/meshcop/commissioner.hpp index c29273dfb..7f51a9517 100644 --- a/src/core/meshcop/commissioner.hpp +++ b/src/core/meshcop/commissioner.hpp @@ -332,6 +332,8 @@ private: Ip6::NetifUnicastAddress mCommissionerAloc; + ProvisioningUrlTlv mProvisioningUrl; + otCommissionerState mState; }; diff --git a/src/core/meshcop/dtls.cpp b/src/core/meshcop/dtls.cpp index 080783ac5..316a30243 100644 --- a/src/core/meshcop/dtls.cpp +++ b/src/core/meshcop/dtls.cpp @@ -109,8 +109,6 @@ Dtls::Dtls(Instance &aInstance, bool aLayerTwoSecurity) #ifdef MBEDTLS_SSL_COOKIE_C memset(&mCookieCtx, 0, sizeof(mCookieCtx)); #endif - - mProvisioningUrl.Init(); } void Dtls::FreeMbedtls(void) diff --git a/src/core/meshcop/dtls.hpp b/src/core/meshcop/dtls.hpp index adbabc1e0..ab24dfe87 100644 --- a/src/core/meshcop/dtls.hpp +++ b/src/core/meshcop/dtls.hpp @@ -387,12 +387,6 @@ public: */ const Ip6::MessageInfo &GetPeerAddress(void) const { return mPeerAddress; } - /** - * The provisioning URL is placed here so that both the Commissioner and Joiner can share the same object. - * - */ - ProvisioningUrlTlv mProvisioningUrl; - void HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageInfo); private: