node-opcua-chunkmanager 2.85.0 → 2.86.1
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/chunk_manager.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
152
|
+
this.writeHeaderFunc(this.pendingChunk.subarray(0, this.headerSize), isLast, expectedLength);
|
|
153
153
|
}
|
|
154
154
|
if (this.sequenceHeaderSize > 0) {
|
|
155
|
-
this.writeSequenceHeaderFunc(this.pendingChunk.
|
|
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.
|
|
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,
|
|
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.
|
|
3
|
+
"version": "2.86.1",
|
|
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.
|
|
16
|
-
"node-opcua-binary-stream": "2.
|
|
17
|
-
"node-opcua-buffer-utils": "2.
|
|
18
|
-
"node-opcua-factory": "2.
|
|
19
|
-
"node-opcua-packet-assembler": "2.
|
|
15
|
+
"node-opcua-basic-types": "2.86.1",
|
|
16
|
+
"node-opcua-binary-stream": "2.86.0",
|
|
17
|
+
"node-opcua-buffer-utils": "2.86.0",
|
|
18
|
+
"node-opcua-factory": "2.86.1",
|
|
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.
|
|
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": "
|
|
42
|
+
"gitHead": "389ba18585ff4b62f6fee58b69bd871a8e6b0dff"
|
|
43
43
|
}
|
package/source/chunk_manager.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
257
|
+
this.writeHeaderFunc!(this.pendingChunk.subarray(0, this.headerSize), isLast, expectedLength);
|
|
258
258
|
}
|
|
259
259
|
if (this.sequenceHeaderSize > 0) {
|
|
260
|
-
this.writeSequenceHeaderFunc!(this.pendingChunk.
|
|
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!.
|
|
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
|