opcjs-base 0.1.38-alpha → 0.1.39-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 +15 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +15 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -8281,9 +8281,13 @@ declare class SecureChannelMessageDecoder extends TransformStream<Uint8Array, Ms
|
|
|
8281
8281
|
private context;
|
|
8282
8282
|
private logger;
|
|
8283
8283
|
/**
|
|
8284
|
-
* Validates that `sequenceNumber` is
|
|
8284
|
+
* Validates that `sequenceNumber` is monotonically increasing from the last
|
|
8285
8285
|
* seen remote sequence. Allows exactly one UInt32 wrap-around per token.
|
|
8286
|
-
*
|
|
8286
|
+
*
|
|
8287
|
+
* Forward gaps are tolerated with a warning because some server implementations
|
|
8288
|
+
* may consume sequence numbers internally (e.g. cancelled responses) without
|
|
8289
|
+
* sending them on the wire. Backward jumps and duplicates are rejected as
|
|
8290
|
+
* errors since they indicate replay or reordering.
|
|
8287
8291
|
*/
|
|
8288
8292
|
private validateSequenceNumber;
|
|
8289
8293
|
private transform;
|
package/dist/index.d.ts
CHANGED
|
@@ -8281,9 +8281,13 @@ declare class SecureChannelMessageDecoder extends TransformStream<Uint8Array, Ms
|
|
|
8281
8281
|
private context;
|
|
8282
8282
|
private logger;
|
|
8283
8283
|
/**
|
|
8284
|
-
* Validates that `sequenceNumber` is
|
|
8284
|
+
* Validates that `sequenceNumber` is monotonically increasing from the last
|
|
8285
8285
|
* seen remote sequence. Allows exactly one UInt32 wrap-around per token.
|
|
8286
|
-
*
|
|
8286
|
+
*
|
|
8287
|
+
* Forward gaps are tolerated with a warning because some server implementations
|
|
8288
|
+
* may consume sequence numbers internally (e.g. cancelled responses) without
|
|
8289
|
+
* sending them on the wire. Backward jumps and duplicates are rejected as
|
|
8290
|
+
* errors since they indicate replay or reordering.
|
|
8287
8291
|
*/
|
|
8288
8292
|
private validateSequenceNumber;
|
|
8289
8293
|
private transform;
|
package/dist/index.js
CHANGED
|
@@ -17868,9 +17868,13 @@ var SecureChannelMessageDecoder = class extends TransformStream {
|
|
|
17868
17868
|
}
|
|
17869
17869
|
logger = getLogger("secureChannel.SecureChannelMessageDecoder");
|
|
17870
17870
|
/**
|
|
17871
|
-
* Validates that `sequenceNumber` is
|
|
17871
|
+
* Validates that `sequenceNumber` is monotonically increasing from the last
|
|
17872
17872
|
* seen remote sequence. Allows exactly one UInt32 wrap-around per token.
|
|
17873
|
-
*
|
|
17873
|
+
*
|
|
17874
|
+
* Forward gaps are tolerated with a warning because some server implementations
|
|
17875
|
+
* may consume sequence numbers internally (e.g. cancelled responses) without
|
|
17876
|
+
* sending them on the wire. Backward jumps and duplicates are rejected as
|
|
17877
|
+
* errors since they indicate replay or reordering.
|
|
17874
17878
|
*/
|
|
17875
17879
|
validateSequenceNumber(sequenceNumber, msgType, controller) {
|
|
17876
17880
|
const last = this.context.lastRemoteSequenceNumber;
|
|
@@ -17879,14 +17883,18 @@ var SecureChannelMessageDecoder = class extends TransformStream {
|
|
|
17879
17883
|
this.logger.debug(`[${msgType}] Sequence number initialized to ${sequenceNumber}`);
|
|
17880
17884
|
return true;
|
|
17881
17885
|
}
|
|
17882
|
-
const isIncrement = sequenceNumber === last + 1;
|
|
17883
17886
|
const isWrap = last >= SEQ_WRAP_THRESHOLD2 && sequenceNumber < SEQ_WRAP_MAX;
|
|
17884
|
-
|
|
17885
|
-
|
|
17886
|
-
|
|
17887
|
+
const isForward = sequenceNumber > last;
|
|
17888
|
+
if (!isForward && !isWrap) {
|
|
17889
|
+
this.logger.error(`[${msgType}] Invalid remote sequence number: expected > ${last}, got ${sequenceNumber}`);
|
|
17890
|
+
controller.error(new Error(`Invalid remote sequence number: expected > ${last}, got ${sequenceNumber}`));
|
|
17887
17891
|
return false;
|
|
17888
17892
|
}
|
|
17889
|
-
|
|
17893
|
+
if (sequenceNumber !== last + 1 && !isWrap) {
|
|
17894
|
+
this.logger.warn(`[${msgType}] Remote sequence number gap: expected ${last + 1}, got ${sequenceNumber} (skipped ${sequenceNumber - last - 1})`);
|
|
17895
|
+
} else {
|
|
17896
|
+
this.logger.debug(`[${msgType}] Sequence number advanced: ${last} \u2192 ${sequenceNumber}`);
|
|
17897
|
+
}
|
|
17890
17898
|
this.context.lastRemoteSequenceNumber = sequenceNumber;
|
|
17891
17899
|
return true;
|
|
17892
17900
|
}
|