@zwave-js/cc 15.31.1 → 15.32.0
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/build/cjs/cc/AlarmSensorCC.js +2 -3
- package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
- package/build/cjs/cc/AssociationGroupInfoCC.js +5 -2
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
- package/build/cjs/cc/BarrierOperatorCC.js +5 -8
- package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
- package/build/cjs/cc/BinarySensorCC.js +1 -2
- package/build/cjs/cc/BinarySensorCC.js.map +2 -2
- package/build/cjs/cc/ColorSwitchCC.js +3 -5
- package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
- package/build/cjs/cc/ConfigurationCC.d.ts +7 -0
- package/build/cjs/cc/ConfigurationCC.js +28 -8
- package/build/cjs/cc/ConfigurationCC.js.map +2 -2
- package/build/cjs/cc/EntryControlCC.js +3 -2
- package/build/cjs/cc/EntryControlCC.js.map +2 -2
- package/build/cjs/cc/IndicatorCC.js +3 -3
- package/build/cjs/cc/IndicatorCC.js.map +2 -2
- package/build/cjs/cc/IrrigationCC.js.map +1 -1
- package/build/cjs/cc/LanguageCC.js +6 -2
- package/build/cjs/cc/LanguageCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC.js +1 -1
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +2 -2
- package/build/cjs/cc/MeterCC.js +25 -4
- package/build/cjs/cc/MeterCC.js.map +2 -2
- package/build/cjs/cc/NodeNamingCC.js +2 -2
- package/build/cjs/cc/NodeNamingCC.js.map +2 -2
- package/build/cjs/cc/NotificationCC.js +10 -11
- package/build/cjs/cc/NotificationCC.js.map +2 -2
- package/build/cjs/cc/PowerlevelCC.js +1 -1
- package/build/cjs/cc/PowerlevelCC.js.map +2 -2
- package/build/cjs/cc/Security2CC.js +11 -6
- package/build/cjs/cc/Security2CC.js.map +2 -2
- package/build/cjs/cc/SecurityCC.js +2 -1
- package/build/cjs/cc/SecurityCC.js.map +2 -2
- package/build/cjs/cc/SoundSwitchCC.js +1 -1
- package/build/cjs/cc/SoundSwitchCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetpointCC.js +2 -1
- package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
- package/build/cjs/cc/UserCredentialCC.d.ts +6 -0
- package/build/cjs/cc/UserCredentialCC.js +81 -6
- package/build/cjs/cc/UserCredentialCC.js.map +2 -2
- package/build/cjs/cc/WindowCoveringCC.js +1 -2
- package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
- package/build/cjs/cc/_CCValues.generated.d.ts +2 -2
- package/build/cjs/lib/Security2/Extension.js +2 -1
- package/build/cjs/lib/Security2/Extension.js.map +2 -2
- package/build/cjs/lib/securityLogging.d.ts +6 -0
- package/build/cjs/lib/securityLogging.js +34 -0
- package/build/cjs/lib/securityLogging.js.map +7 -0
- package/build/cjs/lib/serializers.js +3 -0
- package/build/cjs/lib/serializers.js.map +2 -2
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.js +5 -3
- package/build/esm/cc/AlarmSensorCC.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.js +10 -6
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.js +6 -9
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.js +2 -3
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.js +4 -7
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC.d.ts +7 -0
- package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.js +34 -13
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +4 -3
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.js +4 -6
- package/build/esm/cc/IndicatorCC.js.map +1 -1
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.js +8 -3
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +2 -2
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.js +27 -5
- package/build/esm/cc/MeterCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +3 -3
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +22 -24
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC.js +2 -2
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/Security2CC.d.ts.map +1 -1
- package/build/esm/cc/Security2CC.js +21 -10
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +4 -4
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +2 -2
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +5 -1
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/UserCredentialCC.d.ts +6 -0
- package/build/esm/cc/UserCredentialCC.d.ts.map +1 -1
- package/build/esm/cc/UserCredentialCC.js +103 -13
- package/build/esm/cc/UserCredentialCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +3 -4
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/_CCValues.generated.d.ts +2 -2
- package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
- package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
- package/build/esm/lib/Security2/Extension.js +3 -3
- package/build/esm/lib/Security2/Extension.js.map +1 -1
- package/build/esm/lib/securityLogging.d.ts +6 -0
- package/build/esm/lib/securityLogging.d.ts.map +1 -0
- package/build/esm/lib/securityLogging.js +10 -0
- package/build/esm/lib/securityLogging.js.map +1 -0
- package/build/esm/lib/serializers.d.ts.map +1 -1
- package/build/esm/lib/serializers.js +4 -0
- package/build/esm/lib/serializers.js.map +1 -1
- package/package.json +11 -11
|
@@ -48,6 +48,7 @@ var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
|
48
48
|
var import_Extension = require("../lib/Security2/Extension.js");
|
|
49
49
|
var import_shared2 = require("../lib/Security2/shared.js");
|
|
50
50
|
var import_Types = require("../lib/_Types.js");
|
|
51
|
+
var import_securityLogging = require("../lib/securityLogging.js");
|
|
51
52
|
var import_CRC16CC = require("./CRC16CC.js");
|
|
52
53
|
var import_MultiChannelCC = require("./MultiChannelCC.js");
|
|
53
54
|
var import_SecurityCC = require("./SecurityCC.js");
|
|
@@ -898,12 +899,15 @@ let Security2CCMessageEncapsulation = (() => {
|
|
|
898
899
|
})();
|
|
899
900
|
if (mustDiscardCommand) {
|
|
900
901
|
if (mcctx.isMulticast) {
|
|
901
|
-
|
|
902
|
-
} else {
|
|
902
|
+
securityManager.tryIncrementPeerMPAN(ctx.sourceNodeId, mcctx.groupId);
|
|
903
|
+
} else if (securityManager.getSPANState(ctx.sourceNodeId).type === import_core.SPANState.SPAN) {
|
|
903
904
|
await securityManager.nextNonce(ctx.sourceNodeId);
|
|
904
905
|
}
|
|
905
906
|
import_core.validatePayload.fail("Invalid S2 extension");
|
|
906
907
|
}
|
|
908
|
+
if (raw.payload.length < offset + SECURITY_S2_AUTH_TAG_LENGTH) {
|
|
909
|
+
import_core.validatePayload.fail(mcctx.isMulticast ? import_core.ZWaveErrorCodes.Security2CC_CannotDecodeMulticast : import_core.ZWaveErrorCodes.Security2CC_CannotDecode);
|
|
910
|
+
}
|
|
907
911
|
let prevSequenceNumber;
|
|
908
912
|
let mpanState;
|
|
909
913
|
if (mcctx.isMulticast) {
|
|
@@ -1117,7 +1121,8 @@ let Security2CCMessageEncapsulation = (() => {
|
|
|
1117
1121
|
...encryptedExtensions.map((e, index) => e.serialize(index < encryptedExtensions.length - 1)),
|
|
1118
1122
|
serializedCC
|
|
1119
1123
|
]);
|
|
1120
|
-
const
|
|
1124
|
+
const self = this;
|
|
1125
|
+
const destinationTag = getDestinationIDTX.call(self);
|
|
1121
1126
|
const messageLength = this.computeEncapsulationOverhead() + serializedCC.length;
|
|
1122
1127
|
const authData = getAuthenticationData(ctx.ownNodeId, destinationTag, ctx.homeId, messageLength, unencryptedPayload);
|
|
1123
1128
|
let key;
|
|
@@ -1155,7 +1160,7 @@ let Security2CCMessageEncapsulation = (() => {
|
|
|
1155
1160
|
const message = {
|
|
1156
1161
|
"sequence number": this.sequenceNumber ?? "(not set)"
|
|
1157
1162
|
};
|
|
1158
|
-
if ((0,
|
|
1163
|
+
if ((0, import_securityLogging.shouldLogSecurityDetails)()) {
|
|
1159
1164
|
if (this.key) {
|
|
1160
1165
|
message.key = (0, import_shared.buffer2hex)(this.key);
|
|
1161
1166
|
}
|
|
@@ -1617,9 +1622,9 @@ let Security2CCPublicKeyReport = (() => {
|
|
|
1617
1622
|
this.publicKey = options.publicKey;
|
|
1618
1623
|
}
|
|
1619
1624
|
static from(raw, ctx) {
|
|
1620
|
-
(0, import_core.validatePayload)(raw.payload.length >=
|
|
1625
|
+
(0, import_core.validatePayload)(raw.payload.length >= 33);
|
|
1621
1626
|
const includingNode = !!(raw.payload[0] & 1);
|
|
1622
|
-
const publicKey = raw.payload.subarray(1);
|
|
1627
|
+
const publicKey = raw.payload.subarray(1, 33);
|
|
1623
1628
|
return new this({
|
|
1624
1629
|
nodeId: ctx.sourceNodeId,
|
|
1625
1630
|
includingNode,
|