Skip to content

Commit

Permalink
Remove OpenBasicCommissioningWindow from lit-icd-app (#31380)
Browse files Browse the repository at this point in the history
* Remove OpenBasicCommissioningWindow from lit-icd-app

* Restyled by isort

---------

Co-authored-by: Restyled.io <commits@restyled.io>
  • Loading branch information
wqx6 and restyled-commits authored Jan 12, 2024
1 parent 1cb1543 commit e5bee96
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1673,7 +1673,6 @@ endpoint 0 {
ram attribute clusterRevision default = 1;

handle command OpenCommissioningWindow;
handle command OpenBasicCommissioningWindow;
handle command RevokeCommissioning;
}

Expand Down
8 changes: 0 additions & 8 deletions examples/lit-icd-app/lit-icd-common/lit-icd-server-app.zap
Original file line number Diff line number Diff line change
Expand Up @@ -2549,14 +2549,6 @@
"isIncoming": 1,
"isEnabled": 1
},
{
"name": "OpenBasicCommissioningWindow",
"code": 1,
"mfgCode": null,
"source": "client",
"isIncoming": 1,
"isEnabled": 1
},
{
"name": "RevokeCommissioning",
"code": 2,
Expand Down
35 changes: 26 additions & 9 deletions src/controller/python/test/test_scripts/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,12 @@
import copy
import ctypes
import faulthandler
import hashlib
import inspect
import logging
import os
import secrets
import struct
import sys
import threading
import time
Expand All @@ -41,6 +43,7 @@
from chip.crypto import p256keypair
from chip.utils import CommissioningBuildingBlocks
from cirque_restart_remote_device import restartRemoteDevice
from ecdsa import NIST256p

logger = logging.getLogger('PythonMatterControllerTEST')
logger.setLevel(logging.INFO)
Expand All @@ -53,6 +56,16 @@
logger.addHandler(sh)


def GenerateVerifier(passcode: int, salt: bytes, iterations: int) -> bytes:
ws_len = NIST256p.baselen + 8
ws = hashlib.pbkdf2_hmac('sha256', struct.pack('<I', passcode), salt, iterations, ws_len * 2)
w0 = int.from_bytes(ws[:ws_len], byteorder='big') % NIST256p.order
w1 = int.from_bytes(ws[ws_len:], byteorder='big') % NIST256p.order
L = NIST256p.generator * w1

return w0.to_bytes(NIST256p.baselen, byteorder='big') + L.to_bytes('uncompressed')


def TestFail(message, doCrash=False):
logger.fatal("Testfail: {}".format(message))

Expand Down Expand Up @@ -1424,21 +1437,25 @@ def OnValueReport(path: Attribute.TypedAttributePath, transaction: Attribute.Sub
controller 1 in container 1 while the Step2 is executed in controller 2 in container 2
'''

def TestSubscriptionResumptionCapacityStep1(self, nodeid: int, endpoint: int, subscription_capacity: int):
def TestSubscriptionResumptionCapacityStep1(self, nodeid: int, endpoint: int, passcode: int, subscription_capacity: int):
try:
# BasicInformation Cluster, NodeLabel Attribute
for i in range(subscription_capacity):
self.devCtrl.ZCLSubscribeAttribute(
"BasicInformation", "NodeLabel", nodeid, endpoint, 1, 50, keepSubscriptions=True, autoResubscribe=False)

logger.info("Send OpenBasicCommissioningWindow command on fist controller")
asyncio.run(
self.devCtrl.SendCommand(
nodeid,
0,
Clusters.AdministratorCommissioning.Commands.OpenBasicCommissioningWindow(180),
timedRequestTimeoutMs=10000
))
logger.info("Send OpenCommissioningWindow command on fist controller")
discriminator = 3840
salt = secrets.token_bytes(16)
iterations = 2000
verifier = GenerateVerifier(passcode, salt, iterations)
asyncio.run(self.devCtrl.SendCommand(
nodeid, 0, Clusters.AdministratorCommissioning.Commands.OpenCommissioningWindow(
commissioningTimeout=180,
PAKEPasscodeVerifier=verifier,
discriminator=discriminator,
iterations=iterations,
salt=salt), timedRequestTimeoutMs=10000))
return True

except Exception as ex:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ def main():
"Failed on on-network commissioing")

FailIfNot(
test.TestSubscriptionResumptionCapacityStep1(options.nodeid, TEST_ENDPOINT_ID, options.subscriptionCapacity),
test.TestSubscriptionResumptionCapacityStep1(
options.nodeid, TEST_ENDPOINT_ID, options.setuppin, options.subscriptionCapacity),
"Failed on step 1 of testing subscription resumption capacity")

timeoutTicker.stop()
Expand Down

0 comments on commit e5bee96

Please sign in to comment.