node-opcua-chunkmanager 2.85.0 → 2.86.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.
@@ -5,10 +5,10 @@
5
5
  */
6
6
  import { EventEmitter } from "events";
7
7
  export declare function verify_message_chunk(messageChunk: Buffer): void;
8
- export declare type WriteHeaderFunc = (chunk: Buffer, isLast: boolean, expectedLength: number) => void;
9
- export declare type WriteSequenceHeaderFunc = (chunk: Buffer) => void;
10
- export declare type SignBufferFunc = (buffer: Buffer) => Buffer;
11
- export declare type EncryptBufferFunc = (buffer: Buffer) => Buffer;
8
+ export type WriteHeaderFunc = (chunk: Buffer, isLast: boolean, expectedLength: number) => void;
9
+ export type WriteSequenceHeaderFunc = (chunk: Buffer) => void;
10
+ export type SignBufferFunc = (buffer: Buffer) => Buffer;
11
+ export type EncryptBufferFunc = (buffer: Buffer) => Buffer;
12
12
  export interface IChunkManagerOptions {
13
13
  chunkSize: number;
14
14
  signatureLength: number;
@@ -119,7 +119,7 @@ class ChunkManager extends events_1.EventEmitter {
119
119
  (0, node_opcua_assert_1.assert)(typeof this.signBufferFunc === "function");
120
120
  (0, node_opcua_assert_1.assert)(this.signatureLength !== 0);
121
121
  const signatureStart = this.dataEnd;
122
- const sectionToSign = chunk.slice(0, signatureStart);
122
+ const sectionToSign = chunk.subarray(0, signatureStart);
123
123
  const signature = this.signBufferFunc(sectionToSign);
124
124
  (0, node_opcua_assert_1.assert)(signature.length === this.signatureLength);
125
125
  signature.copy(chunk, signatureStart);
@@ -133,7 +133,7 @@ class ChunkManager extends events_1.EventEmitter {
133
133
  (0, node_opcua_assert_1.assert)(this.dataEnd !== undefined);
134
134
  const startEncryptionPos = this.headerSize;
135
135
  const endEncryptionPos = this.dataEnd + this.signatureLength;
136
- const areaToEncrypt = chunk.slice(startEncryptionPos, endEncryptionPos);
136
+ const areaToEncrypt = chunk.subarray(startEncryptionPos, endEncryptionPos);
137
137
  (0, node_opcua_assert_1.assert)(areaToEncrypt.length % this.plainBlockSize === 0); // padding should have been applied
138
138
  const nbBlock = areaToEncrypt.length / this.plainBlockSize;
139
139
  const encryptedBuffer = this.encryptBufferFunc(areaToEncrypt);
@@ -149,10 +149,10 @@ class ChunkManager extends events_1.EventEmitter {
149
149
  // Release 1.02 39 OPC Unified Architecture, Part 6:
150
150
  // The sequence header ensures that the first encrypted block of every Message sent over
151
151
  // a channel will start with different data.
152
- this.writeHeaderFunc(this.pendingChunk.slice(0, this.headerSize), isLast, expectedLength);
152
+ this.writeHeaderFunc(this.pendingChunk.subarray(0, this.headerSize), isLast, expectedLength);
153
153
  }
154
154
  if (this.sequenceHeaderSize > 0) {
155
- this.writeSequenceHeaderFunc(this.pendingChunk.slice(this.headerSize, this.headerSize + this.sequenceHeaderSize));
155
+ this.writeSequenceHeaderFunc(this.pendingChunk.subarray(this.headerSize, this.headerSize + this.sequenceHeaderSize));
156
156
  }
157
157
  this._write_signature(this.pendingChunk);
158
158
  this._encrypt(this.pendingChunk);
@@ -209,7 +209,7 @@ class ChunkManager extends events_1.EventEmitter {
209
209
  this.dataEnd = this.dataOffset + this.cursor;
210
210
  // calculate the expected length of the chunk, once encrypted if encryption apply
211
211
  const expectedLength = this.dataEnd + this.signatureLength + extraEncryptionBytes;
212
- this.pendingChunk = this.chunk.slice(0, expectedLength);
212
+ this.pendingChunk = this.chunk.subarray(0, expectedLength);
213
213
  // note :
214
214
  // - this.pending_chunk has the correct size but is not signed nor encrypted yet
215
215
  // as we don't know what to write in the header yet
@@ -1 +1 @@
1
- {"version":3,"file":"chunk_manager.js","sourceRoot":"","sources":["../source/chunk_manager.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,mCAAsC;AAEtC,yDAA2C;AAC3C,uEAAwD;AACxD,qEAAwE;AAExE,+DAA0D;AAE1D,SAAgB,oBAAoB,CAAC,YAAoB;IACrD,IAAA,0BAAM,EAAC,YAAY,CAAC,CAAC;IACrB,IAAA,0BAAM,EAAC,YAAY,YAAY,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAA,uCAAiB,EAAC,IAAI,uCAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IACjE,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,YAAY,CAAC,MAAM,GAAG,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;KACnG;AACL,CAAC;AAPD,oDAOC;AAqDD,MAAa,YAAa,SAAQ,qBAAY;IAsB1C,YAAY,OAA6B;QACrC,KAAK,EAAE,CAAC;QAER,2DAA2D;QAC3D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAC/C,IAAA,0BAAM,EAAC,OAAO,IAAI,CAAC,eAAe,KAAK,UAAU,CAAC,CAAC;SACtD;QAED,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACpG,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE;YAC7B,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;YAC/D,IAAA,0BAAM,EAAC,OAAO,IAAI,CAAC,uBAAuB,KAAK,UAAU,CAAC,CAAC;SAC9D;QAED,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAE7C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,UAAU;QAC7D,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,OAAO;QAC5D,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEjB,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE;YAC5B,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC;YAClC,oBAAoB;YACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACrG,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;SACtC;aAAM;YACH,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC;YAClC,sGAAsG;YACtG,mGAAmG;YACnG,eAAe;YAEf,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YACnD,IAAA,0BAAM,EAAC,OAAO,IAAI,CAAC,iBAAiB,KAAK,UAAU,EAAE,kCAAkC,CAAC,CAAC;YAEzF,yCAAyC;YACzC,IAAI,CAAC,WAAW;gBACZ,IAAI,CAAC,cAAc;oBACf,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;oBACpG,IAAI,CAAC,kBAAkB,CAAC;YAE5B,uCAAuC;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YACtF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YAE5G,IAAI,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE;gBAC3B,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;aACzB;SACJ;QACD,IAAA,0BAAM,EAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B;QAE5D,qCAAqC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAE5D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEM,4BAA4B,CAAC,QAAgB;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;QAChD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,MAAc,EAAE,MAAe;QACxC,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;QACjC,IAAA,0BAAM,EAAC,MAAM,YAAY,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC;QACpD,IAAA,0BAAM,EAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEnB,IAAI,CAAC,GAAG,MAAM,CAAC;QACf,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,OAAO,CAAC,GAAG,CAAC,EAAE;YACV,IAAA,0BAAM,EAAC,MAAM,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC;YAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;aACnC;YAED,8BAA8B;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,WAAW,EAAE,SAAS,CAAC,CAAC;YAE5D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAA,uDAA6B,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEzE,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC;aACjG;YAED,WAAW,IAAI,SAAS,CAAC;YACzB,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;YAEzB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;gBACjC,IAAI,CAAC,2BAA2B,EAAE,CAAC;aACtC;YACD,CAAC,IAAI,SAAS,CAAC;SAClB;IACL,CAAC;IAEM,GAAG;QACN,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACtC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CAAC,KAAa;QAClC,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAA,0BAAM,EAAC,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC;YAClD,IAAA,0BAAM,EAAC,IAAI,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC;YAEnC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;YACpC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;YAErD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACrD,IAAA,0BAAM,EAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;YAElD,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;SACzC;aAAM;YACH,IAAA,0BAAM,EAAC,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAC;SAC3D;IACL,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;YACzB,IAAA,0BAAM,EAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;YACnC,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;YAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;YAE7D,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;YAExE,IAAA,0BAAM,EAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,mCAAmC;YAC7F,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;YAE3D,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAkB,CAAC,aAAa,CAAC,CAAC;YAC/D,IAAA,0BAAM,EAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC;YAC5D,IAAA,0BAAM,EAAC,eAAe,CAAC,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YAElE,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;SACnD;IACL,CAAC;IAEO,mBAAmB,CAAC,MAAe;QACvC,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAEhD,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;gBACrB,sDAAsD;gBACtD,2FAA2F;gBAC3F,4CAA4C;gBAC5C,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;aAC9F;YACD,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE;gBAC7B,IAAI,CAAC,uBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;aACtH;YAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjC;;;;eAIG;YACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC5B;IACL,CAAC;IAEO,oBAAoB,CAAC,kBAA0B;QACnD,MAAM,aAAa,GAAG,kBAAkB,GAAG,GAAG,CAAC;QAC/C,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;QAEhE,IAAA,0BAAM,EAAC,kBAAkB,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,wDAAwD,CAAC,CAAC;QAExH,yBAAyB;QACzB,IAAI,CAAC,KAAM,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,KAAM,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;SAC5E;QACD,IAAI,CAAC,MAAM,IAAI,kBAAkB,CAAC;QAElC,IAAI,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,KAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1E,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;SACpB;IACL,CAAC;IAEO,2BAA2B;QAC/B,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,8BAA8B;QAC9B,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;YACzB,kCAAkC;YAElC,qFAAqF;YACrF,wFAAwF;YACxF,wFAAwF;YACxF,wFAAwF;YACxF,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;YAC7E,IAAI,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE;gBAC3B,SAAS,IAAI,CAAC,CAAC,CAAC,wCAAwC;aAC3D;iBAAM;gBACH,SAAS,IAAI,CAAC,CAAC;aAClB;YACD,uDAAuD;YACvD,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;YAC1C,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YAE3E,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;YAEpF,IAAA,0BAAM,EAAC,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACrD,oBAAoB,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;SACjF;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7C,iFAAiF;QACjF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,GAAG,oBAAoB,CAAC;QAElF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QACzD,SAAS;QACT,iFAAiF;QACjF,sDAAsD;QACtD,kBAAkB;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;CACJ;AA3QD,oCA2QC"}
1
+ {"version":3,"file":"chunk_manager.js","sourceRoot":"","sources":["../source/chunk_manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-chunkmanager",
3
- "version": "2.85.0",
3
+ "version": "2.86.0",
4
4
  "description": "pure nodejs OPCUA SDK - module -chunkmanager",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -12,15 +12,15 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "node-opcua-assert": "2.77.0",
15
- "node-opcua-basic-types": "2.85.0",
16
- "node-opcua-binary-stream": "2.85.0",
17
- "node-opcua-buffer-utils": "2.85.0",
18
- "node-opcua-factory": "2.85.0",
19
- "node-opcua-packet-assembler": "2.85.0"
15
+ "node-opcua-basic-types": "2.86.0",
16
+ "node-opcua-binary-stream": "2.86.0",
17
+ "node-opcua-buffer-utils": "2.86.0",
18
+ "node-opcua-factory": "2.86.0",
19
+ "node-opcua-packet-assembler": "2.86.0"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/node": "18.11.9",
23
- "node-opcua-debug": "2.85.0",
23
+ "node-opcua-debug": "2.86.0",
24
24
  "should": "^13.2.3",
25
25
  "source-map-support": "^0.5.21"
26
26
  },
@@ -39,5 +39,5 @@
39
39
  "internet of things"
40
40
  ],
41
41
  "homepage": "http://node-opcua.github.io/",
42
- "gitHead": "68498fcf7b20ea9f7bd66e8529c546221daf5d52"
42
+ "gitHead": "36afc46fe2c91aa5664a8c5418f4db5a354670c3"
43
43
  }
@@ -216,7 +216,7 @@ export class ChunkManager extends EventEmitter {
216
216
  assert(this.signatureLength !== 0);
217
217
 
218
218
  const signatureStart = this.dataEnd;
219
- const sectionToSign = chunk.slice(0, signatureStart);
219
+ const sectionToSign = chunk.subarray(0, signatureStart);
220
220
 
221
221
  const signature = this.signBufferFunc(sectionToSign);
222
222
  assert(signature.length === this.signatureLength);
@@ -233,7 +233,7 @@ export class ChunkManager extends EventEmitter {
233
233
  const startEncryptionPos = this.headerSize;
234
234
  const endEncryptionPos = this.dataEnd + this.signatureLength;
235
235
 
236
- const areaToEncrypt = chunk.slice(startEncryptionPos, endEncryptionPos);
236
+ const areaToEncrypt = chunk.subarray(startEncryptionPos, endEncryptionPos);
237
237
 
238
238
  assert(areaToEncrypt.length % this.plainBlockSize === 0); // padding should have been applied
239
239
  const nbBlock = areaToEncrypt.length / this.plainBlockSize;
@@ -254,10 +254,10 @@ export class ChunkManager extends EventEmitter {
254
254
  // Release 1.02 39 OPC Unified Architecture, Part 6:
255
255
  // The sequence header ensures that the first encrypted block of every Message sent over
256
256
  // a channel will start with different data.
257
- this.writeHeaderFunc!(this.pendingChunk.slice(0, this.headerSize), isLast, expectedLength);
257
+ this.writeHeaderFunc!(this.pendingChunk.subarray(0, this.headerSize), isLast, expectedLength);
258
258
  }
259
259
  if (this.sequenceHeaderSize > 0) {
260
- this.writeSequenceHeaderFunc!(this.pendingChunk.slice(this.headerSize, this.headerSize + this.sequenceHeaderSize));
260
+ this.writeSequenceHeaderFunc!(this.pendingChunk.subarray(this.headerSize, this.headerSize + this.sequenceHeaderSize));
261
261
  }
262
262
 
263
263
  this._write_signature(this.pendingChunk);
@@ -328,7 +328,7 @@ export class ChunkManager extends EventEmitter {
328
328
  // calculate the expected length of the chunk, once encrypted if encryption apply
329
329
  const expectedLength = this.dataEnd + this.signatureLength + extraEncryptionBytes;
330
330
 
331
- this.pendingChunk = this.chunk!.slice(0, expectedLength);
331
+ this.pendingChunk = this.chunk!.subarray(0, expectedLength);
332
332
  // note :
333
333
  // - this.pending_chunk has the correct size but is not signed nor encrypted yet
334
334
  // as we don't know what to write in the header yet