node-opcua-client 2.175.6 → 2.176.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/dist/client_base.d.ts +14 -0
- package/dist/client_base.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/private/client_base_impl.d.ts +8 -0
- package/dist/private/client_base_impl.js +95 -2
- package/dist/private/client_base_impl.js.map +1 -1
- package/dist/reverse/client_reverse_connect.d.ts +37 -0
- package/dist/reverse/client_reverse_connect.js +303 -0
- package/dist/reverse/client_reverse_connect.js.map +1 -0
- package/package.json +40 -40
- package/source/client_base.ts +15 -0
- package/source/index.ts +1 -0
- package/source/private/client_base_impl.ts +114 -3
- package/source/reverse/client_reverse_connect.ts +375 -0
package/dist/client_base.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import type { ChannelSecurityToken, MessageSecurityMode } from "node-opcua-servi
|
|
|
14
14
|
import type { ErrorCallback } from "node-opcua-status-code";
|
|
15
15
|
import type { IClientTransportFactory } from "node-opcua-transport";
|
|
16
16
|
import type { Request, Response } from "./common";
|
|
17
|
+
import type { ClientReverseConnect, ReverseConnectExpectation } from "./reverse/client_reverse_connect";
|
|
17
18
|
export type FindServersRequestLike = FindServersRequestOptions;
|
|
18
19
|
export type FindServersOnNetworkRequestLike = FindServersOnNetworkRequestOptions;
|
|
19
20
|
export type CreateSecureChannelCallbackFunc = (err: Error | null, secureChannel?: ClientSecureChannelLayer) => void;
|
|
@@ -199,6 +200,19 @@ export interface OPCUAClientBase<Events extends OPCUAClientBaseEvents = OPCUACli
|
|
|
199
200
|
*/
|
|
200
201
|
connect(endpointUrl: string): Promise<void>;
|
|
201
202
|
connect(endpointUrl: string, callback: ErrorCallback): void;
|
|
203
|
+
/***
|
|
204
|
+
* Wait for a Server to initiate a Reverse Connection (OPC UA Part 6 §7.1.3).
|
|
205
|
+
*
|
|
206
|
+
* Instead of dialing the server, the client waits for the server to dial into the
|
|
207
|
+
* (already started) `reverseConnect` listener and send a ReverseHello. The optional
|
|
208
|
+
* `expectation` restricts which server may connect (matched by ServerUri / EndpointUrl).
|
|
209
|
+
*
|
|
210
|
+
* For secured connections the server certificate must be supplied up front
|
|
211
|
+
* (`serverCertificate` option) since the client cannot dial the server to fetch it.
|
|
212
|
+
*/
|
|
213
|
+
connectReverse(reverseConnect: ClientReverseConnect, expectation?: ReverseConnectExpectation): Promise<void>;
|
|
214
|
+
connectReverse(reverseConnect: ClientReverseConnect, callback: ErrorCallback): void;
|
|
215
|
+
connectReverse(reverseConnect: ClientReverseConnect, expectation: ReverseConnectExpectation, callback: ErrorCallback): void;
|
|
202
216
|
/***
|
|
203
217
|
* causes the client to close and disconnect the communication with server
|
|
204
218
|
*
|
package/dist/client_base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_base.js","sourceRoot":"","sources":["../source/client_base.ts"],"names":[],"mappings":";;;AAQA,2EAA4D;
|
|
1
|
+
{"version":3,"file":"client_base.js","sourceRoot":"","sources":["../source/client_base.ts"],"names":[],"mappings":";;;AAQA,2EAA4D;AA2Z/C,QAAA,eAAe,GAAG;IAC3B,QAAQ,EAAE,IAAI,2CAAc,EAAE;IAC9B,UAAU,EAAE,IAAI,GAAG,CAAC;IAEpB,MAAM,CAAC,OAA+B;QAClC,mBAAmB;QACnB,OAAO,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export * from "./client_session";
|
|
|
36
36
|
export * from "./client_subscription";
|
|
37
37
|
export * from "./client_utils";
|
|
38
38
|
export * from "./opcua_client";
|
|
39
|
+
export * from "./reverse/client_reverse_connect";
|
|
39
40
|
export { ClientSidePublishEngine } from "./private/client_publish_engine";
|
|
40
41
|
export * from "./tools/findservers";
|
|
41
42
|
export * from "./tools/read_history_server_capabilities";
|
package/dist/index.js
CHANGED
|
@@ -80,6 +80,7 @@ __exportStar(require("./client_session"), exports);
|
|
|
80
80
|
__exportStar(require("./client_subscription"), exports);
|
|
81
81
|
__exportStar(require("./client_utils"), exports);
|
|
82
82
|
__exportStar(require("./opcua_client"), exports);
|
|
83
|
+
__exportStar(require("./reverse/client_reverse_connect"), exports);
|
|
83
84
|
var client_publish_engine_1 = require("./private/client_publish_engine");
|
|
84
85
|
Object.defineProperty(exports, "ClientSidePublishEngine", { enumerable: true, get: function () { return client_publish_engine_1.ClientSidePublishEngine; } });
|
|
85
86
|
__exportStar(require("./tools/findservers"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6DAA2C;AAC3C,uDAA2C;AAAlC,2GAAA,MAAM,OAAA;AACf,uDAAwE;AAA/D,gHAAA,WAAW,OAAA;AAAE,2HAAA,sBAAsB,OAAA;AAC5C,uEAAgH;AAAvG,qIAAA,wBAAwB,OAAA;AAA6B,2HAAA,cAAc,OAAA;AAC5E,mDAAiC;AACjC,6EAA2D;AAC3D,uEAAqD;AACrD,uEAAqD;AACrD,gDAA8B;AAC9B,0DAAwC;AACxC,+DAA6C;AAC7C,gEAA8C;AAC9C,mDAAiC;AACjC,wDAAsC;AACtC,iDAA+B;AAC/B,iDAA+B;AAC/B,yEAA0E;AAAjE,gIAAA,uBAAuB,OAAA;AAChC,sDAAoC;AACpC,2EAAyD;AACzD,uDAAqC;AACrC,2CAAyB;AAEzB,yDAA2C;AAC9B,QAAA,KAAK,GAAG,MAAM,CAAC;AAE5B,oEAAsD;AACzC,QAAA,YAAY,GAAG,YAAY,CAAC;AAEzC,6EAA2D;AAC3D,uDAAuD;AAA9C,uHAAA,kBAAkB,OAAA;AAC3B,uDAAqC;AACrC,wDAAsC;AACtC,wDAAsC;AACtC,qDAU0B;AATtB,kHAAA,cAAc,OAAA;AACd,2GAAA,OAAO,OAAA;AACP,4GAAA,QAAQ,OAAA;AACR,iHAAA,aAAa,OAAA;AACb,mHAAA,eAAe,OAAA;AACf,kHAAA,cAAc,OAAA;AACd,kHAAA,cAAc,OAAA;AACd,+GAAA,WAAW,OAAA;AACX,oHAAA,gBAAgB,OAAA;AAEpB,GAAG;AACH,uDAU2B;AATvB,yHAAA,oBAAoB,OAAA;AACpB,iHAAA,YAAY,OAAA;AACZ,mHAAA,cAAc,OAAA;AACd,uHAAA,kBAAkB,OAAA;AAClB,+GAAA,UAAU,OAAA;AACV,2GAAA,MAAM,OAAA;AAEN,kHAAA,aAAa,OAAA;AACb,+GAAA,UAAU,OAAA;AAEd,4DAA0C;AAC1C,4DAA0C;AAC1C,4DAA0C;AAC1C,0DAAwC;AACxC,+DAA6C;AAC7C,+DAA6C;AAC7C,+DAA6C;AAC7C,4DAA0C;AAC1C,6DAA2C;AAC3C,2DAAyC;AACzC,0DAAwC;AACxC,oEAAkD;AAClD,6DAA2C;AAC3C,kEAAgD;AAChD,2EAAyD;AACzD,2DAAyC;AACzC,iEAAgF;AAAxD,oHAAA,UAAU,OAAA;AAAE,qHAAA,WAAW,OAAA;AAC/C,qDAAsD;AAA7C,sHAAA,kBAAkB,OAAA;AAC3B,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6DAA2C;AAC3C,uDAA2C;AAAlC,2GAAA,MAAM,OAAA;AACf,uDAAwE;AAA/D,gHAAA,WAAW,OAAA;AAAE,2HAAA,sBAAsB,OAAA;AAC5C,uEAAgH;AAAvG,qIAAA,wBAAwB,OAAA;AAA6B,2HAAA,cAAc,OAAA;AAC5E,mDAAiC;AACjC,6EAA2D;AAC3D,uEAAqD;AACrD,uEAAqD;AACrD,gDAA8B;AAC9B,0DAAwC;AACxC,+DAA6C;AAC7C,gEAA8C;AAC9C,mDAAiC;AACjC,wDAAsC;AACtC,iDAA+B;AAC/B,iDAA+B;AAC/B,mEAAiD;AACjD,yEAA0E;AAAjE,gIAAA,uBAAuB,OAAA;AAChC,sDAAoC;AACpC,2EAAyD;AACzD,uDAAqC;AACrC,2CAAyB;AAEzB,yDAA2C;AAC9B,QAAA,KAAK,GAAG,MAAM,CAAC;AAE5B,oEAAsD;AACzC,QAAA,YAAY,GAAG,YAAY,CAAC;AAEzC,6EAA2D;AAC3D,uDAAuD;AAA9C,uHAAA,kBAAkB,OAAA;AAC3B,uDAAqC;AACrC,wDAAsC;AACtC,wDAAsC;AACtC,qDAU0B;AATtB,kHAAA,cAAc,OAAA;AACd,2GAAA,OAAO,OAAA;AACP,4GAAA,QAAQ,OAAA;AACR,iHAAA,aAAa,OAAA;AACb,mHAAA,eAAe,OAAA;AACf,kHAAA,cAAc,OAAA;AACd,kHAAA,cAAc,OAAA;AACd,+GAAA,WAAW,OAAA;AACX,oHAAA,gBAAgB,OAAA;AAEpB,GAAG;AACH,uDAU2B;AATvB,yHAAA,oBAAoB,OAAA;AACpB,iHAAA,YAAY,OAAA;AACZ,mHAAA,cAAc,OAAA;AACd,uHAAA,kBAAkB,OAAA;AAClB,+GAAA,UAAU,OAAA;AACV,2GAAA,MAAM,OAAA;AAEN,kHAAA,aAAa,OAAA;AACb,+GAAA,UAAU,OAAA;AAEd,4DAA0C;AAC1C,4DAA0C;AAC1C,4DAA0C;AAC1C,0DAAwC;AACxC,+DAA6C;AAC7C,+DAA6C;AAC7C,+DAA6C;AAC7C,4DAA0C;AAC1C,6DAA2C;AAC3C,2DAAyC;AACzC,0DAAwC;AACxC,oEAAkD;AAClD,6DAA2C;AAC3C,kEAAgD;AAChD,2EAAyD;AACzD,2DAAyC;AACzC,iEAAgF;AAAxD,oHAAA,UAAU,OAAA;AAAE,qHAAA,WAAW,OAAA;AAC/C,qDAAsD;AAA7C,sHAAA,kBAAkB,OAAA;AAC3B,qDAAmC"}
|
|
@@ -8,6 +8,7 @@ import { MessageSecurityMode } from "node-opcua-service-secure-channel";
|
|
|
8
8
|
import { type ErrorCallback } from "node-opcua-status-code";
|
|
9
9
|
import { type CreateSecureChannelCallbackFunc, type FindServersOnNetworkRequestLike, type FindServersRequestLike, type GetEndpointsOptions, OPCUAClientBase, type OPCUAClientBaseEvents, type OPCUAClientBaseOptions } from "../client_base";
|
|
10
10
|
import type { Request, Response } from "../common";
|
|
11
|
+
import type { ClientReverseConnect, ReverseConnectExpectation } from "../reverse/client_reverse_connect";
|
|
11
12
|
import type { UserIdentityInfo } from "../user_identity_info";
|
|
12
13
|
import type { ClientSessionImpl } from "./client_session_impl";
|
|
13
14
|
import type { IClientBase } from "./i_private_client";
|
|
@@ -78,6 +79,10 @@ export declare class ClientBaseImpl<Events extends OPCUAClientBaseEvents = OPCUA
|
|
|
78
79
|
private _transportSettings;
|
|
79
80
|
private _transportTimeout?;
|
|
80
81
|
private _transportFactory?;
|
|
82
|
+
/** true once connectReverse() has been used — suppresses outbound dials that would defeat reverse connect */
|
|
83
|
+
private _isReverseConnect;
|
|
84
|
+
/** the current reverse-connect waiter registration, cancelled on disconnect to avoid a leaked waiter */
|
|
85
|
+
private _reverseConnectRegistration?;
|
|
81
86
|
clientCertificateManager: ICertificateStore;
|
|
82
87
|
isUnusable(): boolean;
|
|
83
88
|
protected _setInternalState(internalState: InternalClientState): void;
|
|
@@ -99,6 +104,9 @@ export declare class ClientBaseImpl<Events extends OPCUAClientBaseEvents = OPCUA
|
|
|
99
104
|
*/
|
|
100
105
|
connect(endpointUrl: string): Promise<void>;
|
|
101
106
|
connect(endpointUrl: string, callback: ErrorCallback): void;
|
|
107
|
+
connectReverse(reverseConnect: ClientReverseConnect, expectation?: ReverseConnectExpectation): Promise<void>;
|
|
108
|
+
connectReverse(reverseConnect: ClientReverseConnect, callback: ErrorCallback): void;
|
|
109
|
+
connectReverse(reverseConnect: ClientReverseConnect, expectation: ReverseConnectExpectation, callback: ErrorCallback): void;
|
|
102
110
|
/**
|
|
103
111
|
* @private
|
|
104
112
|
*/
|
|
@@ -20,6 +20,7 @@ const node_opcua_date_time_1 = require("node-opcua-date-time");
|
|
|
20
20
|
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
21
21
|
const node_opcua_hostname_1 = require("node-opcua-hostname");
|
|
22
22
|
const node_opcua_secure_channel_1 = require("node-opcua-secure-channel");
|
|
23
|
+
const node_opcua_transport_1 = require("node-opcua-transport");
|
|
23
24
|
const node_opcua_service_discovery_1 = require("node-opcua-service-discovery");
|
|
24
25
|
const node_opcua_service_endpoints_1 = require("node-opcua-service-endpoints");
|
|
25
26
|
const node_opcua_service_secure_channel_1 = require("node-opcua-service-secure-channel");
|
|
@@ -288,6 +289,10 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
288
289
|
_transportSettings;
|
|
289
290
|
_transportTimeout;
|
|
290
291
|
_transportFactory;
|
|
292
|
+
/** true once connectReverse() has been used — suppresses outbound dials that would defeat reverse connect */
|
|
293
|
+
_isReverseConnect = false;
|
|
294
|
+
/** the current reverse-connect waiter registration, cancelled on disconnect to avoid a leaked waiter */
|
|
295
|
+
_reverseConnectRegistration;
|
|
291
296
|
clientCertificateManager;
|
|
292
297
|
isUnusable() {
|
|
293
298
|
return (this._internalState === "disconnected" ||
|
|
@@ -468,8 +473,14 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
468
473
|
_failAndRetry(err, "cannot create secure channel (backoff aborted)", callback);
|
|
469
474
|
return;
|
|
470
475
|
}
|
|
471
|
-
if (
|
|
472
|
-
|
|
476
|
+
if (
|
|
477
|
+
// In reverse-connect mode we must NOT fetchServerCertificate(): that dials the
|
|
478
|
+
// server directly (via a temp client), which is impossible for a firewalled
|
|
479
|
+
// reverse-connect server and would hang reconnection. Fall through to the plain
|
|
480
|
+
// retry, which re-arms the reverse transport and waits for the server to re-dial.
|
|
481
|
+
!this._isReverseConnect &&
|
|
482
|
+
(err?.message.match("BadCertificateInvalid") ||
|
|
483
|
+
err?.message.match(/socket has been disconnected by third party/))) {
|
|
473
484
|
// it is possible also that hte server has shutdown innapropriately the connection
|
|
474
485
|
warningLog("the server certificate has changed, we need to retrieve server certificate again: ", err.message);
|
|
475
486
|
const oldServerCertificate = this.serverCertificate;
|
|
@@ -680,12 +691,20 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
680
691
|
_internalState = "uninitialized";
|
|
681
692
|
_handleUnrecoverableConnectionFailure(err, callback) {
|
|
682
693
|
debugLog(err.message);
|
|
694
|
+
// Terminal connect failure: make sure the client is removed from the leak registry. A
|
|
695
|
+
// synchronous throw out of _connectStep2 (e.g. an invalid SecureChannel config) lands here
|
|
696
|
+
// WITHOUT the error-branch unregister ever running, which would otherwise leak the client.
|
|
697
|
+
// unregister() is idempotent (a no-op when the client was never registered or already removed).
|
|
698
|
+
client_base_1.OPCUAClientBase.registry.unregister(this);
|
|
683
699
|
this.emit("connection_failed", err);
|
|
684
700
|
this._setInternalState("disconnected");
|
|
685
701
|
callback(err);
|
|
686
702
|
}
|
|
687
703
|
_handleDisconnectionWhileConnecting(err, callback) {
|
|
688
704
|
debugLog(err.message);
|
|
705
|
+
// see _handleUnrecoverableConnectionFailure: idempotent unregister guards against a leaked
|
|
706
|
+
// client when a connect attempt fails before the error-branch unregister runs.
|
|
707
|
+
client_base_1.OPCUAClientBase.registry.unregister(this);
|
|
689
708
|
this.emit("connection_failed", err);
|
|
690
709
|
this._setInternalState("disconnected");
|
|
691
710
|
callback(err);
|
|
@@ -751,6 +770,75 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
751
770
|
return this._handleUnrecoverableConnectionFailure(err, callback);
|
|
752
771
|
});
|
|
753
772
|
}
|
|
773
|
+
connectReverse(...args) {
|
|
774
|
+
const reverseConnect = args[0];
|
|
775
|
+
const callback = args[args.length - 1];
|
|
776
|
+
const expectation = (args.length >= 3 ? args[1] : undefined);
|
|
777
|
+
(0, node_opcua_assert_1.assert)(typeof callback === "function", "expecting a callback");
|
|
778
|
+
if (!reverseConnect) {
|
|
779
|
+
callback(new Error("connectReverse expects a ClientReverseConnect instance"));
|
|
780
|
+
return;
|
|
781
|
+
}
|
|
782
|
+
// c8 ignore next
|
|
783
|
+
if (this._internalState !== "disconnected") {
|
|
784
|
+
callback(new Error(`client#connectReverse failed, as invalid internal state = ${this._internalState}`));
|
|
785
|
+
return;
|
|
786
|
+
}
|
|
787
|
+
if (this._secureChannel !== null) {
|
|
788
|
+
setImmediate(() => callback(new Error("connect already called")));
|
|
789
|
+
return;
|
|
790
|
+
}
|
|
791
|
+
// A reverse-connect client cannot dial the server to fetch its certificate (that is the whole
|
|
792
|
+
// point of reverse connect), so for a secure channel the server certificate MUST be supplied up
|
|
793
|
+
// front via OPCUAClientOptions.serverCertificate. Reject early with a clear message rather than
|
|
794
|
+
// letting the SecureChannel layer fail deep inside with an opaque error (which also used to leak
|
|
795
|
+
// the client, since that failure path never reached the connect-failure unregister).
|
|
796
|
+
if (this.securityMode !== node_opcua_service_secure_channel_1.MessageSecurityMode.None && !this.serverCertificate) {
|
|
797
|
+
callback(new Error("connectReverse: a secure connection (securityMode=" +
|
|
798
|
+
node_opcua_service_secure_channel_1.MessageSecurityMode[this.securityMode] +
|
|
799
|
+
") requires the server certificate to be supplied up front " +
|
|
800
|
+
"(OPCUAClientOptions.serverCertificate), because a reverse-connect client cannot dial the server to fetch it."));
|
|
801
|
+
return;
|
|
802
|
+
}
|
|
803
|
+
this._isReverseConnect = true;
|
|
804
|
+
// Wire a reverse-connect transport factory. Because the SecureChannel layer may call
|
|
805
|
+
// transport.connect() several times (backoff / reconnection), the provider is invoked on
|
|
806
|
+
// EACH attempt so every attempt waits for the server to (re-)dial in. We keep the current
|
|
807
|
+
// waiter registration so it can be cancelled on disconnect — otherwise a leaked waiter would
|
|
808
|
+
// later hijack an incoming server socket on this (by-then disposed) transport.
|
|
809
|
+
this._transportFactory = (0, node_opcua_transport_1.makeReverseClientTransportFactory)(() => new Promise((resolve, reject) => {
|
|
810
|
+
// drop any stale waiter from a previous attempt before registering a new one
|
|
811
|
+
this._reverseConnectRegistration?.cancel();
|
|
812
|
+
this._reverseConnectRegistration = reverseConnect.waitForConnection(expectation, (err, accepted) => {
|
|
813
|
+
this._reverseConnectRegistration = undefined;
|
|
814
|
+
if (err || !accepted) {
|
|
815
|
+
reject(err || new Error("no accepted reverse connection"));
|
|
816
|
+
return;
|
|
817
|
+
}
|
|
818
|
+
// reconcile our endpointUrl with the one advertised in the ReverseHello, so
|
|
819
|
+
// subsequent session creation uses the real URL rather than the placeholder below.
|
|
820
|
+
this.endpointUrl = accepted.endpointUrl || this.endpointUrl;
|
|
821
|
+
resolve(accepted);
|
|
822
|
+
});
|
|
823
|
+
}));
|
|
824
|
+
// Placeholder endpoint URL for the SecureChannel handshake; the reverse transport overrides
|
|
825
|
+
// it from the RHE. Prefer an explicitly-expected URL when the caller provided one.
|
|
826
|
+
const placeholderEndpointUrl = expectation?.endpointUrl || reverseConnect.connectionUrl || "opc.tcp://reverse-connect";
|
|
827
|
+
this._setInternalState("connecting");
|
|
828
|
+
this.initializeCM()
|
|
829
|
+
.then(() => {
|
|
830
|
+
debugLog("ClientBaseImpl#connectReverse ", placeholderEndpointUrl, this.clientName);
|
|
831
|
+
if (this._internalState === "disconnecting" || this._internalState === "disconnected") {
|
|
832
|
+
return this._handleDisconnectionWhileConnecting(new Error("premature disconnection 1"), callback);
|
|
833
|
+
}
|
|
834
|
+
// NOTE: unlike connect(), we deliberately do NOT fetchServerCertificate() here — that
|
|
835
|
+
// would dial the server directly, defeating the purpose of reverse connect.
|
|
836
|
+
this._connectStep2(placeholderEndpointUrl, callback);
|
|
837
|
+
})
|
|
838
|
+
.catch((err) => {
|
|
839
|
+
return this._handleUnrecoverableConnectionFailure(err, callback);
|
|
840
|
+
});
|
|
841
|
+
}
|
|
754
842
|
/**
|
|
755
843
|
* @private
|
|
756
844
|
*/
|
|
@@ -1000,6 +1088,10 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
1000
1088
|
const callback = args[0];
|
|
1001
1089
|
(0, node_opcua_assert_1.assert)(typeof callback === "function", "expecting a callback function here");
|
|
1002
1090
|
this._reconnectionIsCanceled = true;
|
|
1091
|
+
// cancel any outstanding reverse-connect waiter so it cannot later hijack an incoming
|
|
1092
|
+
// server socket on this (now disconnecting) client.
|
|
1093
|
+
this._reverseConnectRegistration?.cancel();
|
|
1094
|
+
this._reverseConnectRegistration = undefined;
|
|
1003
1095
|
if (this._tmpClient) {
|
|
1004
1096
|
warningLog("disconnecting client while tmpClient exists", this._tmpClient.clientName);
|
|
1005
1097
|
this._tmpClient.disconnect((_err) => {
|
|
@@ -1526,6 +1618,7 @@ class TmpClient extends ClientBaseImpl {
|
|
|
1526
1618
|
// tslint:disable:max-line-length
|
|
1527
1619
|
const thenify_ex_1 = require("thenify-ex");
|
|
1528
1620
|
ClientBaseImpl.prototype.connect = (0, thenify_ex_1.withCallback)(ClientBaseImpl.prototype.connect);
|
|
1621
|
+
ClientBaseImpl.prototype.connectReverse = (0, thenify_ex_1.withCallback)(ClientBaseImpl.prototype.connectReverse);
|
|
1529
1622
|
ClientBaseImpl.prototype.disconnect = (0, thenify_ex_1.withCallback)(ClientBaseImpl.prototype.disconnect);
|
|
1530
1623
|
ClientBaseImpl.prototype.getEndpoints = (0, thenify_ex_1.withCallback)(ClientBaseImpl.prototype.getEndpoints);
|
|
1531
1624
|
ClientBaseImpl.prototype.findServers = (0, thenify_ex_1.withCallback)(ClientBaseImpl.prototype.findServers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_base_impl.js","sourceRoot":"","sources":["../../source/private/client_base_impl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client_base_impl.js","sourceRoot":"","sources":["../../source/private/client_base_impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type IAcceptedReverseConnection } from "node-opcua-transport";
|
|
2
|
+
/** Criteria an inbound ReverseHello must satisfy to be handed to a waiting client. */
|
|
3
|
+
export interface ReverseConnectExpectation {
|
|
4
|
+
/** require the RHE ServerUri to equal this value */
|
|
5
|
+
serverUri?: string;
|
|
6
|
+
/** require the RHE EndpointUrl to equal this value */
|
|
7
|
+
endpointUrl?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ClientReverseConnectOptions {
|
|
10
|
+
/** the listen address, e.g. "opc.tcp://0.0.0.0:5555" */
|
|
11
|
+
connectionUrl: string;
|
|
12
|
+
/** ms to wait for a valid RHE after a socket connects. @default 120000 */
|
|
13
|
+
acceptTimeout?: number;
|
|
14
|
+
/** maximum number of inbound sockets the listener will hold on to at once (DoS guard). @default 20 */
|
|
15
|
+
maxPendingSockets?: number;
|
|
16
|
+
/** ms to hold a validated connection waiting for a matching client to register. @default 30000 */
|
|
17
|
+
matchTimeout?: number;
|
|
18
|
+
}
|
|
19
|
+
/** A cancelable {@link ClientReverseConnect.waitForConnection} registration. */
|
|
20
|
+
export interface ICancelableRegistration {
|
|
21
|
+
cancel(): void;
|
|
22
|
+
}
|
|
23
|
+
type AcceptedCallback = (err: Error | null, accepted?: IAcceptedReverseConnection) => void;
|
|
24
|
+
export declare class ClientReverseConnect {
|
|
25
|
+
#private;
|
|
26
|
+
constructor(options: ClientReverseConnectOptions | string);
|
|
27
|
+
get connectionUrl(): string;
|
|
28
|
+
get listeningPort(): number;
|
|
29
|
+
start(): Promise<void>;
|
|
30
|
+
stop(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Register interest in the next reverse connection matching `expectation`.
|
|
33
|
+
* The callback fires once with an accepted, RHE-validated connection (or an error).
|
|
34
|
+
*/
|
|
35
|
+
waitForConnection(expectation: ReverseConnectExpectation | undefined, callback: AcceptedCallback): ICancelableRegistration;
|
|
36
|
+
}
|
|
37
|
+
export {};
|