@matter/thread-br-client 0.0.1 → 0.17.5-alpha.0-20260706-fd4c49e2e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +5 -5
- package/dist/cjs/coap/CoapClient.d.ts +2 -2
- package/dist/cjs/coap/CoapClient.d.ts.map +1 -1
- package/dist/cjs/coap/CoapClient.js +9 -16
- package/dist/cjs/coap/CoapClient.js.map +1 -1
- package/dist/cjs/coap/CoapMessage.d.ts +11 -6
- package/dist/cjs/coap/CoapMessage.d.ts.map +1 -1
- package/dist/cjs/coap/CoapMessage.js +8 -5
- package/dist/cjs/coap/CoapMessage.js.map +1 -1
- package/dist/cjs/commissioner/Commissioner.d.ts.map +1 -1
- package/dist/cjs/commissioner/Commissioner.js +5 -2
- package/dist/cjs/commissioner/Commissioner.js.map +1 -1
- package/dist/cjs/commissioner/LeadKa.d.ts +3 -3
- package/dist/cjs/commissioner/LeadKa.d.ts.map +1 -1
- package/dist/cjs/commissioner/LeadKa.js +1 -1
- package/dist/cjs/commissioner/LeadKa.js.map +1 -1
- package/dist/cjs/commissioner/LeadPet.d.ts +3 -2
- package/dist/cjs/commissioner/LeadPet.d.ts.map +1 -1
- package/dist/cjs/commissioner/LeadPet.js +4 -3
- package/dist/cjs/commissioner/LeadPet.js.map +1 -1
- package/dist/cjs/credentials/ThreadCredentialsRegistry.d.ts +5 -5
- package/dist/cjs/credentials/ThreadCredentialsRegistry.d.ts.map +1 -1
- package/dist/cjs/credentials/ThreadCredentialsRegistry.js +10 -9
- package/dist/cjs/credentials/ThreadCredentialsRegistry.js.map +1 -1
- package/dist/cjs/credentials/ThreadNetworkCredentials.d.ts +4 -3
- package/dist/cjs/credentials/ThreadNetworkCredentials.d.ts.map +1 -1
- package/dist/cjs/crypto/AesCmacPrf128.d.ts +4 -14
- package/dist/cjs/crypto/AesCmacPrf128.d.ts.map +1 -1
- package/dist/cjs/crypto/AesCmacPrf128.js +7 -71
- package/dist/cjs/crypto/AesCmacPrf128.js.map +2 -2
- package/dist/cjs/crypto/Pbkdf2AesCmac.d.ts +5 -4
- package/dist/cjs/crypto/Pbkdf2AesCmac.d.ts.map +1 -1
- package/dist/cjs/crypto/Pbkdf2AesCmac.js +5 -4
- package/dist/cjs/crypto/Pbkdf2AesCmac.js.map +1 -1
- package/dist/cjs/crypto/Pskc.d.ts +4 -3
- package/dist/cjs/crypto/Pskc.d.ts.map +1 -1
- package/dist/cjs/crypto/Pskc.js +6 -5
- package/dist/cjs/crypto/Pskc.js.map +1 -1
- package/dist/cjs/crypto/index.d.ts +1 -1
- package/dist/cjs/crypto/index.d.ts.map +1 -1
- package/dist/cjs/crypto/index.js +0 -1
- package/dist/cjs/crypto/index.js.map +1 -1
- package/dist/cjs/dataset/OperationalDataset.d.ts +10 -10
- package/dist/cjs/dataset/OperationalDataset.d.ts.map +1 -1
- package/dist/cjs/dataset/OperationalDataset.js +32 -31
- package/dist/cjs/dataset/OperationalDataset.js.map +1 -1
- package/dist/cjs/dataset/SecurityPolicy.d.ts +3 -2
- package/dist/cjs/dataset/SecurityPolicy.d.ts.map +1 -1
- package/dist/cjs/dataset/SecurityPolicy.js +5 -4
- package/dist/cjs/dataset/SecurityPolicy.js.map +1 -1
- package/dist/cjs/diagnostic/DiagnosticResponse.d.ts +5 -4
- package/dist/cjs/diagnostic/DiagnosticResponse.d.ts.map +1 -1
- package/dist/cjs/diagnostic/DiagnosticSource.d.ts +2 -2
- package/dist/cjs/diagnostic/DiagnosticSource.d.ts.map +1 -1
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.d.ts +7 -3
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.d.ts.map +1 -1
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.js +48 -43
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.js.map +1 -1
- package/dist/cjs/diagnostic/connectMeshcop.d.ts.map +1 -1
- package/dist/cjs/diagnostic/connectMeshcop.js +5 -12
- package/dist/cjs/diagnostic/connectMeshcop.js.map +1 -1
- package/dist/cjs/diagnostic/errors.d.ts +1 -1
- package/dist/cjs/diagnostic/errors.d.ts.map +1 -1
- package/dist/cjs/discovery/BorderRouterRegistry.d.ts.map +1 -1
- package/dist/cjs/discovery/BorderRouterRegistry.js +2 -4
- package/dist/cjs/discovery/BorderRouterRegistry.js.map +1 -1
- package/dist/cjs/dtls/channel/DtlsConnectOpts.d.ts +3 -3
- package/dist/cjs/dtls/channel/DtlsConnectOpts.d.ts.map +1 -1
- package/dist/cjs/dtls/channel/NobleDtlsChannel.d.ts.map +1 -1
- package/dist/cjs/dtls/channel/NobleDtlsChannel.js +89 -58
- package/dist/cjs/dtls/channel/NobleDtlsChannel.js.map +1 -1
- package/dist/cjs/dtls/ecjpake/EcJpakePms.d.ts +5 -4
- package/dist/cjs/dtls/ecjpake/EcJpakePms.d.ts.map +1 -1
- package/dist/cjs/dtls/ecjpake/EcJpakePms.js +4 -5
- package/dist/cjs/dtls/ecjpake/EcJpakePms.js.map +1 -1
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.d.ts +16 -15
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.d.ts.map +1 -1
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.js +40 -29
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.js.map +1 -1
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.d.ts +10 -9
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.d.ts.map +1 -1
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.js +17 -13
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.js.map +1 -1
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.d.ts +2 -1
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.js +3 -1
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.js.map +1 -1
- package/dist/cjs/dtls/handshake/ClientHelloMessage.d.ts +27 -4
- package/dist/cjs/dtls/handshake/ClientHelloMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ClientHelloMessage.js +3 -1
- package/dist/cjs/dtls/handshake/ClientHelloMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.d.ts +2 -1
- package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/DtlsClient.d.ts +9 -6
- package/dist/cjs/dtls/handshake/DtlsClient.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/DtlsClient.js +99 -77
- package/dist/cjs/dtls/handshake/DtlsClient.js.map +1 -1
- package/dist/cjs/dtls/handshake/FinishedMessage.d.ts +10 -3
- package/dist/cjs/dtls/handshake/FinishedMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/FinishedMessage.js +4 -2
- package/dist/cjs/dtls/handshake/FinishedMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/HandshakeMessage.d.ts +5 -4
- package/dist/cjs/dtls/handshake/HandshakeMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/HandshakeMessage.js +13 -11
- package/dist/cjs/dtls/handshake/HandshakeMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.d.ts +19 -2
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.js +3 -1
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.d.ts +2 -1
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.js +3 -2
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/ServerHelloMessage.d.ts +4 -3
- package/dist/cjs/dtls/handshake/ServerHelloMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ServerHelloMessage.js +3 -1
- package/dist/cjs/dtls/handshake/ServerHelloMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.d.ts +2 -1
- package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.js.map +1 -1
- package/dist/cjs/dtls/prf/HandshakeTranscript.d.ts +7 -5
- package/dist/cjs/dtls/prf/HandshakeTranscript.d.ts.map +1 -1
- package/dist/cjs/dtls/prf/HandshakeTranscript.js +14 -9
- package/dist/cjs/dtls/prf/HandshakeTranscript.js.map +1 -1
- package/dist/cjs/dtls/prf/TlsPrf.d.ts +23 -22
- package/dist/cjs/dtls/prf/TlsPrf.d.ts.map +1 -1
- package/dist/cjs/dtls/prf/TlsPrf.js +33 -30
- package/dist/cjs/dtls/prf/TlsPrf.js.map +1 -1
- package/dist/cjs/dtls/record/AesCcm8.d.ts +13 -12
- package/dist/cjs/dtls/record/AesCcm8.d.ts.map +1 -1
- package/dist/cjs/dtls/record/AesCcm8.js +12 -34
- package/dist/cjs/dtls/record/AesCcm8.js.map +1 -1
- package/dist/cjs/dtls/record/DtlsCipherState.d.ts +11 -10
- package/dist/cjs/dtls/record/DtlsCipherState.d.ts.map +1 -1
- package/dist/cjs/dtls/record/DtlsCipherState.js +10 -6
- package/dist/cjs/dtls/record/DtlsCipherState.js.map +1 -1
- package/dist/cjs/dtls/record/DtlsRecord.d.ts +10 -10
- package/dist/cjs/dtls/record/DtlsRecord.d.ts.map +1 -1
- package/dist/cjs/dtls/record/DtlsRecord.js +10 -8
- package/dist/cjs/dtls/record/DtlsRecord.js.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestCapability.d.ts +3 -4
- package/dist/cjs/otbr-rest/OtbrRestCapability.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestClient.d.ts +27 -8
- package/dist/cjs/otbr-rest/OtbrRestClient.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestClient.js +50 -20
- package/dist/cjs/otbr-rest/OtbrRestClient.js.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.d.ts +2 -1
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.js +3 -3
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.js.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestProbe.d.ts +6 -4
- package/dist/cjs/otbr-rest/OtbrRestProbe.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestProbe.js +11 -43
- package/dist/cjs/otbr-rest/OtbrRestProbe.js.map +1 -1
- package/dist/cjs/otbr-rest/caseNormalizer.d.ts +7 -0
- package/dist/cjs/otbr-rest/caseNormalizer.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/caseNormalizer.js +11 -0
- package/dist/cjs/otbr-rest/caseNormalizer.js.map +1 -1
- package/dist/cjs/otbr-rest/parseHexBytes.d.ts +22 -0
- package/dist/cjs/otbr-rest/parseHexBytes.d.ts.map +1 -0
- package/dist/cjs/otbr-rest/parseHexBytes.js +50 -0
- package/dist/cjs/otbr-rest/parseHexBytes.js.map +6 -0
- package/dist/cjs/otbr-rest/translation.d.ts +2 -1
- package/dist/cjs/otbr-rest/translation.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/translation.js +20 -22
- package/dist/cjs/otbr-rest/translation.js.map +1 -1
- package/dist/cjs/selection/selectBr.d.ts +8 -4
- package/dist/cjs/selection/selectBr.d.ts.map +1 -1
- package/dist/cjs/selection/selectBr.js +6 -5
- package/dist/cjs/selection/selectBr.js.map +1 -1
- package/dist/cjs/selection/withExtPanIdLock.d.ts +2 -1
- package/dist/cjs/selection/withExtPanIdLock.d.ts.map +1 -1
- package/dist/cjs/selection/withExtPanIdLock.js.map +1 -1
- package/dist/cjs/tlv/BasicTlvCodec.d.ts +4 -4
- package/dist/cjs/tlv/BasicTlvCodec.d.ts.map +1 -1
- package/dist/cjs/tlv/BasicTlvCodec.js +13 -11
- package/dist/cjs/tlv/BasicTlvCodec.js.map +1 -1
- package/dist/cjs/tlv/NetworkDiagnosticTlv.d.ts +3 -2
- package/dist/cjs/tlv/NetworkDiagnosticTlv.d.ts.map +1 -1
- package/dist/cjs/tlv/NetworkDiagnosticTlv.js.map +1 -1
- package/dist/cjs/tlv/TypeListTlv.d.ts +3 -2
- package/dist/cjs/tlv/TypeListTlv.d.ts.map +1 -1
- package/dist/cjs/tlv/TypeListTlv.js +1 -1
- package/dist/cjs/tlv/TypeListTlv.js.map +1 -1
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.d.ts +3 -2
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.js +5 -3
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.js.map +1 -1
- package/dist/cjs/tlv/diag/ChildTable.d.ts +3 -2
- package/dist/cjs/tlv/diag/ChildTable.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/ChildTable.js +7 -6
- package/dist/cjs/tlv/diag/ChildTable.js.map +1 -1
- package/dist/cjs/tlv/diag/Connectivity.d.ts +3 -2
- package/dist/cjs/tlv/diag/Connectivity.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Connectivity.js +14 -14
- package/dist/cjs/tlv/diag/Connectivity.js.map +1 -1
- package/dist/cjs/tlv/diag/Ipv6AddressList.d.ts +3 -2
- package/dist/cjs/tlv/diag/Ipv6AddressList.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Ipv6AddressList.js +6 -5
- package/dist/cjs/tlv/diag/Ipv6AddressList.js.map +1 -1
- package/dist/cjs/tlv/diag/LeaderData.d.ts +3 -2
- package/dist/cjs/tlv/diag/LeaderData.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/LeaderData.js +8 -7
- package/dist/cjs/tlv/diag/LeaderData.js.map +1 -1
- package/dist/cjs/tlv/diag/MacCounters.d.ts +3 -2
- package/dist/cjs/tlv/diag/MacCounters.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/MacCounters.js +12 -11
- package/dist/cjs/tlv/diag/MacCounters.js.map +1 -1
- package/dist/cjs/tlv/diag/MleCounters.d.ts +3 -2
- package/dist/cjs/tlv/diag/MleCounters.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/MleCounters.js +18 -17
- package/dist/cjs/tlv/diag/MleCounters.js.map +1 -1
- package/dist/cjs/tlv/diag/Mode.d.ts +3 -2
- package/dist/cjs/tlv/diag/Mode.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Mode.js +5 -3
- package/dist/cjs/tlv/diag/Mode.js.map +1 -1
- package/dist/cjs/tlv/diag/NetworkData.d.ts +7 -6
- package/dist/cjs/tlv/diag/NetworkData.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/NetworkData.js +23 -18
- package/dist/cjs/tlv/diag/NetworkData.js.map +1 -1
- package/dist/cjs/tlv/diag/Primitives.d.ts +15 -14
- package/dist/cjs/tlv/diag/Primitives.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Primitives.js +25 -19
- package/dist/cjs/tlv/diag/Primitives.js.map +1 -1
- package/dist/cjs/tlv/diag/Route64.d.ts +3 -2
- package/dist/cjs/tlv/diag/Route64.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Route64.js +8 -7
- package/dist/cjs/tlv/diag/Route64.js.map +1 -1
- package/dist/cjs/tlv/diag/RouterNeighbor.d.ts +3 -2
- package/dist/cjs/tlv/diag/RouterNeighbor.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/RouterNeighbor.js +13 -11
- package/dist/cjs/tlv/diag/RouterNeighbor.js.map +1 -1
- package/dist/cjs/tlv/diag/Timeout.d.ts +3 -2
- package/dist/cjs/tlv/diag/Timeout.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Timeout.js +4 -3
- package/dist/cjs/tlv/diag/Timeout.js.map +1 -1
- package/dist/cjs/tlv/diag/VendorInfo.d.ts +13 -12
- package/dist/cjs/tlv/diag/VendorInfo.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/VendorInfo.js +4 -3
- package/dist/cjs/tlv/diag/VendorInfo.js.map +1 -1
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.d.ts +3 -2
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.d.ts.map +1 -1
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.js +7 -4
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.js.map +1 -1
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.d.ts +4 -3
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.d.ts.map +1 -1
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.js +9 -7
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.js.map +1 -1
- package/dist/cjs/util/meshLocalAddr.d.ts +5 -4
- package/dist/cjs/util/meshLocalAddr.d.ts.map +1 -1
- package/dist/cjs/util/meshLocalAddr.js +6 -4
- package/dist/cjs/util/meshLocalAddr.js.map +1 -1
- package/dist/esm/coap/CoapClient.d.ts +2 -2
- package/dist/esm/coap/CoapClient.d.ts.map +1 -1
- package/dist/esm/coap/CoapClient.js +11 -17
- package/dist/esm/coap/CoapClient.js.map +1 -1
- package/dist/esm/coap/CoapMessage.d.ts +11 -6
- package/dist/esm/coap/CoapMessage.d.ts.map +1 -1
- package/dist/esm/coap/CoapMessage.js +8 -5
- package/dist/esm/coap/CoapMessage.js.map +1 -1
- package/dist/esm/commissioner/Commissioner.d.ts.map +1 -1
- package/dist/esm/commissioner/Commissioner.js +5 -2
- package/dist/esm/commissioner/Commissioner.js.map +1 -1
- package/dist/esm/commissioner/LeadKa.d.ts +3 -3
- package/dist/esm/commissioner/LeadKa.d.ts.map +1 -1
- package/dist/esm/commissioner/LeadKa.js +2 -2
- package/dist/esm/commissioner/LeadKa.js.map +1 -1
- package/dist/esm/commissioner/LeadPet.d.ts +3 -2
- package/dist/esm/commissioner/LeadPet.d.ts.map +1 -1
- package/dist/esm/commissioner/LeadPet.js +4 -3
- package/dist/esm/commissioner/LeadPet.js.map +1 -1
- package/dist/esm/credentials/ThreadCredentialsRegistry.d.ts +5 -5
- package/dist/esm/credentials/ThreadCredentialsRegistry.d.ts.map +1 -1
- package/dist/esm/credentials/ThreadCredentialsRegistry.js +10 -9
- package/dist/esm/credentials/ThreadCredentialsRegistry.js.map +1 -1
- package/dist/esm/credentials/ThreadNetworkCredentials.d.ts +4 -3
- package/dist/esm/credentials/ThreadNetworkCredentials.d.ts.map +1 -1
- package/dist/esm/crypto/AesCmacPrf128.d.ts +4 -14
- package/dist/esm/crypto/AesCmacPrf128.d.ts.map +1 -1
- package/dist/esm/crypto/AesCmacPrf128.js +8 -72
- package/dist/esm/crypto/AesCmacPrf128.js.map +2 -2
- package/dist/esm/crypto/Pbkdf2AesCmac.d.ts +5 -4
- package/dist/esm/crypto/Pbkdf2AesCmac.d.ts.map +1 -1
- package/dist/esm/crypto/Pbkdf2AesCmac.js +6 -5
- package/dist/esm/crypto/Pbkdf2AesCmac.js.map +1 -1
- package/dist/esm/crypto/Pskc.d.ts +4 -3
- package/dist/esm/crypto/Pskc.d.ts.map +1 -1
- package/dist/esm/crypto/Pskc.js +7 -6
- package/dist/esm/crypto/Pskc.js.map +1 -1
- package/dist/esm/crypto/index.d.ts +1 -1
- package/dist/esm/crypto/index.d.ts.map +1 -1
- package/dist/esm/crypto/index.js +1 -2
- package/dist/esm/crypto/index.js.map +1 -1
- package/dist/esm/dataset/OperationalDataset.d.ts +10 -10
- package/dist/esm/dataset/OperationalDataset.d.ts.map +1 -1
- package/dist/esm/dataset/OperationalDataset.js +32 -31
- package/dist/esm/dataset/OperationalDataset.js.map +1 -1
- package/dist/esm/dataset/SecurityPolicy.d.ts +3 -2
- package/dist/esm/dataset/SecurityPolicy.d.ts.map +1 -1
- package/dist/esm/dataset/SecurityPolicy.js +6 -5
- package/dist/esm/dataset/SecurityPolicy.js.map +1 -1
- package/dist/esm/diagnostic/DiagnosticResponse.d.ts +5 -4
- package/dist/esm/diagnostic/DiagnosticResponse.d.ts.map +1 -1
- package/dist/esm/diagnostic/DiagnosticSource.d.ts +2 -2
- package/dist/esm/diagnostic/DiagnosticSource.d.ts.map +1 -1
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.d.ts +7 -3
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.d.ts.map +1 -1
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.js +49 -43
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.js.map +1 -1
- package/dist/esm/diagnostic/connectMeshcop.d.ts.map +1 -1
- package/dist/esm/diagnostic/connectMeshcop.js +6 -13
- package/dist/esm/diagnostic/connectMeshcop.js.map +1 -1
- package/dist/esm/diagnostic/errors.d.ts +1 -1
- package/dist/esm/diagnostic/errors.d.ts.map +1 -1
- package/dist/esm/discovery/BorderRouterRegistry.d.ts.map +1 -1
- package/dist/esm/discovery/BorderRouterRegistry.js +2 -4
- package/dist/esm/discovery/BorderRouterRegistry.js.map +1 -1
- package/dist/esm/dtls/channel/DtlsConnectOpts.d.ts +3 -3
- package/dist/esm/dtls/channel/DtlsConnectOpts.d.ts.map +1 -1
- package/dist/esm/dtls/channel/NobleDtlsChannel.d.ts.map +1 -1
- package/dist/esm/dtls/channel/NobleDtlsChannel.js +90 -58
- package/dist/esm/dtls/channel/NobleDtlsChannel.js.map +1 -1
- package/dist/esm/dtls/ecjpake/EcJpakePms.d.ts +5 -4
- package/dist/esm/dtls/ecjpake/EcJpakePms.d.ts.map +1 -1
- package/dist/esm/dtls/ecjpake/EcJpakePms.js +5 -6
- package/dist/esm/dtls/ecjpake/EcJpakePms.js.map +1 -1
- package/dist/esm/dtls/ecjpake/EcJpakeRound.d.ts +16 -15
- package/dist/esm/dtls/ecjpake/EcJpakeRound.d.ts.map +1 -1
- package/dist/esm/dtls/ecjpake/EcJpakeRound.js +41 -30
- package/dist/esm/dtls/ecjpake/EcJpakeRound.js.map +1 -1
- package/dist/esm/dtls/ecjpake/SchnorrZkp.d.ts +10 -9
- package/dist/esm/dtls/ecjpake/SchnorrZkp.d.ts.map +1 -1
- package/dist/esm/dtls/ecjpake/SchnorrZkp.js +18 -14
- package/dist/esm/dtls/ecjpake/SchnorrZkp.js.map +1 -1
- package/dist/esm/dtls/handshake/ChangeCipherSpec.d.ts +2 -1
- package/dist/esm/dtls/handshake/ChangeCipherSpec.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ChangeCipherSpec.js +3 -1
- package/dist/esm/dtls/handshake/ChangeCipherSpec.js.map +1 -1
- package/dist/esm/dtls/handshake/ClientHelloMessage.d.ts +27 -4
- package/dist/esm/dtls/handshake/ClientHelloMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ClientHelloMessage.js +4 -2
- package/dist/esm/dtls/handshake/ClientHelloMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.d.ts +2 -1
- package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/DtlsClient.d.ts +9 -6
- package/dist/esm/dtls/handshake/DtlsClient.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/DtlsClient.js +100 -78
- package/dist/esm/dtls/handshake/DtlsClient.js.map +1 -1
- package/dist/esm/dtls/handshake/FinishedMessage.d.ts +10 -3
- package/dist/esm/dtls/handshake/FinishedMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/FinishedMessage.js +5 -3
- package/dist/esm/dtls/handshake/FinishedMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/HandshakeMessage.d.ts +5 -4
- package/dist/esm/dtls/handshake/HandshakeMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/HandshakeMessage.js +14 -12
- package/dist/esm/dtls/handshake/HandshakeMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.d.ts +19 -2
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.js +3 -1
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.d.ts +2 -1
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.js +3 -2
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/ServerHelloMessage.d.ts +4 -3
- package/dist/esm/dtls/handshake/ServerHelloMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ServerHelloMessage.js +3 -1
- package/dist/esm/dtls/handshake/ServerHelloMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.d.ts +2 -1
- package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.js.map +1 -1
- package/dist/esm/dtls/prf/HandshakeTranscript.d.ts +7 -5
- package/dist/esm/dtls/prf/HandshakeTranscript.d.ts.map +1 -1
- package/dist/esm/dtls/prf/HandshakeTranscript.js +15 -10
- package/dist/esm/dtls/prf/HandshakeTranscript.js.map +1 -1
- package/dist/esm/dtls/prf/TlsPrf.d.ts +23 -22
- package/dist/esm/dtls/prf/TlsPrf.d.ts.map +1 -1
- package/dist/esm/dtls/prf/TlsPrf.js +34 -31
- package/dist/esm/dtls/prf/TlsPrf.js.map +1 -1
- package/dist/esm/dtls/record/AesCcm8.d.ts +13 -12
- package/dist/esm/dtls/record/AesCcm8.d.ts.map +1 -1
- package/dist/esm/dtls/record/AesCcm8.js +13 -35
- package/dist/esm/dtls/record/AesCcm8.js.map +1 -1
- package/dist/esm/dtls/record/DtlsCipherState.d.ts +11 -10
- package/dist/esm/dtls/record/DtlsCipherState.d.ts.map +1 -1
- package/dist/esm/dtls/record/DtlsCipherState.js +11 -7
- package/dist/esm/dtls/record/DtlsCipherState.js.map +1 -1
- package/dist/esm/dtls/record/DtlsRecord.d.ts +10 -10
- package/dist/esm/dtls/record/DtlsRecord.d.ts.map +1 -1
- package/dist/esm/dtls/record/DtlsRecord.js +11 -9
- package/dist/esm/dtls/record/DtlsRecord.js.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestCapability.d.ts +3 -4
- package/dist/esm/otbr-rest/OtbrRestCapability.d.ts.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestClient.d.ts +27 -8
- package/dist/esm/otbr-rest/OtbrRestClient.d.ts.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestClient.js +51 -21
- package/dist/esm/otbr-rest/OtbrRestClient.js.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.d.ts +2 -1
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.d.ts.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.js +4 -4
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.js.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestProbe.d.ts +6 -4
- package/dist/esm/otbr-rest/OtbrRestProbe.d.ts.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestProbe.js +12 -44
- package/dist/esm/otbr-rest/OtbrRestProbe.js.map +1 -1
- package/dist/esm/otbr-rest/caseNormalizer.d.ts +7 -0
- package/dist/esm/otbr-rest/caseNormalizer.d.ts.map +1 -1
- package/dist/esm/otbr-rest/caseNormalizer.js +11 -0
- package/dist/esm/otbr-rest/caseNormalizer.js.map +1 -1
- package/dist/esm/otbr-rest/parseHexBytes.d.ts +22 -0
- package/dist/esm/otbr-rest/parseHexBytes.d.ts.map +1 -0
- package/dist/esm/otbr-rest/parseHexBytes.js +30 -0
- package/dist/esm/otbr-rest/parseHexBytes.js.map +6 -0
- package/dist/esm/otbr-rest/translation.d.ts +2 -1
- package/dist/esm/otbr-rest/translation.d.ts.map +1 -1
- package/dist/esm/otbr-rest/translation.js +16 -18
- package/dist/esm/otbr-rest/translation.js.map +1 -1
- package/dist/esm/selection/selectBr.d.ts +8 -4
- package/dist/esm/selection/selectBr.d.ts.map +1 -1
- package/dist/esm/selection/selectBr.js +6 -5
- package/dist/esm/selection/selectBr.js.map +1 -1
- package/dist/esm/selection/withExtPanIdLock.d.ts +2 -1
- package/dist/esm/selection/withExtPanIdLock.d.ts.map +1 -1
- package/dist/esm/selection/withExtPanIdLock.js.map +1 -1
- package/dist/esm/tlv/BasicTlvCodec.d.ts +4 -4
- package/dist/esm/tlv/BasicTlvCodec.d.ts.map +1 -1
- package/dist/esm/tlv/BasicTlvCodec.js +14 -12
- package/dist/esm/tlv/BasicTlvCodec.js.map +1 -1
- package/dist/esm/tlv/NetworkDiagnosticTlv.d.ts +3 -2
- package/dist/esm/tlv/NetworkDiagnosticTlv.d.ts.map +1 -1
- package/dist/esm/tlv/NetworkDiagnosticTlv.js.map +1 -1
- package/dist/esm/tlv/TypeListTlv.d.ts +3 -2
- package/dist/esm/tlv/TypeListTlv.d.ts.map +1 -1
- package/dist/esm/tlv/TypeListTlv.js +2 -2
- package/dist/esm/tlv/TypeListTlv.js.map +1 -1
- package/dist/esm/tlv/diag/ChildIpv6AddressList.d.ts +3 -2
- package/dist/esm/tlv/diag/ChildIpv6AddressList.d.ts.map +1 -1
- package/dist/esm/tlv/diag/ChildIpv6AddressList.js +5 -3
- package/dist/esm/tlv/diag/ChildIpv6AddressList.js.map +1 -1
- package/dist/esm/tlv/diag/ChildTable.d.ts +3 -2
- package/dist/esm/tlv/diag/ChildTable.d.ts.map +1 -1
- package/dist/esm/tlv/diag/ChildTable.js +8 -7
- package/dist/esm/tlv/diag/ChildTable.js.map +1 -1
- package/dist/esm/tlv/diag/Connectivity.d.ts +3 -2
- package/dist/esm/tlv/diag/Connectivity.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Connectivity.js +14 -14
- package/dist/esm/tlv/diag/Connectivity.js.map +1 -1
- package/dist/esm/tlv/diag/Ipv6AddressList.d.ts +3 -2
- package/dist/esm/tlv/diag/Ipv6AddressList.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Ipv6AddressList.js +7 -6
- package/dist/esm/tlv/diag/Ipv6AddressList.js.map +1 -1
- package/dist/esm/tlv/diag/LeaderData.d.ts +3 -2
- package/dist/esm/tlv/diag/LeaderData.d.ts.map +1 -1
- package/dist/esm/tlv/diag/LeaderData.js +9 -8
- package/dist/esm/tlv/diag/LeaderData.js.map +1 -1
- package/dist/esm/tlv/diag/MacCounters.d.ts +3 -2
- package/dist/esm/tlv/diag/MacCounters.d.ts.map +1 -1
- package/dist/esm/tlv/diag/MacCounters.js +13 -12
- package/dist/esm/tlv/diag/MacCounters.js.map +1 -1
- package/dist/esm/tlv/diag/MleCounters.d.ts +3 -2
- package/dist/esm/tlv/diag/MleCounters.d.ts.map +1 -1
- package/dist/esm/tlv/diag/MleCounters.js +19 -18
- package/dist/esm/tlv/diag/MleCounters.js.map +1 -1
- package/dist/esm/tlv/diag/Mode.d.ts +3 -2
- package/dist/esm/tlv/diag/Mode.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Mode.js +5 -3
- package/dist/esm/tlv/diag/Mode.js.map +1 -1
- package/dist/esm/tlv/diag/NetworkData.d.ts +7 -6
- package/dist/esm/tlv/diag/NetworkData.d.ts.map +1 -1
- package/dist/esm/tlv/diag/NetworkData.js +23 -18
- package/dist/esm/tlv/diag/NetworkData.js.map +1 -1
- package/dist/esm/tlv/diag/Primitives.d.ts +15 -14
- package/dist/esm/tlv/diag/Primitives.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Primitives.js +26 -20
- package/dist/esm/tlv/diag/Primitives.js.map +1 -1
- package/dist/esm/tlv/diag/Route64.d.ts +3 -2
- package/dist/esm/tlv/diag/Route64.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Route64.js +9 -8
- package/dist/esm/tlv/diag/Route64.js.map +1 -1
- package/dist/esm/tlv/diag/RouterNeighbor.d.ts +3 -2
- package/dist/esm/tlv/diag/RouterNeighbor.d.ts.map +1 -1
- package/dist/esm/tlv/diag/RouterNeighbor.js +13 -11
- package/dist/esm/tlv/diag/RouterNeighbor.js.map +1 -1
- package/dist/esm/tlv/diag/Timeout.d.ts +3 -2
- package/dist/esm/tlv/diag/Timeout.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Timeout.js +5 -4
- package/dist/esm/tlv/diag/Timeout.js.map +1 -1
- package/dist/esm/tlv/diag/VendorInfo.d.ts +13 -12
- package/dist/esm/tlv/diag/VendorInfo.d.ts.map +1 -1
- package/dist/esm/tlv/diag/VendorInfo.js +5 -4
- package/dist/esm/tlv/diag/VendorInfo.js.map +1 -1
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.d.ts +3 -2
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.d.ts.map +1 -1
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.js +7 -4
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.js.map +1 -1
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.d.ts +4 -3
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.d.ts.map +1 -1
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.js +10 -8
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.js.map +1 -1
- package/dist/esm/util/meshLocalAddr.d.ts +5 -4
- package/dist/esm/util/meshLocalAddr.d.ts.map +1 -1
- package/dist/esm/util/meshLocalAddr.js +7 -5
- package/dist/esm/util/meshLocalAddr.js.map +1 -1
- package/package.json +5 -5
- package/src/coap/CoapClient.ts +13 -20
- package/src/coap/CoapMessage.ts +17 -9
- package/src/commissioner/Commissioner.ts +5 -2
- package/src/commissioner/LeadKa.ts +4 -4
- package/src/commissioner/LeadPet.ts +6 -5
- package/src/credentials/ThreadCredentialsRegistry.ts +14 -13
- package/src/credentials/ThreadNetworkCredentials.ts +5 -3
- package/src/crypto/AesCmacPrf128.ts +10 -87
- package/src/crypto/Pbkdf2AesCmac.ts +14 -10
- package/src/crypto/Pskc.ts +7 -6
- package/src/crypto/index.ts +1 -1
- package/src/dataset/OperationalDataset.ts +48 -47
- package/src/dataset/SecurityPolicy.ts +8 -7
- package/src/diagnostic/DiagnosticResponse.ts +5 -4
- package/src/diagnostic/DiagnosticSource.ts +2 -2
- package/src/diagnostic/MeshCopDiagnosticSource.ts +80 -64
- package/src/diagnostic/connectMeshcop.ts +6 -14
- package/src/diagnostic/errors.ts +1 -1
- package/src/discovery/BorderRouterRegistry.ts +2 -4
- package/src/dtls/channel/DtlsConnectOpts.ts +3 -3
- package/src/dtls/channel/NobleDtlsChannel.ts +96 -60
- package/src/dtls/ecjpake/EcJpakePms.ts +5 -6
- package/src/dtls/ecjpake/EcJpakeRound.ts +57 -37
- package/src/dtls/ecjpake/SchnorrZkp.ts +43 -30
- package/src/dtls/handshake/ChangeCipherSpec.ts +3 -1
- package/src/dtls/handshake/ClientHelloMessage.ts +8 -6
- package/src/dtls/handshake/ClientKeyExchangeMessage.ts +2 -1
- package/src/dtls/handshake/DtlsClient.ts +119 -95
- package/src/dtls/handshake/FinishedMessage.ts +5 -3
- package/src/dtls/handshake/HandshakeMessage.ts +18 -16
- package/src/dtls/handshake/HelloVerifyRequestMessage.ts +3 -1
- package/src/dtls/handshake/ServerHelloDoneMessage.ts +5 -3
- package/src/dtls/handshake/ServerHelloMessage.ts +5 -3
- package/src/dtls/handshake/ServerKeyExchangeMessage.ts +2 -1
- package/src/dtls/prf/HandshakeTranscript.ts +18 -11
- package/src/dtls/prf/TlsPrf.ts +68 -54
- package/src/dtls/record/AesCcm8.ts +23 -49
- package/src/dtls/record/DtlsCipherState.ts +20 -16
- package/src/dtls/record/DtlsRecord.ts +17 -15
- package/src/otbr-rest/OtbrRestCapability.ts +4 -4
- package/src/otbr-rest/OtbrRestClient.ts +64 -29
- package/src/otbr-rest/OtbrRestDiagnosticSource.ts +5 -5
- package/src/otbr-rest/OtbrRestProbe.ts +12 -47
- package/src/otbr-rest/caseNormalizer.ts +17 -0
- package/src/otbr-rest/parseHexBytes.ts +47 -0
- package/src/otbr-rest/translation.ts +24 -22
- package/src/selection/selectBr.ts +26 -13
- package/src/selection/withExtPanIdLock.ts +1 -1
- package/src/tlv/BasicTlvCodec.ts +17 -15
- package/src/tlv/NetworkDiagnosticTlv.ts +3 -2
- package/src/tlv/TypeListTlv.ts +4 -4
- package/src/tlv/diag/ChildIpv6AddressList.ts +8 -5
- package/src/tlv/diag/ChildTable.ts +10 -9
- package/src/tlv/diag/Connectivity.ts +16 -16
- package/src/tlv/diag/Ipv6AddressList.ts +9 -8
- package/src/tlv/diag/LeaderData.ts +11 -10
- package/src/tlv/diag/MacCounters.ts +15 -14
- package/src/tlv/diag/MleCounters.ts +21 -20
- package/src/tlv/diag/Mode.ts +7 -5
- package/src/tlv/diag/NetworkData.ts +31 -26
- package/src/tlv/diag/Primitives.ts +42 -36
- package/src/tlv/diag/Route64.ts +11 -10
- package/src/tlv/diag/RouterNeighbor.ts +16 -13
- package/src/tlv/diag/Timeout.ts +7 -6
- package/src/tlv/diag/VendorInfo.ts +19 -18
- package/src/tlv/meshcop/Ip6AddressTlv.ts +9 -6
- package/src/tlv/meshcop/UdpEncapsulationTlv.ts +13 -11
- package/src/util/meshLocalAddr.ts +10 -8
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { Observable } from "@matter/general";
|
|
6
|
+
import { Bytes, Observable } from "@matter/general";
|
|
7
7
|
import type { OperationalDataset } from "../dataset/OperationalDataset.js";
|
|
8
8
|
import type { ThreadNetworkCredentials } from "./ThreadNetworkCredentials.js";
|
|
9
9
|
/**
|
|
@@ -17,7 +17,7 @@ export declare class ThreadCredentialsRegistry {
|
|
|
17
17
|
#private;
|
|
18
18
|
readonly events: {
|
|
19
19
|
registered: Observable<[creds: ThreadNetworkCredentials], void>;
|
|
20
|
-
unregistered: Observable<[extPanId:
|
|
20
|
+
unregistered: Observable<[extPanId: AllowSharedBufferSource], void>;
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
23
23
|
* Register credentials extracted from a parsed Operational Dataset.
|
|
@@ -41,9 +41,9 @@ export declare class ThreadCredentialsRegistry {
|
|
|
41
41
|
*/
|
|
42
42
|
registerCredentials(creds: ThreadNetworkCredentials): void;
|
|
43
43
|
/** Remove an entry. No-op if absent. */
|
|
44
|
-
unregister(extPanId:
|
|
45
|
-
/** Lookup by extPanId. Comparison is by
|
|
46
|
-
getCredentials(extPanId:
|
|
44
|
+
unregister(extPanId: Bytes): void;
|
|
45
|
+
/** Lookup by extPanId. Comparison is by byte equality, not reference. */
|
|
46
|
+
getCredentials(extPanId: Bytes): ThreadNetworkCredentials | undefined;
|
|
47
47
|
/** Defensive snapshot — caller cannot mutate the registry through it. */
|
|
48
48
|
list(): ReadonlyArray<ThreadNetworkCredentials>;
|
|
49
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadCredentialsRegistry.d.ts","sourceRoot":"","sources":["../../../src/credentials/ThreadCredentialsRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"ThreadCredentialsRegistry.d.ts","sourceRoot":"","sources":["../../../src/credentials/ThreadCredentialsRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAuB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E;;;;;;GAMG;AACH,qBAAa,yBAAyB;;IAElC,QAAQ,CAAC,MAAM;QACX,UAAU;QACV,YAAY;MACd;IAEF;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAiB1C;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAWzD;IAED,wCAAwC;IACxC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,CAKhC;IAED,yEAAyE;IACzE,cAAc,CAAC,QAAQ,EAAE,KAAK,GAAG,wBAAwB,GAAG,SAAS,CAEpE;IAED,yEAAyE;IACzE,IAAI,IAAI,aAAa,CAAC,wBAAwB,CAAC,CAE9C;CACJ"}
|
|
@@ -72,10 +72,10 @@ class ThreadCredentialsRegistry {
|
|
|
72
72
|
*/
|
|
73
73
|
registerCredentials(creds) {
|
|
74
74
|
const stored = {
|
|
75
|
-
extPanId: creds.extPanId.slice(),
|
|
75
|
+
extPanId: import_general.Bytes.of(creds.extPanId).slice(),
|
|
76
76
|
networkName: creds.networkName,
|
|
77
|
-
pskc: creds.pskc.slice(),
|
|
78
|
-
meshLocalPrefix: creds.meshLocalPrefix
|
|
77
|
+
pskc: import_general.Bytes.of(creds.pskc).slice(),
|
|
78
|
+
meshLocalPrefix: creds.meshLocalPrefix === void 0 ? void 0 : import_general.Bytes.of(creds.meshLocalPrefix).slice(),
|
|
79
79
|
activeTimestamp: creds.activeTimestamp
|
|
80
80
|
};
|
|
81
81
|
this.#byExtPanId.set(keyOf(stored.extPanId), stored);
|
|
@@ -86,9 +86,9 @@ class ThreadCredentialsRegistry {
|
|
|
86
86
|
const key = keyOf(extPanId);
|
|
87
87
|
if (!this.#byExtPanId.has(key)) return;
|
|
88
88
|
this.#byExtPanId.delete(key);
|
|
89
|
-
this.events.unregistered.emit(extPanId.slice());
|
|
89
|
+
this.events.unregistered.emit(import_general.Bytes.of(extPanId).slice());
|
|
90
90
|
}
|
|
91
|
-
/** Lookup by extPanId. Comparison is by
|
|
91
|
+
/** Lookup by extPanId. Comparison is by byte equality, not reference. */
|
|
92
92
|
getCredentials(extPanId) {
|
|
93
93
|
return this.#byExtPanId.get(keyOf(extPanId));
|
|
94
94
|
}
|
|
@@ -102,14 +102,15 @@ function keyOf(extPanId) {
|
|
|
102
102
|
}
|
|
103
103
|
function snapshot(creds) {
|
|
104
104
|
return {
|
|
105
|
-
extPanId: creds.extPanId.slice(),
|
|
105
|
+
extPanId: import_general.Bytes.of(creds.extPanId).slice(),
|
|
106
106
|
networkName: creds.networkName,
|
|
107
|
-
pskc: creds.pskc.slice(),
|
|
108
|
-
meshLocalPrefix: creds.meshLocalPrefix
|
|
107
|
+
pskc: import_general.Bytes.of(creds.pskc).slice(),
|
|
108
|
+
meshLocalPrefix: creds.meshLocalPrefix === void 0 ? void 0 : import_general.Bytes.of(creds.meshLocalPrefix).slice(),
|
|
109
109
|
activeTimestamp: creds.activeTimestamp
|
|
110
110
|
};
|
|
111
111
|
}
|
|
112
|
-
function bytesToBigint(
|
|
112
|
+
function bytesToBigint(input) {
|
|
113
|
+
const bytes = import_general.Bytes.of(input);
|
|
113
114
|
let result = 0n;
|
|
114
115
|
for (const b of bytes) {
|
|
115
116
|
result = result << 8n | BigInt(b);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/credentials/ThreadCredentialsRegistry.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAuD;AANvD;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,0BAA0B;AAAA,EAC1B,cAAc,oBAAI,IAAsC;AAAA,EACxD,SAAS;AAAA,IACd,YAAY,IAAI,0BAA8C;AAAA,IAC9D,cAAc,IAAI,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAuD;AANvD;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,0BAA0B;AAAA,EAC1B,cAAc,oBAAI,IAAsC;AAAA,EACxD,SAAS;AAAA,IACd,YAAY,IAAI,0BAA8C;AAAA,IAC9D,cAAc,IAAI,0BAA8B;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,SAAS,SAAmC;AACxC,QAAI,QAAQ,aAAa,QAAW;AAChC,YAAM,IAAI,mCAAoB,0DAA0D;AAAA,IAC5F;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACnC,YAAM,IAAI,mCAAoB,6DAA6D;AAAA,IAC/F;AACA,QAAI,QAAQ,SAAS,QAAW;AAC5B,YAAM,IAAI,mCAAoB,sDAAsD;AAAA,IACxF;AACA,SAAK,oBAAoB;AAAA,MACrB,UAAU,QAAQ;AAAA,MAClB,aAAa,QAAQ;AAAA,MACrB,MAAM,QAAQ;AAAA,MACd,iBAAiB,QAAQ;AAAA,MACzB,iBAAiB,QAAQ,oBAAoB,SAAY,SAAY,cAAc,QAAQ,eAAe;AAAA,IAC9G,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,oBAAoB,OAAuC;AACvD,UAAM,SAAmC;AAAA,MACrC,UAAU,qBAAM,GAAG,MAAM,QAAQ,EAAE,MAAM;AAAA,MACzC,aAAa,MAAM;AAAA,MACnB,MAAM,qBAAM,GAAG,MAAM,IAAI,EAAE,MAAM;AAAA,MACjC,iBAAiB,MAAM,oBAAoB,SAAY,SAAY,qBAAM,GAAG,MAAM,eAAe,EAAE,MAAM;AAAA,MACzG,iBAAiB,MAAM;AAAA,IAC3B;AACA,SAAK,YAAY,IAAI,MAAM,OAAO,QAAQ,GAAG,MAAM;AAEnD,SAAK,OAAO,WAAW,KAAK,SAAS,MAAM,CAAC;AAAA,EAChD;AAAA;AAAA,EAGA,WAAW,UAAuB;AAC9B,UAAM,MAAM,MAAM,QAAQ;AAC1B,QAAI,CAAC,KAAK,YAAY,IAAI,GAAG,EAAG;AAChC,SAAK,YAAY,OAAO,GAAG;AAC3B,SAAK,OAAO,aAAa,KAAK,qBAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;AAAA,EAC5D;AAAA;AAAA,EAGA,eAAe,UAAuD;AAClE,WAAO,KAAK,YAAY,IAAI,MAAM,QAAQ,CAAC;AAAA,EAC/C;AAAA;AAAA,EAGA,OAAgD;AAC5C,WAAO,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC;AAAA,EAC/C;AACJ;AAEA,SAAS,MAAM,UAAyB;AACpC,SAAO,qBAAM,MAAM,QAAQ;AAC/B;AAEA,SAAS,SAAS,OAA2D;AACzE,SAAO;AAAA,IACH,UAAU,qBAAM,GAAG,MAAM,QAAQ,EAAE,MAAM;AAAA,IACzC,aAAa,MAAM;AAAA,IACnB,MAAM,qBAAM,GAAG,MAAM,IAAI,EAAE,MAAM;AAAA,IACjC,iBAAiB,MAAM,oBAAoB,SAAY,SAAY,qBAAM,GAAG,MAAM,eAAe,EAAE,MAAM;AAAA,IACzG,iBAAiB,MAAM;AAAA,EAC3B;AACJ;AAIA,SAAS,cAAc,OAAsB;AACzC,QAAM,QAAQ,qBAAM,GAAG,KAAK;AAC5B,MAAI,SAAS;AACb,aAAW,KAAK,OAAO;AACnB,aAAU,UAAU,KAAM,OAAO,CAAC;AAAA,EACtC;AACA,SAAO;AACX;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import type { Bytes } from "@matter/general";
|
|
6
7
|
/**
|
|
7
8
|
* Credentials needed to authenticate against a Thread network's commissioner.
|
|
8
9
|
*
|
|
@@ -12,14 +13,14 @@
|
|
|
12
13
|
*/
|
|
13
14
|
export interface ThreadNetworkCredentials {
|
|
14
15
|
/** 8-byte extended PAN ID — primary registry key. */
|
|
15
|
-
extPanId:
|
|
16
|
+
extPanId: Bytes;
|
|
16
17
|
/** Thread network name (UTF-8, ≤16 bytes). */
|
|
17
18
|
networkName: string;
|
|
18
19
|
/** 16-byte EC-JPAKE password (PSKc). Sensitive — redact when logging. */
|
|
19
|
-
pskc:
|
|
20
|
+
pskc: Bytes;
|
|
20
21
|
/** 8-byte mesh-local prefix, used to derive node mesh-local addresses for
|
|
21
22
|
* UDP-proxy unicast diagnostics. Absent if the dataset omits it. */
|
|
22
|
-
meshLocalPrefix?:
|
|
23
|
+
meshLocalPrefix?: Bytes;
|
|
23
24
|
/** Active timestamp from the dataset, used for change detection. */
|
|
24
25
|
activeTimestamp?: bigint;
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadNetworkCredentials.d.ts","sourceRoot":"","sources":["../../../src/credentials/ThreadNetworkCredentials.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACrC,qDAAqD;IACrD,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"ThreadNetworkCredentials.d.ts","sourceRoot":"","sources":["../../../src/credentials/ThreadNetworkCredentials.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACrC,qDAAqD;IACrD,QAAQ,EAAE,KAAK,CAAC;IAChB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,IAAI,EAAE,KAAK,CAAC;IACZ;yEACqE;IACrE,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -3,22 +3,12 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Bytes, Crypto } from "@matter/general";
|
|
6
7
|
/**
|
|
7
|
-
* AES-CMAC per RFC
|
|
8
|
-
*
|
|
9
|
-
* Block-cipher-based MAC with a 128-bit AES key and a 16-byte tag. Empty messages
|
|
10
|
-
* are explicitly supported and pad to a single all-zero block XORed with K2.
|
|
11
|
-
*/
|
|
12
|
-
export declare namespace AesCmac {
|
|
13
|
-
function compute(key: Uint8Array, message: Uint8Array): Uint8Array;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* AES-CMAC-PRF-128 per RFC 4615.
|
|
17
|
-
*
|
|
18
|
-
* Lifts AES-CMAC into a variable-length-key PRF: a 16-byte key is used directly,
|
|
19
|
-
* any other key is first compressed via CMAC under an all-zero key.
|
|
8
|
+
* AES-CMAC-PRF-128 per RFC 4615: a 16-byte key is used directly; any other length is
|
|
9
|
+
* first compressed via CMAC under an all-zero key. Built on {@link Crypto.cmac}.
|
|
20
10
|
*/
|
|
21
11
|
export declare namespace AesCmacPrf128 {
|
|
22
|
-
function compute(key:
|
|
12
|
+
function compute(crypto: Crypto, key: Bytes, message: Bytes): Bytes;
|
|
23
13
|
}
|
|
24
14
|
//# sourceMappingURL=AesCmacPrf128.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AesCmacPrf128.d.ts","sourceRoot":"","sources":["../../../src/crypto/AesCmacPrf128.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"AesCmacPrf128.d.ts","sourceRoot":"","sources":["../../../src/crypto/AesCmacPrf128.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;GAGG;AACH,yBAAiB,aAAa,CAAC,CAAC;IAC5B,SAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,CAOzE;CACJ"}
|
|
@@ -18,89 +18,25 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var AesCmacPrf128_exports = {};
|
|
20
20
|
__export(AesCmacPrf128_exports, {
|
|
21
|
-
AesCmac: () => AesCmac,
|
|
22
21
|
AesCmacPrf128: () => AesCmacPrf128
|
|
23
22
|
});
|
|
24
23
|
module.exports = __toCommonJS(AesCmacPrf128_exports);
|
|
25
24
|
var import_general = require("@matter/general");
|
|
26
|
-
var import_node_crypto = require("node:crypto");
|
|
27
25
|
/**
|
|
28
26
|
* @license
|
|
29
27
|
* Copyright 2022-2026 Matter.js Authors
|
|
30
28
|
* SPDX-License-Identifier: Apache-2.0
|
|
31
29
|
*/
|
|
32
|
-
const
|
|
33
|
-
const RB = 135;
|
|
34
|
-
const ZERO_BLOCK = new Uint8Array(BLOCK_SIZE);
|
|
35
|
-
function aesEcbEncryptBlock(key, block) {
|
|
36
|
-
const cipher = (0, import_node_crypto.createCipheriv)("aes-128-ecb", key, null);
|
|
37
|
-
cipher.setAutoPadding(false);
|
|
38
|
-
const out = cipher.update(block);
|
|
39
|
-
cipher.final();
|
|
40
|
-
return new Uint8Array(out.buffer, out.byteOffset, out.byteLength);
|
|
41
|
-
}
|
|
42
|
-
function leftShift1(input) {
|
|
43
|
-
const out = new Uint8Array(input.length);
|
|
44
|
-
let carry = 0;
|
|
45
|
-
for (let i = input.length - 1; i >= 0; i--) {
|
|
46
|
-
const b = input[i];
|
|
47
|
-
out[i] = b << 1 & 255 | carry;
|
|
48
|
-
carry = (b & 128) >> 7;
|
|
49
|
-
}
|
|
50
|
-
return out;
|
|
51
|
-
}
|
|
52
|
-
function xorInto(target, source, offset = 0) {
|
|
53
|
-
for (let i = 0; i < BLOCK_SIZE; i++) {
|
|
54
|
-
target[i] ^= source[offset + i];
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
function generateSubkeys(key) {
|
|
58
|
-
const l = aesEcbEncryptBlock(key, ZERO_BLOCK);
|
|
59
|
-
const k1 = leftShift1(l);
|
|
60
|
-
if ((l[0] & 128) !== 0) k1[BLOCK_SIZE - 1] ^= RB;
|
|
61
|
-
const k2 = leftShift1(k1);
|
|
62
|
-
if ((k1[0] & 128) !== 0) k2[BLOCK_SIZE - 1] ^= RB;
|
|
63
|
-
return { k1, k2 };
|
|
64
|
-
}
|
|
65
|
-
var AesCmac;
|
|
66
|
-
((AesCmac2) => {
|
|
67
|
-
function compute(key, message) {
|
|
68
|
-
if (key.length !== 16) {
|
|
69
|
-
throw new import_general.InternalError(`AES-CMAC key must be 16 bytes, got ${key.length}`);
|
|
70
|
-
}
|
|
71
|
-
const { k1, k2 } = generateSubkeys(key);
|
|
72
|
-
const numBlocks = Math.max(1, Math.ceil(message.length / BLOCK_SIZE));
|
|
73
|
-
const lastBlockComplete = message.length > 0 && message.length % BLOCK_SIZE === 0;
|
|
74
|
-
const lastBlock = new Uint8Array(BLOCK_SIZE);
|
|
75
|
-
const lastBlockOffset = (numBlocks - 1) * BLOCK_SIZE;
|
|
76
|
-
if (lastBlockComplete) {
|
|
77
|
-
lastBlock.set(message.subarray(lastBlockOffset, lastBlockOffset + BLOCK_SIZE));
|
|
78
|
-
xorInto(lastBlock, k1);
|
|
79
|
-
} else {
|
|
80
|
-
const remaining = message.length - lastBlockOffset;
|
|
81
|
-
lastBlock.set(message.subarray(lastBlockOffset, lastBlockOffset + remaining));
|
|
82
|
-
lastBlock[remaining] = 128;
|
|
83
|
-
xorInto(lastBlock, k2);
|
|
84
|
-
}
|
|
85
|
-
const x = new Uint8Array(BLOCK_SIZE);
|
|
86
|
-
for (let i = 0; i < numBlocks - 1; i++) {
|
|
87
|
-
xorInto(x, message, i * BLOCK_SIZE);
|
|
88
|
-
const enc = aesEcbEncryptBlock(key, x);
|
|
89
|
-
x.set(enc);
|
|
90
|
-
}
|
|
91
|
-
xorInto(x, lastBlock);
|
|
92
|
-
return aesEcbEncryptBlock(key, x);
|
|
93
|
-
}
|
|
94
|
-
AesCmac2.compute = compute;
|
|
95
|
-
})(AesCmac || (AesCmac = {}));
|
|
30
|
+
const ZERO_BLOCK = new Uint8Array(16);
|
|
96
31
|
var AesCmacPrf128;
|
|
97
32
|
((AesCmacPrf1282) => {
|
|
98
|
-
function compute(key, message) {
|
|
99
|
-
|
|
100
|
-
|
|
33
|
+
function compute(crypto, key, message) {
|
|
34
|
+
const keyBytes = import_general.Bytes.of(key);
|
|
35
|
+
if (keyBytes.length === 16) {
|
|
36
|
+
return crypto.cmac(keyBytes, message);
|
|
101
37
|
}
|
|
102
|
-
const derivedKey =
|
|
103
|
-
return
|
|
38
|
+
const derivedKey = crypto.cmac(ZERO_BLOCK, keyBytes);
|
|
39
|
+
return crypto.cmac(derivedKey, message);
|
|
104
40
|
}
|
|
105
41
|
AesCmacPrf1282.compute = compute;
|
|
106
42
|
})(AesCmacPrf128 || (AesCmacPrf128 = {}));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/AesCmacPrf128.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA8B;AAN9B;AAAA;AAAA;AAAA;AAAA;AAQA,MAAM,aAAa,IAAI,WAAW,EAAE;AAM7B,IAAU;AAAA,CAAV,CAAUA,mBAAV;AACI,WAAS,QAAQ,QAAgB,KAAY,SAAuB;AACvE,UAAM,WAAW,qBAAM,GAAG,GAAG;AAC7B,QAAI,SAAS,WAAW,IAAI;AACxB,aAAO,OAAO,KAAK,UAAU,OAAO;AAAA,IACxC;AACA,UAAM,aAAa,OAAO,KAAK,YAAY,QAAQ;AACnD,WAAO,OAAO,KAAK,YAAY,OAAO;AAAA,EAC1C;AAPO,EAAAA,eAAS;AAAA,GADH;",
|
|
5
|
+
"names": ["AesCmacPrf128"]
|
|
6
6
|
}
|
|
@@ -3,16 +3,17 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Bytes, Crypto } from "@matter/general";
|
|
6
7
|
/**
|
|
7
8
|
* PBKDF2 (RFC 8018 §5.2) using AES-CMAC-PRF-128 as the underlying PRF.
|
|
8
9
|
*
|
|
9
10
|
* Hand-rolled because Node's `crypto.pbkdf2` is hardwired to HMAC. The PRF here
|
|
10
11
|
* always emits 16 bytes, so each output block needs one PRF call per iteration.
|
|
11
12
|
*/
|
|
12
|
-
export declare function pbkdf2AesCmac(args: {
|
|
13
|
-
password:
|
|
14
|
-
salt:
|
|
13
|
+
export declare function pbkdf2AesCmac(crypto: Crypto, args: {
|
|
14
|
+
password: Bytes;
|
|
15
|
+
salt: Bytes;
|
|
15
16
|
iterations: number;
|
|
16
17
|
dkLen: number;
|
|
17
|
-
}):
|
|
18
|
+
}): Bytes;
|
|
18
19
|
//# sourceMappingURL=Pbkdf2AesCmac.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pbkdf2AesCmac.d.ts","sourceRoot":"","sources":["../../../src/crypto/Pbkdf2AesCmac.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"Pbkdf2AesCmac.d.ts","sourceRoot":"","sources":["../../../src/crypto/Pbkdf2AesCmac.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAuB,MAAM,iBAAiB,CAAC;AAKrE;;;;;GAKG;AACH,wBAAgB,aAAa,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IACF,QAAQ,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB,GACF,KAAK,CAmCP"}
|
|
@@ -29,8 +29,9 @@ var import_AesCmacPrf128 = require("./AesCmacPrf128.js");
|
|
|
29
29
|
* SPDX-License-Identifier: Apache-2.0
|
|
30
30
|
*/
|
|
31
31
|
const HLEN = 16;
|
|
32
|
-
function pbkdf2AesCmac(args) {
|
|
33
|
-
const { password,
|
|
32
|
+
function pbkdf2AesCmac(crypto, args) {
|
|
33
|
+
const { password, iterations, dkLen } = args;
|
|
34
|
+
const salt = import_general.Bytes.of(args.salt);
|
|
34
35
|
if (!Number.isInteger(iterations) || iterations <= 0) {
|
|
35
36
|
throw new import_general.ImplementationError(`iterations must be a positive integer, got ${iterations}`);
|
|
36
37
|
}
|
|
@@ -49,10 +50,10 @@ function pbkdf2AesCmac(args) {
|
|
|
49
50
|
saltedBlock[salt.length + 1] = i >>> 16 & 255;
|
|
50
51
|
saltedBlock[salt.length + 2] = i >>> 8 & 255;
|
|
51
52
|
saltedBlock[salt.length + 3] = i & 255;
|
|
52
|
-
let u = import_AesCmacPrf128.AesCmacPrf128.compute(password, saltedBlock);
|
|
53
|
+
let u = import_general.Bytes.of(import_AesCmacPrf128.AesCmacPrf128.compute(crypto, password, saltedBlock));
|
|
53
54
|
const t = new Uint8Array(u);
|
|
54
55
|
for (let j = 1; j < iterations; j++) {
|
|
55
|
-
u = import_AesCmacPrf128.AesCmacPrf128.compute(password, u);
|
|
56
|
+
u = import_general.Bytes.of(import_AesCmacPrf128.AesCmacPrf128.compute(crypto, password, u));
|
|
56
57
|
for (let k = 0; k < HLEN; k++) t[k] ^= u[k];
|
|
57
58
|
}
|
|
58
59
|
out.set(t, (i - 1) * HLEN);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/Pbkdf2AesCmac.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAmD;AACnD,2BAA8B;AAP9B;AAAA;AAAA;AAAA;AAAA;AASA,MAAM,OAAO;AAQN,SAAS,cACZ,QACA,MAMK;AACL,QAAM,EAAE,UAAU,YAAY,MAAM,IAAI;AACxC,QAAM,OAAO,qBAAM,GAAG,KAAK,IAAI;AAC/B,MAAI,CAAC,OAAO,UAAU,UAAU,KAAK,cAAc,GAAG;AAClD,UAAM,IAAI,mCAAoB,8CAA8C,UAAU,EAAE;AAAA,EAC5F;AACA,MAAI,CAAC,OAAO,UAAU,KAAK,KAAK,SAAS,GAAG;AACxC,UAAM,IAAI,mCAAoB,yCAAyC,KAAK,EAAE;AAAA,EAClF;AAEA,MAAI,QAAQ,aAAa,MAAM;AAC3B,UAAM,IAAI,mCAAoB,SAAS,KAAK,yBAAyB;AAAA,EACzE;AAEA,QAAM,YAAY,KAAK,KAAK,QAAQ,IAAI;AACxC,QAAM,MAAM,IAAI,WAAW,YAAY,IAAI;AAC3C,QAAM,cAAc,IAAI,WAAW,KAAK,SAAS,CAAC;AAClD,cAAY,IAAI,MAAM,CAAC;AAEvB,WAAS,IAAI,GAAG,KAAK,WAAW,KAAK;AACjC,gBAAY,KAAK,MAAM,IAAK,MAAM,KAAM;AACxC,gBAAY,KAAK,SAAS,CAAC,IAAK,MAAM,KAAM;AAC5C,gBAAY,KAAK,SAAS,CAAC,IAAK,MAAM,IAAK;AAC3C,gBAAY,KAAK,SAAS,CAAC,IAAI,IAAI;AAEnC,QAAI,IAAI,qBAAM,GAAG,mCAAc,QAAQ,QAAQ,UAAU,WAAW,CAAC;AACrE,UAAM,IAAI,IAAI,WAAW,CAAC;AAC1B,aAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACjC,UAAI,qBAAM,GAAG,mCAAc,QAAQ,QAAQ,UAAU,CAAC,CAAC;AACvD,eAAS,IAAI,GAAG,IAAI,MAAM,IAAK,GAAE,CAAC,KAAK,EAAE,CAAC;AAAA,IAC9C;AACA,QAAI,IAAI,IAAI,IAAI,KAAK,IAAI;AAAA,EAC7B;AAEA,SAAO,IAAI,SAAS,GAAG,KAAK;AAChC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Bytes, Crypto } from "@matter/general";
|
|
6
7
|
/**
|
|
7
8
|
* Thread MeshCoP PSKc derivation.
|
|
8
9
|
*
|
|
@@ -12,10 +13,10 @@
|
|
|
12
13
|
* || networkName` ordering is wrong).
|
|
13
14
|
*/
|
|
14
15
|
export declare namespace Pskc {
|
|
15
|
-
function derive(args: {
|
|
16
|
+
function derive(crypto: Crypto, args: {
|
|
16
17
|
passphrase: string;
|
|
17
|
-
extPanId:
|
|
18
|
+
extPanId: Bytes;
|
|
18
19
|
networkName: string;
|
|
19
|
-
}):
|
|
20
|
+
}): Bytes;
|
|
20
21
|
}
|
|
21
22
|
//# sourceMappingURL=Pskc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pskc.d.ts","sourceRoot":"","sources":["../../../src/crypto/Pskc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"Pskc.d.ts","sourceRoot":"","sources":["../../../src/crypto/Pskc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAuB,MAAM,iBAAiB,CAAC;AAYrE;;;;;;;GAOG;AACH,yBAAiB,IAAI,CAAC,CAAC;IACnB,SAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CA6BhH;CACJ"}
|
package/dist/cjs/crypto/Pskc.js
CHANGED
|
@@ -37,15 +37,16 @@ const ITERATIONS = 16384;
|
|
|
37
37
|
const PSKC_LENGTH = 16;
|
|
38
38
|
var Pskc;
|
|
39
39
|
((Pskc2) => {
|
|
40
|
-
function derive(args) {
|
|
40
|
+
function derive(crypto, args) {
|
|
41
41
|
const password = new TextEncoder().encode(args.passphrase);
|
|
42
42
|
if (password.length < PASSPHRASE_MIN_BYTES || password.length > PASSPHRASE_MAX_BYTES) {
|
|
43
43
|
throw new import_general.ImplementationError(
|
|
44
44
|
`passphrase UTF-8 length must be ${PASSPHRASE_MIN_BYTES}..${PASSPHRASE_MAX_BYTES} bytes, got ${password.length}`
|
|
45
45
|
);
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
const extPanId = import_general.Bytes.of(args.extPanId);
|
|
48
|
+
if (extPanId.length !== EXT_PAN_ID_LENGTH) {
|
|
49
|
+
throw new import_general.ImplementationError(`extPanId must be ${EXT_PAN_ID_LENGTH} bytes, got ${extPanId.length}`);
|
|
49
50
|
}
|
|
50
51
|
const networkNameBytes = new TextEncoder().encode(args.networkName);
|
|
51
52
|
if (networkNameBytes.length === 0 || networkNameBytes.length > NETWORK_NAME_MAX_BYTES) {
|
|
@@ -55,9 +56,9 @@ var Pskc;
|
|
|
55
56
|
}
|
|
56
57
|
const salt = new Uint8Array(SALT_PREFIX.length + EXT_PAN_ID_LENGTH + networkNameBytes.length);
|
|
57
58
|
salt.set(SALT_PREFIX, 0);
|
|
58
|
-
salt.set(
|
|
59
|
+
salt.set(extPanId, SALT_PREFIX.length);
|
|
59
60
|
salt.set(networkNameBytes, SALT_PREFIX.length + EXT_PAN_ID_LENGTH);
|
|
60
|
-
return (0, import_Pbkdf2AesCmac.pbkdf2AesCmac)({
|
|
61
|
+
return (0, import_Pbkdf2AesCmac.pbkdf2AesCmac)(crypto, {
|
|
61
62
|
password,
|
|
62
63
|
salt,
|
|
63
64
|
iterations: ITERATIONS,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/Pskc.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAmD;AACnD,2BAA8B;AAP9B;AAAA;AAAA;AAAA;AAAA;AASA,MAAM,cAAc,IAAI,YAAY,EAAE,OAAO,QAAQ;AACrD,MAAM,oBAAoB;AAC1B,MAAM,yBAAyB;AAC/B,MAAM,uBAAuB;AAC7B,MAAM,uBAAuB;AAE7B,MAAM,aAAa;AACnB,MAAM,cAAc;AAUb,IAAU;AAAA,CAAV,CAAUA,UAAV;AACI,WAAS,OAAO,QAAgB,MAA2E;AAC9G,UAAM,WAAW,IAAI,YAAY,EAAE,OAAO,KAAK,UAAU;AACzD,QAAI,SAAS,SAAS,wBAAwB,SAAS,SAAS,sBAAsB;AAClF,YAAM,IAAI;AAAA,QACN,mCAAmC,oBAAoB,KAAK,oBAAoB,eAAe,SAAS,MAAM;AAAA,MAClH;AAAA,IACJ;AACA,UAAM,WAAW,qBAAM,GAAG,KAAK,QAAQ;AACvC,QAAI,SAAS,WAAW,mBAAmB;AACvC,YAAM,IAAI,mCAAoB,oBAAoB,iBAAiB,eAAe,SAAS,MAAM,EAAE;AAAA,IACvG;AACA,UAAM,mBAAmB,IAAI,YAAY,EAAE,OAAO,KAAK,WAAW;AAClE,QAAI,iBAAiB,WAAW,KAAK,iBAAiB,SAAS,wBAAwB;AACnF,YAAM,IAAI;AAAA,QACN,uCAAuC,sBAAsB,eAAe,iBAAiB,MAAM;AAAA,MACvG;AAAA,IACJ;AAEA,UAAM,OAAO,IAAI,WAAW,YAAY,SAAS,oBAAoB,iBAAiB,MAAM;AAC5F,SAAK,IAAI,aAAa,CAAC;AACvB,SAAK,IAAI,UAAU,YAAY,MAAM;AACrC,SAAK,IAAI,kBAAkB,YAAY,SAAS,iBAAiB;AAEjE,eAAO,oCAAc,QAAQ;AAAA,MACzB;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,OAAO;AAAA,IACX,CAAC;AAAA,EACL;AA7BO,EAAAA,MAAS;AAAA,GADH;",
|
|
5
5
|
"names": ["Pskc"]
|
|
6
6
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export {
|
|
6
|
+
export { AesCmacPrf128 } from "./AesCmacPrf128.js";
|
|
7
7
|
export { pbkdf2AesCmac } from "./Pbkdf2AesCmac.js";
|
|
8
8
|
export { Pskc } from "./Pskc.js";
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/cjs/crypto/index.js
CHANGED
|
@@ -18,7 +18,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var crypto_exports = {};
|
|
20
20
|
__export(crypto_exports, {
|
|
21
|
-
AesCmac: () => import_AesCmacPrf128.AesCmac,
|
|
22
21
|
AesCmacPrf128: () => import_AesCmacPrf128.AesCmacPrf128,
|
|
23
22
|
Pskc: () => import_Pskc.Pskc,
|
|
24
23
|
pbkdf2AesCmac: () => import_Pbkdf2AesCmac.pbkdf2AesCmac
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,2BAA8B;AAC9B,2BAA8B;AAC9B,kBAAqB;AARrB;AAAA;AAAA;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -21,21 +21,21 @@ export { ThreadDatasetError } from "./errors.js";
|
|
|
21
21
|
export interface OperationalDataset {
|
|
22
22
|
channel?: number;
|
|
23
23
|
panId?: number;
|
|
24
|
-
extPanId?:
|
|
24
|
+
extPanId?: Bytes;
|
|
25
25
|
networkName?: string;
|
|
26
|
-
pskc?:
|
|
27
|
-
networkKey?:
|
|
28
|
-
meshLocalPrefix?:
|
|
26
|
+
pskc?: Bytes;
|
|
27
|
+
networkKey?: Bytes;
|
|
28
|
+
meshLocalPrefix?: Bytes;
|
|
29
29
|
securityPolicy?: SecurityPolicy;
|
|
30
|
-
activeTimestamp?:
|
|
31
|
-
pendingTimestamp?:
|
|
30
|
+
activeTimestamp?: Bytes;
|
|
31
|
+
pendingTimestamp?: Bytes;
|
|
32
32
|
delayTimer?: number;
|
|
33
|
-
channelMask?:
|
|
33
|
+
channelMask?: Bytes;
|
|
34
34
|
unknownTlvs: Array<{
|
|
35
35
|
type: number;
|
|
36
|
-
value:
|
|
36
|
+
value: Bytes;
|
|
37
37
|
}>;
|
|
38
|
-
raw:
|
|
38
|
+
raw: Bytes;
|
|
39
39
|
}
|
|
40
40
|
export declare namespace OperationalDataset {
|
|
41
41
|
/**
|
|
@@ -59,7 +59,7 @@ export declare namespace OperationalDataset {
|
|
|
59
59
|
* @param ds - Dataset to encode; may be a decoded or manually constructed object.
|
|
60
60
|
* @returns MeshCoP TLV byte sequence.
|
|
61
61
|
*/
|
|
62
|
-
function encode(ds: OperationalDataset):
|
|
62
|
+
function encode(ds: OperationalDataset): Bytes;
|
|
63
63
|
/**
|
|
64
64
|
* Return a copy of the dataset with `pskc` and `networkKey` cleared.
|
|
65
65
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationalDataset.d.ts","sourceRoot":"","sources":["../../../src/dataset/OperationalDataset.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"OperationalDataset.d.ts","sourceRoot":"","sources":["../../../src/dataset/OperationalDataset.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;IACnD,GAAG,EAAE,KAAK,CAAC;CACd;AAED,yBAAiB,kBAAkB,CAAC,CAAC;IACjC;;;;;;;OAOG;IACH,SAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,kBAAkB,CAgBhE;IAED;;;;;;;;;;;OAWG;IACH,SAAgB,MAAM,CAAC,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAMpD;IAED;;;;;;;;OAQG;IACH,SAAgB,MAAM,CAAC,EAAE,EAAE,kBAAkB,GAAG,kBAAkB,CAEjE;CACJ"}
|
|
@@ -39,7 +39,7 @@ var OperationalDataset;
|
|
|
39
39
|
const blob = typeof input === "string" ? import_general.Bytes.of(import_general.Bytes.fromHex(input.replace(/\s+/g, ""))) : import_general.Bytes.of(input);
|
|
40
40
|
const entries = import_BasicTlvCodec.BasicTlv.walk(blob);
|
|
41
41
|
const unknownTlvs = new Array();
|
|
42
|
-
const originalTlvs = entries.map((e) => ({ type: e.type, value: e.value.slice() }));
|
|
42
|
+
const originalTlvs = entries.map((e) => ({ type: e.type, value: import_general.Bytes.of(e.value).slice() }));
|
|
43
43
|
const ds = {
|
|
44
44
|
unknownTlvs,
|
|
45
45
|
raw: blob.slice()
|
|
@@ -56,7 +56,7 @@ var OperationalDataset;
|
|
|
56
56
|
if (originals !== void 0) {
|
|
57
57
|
return encodeWithReplay(ds, originals);
|
|
58
58
|
}
|
|
59
|
-
return import_BasicTlvCodec.BasicTlv.encode(canonicalEntries(ds));
|
|
59
|
+
return import_general.Bytes.of(import_BasicTlvCodec.BasicTlv.encode(canonicalEntries(ds)));
|
|
60
60
|
}
|
|
61
61
|
OperationalDataset2.encode = encode;
|
|
62
62
|
function redact(ds) {
|
|
@@ -66,66 +66,67 @@ var OperationalDataset;
|
|
|
66
66
|
})(OperationalDataset || (OperationalDataset = {}));
|
|
67
67
|
const ORIGINAL_TLVS = /* @__PURE__ */ new WeakMap();
|
|
68
68
|
function applyKnownTlvToDataset(ds, entry, unknownTlvs) {
|
|
69
|
+
const value = import_general.Bytes.of(entry.value);
|
|
69
70
|
switch (entry.type) {
|
|
70
71
|
case import_meshcopTlvTypes.MeshCopTlvType.CHANNEL:
|
|
71
|
-
ds.channel = decodeChannel(
|
|
72
|
+
ds.channel = decodeChannel(value);
|
|
72
73
|
break;
|
|
73
74
|
case import_meshcopTlvTypes.MeshCopTlvType.PANID:
|
|
74
|
-
if (
|
|
75
|
-
throw new import_errors.ThreadDatasetError(`PANID TLV must be 2 bytes, got ${
|
|
75
|
+
if (value.length !== 2) {
|
|
76
|
+
throw new import_errors.ThreadDatasetError(`PANID TLV must be 2 bytes, got ${value.length}`);
|
|
76
77
|
}
|
|
77
|
-
ds.panId =
|
|
78
|
+
ds.panId = value[0] << 8 | value[1];
|
|
78
79
|
break;
|
|
79
80
|
case import_meshcopTlvTypes.MeshCopTlvType.EXTPANID:
|
|
80
|
-
if (
|
|
81
|
-
throw new import_errors.ThreadDatasetError(`EXTPANID TLV must be 8 bytes, got ${
|
|
81
|
+
if (value.length !== 8) {
|
|
82
|
+
throw new import_errors.ThreadDatasetError(`EXTPANID TLV must be 8 bytes, got ${value.length}`);
|
|
82
83
|
}
|
|
83
|
-
ds.extPanId =
|
|
84
|
+
ds.extPanId = value.slice();
|
|
84
85
|
break;
|
|
85
86
|
case import_meshcopTlvTypes.MeshCopTlvType.NETWORK_NAME:
|
|
86
|
-
ds.networkName = new TextDecoder("utf-8").decode(
|
|
87
|
+
ds.networkName = new TextDecoder("utf-8").decode(value);
|
|
87
88
|
break;
|
|
88
89
|
case import_meshcopTlvTypes.MeshCopTlvType.PSKC:
|
|
89
|
-
ds.pskc =
|
|
90
|
+
ds.pskc = value.slice();
|
|
90
91
|
break;
|
|
91
92
|
case import_meshcopTlvTypes.MeshCopTlvType.NETWORK_KEY:
|
|
92
|
-
if (
|
|
93
|
-
throw new import_errors.ThreadDatasetError(`NETWORK_KEY TLV must be 16 bytes, got ${
|
|
93
|
+
if (value.length !== 16) {
|
|
94
|
+
throw new import_errors.ThreadDatasetError(`NETWORK_KEY TLV must be 16 bytes, got ${value.length}`);
|
|
94
95
|
}
|
|
95
|
-
ds.networkKey =
|
|
96
|
+
ds.networkKey = value.slice();
|
|
96
97
|
break;
|
|
97
98
|
case import_meshcopTlvTypes.MeshCopTlvType.MESH_LOCAL_PREFIX:
|
|
98
|
-
if (
|
|
99
|
-
throw new import_errors.ThreadDatasetError(`MESH_LOCAL_PREFIX TLV must be 8 bytes, got ${
|
|
99
|
+
if (value.length !== 8) {
|
|
100
|
+
throw new import_errors.ThreadDatasetError(`MESH_LOCAL_PREFIX TLV must be 8 bytes, got ${value.length}`);
|
|
100
101
|
}
|
|
101
|
-
ds.meshLocalPrefix =
|
|
102
|
+
ds.meshLocalPrefix = value.slice();
|
|
102
103
|
break;
|
|
103
104
|
case import_meshcopTlvTypes.MeshCopTlvType.SECURITY_POLICY:
|
|
104
|
-
ds.securityPolicy = import_SecurityPolicy.SecurityPolicy.decode(
|
|
105
|
+
ds.securityPolicy = import_SecurityPolicy.SecurityPolicy.decode(value);
|
|
105
106
|
break;
|
|
106
107
|
case import_meshcopTlvTypes.MeshCopTlvType.ACTIVE_TIMESTAMP:
|
|
107
|
-
if (
|
|
108
|
-
throw new import_errors.ThreadDatasetError(`ACTIVE_TIMESTAMP TLV must be 8 bytes, got ${
|
|
108
|
+
if (value.length !== 8) {
|
|
109
|
+
throw new import_errors.ThreadDatasetError(`ACTIVE_TIMESTAMP TLV must be 8 bytes, got ${value.length}`);
|
|
109
110
|
}
|
|
110
|
-
ds.activeTimestamp =
|
|
111
|
+
ds.activeTimestamp = value.slice();
|
|
111
112
|
break;
|
|
112
113
|
case import_meshcopTlvTypes.MeshCopTlvType.PENDING_TIMESTAMP:
|
|
113
|
-
if (
|
|
114
|
-
throw new import_errors.ThreadDatasetError(`PENDING_TIMESTAMP TLV must be 8 bytes, got ${
|
|
114
|
+
if (value.length !== 8) {
|
|
115
|
+
throw new import_errors.ThreadDatasetError(`PENDING_TIMESTAMP TLV must be 8 bytes, got ${value.length}`);
|
|
115
116
|
}
|
|
116
|
-
ds.pendingTimestamp =
|
|
117
|
+
ds.pendingTimestamp = value.slice();
|
|
117
118
|
break;
|
|
118
119
|
case import_meshcopTlvTypes.MeshCopTlvType.DELAY_TIMER:
|
|
119
|
-
if (
|
|
120
|
-
throw new import_errors.ThreadDatasetError(`DELAY_TIMER TLV must be 4 bytes, got ${
|
|
120
|
+
if (value.length !== 4) {
|
|
121
|
+
throw new import_errors.ThreadDatasetError(`DELAY_TIMER TLV must be 4 bytes, got ${value.length}`);
|
|
121
122
|
}
|
|
122
|
-
ds.delayTimer =
|
|
123
|
+
ds.delayTimer = value[0] << 24 | value[1] << 16 | value[2] << 8 | value[3];
|
|
123
124
|
break;
|
|
124
125
|
case import_meshcopTlvTypes.MeshCopTlvType.CHANNEL_MASK:
|
|
125
|
-
ds.channelMask =
|
|
126
|
+
ds.channelMask = value.slice();
|
|
126
127
|
break;
|
|
127
128
|
default:
|
|
128
|
-
unknownTlvs.push({ type: entry.type, value:
|
|
129
|
+
unknownTlvs.push({ type: entry.type, value: value.slice() });
|
|
129
130
|
break;
|
|
130
131
|
}
|
|
131
132
|
}
|
|
@@ -162,7 +163,7 @@ function encodeWithReplay(ds, originals) {
|
|
|
162
163
|
if (canonical === void 0) continue;
|
|
163
164
|
out.push({ type: known.type, value: canonical });
|
|
164
165
|
}
|
|
165
|
-
return import_BasicTlvCodec.BasicTlv.encode(out);
|
|
166
|
+
return import_general.Bytes.of(import_BasicTlvCodec.BasicTlv.encode(out));
|
|
166
167
|
}
|
|
167
168
|
const EMPTY_BYTES = new Uint8Array();
|
|
168
169
|
function canonicalEntries(ds) {
|
|
@@ -173,7 +174,7 @@ function canonicalEntries(ds) {
|
|
|
173
174
|
out.push({ type: known.type, value: canonical });
|
|
174
175
|
}
|
|
175
176
|
for (const u of ds.unknownTlvs) {
|
|
176
|
-
out.push({ type: u.type, value: u.value.slice() });
|
|
177
|
+
out.push({ type: u.type, value: import_general.Bytes.of(u.value).slice() });
|
|
177
178
|
}
|
|
178
179
|
return out;
|
|
179
180
|
}
|