Skip to content

Commit

Permalink
Addressing tcat_agent comments: enum TcatCertificateAttribute added, …
Browse files Browse the repository at this point in the history
…unused variables, missing @param
  • Loading branch information
Arnulf Rupp committed Aug 21, 2023
1 parent c9eae76 commit 9421a9d
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 6 deletions.
1 change: 1 addition & 0 deletions include/openthread/tcat.h
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ typedef struct otTcatVendorInfo
*
* @param[in] aInstance A pointer to an OpenThread instance.
* @param[in] aMessage A pointer to the message.
* @param[in] aOffset The offset where the application data begins.
* @param[in] aTcatMessageType The message type received.
* @param[in] aServiceName The name of the service the message is direced to.
* @param[in] aContext A pointer to arbitrary context information.
Expand Down
11 changes: 5 additions & 6 deletions src/core/meshcop/tcat_agent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,13 +116,13 @@ Error TcatAgent::Connected(MeshCoP::Dtls &aTlsContext)
VerifyOrExit(IsEnabled(), error = kErrorInvalidState);
len = sizeof(mCommissionerAuthorizationField);
SuccessOrExit(error = aTlsContext.GetThreadAttributeFromPeerCertificate(
3, reinterpret_cast<uint8_t *>(&mCommissionerAuthorizationField), &len));
kCertificateAuthorizationField, reinterpret_cast<uint8_t *>(&mCommissionerAuthorizationField), &len));
VerifyOrExit(len == sizeof(mCommissionerAuthorizationField), error = kErrorParse);
VerifyOrExit((mCommissionerAuthorizationField.mHeader & kCommissionerFlag) == 1, error = kErrorParse);

len = sizeof(mDeviceAuthorizationField);
SuccessOrExit(error = aTlsContext.GetThreadAttributeFromOwnCertificate(
3, reinterpret_cast<uint8_t *>(&mDeviceAuthorizationField), &len));
kCertificateAuthorizationField, reinterpret_cast<uint8_t *>(&mDeviceAuthorizationField), &len));
VerifyOrExit(len == sizeof(mDeviceAuthorizationField), error = kErrorParse);
VerifyOrExit((mDeviceAuthorizationField.mHeader & kCommissionerFlag) == 0, error = kErrorParse);

Expand All @@ -131,23 +131,23 @@ Error TcatAgent::Connected(MeshCoP::Dtls &aTlsContext)
mCommissionerHasExtendedPanId = false;

len = sizeof(mCommissionerDomainName) - 1;
if (aTlsContext.GetThreadAttributeFromPeerCertificate(1, reinterpret_cast<uint8_t *>(&mCommissionerDomainName),
if (aTlsContext.GetThreadAttributeFromPeerCertificate(kCertificateDomainName, reinterpret_cast<uint8_t *>(&mCommissionerDomainName),
&len) == kErrorNone)
{
mCommissionerDomainName.m8[len] = '\0';
mCommissionerHasDomainName = true;
}

len = sizeof(mCommissionerNetworkName) - 1;
if (aTlsContext.GetThreadAttributeFromPeerCertificate(4, reinterpret_cast<uint8_t *>(&mCommissionerNetworkName),
if (aTlsContext.GetThreadAttributeFromPeerCertificate(kCertificateNetworkName, reinterpret_cast<uint8_t *>(&mCommissionerNetworkName),
&len) == kErrorNone)
{
mCommissionerNetworkName.m8[len] = '\0';
mCommissionerHasNetworkName = true;
}

len = sizeof(mCommissionerExtendedPanId);
if (aTlsContext.GetThreadAttributeFromPeerCertificate(5, reinterpret_cast<uint8_t *>(&mCommissionerExtendedPanId),
if (aTlsContext.GetThreadAttributeFromPeerCertificate(kCertificateExtendedPanId, reinterpret_cast<uint8_t *>(&mCommissionerExtendedPanId),
&len) == kErrorNone)
{
if (len == sizeof(mCommissionerExtendedPanId))
Expand Down Expand Up @@ -446,7 +446,6 @@ Error TcatAgent::HandleCommissioning(const Message &aIncommingMessage,
Error error = kErrorNone;

OT_UNUSED_VARIABLE(aOutgoingMessage);
OT_UNUSED_VARIABLE(aOffset);
OT_UNUSED_VARIABLE(aLength);
OT_UNUSED_VARIABLE(aHasResponse);

Expand Down
12 changes: 12 additions & 0 deletions src/core/meshcop/tcat_agent.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,18 @@ class TcatAgent : public InstanceLocator, private NonCopyable
OT_TCAT_MESSAGE_TYPE_CHANGED_TO_TCP_SERVICE, ///< Client has changed to a TCP service
};

/**
* Represents a TCAT certificate V3 extension attribute (OID 1.3.6.1.4.1.44970.x).
*
*/
enum TcatCertificateAttribute
{
kCertificateDomainName = 1,
kCertificateAuthorizationField = 3,
kCertificateNetworkName = 4,
kCertificateExtendedPanId = 5,
};

/**
* Represents TCAT status.
*
Expand Down

0 comments on commit 9421a9d

Please sign in to comment.