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