From dcd9dcf208a48687589d236bbe5a5dfffaa49028 Mon Sep 17 00:00:00 2001 From: Evgeny Margolis Date: Mon, 7 Feb 2022 06:41:58 -0800 Subject: [PATCH] Use PasscodeId Type Instead of uint16_t/uint32_t Where Appropriate (#14799) --- src/app/server/CommissioningWindowManager.cpp | 2 +- src/app/server/CommissioningWindowManager.h | 6 +++--- src/app/tests/TestCommissionManager.cpp | 4 ++-- src/controller/CHIPDeviceController.cpp | 2 +- src/controller/CHIPDeviceController.h | 4 ++-- src/controller/java/CHIPDeviceController-JNI.cpp | 2 +- src/protocols/secure_channel/PASESession.cpp | 8 ++++---- src/protocols/secure_channel/PASESession.h | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/app/server/CommissioningWindowManager.cpp b/src/app/server/CommissioningWindowManager.cpp index 52ad2406c1f466..dc0bed95144e18 100644 --- a/src/app/server/CommissioningWindowManager.cpp +++ b/src/app/server/CommissioningWindowManager.cpp @@ -229,7 +229,7 @@ CHIP_ERROR CommissioningWindowManager::OpenBasicCommissioningWindow(uint16_t com CHIP_ERROR CommissioningWindowManager::OpenEnhancedCommissioningWindow(uint16_t commissioningTimeoutSeconds, uint16_t discriminator, PASEVerifier & verifier, uint32_t iterations, ByteSpan salt, - uint16_t passcodeID) + PasscodeId passcodeID) { // Once a device is operational, it shall be commissioned into subsequent fabrics using // the operational network only. diff --git a/src/app/server/CommissioningWindowManager.h b/src/app/server/CommissioningWindowManager.h index 1361a488669869..5ea69702a1e547 100644 --- a/src/app/server/CommissioningWindowManager.h +++ b/src/app/server/CommissioningWindowManager.h @@ -1,6 +1,6 @@ /* * - * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2021-2022 Project CHIP Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -55,7 +55,7 @@ class CommissioningWindowManager : public SessionEstablishmentDelegate CHIP_ERROR OpenEnhancedCommissioningWindow(uint16_t commissioningTimeoutSeconds, uint16_t discriminator, PASEVerifier & verifier, uint32_t iterations, chip::ByteSpan salt, - uint16_t passcodeID); + PasscodeId passcodeID); void CloseCommissioningWindow(); @@ -108,7 +108,7 @@ class CommissioningWindowManager : public SessionEstablishmentDelegate bool mUseECM = false; PASEVerifier mECMPASEVerifier; uint16_t mECMDiscriminator = 0; - uint16_t mECMPasscodeID = 0; + PasscodeId mECMPasscodeID = kDefaultCommissioningPasscodeId; uint32_t mECMIterations = 0; uint32_t mECMSaltLength = 0; uint8_t mECMSalt[kPBKDFMaximumSaltLen]; diff --git a/src/app/tests/TestCommissionManager.cpp b/src/app/tests/TestCommissionManager.cpp index f63c1d16239da0..ea337a779b06b2 100644 --- a/src/app/tests/TestCommissionManager.cpp +++ b/src/app/tests/TestCommissionManager.cpp @@ -1,6 +1,6 @@ /* * - * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2021-2022 Project CHIP Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -121,7 +121,7 @@ void CheckCommissioningWindowManagerEnhancedWindowTask(intptr_t context) constexpr uint32_t kIterations = chip::kPBKDFMinimumIterations; uint8_t salt[chip::kPBKDFMinimumSaltLen]; chip::ByteSpan saltData(salt); - constexpr uint16_t kPasscodeID = 1; + constexpr chip::PasscodeId kPasscodeID = 1; uint16_t currentDiscriminator; err = commissionMgr.OpenEnhancedCommissioningWindow(kNoCommissioningTimeout, newDiscriminator, verifier, kIterations, saltData, diff --git a/src/controller/CHIPDeviceController.cpp b/src/controller/CHIPDeviceController.cpp index 2d2a95c39a1825..5f1370755ad306 100644 --- a/src/controller/CHIPDeviceController.cpp +++ b/src/controller/CHIPDeviceController.cpp @@ -434,7 +434,7 @@ void DeviceController::OnOpenPairingWindowFailureResponse(void * context, CHIP_E } CHIP_ERROR DeviceController::ComputePASEVerifier(uint32_t iterations, uint32_t setupPincode, const ByteSpan & salt, - PASEVerifier & outVerifier, uint32_t & outPasscodeId) + PASEVerifier & outVerifier, PasscodeId & outPasscodeId) { ReturnErrorOnFailure(PASESession::GeneratePASEVerifier(outVerifier, iterations, salt, /* useRandomPIN= */ false, setupPincode)); diff --git a/src/controller/CHIPDeviceController.h b/src/controller/CHIPDeviceController.h index ec8af2a956585d..0797f733d48173 100644 --- a/src/controller/CHIPDeviceController.h +++ b/src/controller/CHIPDeviceController.h @@ -248,7 +248,7 @@ class DLL_EXPORT DeviceController : public SessionRecoveryDelegate * @return CHIP_ERROR CHIP_NO_ERROR on success, or corresponding error */ CHIP_ERROR ComputePASEVerifier(uint32_t iterations, uint32_t setupPincode, const ByteSpan & salt, PASEVerifier & outVerifier, - uint32_t & outPasscodeId); + PasscodeId & outPasscodeId); /** * @brief @@ -434,7 +434,7 @@ class DLL_EXPORT DeviceController : public SessionRecoveryDelegate static void OnOpenPairingWindowFailureResponse(void * context, CHIP_ERROR error); CHIP_ERROR ProcessControllerNOCChain(const ControllerInitParams & params); - uint16_t mPAKEVerifierID = 1; + PasscodeId mPAKEVerifierID = 1; }; /** diff --git a/src/controller/java/CHIPDeviceController-JNI.cpp b/src/controller/java/CHIPDeviceController-JNI.cpp index f0dfbed50dffb0..afed84ae697536 100644 --- a/src/controller/java/CHIPDeviceController-JNI.cpp +++ b/src/controller/java/CHIPDeviceController-JNI.cpp @@ -592,7 +592,7 @@ JNI_METHOD(jobject, computePaseVerifier) CHIP_ERROR err = CHIP_NO_ERROR; jobject params; jbyteArray verifierBytes; - uint32_t passcodeId; + PasscodeId passcodeId; PASEVerifier verifier; PASEVerifierSerialized serializedVerifier; MutableByteSpan serializedVerifierSpan(serializedVerifier); diff --git a/src/protocols/secure_channel/PASESession.cpp b/src/protocols/secure_channel/PASESession.cpp index 500e91f98350c3..e7c647f507da93 100644 --- a/src/protocols/secure_channel/PASESession.cpp +++ b/src/protocols/secure_channel/PASESession.cpp @@ -296,7 +296,7 @@ CHIP_ERROR PASESession::WaitForPairing(uint32_t mySetUpPINCode, uint32_t pbkdf2I mNextExpectedMsg = MsgType::PBKDFParamRequest; mPairingComplete = false; - mPasscodeID = 0; + mPasscodeID = kDefaultCommissioningPasscodeId; mLocalMRPConfig = mrpConfig; SetPeerNodeId(NodeIdFromPAKEKeyId(mPasscodeID)); @@ -312,8 +312,8 @@ CHIP_ERROR PASESession::WaitForPairing(uint32_t mySetUpPINCode, uint32_t pbkdf2I } CHIP_ERROR PASESession::WaitForPairing(const PASEVerifier & verifier, uint32_t pbkdf2IterCount, const ByteSpan & salt, - uint16_t passcodeID, uint16_t mySessionId, Optional mrpConfig, - SessionEstablishmentDelegate * delegate) + PasscodeId passcodeID, uint16_t mySessionId, + Optional mrpConfig, SessionEstablishmentDelegate * delegate) { ReturnErrorCodeIf(passcodeID == 0, CHIP_ERROR_INVALID_ARGUMENT); ReturnErrorOnFailure(WaitForPairing(0, pbkdf2IterCount, salt, mySessionId, mrpConfig, delegate)); @@ -388,7 +388,7 @@ CHIP_ERROR PASESession::SendPBKDFParamRequest() const size_t mrpParamsSize = mLocalMRPConfig.HasValue() ? TLV::EstimateStructOverhead(sizeof(uint16_t), sizeof(uint16_t)) : 0; const size_t max_msg_len = TLV::EstimateStructOverhead(kPBKDFParamRandomNumberSize, // initiatorRandom, sizeof(uint16_t), // initiatorSessionId - sizeof(uint16_t), // passcodeId, + sizeof(PasscodeId), // passcodeId, sizeof(uint8_t), // hasPBKDFParameters mrpParamsSize // MRP Parameters ); diff --git a/src/protocols/secure_channel/PASESession.h b/src/protocols/secure_channel/PASESession.h index c6c0bdfc7b798b..c2e7e483401be0 100644 --- a/src/protocols/secure_channel/PASESession.h +++ b/src/protocols/secure_channel/PASESession.h @@ -138,7 +138,7 @@ class DLL_EXPORT PASESession : public Messaging::ExchangeDelegate, public Pairin * * @return CHIP_ERROR The result of initialization */ - CHIP_ERROR WaitForPairing(const PASEVerifier & verifier, uint32_t pbkdf2IterCount, const ByteSpan & salt, uint16_t passcodeID, + CHIP_ERROR WaitForPairing(const PASEVerifier & verifier, uint32_t pbkdf2IterCount, const ByteSpan & salt, PasscodeId passcodeID, uint16_t mySessionId, Optional mrpConfig, SessionEstablishmentDelegate * delegate); @@ -299,7 +299,7 @@ class DLL_EXPORT PASESession : public Messaging::ExchangeDelegate, public Pairin /* w0s and w1s */ PASEVerifier mPASEVerifier; - uint16_t mPasscodeID = 0; + PasscodeId mPasscodeID = kDefaultCommissioningPasscodeId; uint32_t mSetupPINCode;