node-opcua-server 2.56.3 → 2.57.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.
- package/LICENSE +20 -20
- package/dist/server_end_point.js +31 -17
- package/dist/server_end_point.js.map +1 -1
- package/dist/server_session.d.ts +6 -2
- package/dist/server_session.js +11 -2
- package/dist/server_session.js.map +1 -1
- package/package.json +35 -35
- package/source/index.ts +14 -14
- package/source/server_end_point.ts +49 -30
- package/source/server_session.ts +17 -5
- package/test_helpers/create_certificates.js +1 -1
package/LICENSE
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2014-2021 Etienne Rossignon
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
|
-
this software and associated documentation files (the "Software"), to deal in
|
|
7
|
-
the Software without restriction, including without limitation the rights to
|
|
8
|
-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
-
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
10
|
-
subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
17
|
-
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
18
|
-
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
19
|
-
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2014-2021 Etienne Rossignon
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
7
|
+
the Software without restriction, including without limitation the rights to
|
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
10
|
+
subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
17
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
18
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/dist/server_end_point.js
CHANGED
|
@@ -52,6 +52,9 @@ function extractChannelData(channel) {
|
|
|
52
52
|
return channelData;
|
|
53
53
|
}
|
|
54
54
|
function dumpChannelInfo(channels) {
|
|
55
|
+
function d(s) {
|
|
56
|
+
return `[ status=${s.status} lastSeen=${s.clientLastContactTime.toFixed(0)}ms sessionName=${s.sessionName} timeout=${s.sessionTimeout} ]`;
|
|
57
|
+
}
|
|
55
58
|
function dumpChannel(channel) {
|
|
56
59
|
var _a;
|
|
57
60
|
console.log("------------------------------------------------------");
|
|
@@ -62,6 +65,8 @@ function dumpChannelInfo(channels) {
|
|
|
62
65
|
console.log("");
|
|
63
66
|
console.log(" bytesWritten = ", channel.bytesWritten);
|
|
64
67
|
console.log(" bytesRead = ", channel.bytesRead);
|
|
68
|
+
console.log(" sessions = ", Object.keys(channel.sessionTokens).length);
|
|
69
|
+
console.log(Object.values(channel.sessionTokens).map(d).join("\n"));
|
|
65
70
|
const socket = (_a = channel.transport) === null || _a === void 0 ? void 0 : _a._socket;
|
|
66
71
|
if (!socket) {
|
|
67
72
|
console.log(" SOCKET IS CLOSED");
|
|
@@ -455,17 +460,20 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
|
|
|
455
460
|
socket.end();
|
|
456
461
|
return;
|
|
457
462
|
}
|
|
463
|
+
const deny_connection = () => {
|
|
464
|
+
console.log(chalk.bgWhite.cyan("OPCUAServerEndPoint#_on_client_connection " +
|
|
465
|
+
"The maximum number of connection has been reached - Connection is refused"));
|
|
466
|
+
const reason = "maxConnections reached (" + this.maxConnections + ")";
|
|
467
|
+
const socketData = extractSocketData(socket, reason);
|
|
468
|
+
this.emit("connectionRefused", socketData);
|
|
469
|
+
socket.end();
|
|
470
|
+
socket.destroy();
|
|
471
|
+
};
|
|
458
472
|
const establish_connection = () => {
|
|
459
473
|
const nbConnections = Object.keys(this._channels).length;
|
|
460
474
|
debugLog(" nbConnections ", nbConnections, " self._server.maxConnections", this._server.maxConnections, this.maxConnections);
|
|
461
475
|
if (nbConnections >= this.maxConnections) {
|
|
462
|
-
|
|
463
|
-
"The maximum number of connection has been reached - Connection is refused"));
|
|
464
|
-
const reason = "maxConnections reached (" + this.maxConnections + ")";
|
|
465
|
-
const socketData = extractSocketData(socket, reason);
|
|
466
|
-
this.emit("connectionRefused", socketData);
|
|
467
|
-
socket.end();
|
|
468
|
-
socket.destroy();
|
|
476
|
+
deny_connection();
|
|
469
477
|
return;
|
|
470
478
|
}
|
|
471
479
|
debugLog("OPCUAServerEndPoint._on_client_connection successful => New Channel");
|
|
@@ -475,6 +483,7 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
|
|
|
475
483
|
parent: this,
|
|
476
484
|
timeout: this.timeout
|
|
477
485
|
});
|
|
486
|
+
debugLog("channel Timeout = >", channel.timeout);
|
|
478
487
|
socket.resume();
|
|
479
488
|
this._preregisterChannel(channel);
|
|
480
489
|
channel.init(socket, (err) => {
|
|
@@ -502,7 +511,7 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
|
|
|
502
511
|
// period has elapsed. A Server application should limit the number of SecureChannels.
|
|
503
512
|
// To protect against misbehaving Clients and denial of service attacks, the Server shall close the oldest
|
|
504
513
|
// SecureChannel that has no Session assigned before reaching the maximum number of supported SecureChannels.
|
|
505
|
-
this._prevent_DDOS_Attack(establish_connection);
|
|
514
|
+
this._prevent_DDOS_Attack(establish_connection, deny_connection);
|
|
506
515
|
}
|
|
507
516
|
_preregisterChannel(channel) {
|
|
508
517
|
// _preregisterChannel is used to keep track of channel for which
|
|
@@ -511,13 +520,14 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
|
|
|
511
520
|
// as they will need to be interrupted when OPCUAServerEndPoint is closed
|
|
512
521
|
(0, node_opcua_assert_1.assert)(this._started, "OPCUAServerEndPoint must be started");
|
|
513
522
|
(0, node_opcua_assert_1.assert)(!Object.prototype.hasOwnProperty.call(this._channels, channel.hashKey), " channel already preregistered!");
|
|
514
|
-
|
|
515
|
-
channel.
|
|
523
|
+
const channelPriv = channel;
|
|
524
|
+
this._channels[channel.hashKey] = channelPriv;
|
|
525
|
+
channelPriv._unpreregisterChannelEvent = () => {
|
|
516
526
|
debugLog("Channel received an abort event during the preregistration phase");
|
|
517
527
|
this._un_pre_registerChannel(channel);
|
|
518
528
|
channel.dispose();
|
|
519
529
|
};
|
|
520
|
-
channel.on("abort",
|
|
530
|
+
channel.on("abort", channelPriv._unpreregisterChannelEvent);
|
|
521
531
|
}
|
|
522
532
|
_un_pre_registerChannel(channel) {
|
|
523
533
|
if (!this._channels[channel.hashKey]) {
|
|
@@ -525,9 +535,11 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
|
|
|
525
535
|
return;
|
|
526
536
|
}
|
|
527
537
|
delete this._channels[channel.hashKey];
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
538
|
+
const channelPriv = channel;
|
|
539
|
+
if (typeof channelPriv._unpreregisterChannelEvent === "function") {
|
|
540
|
+
channel.removeListener("abort", channelPriv._unpreregisterChannelEvent);
|
|
541
|
+
channelPriv._unpreregisterChannelEvent = undefined;
|
|
542
|
+
}
|
|
531
543
|
}
|
|
532
544
|
/**
|
|
533
545
|
* @method _registerChannel
|
|
@@ -606,20 +618,21 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
|
|
|
606
618
|
/**
|
|
607
619
|
* @private
|
|
608
620
|
*/
|
|
609
|
-
_prevent_DDOS_Attack(establish_connection) {
|
|
621
|
+
_prevent_DDOS_Attack(establish_connection, deny_connection) {
|
|
610
622
|
const nbConnections = this.activeChannelCount;
|
|
611
623
|
if (nbConnections >= this.maxConnections) {
|
|
612
624
|
// istanbul ignore next
|
|
613
|
-
|
|
625
|
+
errorLog(chalk.bgRed.white("PREVENTING DDOS ATTACK => maxConnection =" + this.maxConnections));
|
|
614
626
|
const unused_channels = this.getChannels().filter((channel1) => {
|
|
615
627
|
return !channel1.isOpened && !channel1.hasSession;
|
|
616
628
|
});
|
|
617
629
|
if (unused_channels.length === 0) {
|
|
618
630
|
// all channels are in used , we cannot get any
|
|
631
|
+
errorLog("All Channel are in used ! let cancel this one");
|
|
619
632
|
// istanbul ignore next
|
|
620
633
|
console.log(" - all channel are used !!!!");
|
|
621
634
|
dumpChannelInfo(this.getChannels());
|
|
622
|
-
|
|
635
|
+
setTimeout(deny_connection, 10);
|
|
623
636
|
return;
|
|
624
637
|
}
|
|
625
638
|
// istanbul ignore next
|
|
@@ -627,6 +640,7 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
|
|
|
627
640
|
console.log(" - Unused channels that can be clobbered", unused_channels.map((channel1) => channel1.hashKey).join(" "));
|
|
628
641
|
}
|
|
629
642
|
const channel = unused_channels[0];
|
|
643
|
+
errorLog("Closing channel ", channel.hashKey);
|
|
630
644
|
channel.close(() => {
|
|
631
645
|
// istanbul ignore next
|
|
632
646
|
if (doDebug) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server_end_point.js","sourceRoot":"","sources":["../source/server_end_point.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server_end_point.js","sourceRoot":"","sources":["../source/server_end_point.ts"],"names":[],"mappings":"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"}
|
package/dist/server_session.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { ObjectRegistry } from "node-opcua-object-registry";
|
|
|
10
10
|
import { StatusCode } from "node-opcua-status-code";
|
|
11
11
|
import { WatchDog } from "node-opcua-utils";
|
|
12
12
|
import { ISubscriber, IWatchdogData2 } from "node-opcua-utils";
|
|
13
|
-
import { IServerSession, ServerSecureChannelLayer } from "node-opcua-secure-channel";
|
|
13
|
+
import { IServerSession, IServerSessionBase, ServerSecureChannelLayer } from "node-opcua-secure-channel";
|
|
14
14
|
import { ApplicationDescription, UserIdentityToken, CreateSubscriptionRequestOptions, EndpointDescription } from "node-opcua-types";
|
|
15
15
|
import { ServerSidePublishEngine } from "./server_publish_engine";
|
|
16
16
|
import { Subscription } from "./server_subscription";
|
|
@@ -38,7 +38,7 @@ import { ServerEngine } from "./server_engine";
|
|
|
38
38
|
* SessionDiagnosticsArray Variable and notifies any other Clients who were subscribed to this entry.
|
|
39
39
|
*
|
|
40
40
|
*/
|
|
41
|
-
export declare class ServerSession extends EventEmitter implements ISubscriber, ISessionBase, IServerSession {
|
|
41
|
+
export declare class ServerSession extends EventEmitter implements ISubscriber, ISessionBase, IServerSession, IServerSessionBase {
|
|
42
42
|
static registry: ObjectRegistry;
|
|
43
43
|
static maxPublishRequestInQueue: number;
|
|
44
44
|
__status: string;
|
|
@@ -75,6 +75,10 @@ export declare class ServerSession extends EventEmitter implements ISubscriber,
|
|
|
75
75
|
getEndpointDescription(): EndpointDescription;
|
|
76
76
|
dispose(): void;
|
|
77
77
|
get clientConnectionTime(): Date;
|
|
78
|
+
/**
|
|
79
|
+
* return the number of milisecond since last session transaction occurs from client
|
|
80
|
+
* the first transaction is the creation of the session
|
|
81
|
+
*/
|
|
78
82
|
get clientLastContactTime(): number;
|
|
79
83
|
get status(): string;
|
|
80
84
|
set status(value: string);
|
package/dist/server_session.js
CHANGED
|
@@ -124,8 +124,13 @@ class ServerSession extends events_1.EventEmitter {
|
|
|
124
124
|
get clientConnectionTime() {
|
|
125
125
|
return this.creationDate;
|
|
126
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* return the number of milisecond since last session transaction occurs from client
|
|
129
|
+
* the first transaction is the creation of the session
|
|
130
|
+
*/
|
|
127
131
|
get clientLastContactTime() {
|
|
128
|
-
|
|
132
|
+
const lastSeen = this._watchDogData ? this._watchDogData.lastSeen : node_opcua_basic_types_1.minOPCUADate.getTime();
|
|
133
|
+
return node_opcua_utils_1.WatchDog.lastSeenToDuration(lastSeen);
|
|
129
134
|
}
|
|
130
135
|
get status() {
|
|
131
136
|
return this.__status;
|
|
@@ -313,6 +318,7 @@ class ServerSession extends events_1.EventEmitter {
|
|
|
313
318
|
// Post-Conditions
|
|
314
319
|
(0, node_opcua_assert_1.assert)(this.currentSubscriptionCount === 0);
|
|
315
320
|
this.status = "closed";
|
|
321
|
+
this._detach_channel();
|
|
316
322
|
/**
|
|
317
323
|
* @event session_closed
|
|
318
324
|
* @param deleteSubscriptions {Boolean}
|
|
@@ -405,8 +411,11 @@ class ServerSession extends events_1.EventEmitter {
|
|
|
405
411
|
}
|
|
406
412
|
_detach_channel() {
|
|
407
413
|
const channel = this.channel;
|
|
414
|
+
// istanbul ignore next
|
|
408
415
|
if (!channel) {
|
|
409
|
-
|
|
416
|
+
return;
|
|
417
|
+
// already detached !
|
|
418
|
+
// throw new Error("expecting a valid channel");
|
|
410
419
|
}
|
|
411
420
|
(0, node_opcua_assert_1.assert)(this.nonce && this.nonce instanceof Buffer);
|
|
412
421
|
(0, node_opcua_assert_1.assert)(this.authenticationToken);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server_session.js","sourceRoot":"","sources":["../source/server_session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server_session.js","sourceRoot":"","sources":["../source/server_session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.57.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module -server",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc -b",
|
|
@@ -19,54 +19,54 @@
|
|
|
19
19
|
"browser-process-hrtime": "^1.0.0",
|
|
20
20
|
"dequeue": "^1.0.5",
|
|
21
21
|
"lodash": "4.17.21",
|
|
22
|
-
"node-opcua-address-space": "2.
|
|
22
|
+
"node-opcua-address-space": "2.57.0",
|
|
23
23
|
"node-opcua-assert": "2.55.0",
|
|
24
|
-
"node-opcua-basic-types": "2.
|
|
25
|
-
"node-opcua-certificate-manager": "2.
|
|
26
|
-
"node-opcua-client": "2.
|
|
27
|
-
"node-opcua-client-dynamic-extension-object": "2.
|
|
28
|
-
"node-opcua-common": "2.
|
|
24
|
+
"node-opcua-basic-types": "2.57.0",
|
|
25
|
+
"node-opcua-certificate-manager": "2.57.0",
|
|
26
|
+
"node-opcua-client": "2.57.0",
|
|
27
|
+
"node-opcua-client-dynamic-extension-object": "2.57.0",
|
|
28
|
+
"node-opcua-common": "2.57.0",
|
|
29
29
|
"node-opcua-constants": "2.52.0",
|
|
30
30
|
"node-opcua-crypto": "^1.7.4",
|
|
31
|
-
"node-opcua-data-model": "2.
|
|
32
|
-
"node-opcua-data-value": "2.
|
|
31
|
+
"node-opcua-data-model": "2.57.0",
|
|
32
|
+
"node-opcua-data-value": "2.57.0",
|
|
33
33
|
"node-opcua-date-time": "2.55.0",
|
|
34
34
|
"node-opcua-debug": "2.55.0",
|
|
35
35
|
"node-opcua-enum": "2.55.0",
|
|
36
|
-
"node-opcua-extension-object": "2.
|
|
37
|
-
"node-opcua-factory": "2.
|
|
36
|
+
"node-opcua-extension-object": "2.57.0",
|
|
37
|
+
"node-opcua-factory": "2.57.0",
|
|
38
38
|
"node-opcua-hostname": "2.55.0",
|
|
39
39
|
"node-opcua-nodeid": "2.55.0",
|
|
40
|
-
"node-opcua-nodesets": "2.
|
|
41
|
-
"node-opcua-numeric-range": "2.
|
|
40
|
+
"node-opcua-nodesets": "2.57.0",
|
|
41
|
+
"node-opcua-numeric-range": "2.57.0",
|
|
42
42
|
"node-opcua-object-registry": "2.56.0",
|
|
43
43
|
"node-opcua-pki": "^2.12.0",
|
|
44
|
-
"node-opcua-secure-channel": "2.
|
|
45
|
-
"node-opcua-service-browse": "2.
|
|
46
|
-
"node-opcua-service-call": "2.
|
|
47
|
-
"node-opcua-service-discovery": "2.
|
|
48
|
-
"node-opcua-service-endpoints": "2.
|
|
49
|
-
"node-opcua-service-filter": "2.
|
|
50
|
-
"node-opcua-service-history": "2.
|
|
51
|
-
"node-opcua-service-node-management": "2.
|
|
52
|
-
"node-opcua-service-query": "2.
|
|
53
|
-
"node-opcua-service-read": "2.
|
|
54
|
-
"node-opcua-service-register-node": "2.
|
|
55
|
-
"node-opcua-service-secure-channel": "2.
|
|
56
|
-
"node-opcua-service-session": "2.
|
|
57
|
-
"node-opcua-service-subscription": "2.
|
|
58
|
-
"node-opcua-service-translate-browse-path": "2.
|
|
59
|
-
"node-opcua-service-write": "2.
|
|
44
|
+
"node-opcua-secure-channel": "2.57.0",
|
|
45
|
+
"node-opcua-service-browse": "2.57.0",
|
|
46
|
+
"node-opcua-service-call": "2.57.0",
|
|
47
|
+
"node-opcua-service-discovery": "2.57.0",
|
|
48
|
+
"node-opcua-service-endpoints": "2.57.0",
|
|
49
|
+
"node-opcua-service-filter": "2.57.0",
|
|
50
|
+
"node-opcua-service-history": "2.57.0",
|
|
51
|
+
"node-opcua-service-node-management": "2.57.0",
|
|
52
|
+
"node-opcua-service-query": "2.57.0",
|
|
53
|
+
"node-opcua-service-read": "2.57.0",
|
|
54
|
+
"node-opcua-service-register-node": "2.57.0",
|
|
55
|
+
"node-opcua-service-secure-channel": "2.57.0",
|
|
56
|
+
"node-opcua-service-session": "2.57.0",
|
|
57
|
+
"node-opcua-service-subscription": "2.57.0",
|
|
58
|
+
"node-opcua-service-translate-browse-path": "2.57.0",
|
|
59
|
+
"node-opcua-service-write": "2.57.0",
|
|
60
60
|
"node-opcua-status-code": "2.56.0",
|
|
61
|
-
"node-opcua-types": "2.
|
|
62
|
-
"node-opcua-utils": "2.
|
|
63
|
-
"node-opcua-variant": "2.
|
|
61
|
+
"node-opcua-types": "2.57.0",
|
|
62
|
+
"node-opcua-utils": "2.57.0",
|
|
63
|
+
"node-opcua-variant": "2.57.0"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
-
"node-opcua-data-access": "2.
|
|
66
|
+
"node-opcua-data-access": "2.57.0",
|
|
67
67
|
"node-opcua-leak-detector": "2.56.0",
|
|
68
68
|
"node-opcua-test-helpers": "2.42.0",
|
|
69
|
-
"node-opcua-transport": "2.
|
|
69
|
+
"node-opcua-transport": "2.57.0",
|
|
70
70
|
"should": "^13.2.3",
|
|
71
71
|
"sinon": "^11.1.2"
|
|
72
72
|
},
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"internet of things"
|
|
86
86
|
],
|
|
87
87
|
"homepage": "http://node-opcua.github.io/",
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "cb6a995ab35ea6231ffca85fbd0b624fe37119d2"
|
|
89
89
|
}
|
package/source/index.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module node-opcua-server
|
|
3
|
-
*/
|
|
4
|
-
export * from "./base_server";
|
|
5
|
-
export * from "./server_end_point";
|
|
6
|
-
export * from "./register_server_manager";
|
|
7
|
-
export * from "./register_server_manager_mdns_only";
|
|
8
|
-
export * from "./server_publish_engine";
|
|
9
|
-
export * from "./server_subscription";
|
|
10
|
-
export * from "./server_session";
|
|
11
|
-
export * from "./server_capabilities";
|
|
12
|
-
export * from "./server_engine";
|
|
13
|
-
export * from "./opcua_server";
|
|
14
|
-
export * from "./monitored_item";
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-server
|
|
3
|
+
*/
|
|
4
|
+
export * from "./base_server";
|
|
5
|
+
export * from "./server_end_point";
|
|
6
|
+
export * from "./register_server_manager";
|
|
7
|
+
export * from "./register_server_manager_mdns_only";
|
|
8
|
+
export * from "./server_publish_engine";
|
|
9
|
+
export * from "./server_subscription";
|
|
10
|
+
export * from "./server_session";
|
|
11
|
+
export * from "./server_capabilities";
|
|
12
|
+
export * from "./server_engine";
|
|
13
|
+
export * from "./opcua_server";
|
|
14
|
+
export * from "./monitored_item";
|
|
@@ -20,7 +20,8 @@ import {
|
|
|
20
20
|
ServerSecureChannelLayer,
|
|
21
21
|
ServerSecureChannelParent,
|
|
22
22
|
toURI,
|
|
23
|
-
AsymmetricAlgorithmSecurityHeader
|
|
23
|
+
AsymmetricAlgorithmSecurityHeader,
|
|
24
|
+
IServerSessionBase
|
|
24
25
|
} from "node-opcua-secure-channel";
|
|
25
26
|
import { UserTokenType } from "node-opcua-service-endpoints";
|
|
26
27
|
import { EndpointDescription } from "node-opcua-service-endpoints";
|
|
@@ -78,6 +79,11 @@ function extractChannelData(channel: ServerSecureChannelLayer): IChannelData {
|
|
|
78
79
|
}
|
|
79
80
|
|
|
80
81
|
function dumpChannelInfo(channels: ServerSecureChannelLayer[]): void {
|
|
82
|
+
function d(s: IServerSessionBase) {
|
|
83
|
+
return `[ status=${s.status} lastSeen=${s.clientLastContactTime.toFixed(0)}ms sessionName=${s.sessionName} timeout=${
|
|
84
|
+
s.sessionTimeout
|
|
85
|
+
} ]`;
|
|
86
|
+
}
|
|
81
87
|
function dumpChannel(channel: ServerSecureChannelLayer): void {
|
|
82
88
|
console.log("------------------------------------------------------");
|
|
83
89
|
console.log(" channelId = ", channel.channelId);
|
|
@@ -87,6 +93,8 @@ function dumpChannelInfo(channels: ServerSecureChannelLayer[]): void {
|
|
|
87
93
|
console.log("");
|
|
88
94
|
console.log(" bytesWritten = ", channel.bytesWritten);
|
|
89
95
|
console.log(" bytesRead = ", channel.bytesRead);
|
|
96
|
+
console.log(" sessions = ", Object.keys(channel.sessionTokens).length);
|
|
97
|
+
console.log(Object.values(channel.sessionTokens).map(d).join("\n"));
|
|
90
98
|
|
|
91
99
|
const socket = (channel as any).transport?._socket;
|
|
92
100
|
if (!socket) {
|
|
@@ -181,6 +189,10 @@ function getUniqueName(name: string, collection: { [key: string]: number }) {
|
|
|
181
189
|
return name;
|
|
182
190
|
}
|
|
183
191
|
}
|
|
192
|
+
|
|
193
|
+
interface ServerSecureChannelLayerPriv extends ServerSecureChannelLayer {
|
|
194
|
+
_unpreregisterChannelEvent?: () => void;
|
|
195
|
+
}
|
|
184
196
|
/**
|
|
185
197
|
* OPCUAServerEndPoint a Server EndPoint.
|
|
186
198
|
* A sever end point is listening to one port
|
|
@@ -264,6 +276,7 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
264
276
|
this._privateKey = emptyPrivateKeyPEM;
|
|
265
277
|
|
|
266
278
|
assert(Object.keys(this._channels).length === 0, "OPCUAServerEndPoint channels must have been deleted");
|
|
279
|
+
|
|
267
280
|
this._channels = {};
|
|
268
281
|
this.serverInfo = new ApplicationDescription({});
|
|
269
282
|
|
|
@@ -660,7 +673,7 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
660
673
|
|
|
661
674
|
private _on_client_connection(socket: Socket) {
|
|
662
675
|
// a client is attempting a connection on the socket
|
|
663
|
-
|
|
676
|
+
socket.setNoDelay(true);
|
|
664
677
|
|
|
665
678
|
debugLog("OPCUAServerEndPoint#_on_client_connection", this._started);
|
|
666
679
|
if (!this._started) {
|
|
@@ -673,6 +686,20 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
673
686
|
socket.end();
|
|
674
687
|
return;
|
|
675
688
|
}
|
|
689
|
+
const deny_connection = () => {
|
|
690
|
+
console.log(
|
|
691
|
+
chalk.bgWhite.cyan(
|
|
692
|
+
"OPCUAServerEndPoint#_on_client_connection " +
|
|
693
|
+
"The maximum number of connection has been reached - Connection is refused"
|
|
694
|
+
)
|
|
695
|
+
);
|
|
696
|
+
const reason = "maxConnections reached (" + this.maxConnections + ")";
|
|
697
|
+
const socketData = extractSocketData(socket, reason);
|
|
698
|
+
this.emit("connectionRefused", socketData);
|
|
699
|
+
|
|
700
|
+
socket.end();
|
|
701
|
+
socket.destroy();
|
|
702
|
+
};
|
|
676
703
|
|
|
677
704
|
const establish_connection = () => {
|
|
678
705
|
const nbConnections = Object.keys(this._channels).length;
|
|
@@ -684,18 +711,7 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
684
711
|
this.maxConnections
|
|
685
712
|
);
|
|
686
713
|
if (nbConnections >= this.maxConnections) {
|
|
687
|
-
|
|
688
|
-
chalk.bgWhite.cyan(
|
|
689
|
-
"OPCUAServerEndPoint#_on_client_connection " +
|
|
690
|
-
"The maximum number of connection has been reached - Connection is refused"
|
|
691
|
-
)
|
|
692
|
-
);
|
|
693
|
-
const reason = "maxConnections reached (" + this.maxConnections + ")";
|
|
694
|
-
const socketData = extractSocketData(socket, reason);
|
|
695
|
-
this.emit("connectionRefused", socketData);
|
|
696
|
-
|
|
697
|
-
socket.end();
|
|
698
|
-
(socket as any).destroy();
|
|
714
|
+
deny_connection();
|
|
699
715
|
return;
|
|
700
716
|
}
|
|
701
717
|
|
|
@@ -708,6 +724,8 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
708
724
|
timeout: this.timeout
|
|
709
725
|
});
|
|
710
726
|
|
|
727
|
+
debugLog("channel Timeout = >", channel.timeout);
|
|
728
|
+
|
|
711
729
|
socket.resume();
|
|
712
730
|
|
|
713
731
|
this._preregisterChannel(channel);
|
|
@@ -722,7 +740,7 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
722
740
|
this.emit("openSecureChannelFailure", socketData, channelData);
|
|
723
741
|
|
|
724
742
|
socket.end();
|
|
725
|
-
|
|
743
|
+
socket.destroy();
|
|
726
744
|
} else {
|
|
727
745
|
debugLog("server receiving a client connection");
|
|
728
746
|
this._registerChannel(channel);
|
|
@@ -734,13 +752,13 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
734
752
|
this.emit("message", message, channel, this);
|
|
735
753
|
});
|
|
736
754
|
};
|
|
755
|
+
|
|
737
756
|
// Each SecureChannel exists until it is explicitly closed or until the last token has expired and the overlap
|
|
738
757
|
// period has elapsed. A Server application should limit the number of SecureChannels.
|
|
739
758
|
// To protect against misbehaving Clients and denial of service attacks, the Server shall close the oldest
|
|
740
759
|
// SecureChannel that has no Session assigned before reaching the maximum number of supported SecureChannels.
|
|
741
|
-
this._prevent_DDOS_Attack(establish_connection);
|
|
760
|
+
this._prevent_DDOS_Attack(establish_connection, deny_connection);
|
|
742
761
|
}
|
|
743
|
-
|
|
744
762
|
private _preregisterChannel(channel: ServerSecureChannelLayer) {
|
|
745
763
|
// _preregisterChannel is used to keep track of channel for which
|
|
746
764
|
// that are in early stage of the hand shaking process.
|
|
@@ -750,14 +768,14 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
750
768
|
|
|
751
769
|
assert(!Object.prototype.hasOwnProperty.call(this._channels, channel.hashKey), " channel already preregistered!");
|
|
752
770
|
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
771
|
+
const channelPriv = <ServerSecureChannelLayerPriv>channel;
|
|
772
|
+
this._channels[channel.hashKey] = channelPriv;
|
|
773
|
+
channelPriv._unpreregisterChannelEvent = () => {
|
|
756
774
|
debugLog("Channel received an abort event during the preregistration phase");
|
|
757
775
|
this._un_pre_registerChannel(channel);
|
|
758
776
|
channel.dispose();
|
|
759
777
|
};
|
|
760
|
-
channel.on("abort",
|
|
778
|
+
channel.on("abort", channelPriv._unpreregisterChannelEvent);
|
|
761
779
|
}
|
|
762
780
|
|
|
763
781
|
private _un_pre_registerChannel(channel: ServerSecureChannelLayer) {
|
|
@@ -765,11 +783,12 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
765
783
|
debugLog("Already un preregistered ?", channel.hashKey);
|
|
766
784
|
return;
|
|
767
785
|
}
|
|
768
|
-
|
|
769
786
|
delete this._channels[channel.hashKey];
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
787
|
+
const channelPriv = <ServerSecureChannelLayerPriv>channel;
|
|
788
|
+
if (typeof channelPriv._unpreregisterChannelEvent === "function") {
|
|
789
|
+
channel.removeListener("abort", channelPriv._unpreregisterChannelEvent!);
|
|
790
|
+
channelPriv._unpreregisterChannelEvent = undefined;
|
|
791
|
+
}
|
|
773
792
|
}
|
|
774
793
|
|
|
775
794
|
/**
|
|
@@ -861,23 +880,23 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
861
880
|
/**
|
|
862
881
|
* @private
|
|
863
882
|
*/
|
|
864
|
-
private _prevent_DDOS_Attack(establish_connection: () => void) {
|
|
883
|
+
private _prevent_DDOS_Attack(establish_connection: () => void, deny_connection: () => void) {
|
|
865
884
|
const nbConnections = this.activeChannelCount;
|
|
866
885
|
|
|
867
886
|
if (nbConnections >= this.maxConnections) {
|
|
868
887
|
// istanbul ignore next
|
|
869
|
-
|
|
888
|
+
errorLog(chalk.bgRed.white("PREVENTING DDOS ATTACK => maxConnection =" + this.maxConnections));
|
|
870
889
|
|
|
871
890
|
const unused_channels: ServerSecureChannelLayer[] = this.getChannels().filter((channel1: ServerSecureChannelLayer) => {
|
|
872
891
|
return !channel1.isOpened && !channel1.hasSession;
|
|
873
892
|
});
|
|
874
893
|
if (unused_channels.length === 0) {
|
|
875
894
|
// all channels are in used , we cannot get any
|
|
876
|
-
|
|
895
|
+
errorLog("All Channel are in used ! let cancel this one");
|
|
877
896
|
// istanbul ignore next
|
|
878
897
|
console.log(" - all channel are used !!!!");
|
|
879
898
|
dumpChannelInfo(this.getChannels());
|
|
880
|
-
|
|
899
|
+
setTimeout(deny_connection, 10);
|
|
881
900
|
return;
|
|
882
901
|
}
|
|
883
902
|
// istanbul ignore next
|
|
@@ -888,7 +907,7 @@ export class OPCUAServerEndPoint extends EventEmitter implements ServerSecureCha
|
|
|
888
907
|
);
|
|
889
908
|
}
|
|
890
909
|
const channel = unused_channels[0];
|
|
891
|
-
|
|
910
|
+
errorLog("Closing channel ", channel.hashKey);
|
|
892
911
|
channel.close(() => {
|
|
893
912
|
// istanbul ignore next
|
|
894
913
|
if (doDebug) {
|
package/source/server_session.ts
CHANGED
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "node-opcua-address-space";
|
|
24
24
|
|
|
25
25
|
import { assert } from "node-opcua-assert";
|
|
26
|
-
import { randomGuid } from "node-opcua-basic-types";
|
|
26
|
+
import { minOPCUADate, randomGuid } from "node-opcua-basic-types";
|
|
27
27
|
import { SessionDiagnosticsDataType, SessionSecurityDiagnosticsDataType, SubscriptionDiagnosticsDataType } from "node-opcua-common";
|
|
28
28
|
import { QualifiedName, NodeClass } from "node-opcua-data-model";
|
|
29
29
|
import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
|
|
@@ -34,7 +34,7 @@ import { WatchDog } from "node-opcua-utils";
|
|
|
34
34
|
import { lowerFirstLetter } from "node-opcua-utils";
|
|
35
35
|
import { ISubscriber, IWatchdogData2 } from "node-opcua-utils";
|
|
36
36
|
|
|
37
|
-
import { IServerSession, ServerSecureChannelLayer } from "node-opcua-secure-channel";
|
|
37
|
+
import { IServerSession, IServerSessionBase, ServerSecureChannelLayer } from "node-opcua-secure-channel";
|
|
38
38
|
import { ApplicationDescription, UserIdentityToken, CreateSubscriptionRequestOptions, EndpointDescription } from "node-opcua-types";
|
|
39
39
|
|
|
40
40
|
import { ServerSidePublishEngine } from "./server_publish_engine";
|
|
@@ -93,7 +93,7 @@ interface SessionSecurityDiagnosticsDataTypeEx extends SessionSecurityDiagnostic
|
|
|
93
93
|
* SessionDiagnosticsArray Variable and notifies any other Clients who were subscribed to this entry.
|
|
94
94
|
*
|
|
95
95
|
*/
|
|
96
|
-
export class ServerSession extends EventEmitter implements ISubscriber, ISessionBase, IServerSession {
|
|
96
|
+
export class ServerSession extends EventEmitter implements ISubscriber, ISessionBase, IServerSession, IServerSessionBase {
|
|
97
97
|
public static registry = new ObjectRegistry();
|
|
98
98
|
public static maxPublishRequestInQueue = 100;
|
|
99
99
|
|
|
@@ -219,8 +219,13 @@ export class ServerSession extends EventEmitter implements ISubscriber, ISession
|
|
|
219
219
|
return this.creationDate;
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
+
/**
|
|
223
|
+
* return the number of milisecond since last session transaction occurs from client
|
|
224
|
+
* the first transaction is the creation of the session
|
|
225
|
+
*/
|
|
222
226
|
public get clientLastContactTime(): number {
|
|
223
|
-
|
|
227
|
+
const lastSeen = this._watchDogData ? this._watchDogData.lastSeen : minOPCUADate.getTime();
|
|
228
|
+
return WatchDog.lastSeenToDuration(lastSeen);
|
|
224
229
|
}
|
|
225
230
|
|
|
226
231
|
public get status(): string {
|
|
@@ -435,6 +440,9 @@ export class ServerSession extends EventEmitter implements ISubscriber, ISession
|
|
|
435
440
|
assert(this.currentSubscriptionCount === 0);
|
|
436
441
|
|
|
437
442
|
this.status = "closed";
|
|
443
|
+
|
|
444
|
+
this._detach_channel();
|
|
445
|
+
|
|
438
446
|
/**
|
|
439
447
|
* @event session_closed
|
|
440
448
|
* @param deleteSubscriptions {Boolean}
|
|
@@ -547,8 +555,12 @@ export class ServerSession extends EventEmitter implements ISubscriber, ISession
|
|
|
547
555
|
|
|
548
556
|
public _detach_channel(): void {
|
|
549
557
|
const channel = this.channel;
|
|
558
|
+
|
|
559
|
+
// istanbul ignore next
|
|
550
560
|
if (!channel) {
|
|
551
|
-
|
|
561
|
+
return;
|
|
562
|
+
// already detached !
|
|
563
|
+
// throw new Error("expecting a valid channel");
|
|
552
564
|
}
|
|
553
565
|
assert(this.nonce && this.nonce instanceof Buffer);
|
|
554
566
|
assert(this.authenticationToken);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require("node-opcua-pki/bin/crypto_create_CA");
|
|
1
|
+
require("node-opcua-pki/bin/crypto_create_CA");
|