opcjs-base 0.1.36-alpha → 0.1.38-alpha
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/dist/index.cjs +14 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -17874,19 +17874,21 @@ var SecureChannelMessageDecoder = class extends TransformStream {
|
|
|
17874
17874
|
* seen remote sequence. Allows exactly one UInt32 wrap-around per token.
|
|
17875
17875
|
* Returns false and logs an error if the number is a duplicate or out of order.
|
|
17876
17876
|
*/
|
|
17877
|
-
validateSequenceNumber(sequenceNumber, controller) {
|
|
17877
|
+
validateSequenceNumber(sequenceNumber, msgType, controller) {
|
|
17878
17878
|
const last = this.context.lastRemoteSequenceNumber;
|
|
17879
17879
|
if (last === void 0) {
|
|
17880
17880
|
this.context.lastRemoteSequenceNumber = sequenceNumber;
|
|
17881
|
+
this.logger.debug(`[${msgType}] Sequence number initialized to ${sequenceNumber}`);
|
|
17881
17882
|
return true;
|
|
17882
17883
|
}
|
|
17883
17884
|
const isIncrement = sequenceNumber === last + 1;
|
|
17884
17885
|
const isWrap = last >= SEQ_WRAP_THRESHOLD2 && sequenceNumber < SEQ_WRAP_MAX;
|
|
17885
17886
|
if (!isIncrement && !isWrap) {
|
|
17886
|
-
this.logger.error(`Invalid remote sequence number: expected ${last + 1}, got ${sequenceNumber}`);
|
|
17887
|
+
this.logger.error(`[${msgType}] Invalid remote sequence number: expected ${last + 1}, got ${sequenceNumber}`);
|
|
17887
17888
|
controller.error(new Error(`Invalid remote sequence number: expected ${last + 1}, got ${sequenceNumber}`));
|
|
17888
17889
|
return false;
|
|
17889
17890
|
}
|
|
17891
|
+
this.logger.debug(`[${msgType}] Sequence number advanced: ${last} \u2192 ${sequenceNumber}`);
|
|
17890
17892
|
this.context.lastRemoteSequenceNumber = sequenceNumber;
|
|
17891
17893
|
return true;
|
|
17892
17894
|
}
|
|
@@ -17904,7 +17906,7 @@ var SecureChannelMessageDecoder = class extends TransformStream {
|
|
|
17904
17906
|
secHeader,
|
|
17905
17907
|
this.context.securityAlgorithm
|
|
17906
17908
|
);
|
|
17907
|
-
if (!this.validateSequenceNumber(msgAsym.sequenceHeader.sequenceNumber, controller)) return;
|
|
17909
|
+
if (!this.validateSequenceNumber(msgAsym.sequenceHeader.sequenceNumber, "OPN", controller)) return;
|
|
17908
17910
|
controller.enqueue(msgAsym);
|
|
17909
17911
|
break;
|
|
17910
17912
|
}
|
|
@@ -17912,7 +17914,7 @@ var SecureChannelMessageDecoder = class extends TransformStream {
|
|
|
17912
17914
|
this.logger.warn("SecureChannel received Abort message");
|
|
17913
17915
|
const secHeader = MsgSecurityHeaderSymmetric.decode(buffer);
|
|
17914
17916
|
const msgSym = MsgSymmetric.decode(buffer, header, secHeader, this.context.securityAlgorithm);
|
|
17915
|
-
if (!this.validateSequenceNumber(msgSym.sequenceHeader.sequenceNumber, controller)) return;
|
|
17917
|
+
if (!this.validateSequenceNumber(msgSym.sequenceHeader.sequenceNumber, "MSG-A", controller)) return;
|
|
17916
17918
|
controller.enqueue(msgSym);
|
|
17917
17919
|
break;
|
|
17918
17920
|
}
|
|
@@ -17920,7 +17922,7 @@ var SecureChannelMessageDecoder = class extends TransformStream {
|
|
|
17920
17922
|
this.logger.debug("SecureChannel received Chunk message.");
|
|
17921
17923
|
const secHeader = MsgSecurityHeaderSymmetric.decode(buffer);
|
|
17922
17924
|
const msgSym = MsgSymmetric.decode(buffer, header, secHeader, this.context.securityAlgorithm);
|
|
17923
|
-
if (!this.validateSequenceNumber(msgSym.sequenceHeader.sequenceNumber, controller)) return;
|
|
17925
|
+
if (!this.validateSequenceNumber(msgSym.sequenceHeader.sequenceNumber, "MSG-C", controller)) return;
|
|
17924
17926
|
controller.enqueue(msgSym);
|
|
17925
17927
|
break;
|
|
17926
17928
|
}
|
|
@@ -17928,13 +17930,17 @@ var SecureChannelMessageDecoder = class extends TransformStream {
|
|
|
17928
17930
|
this.logger.debug("SecureChannel received Final message");
|
|
17929
17931
|
const secHeader = MsgSecurityHeaderSymmetric.decode(buffer);
|
|
17930
17932
|
const msgSym = MsgSymmetric.decode(buffer, header, secHeader, this.context.securityAlgorithm);
|
|
17931
|
-
if (!this.validateSequenceNumber(msgSym.sequenceHeader.sequenceNumber, controller)) return;
|
|
17933
|
+
if (!this.validateSequenceNumber(msgSym.sequenceHeader.sequenceNumber, "MSG-F", controller)) return;
|
|
17932
17934
|
controller.enqueue(msgSym);
|
|
17933
17935
|
break;
|
|
17934
17936
|
}
|
|
17935
|
-
case MsgTypeCloseFinal:
|
|
17936
|
-
this.logger.warn("
|
|
17937
|
+
case MsgTypeCloseFinal: {
|
|
17938
|
+
this.logger.warn("SecureChannel received CloseFinal message.");
|
|
17939
|
+
const secHeader = MsgSecurityHeaderSymmetric.decode(buffer);
|
|
17940
|
+
const msgSym = MsgSymmetric.decode(buffer, header, secHeader, this.context.securityAlgorithm);
|
|
17941
|
+
this.validateSequenceNumber(msgSym.sequenceHeader.sequenceNumber, "CLO-F", controller);
|
|
17937
17942
|
break;
|
|
17943
|
+
}
|
|
17938
17944
|
default:
|
|
17939
17945
|
this.logger.warn("SecureChannel received unknown message type:", header.msgType);
|
|
17940
17946
|
break;
|