node-opcua-server 2.163.1 → 2.165.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/addressSpace_accessor.js +7 -5
- package/dist/addressSpace_accessor.js.map +1 -1
- package/dist/base_server.d.ts +95 -18
- package/dist/base_server.js +217 -69
- package/dist/base_server.js.map +1 -1
- package/dist/monitored_item.js +32 -32
- package/dist/monitored_item.js.map +1 -1
- package/dist/node_sampler.js +1 -1
- package/dist/node_sampler.js.map +1 -1
- package/dist/opcua_server.d.ts +171 -123
- package/dist/opcua_server.js +466 -223
- package/dist/opcua_server.js.map +1 -1
- package/dist/register_server_manager.d.ts +2 -2
- package/dist/register_server_manager.js +12 -6
- package/dist/register_server_manager.js.map +1 -1
- package/dist/register_server_manager_mdns_only.js +1 -1
- package/dist/register_server_manager_mdns_only.js.map +1 -1
- package/dist/server_end_point.d.ts +108 -12
- package/dist/server_end_point.js +157 -57
- package/dist/server_end_point.js.map +1 -1
- package/dist/server_engine.d.ts +32 -14
- package/dist/server_engine.js +160 -59
- package/dist/server_engine.js.map +1 -1
- package/dist/server_publish_engine.js +5 -5
- package/dist/server_publish_engine.js.map +1 -1
- package/dist/server_session.js +4 -4
- package/dist/server_session.js.map +1 -1
- package/dist/server_subscription.js +18 -18
- package/dist/server_subscription.js.map +1 -1
- package/dist/sessions_compatible_for_transfer.js +1 -1
- package/dist/sessions_compatible_for_transfer.js.map +1 -1
- package/package.json +47 -47
- package/source/addressSpace_accessor.ts +6 -3
- package/source/base_server.ts +252 -90
- package/source/monitored_item.ts +32 -32
- package/source/node_sampler.ts +1 -1
- package/source/opcua_server.ts +674 -489
- package/source/register_server_manager.ts +11 -5
- package/source/register_server_manager_mdns_only.ts +1 -1
- package/source/server_end_point.ts +278 -94
- package/source/server_engine.ts +246 -135
- package/source/server_publish_engine.ts +5 -5
- package/source/server_session.ts +4 -4
- package/source/server_subscription.ts +18 -18
- package/source/sessions_compatible_for_transfer.ts +4 -2
package/dist/base_server.js
CHANGED
|
@@ -1,43 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @module node-opcua-server
|
|
4
|
+
*/
|
|
5
|
+
// tslint:disable:no-console
|
|
2
6
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
7
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
8
|
};
|
|
5
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
10
|
exports.OPCUABaseServer = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const path_1 = __importDefault(require("path"));
|
|
13
|
-
const os_1 = __importDefault(require("os"));
|
|
14
|
-
const util_1 = require("util");
|
|
11
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
12
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
13
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
14
|
+
const node_net_1 = require("node:net");
|
|
15
|
+
const global_mutex_1 = require("@ster5/global-mutex");
|
|
15
16
|
const async_1 = __importDefault(require("async"));
|
|
16
17
|
const chalk_1 = __importDefault(require("chalk"));
|
|
17
18
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
18
|
-
const global_mutex_1 = require("@ster5/global-mutex");
|
|
19
19
|
const node_opcua_certificate_manager_1 = require("node-opcua-certificate-manager");
|
|
20
|
+
const node_opcua_client_1 = require("node-opcua-client");
|
|
20
21
|
const node_opcua_common_1 = require("node-opcua-common");
|
|
22
|
+
const web_1 = require("node-opcua-crypto/web");
|
|
21
23
|
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
22
24
|
const node_opcua_date_time_1 = require("node-opcua-date-time");
|
|
23
25
|
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
24
|
-
const node_opcua_debug_2 = require("node-opcua-debug");
|
|
25
26
|
const node_opcua_hostname_1 = require("node-opcua-hostname");
|
|
26
27
|
const node_opcua_service_discovery_1 = require("node-opcua-service-discovery");
|
|
27
28
|
const node_opcua_service_endpoints_1 = require("node-opcua-service-endpoints");
|
|
28
|
-
const node_opcua_service_endpoints_2 = require("node-opcua-service-endpoints");
|
|
29
29
|
const node_opcua_service_secure_channel_1 = require("node-opcua-service-secure-channel");
|
|
30
30
|
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
31
31
|
const node_opcua_utils_1 = require("node-opcua-utils");
|
|
32
|
-
const node_opcua_client_1 = require("node-opcua-client");
|
|
33
32
|
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
34
33
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
35
34
|
const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
|
|
36
|
-
const warningLog =
|
|
35
|
+
const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
|
|
37
36
|
const default_server_info = {
|
|
38
37
|
// The globally unique identifier for the application instance. This URI is used as
|
|
39
38
|
// ServerUri in Services if the application is a Server.
|
|
40
|
-
applicationUri: (0, node_opcua_common_1.makeApplicationUrn)(
|
|
39
|
+
applicationUri: (0, node_opcua_common_1.makeApplicationUrn)(node_os_1.default.hostname(), "NodeOPCUA-Server"),
|
|
41
40
|
// The globally unique identifier for the product.
|
|
42
41
|
productUri: "NodeOPCUA-Server",
|
|
43
42
|
// A localized descriptive name for the application.
|
|
@@ -93,7 +92,7 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
93
92
|
}
|
|
94
93
|
options.privateKeyFile = options.privateKeyFile || options.serverCertificateManager.privateKey;
|
|
95
94
|
options.certificateFile =
|
|
96
|
-
options.certificateFile ||
|
|
95
|
+
options.certificateFile || node_path_1.default.join(options.serverCertificateManager.rootDir, "own/certs/certificate.pem");
|
|
97
96
|
super(options);
|
|
98
97
|
this.serverCertificateManager = options.serverCertificateManager;
|
|
99
98
|
this.capabilitiesForMDNS = [];
|
|
@@ -105,49 +104,86 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
105
104
|
...options.serverInfo
|
|
106
105
|
};
|
|
107
106
|
serverInfo.applicationName = (0, node_opcua_data_model_1.coerceLocalizedText)(serverInfo.applicationName);
|
|
108
|
-
this.serverInfo = new
|
|
107
|
+
this.serverInfo = new node_opcua_service_endpoints_1.ApplicationDescription(serverInfo);
|
|
109
108
|
if (this.serverInfo.applicationName.toString().match(/urn:/)) {
|
|
110
109
|
errorLog("[NODE-OPCUA-E06] application name cannot be a urn", this.serverInfo.applicationName.toString());
|
|
111
110
|
}
|
|
112
|
-
this.serverInfo.applicationName.locale = this.serverInfo.applicationName
|
|
113
|
-
if (!this.serverInfo.applicationName
|
|
111
|
+
this.serverInfo.applicationName.locale = this.serverInfo.applicationName.locale || "en";
|
|
112
|
+
if (!this.serverInfo.applicationName.locale) {
|
|
114
113
|
warningLog("[NODE-OPCUA-W24] the server applicationName must have a valid locale : ", this.serverInfo.applicationName.toString());
|
|
115
114
|
}
|
|
116
115
|
const __applicationUri = serverInfo.applicationUri || "";
|
|
117
|
-
this.serverInfo
|
|
116
|
+
Object.defineProperty(this.serverInfo, "applicationUri", {
|
|
117
|
+
get: () => (0, node_opcua_hostname_1.resolveFullyQualifiedDomainName)(__applicationUri),
|
|
118
|
+
configurable: true
|
|
119
|
+
});
|
|
118
120
|
this._preInitTask.push(async () => {
|
|
119
|
-
|
|
121
|
+
await (0, node_opcua_hostname_1.extractFullyQualifiedDomainName)();
|
|
120
122
|
});
|
|
121
123
|
this._preInitTask.push(async () => {
|
|
122
124
|
await this.initializeCM();
|
|
123
125
|
});
|
|
124
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Return additional DNS hostnames to include in the self-signed
|
|
129
|
+
* certificate's SubjectAlternativeName (SAN).
|
|
130
|
+
*
|
|
131
|
+
* The base implementation returns an empty array. Subclasses
|
|
132
|
+
* (e.g. `OPCUAServer`) override this to include hostnames from
|
|
133
|
+
* `alternateHostname` and `advertisedEndpoints`.
|
|
134
|
+
*
|
|
135
|
+
* @internal
|
|
136
|
+
*/
|
|
137
|
+
getConfiguredHostnames() {
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Return additional IP addresses to include in the self-signed
|
|
142
|
+
* certificate's SubjectAlternativeName (SAN) iPAddress entries.
|
|
143
|
+
*
|
|
144
|
+
* The base implementation returns an empty array. Subclasses
|
|
145
|
+
* (e.g. `OPCUAServer`) override this to include IP literals
|
|
146
|
+
* found in `alternateHostname` and `advertisedEndpoints`.
|
|
147
|
+
*
|
|
148
|
+
* These IPs are considered **explicitly configured** by the
|
|
149
|
+
* user and are therefore checked by `checkCertificateSAN()`.
|
|
150
|
+
* In contrast, auto-detected IPs from `getIpAddresses()` are
|
|
151
|
+
* included in the certificate at creation time but are NOT
|
|
152
|
+
* checked later — see `checkCertificateSAN()` for rationale.
|
|
153
|
+
*
|
|
154
|
+
* @internal
|
|
155
|
+
*/
|
|
156
|
+
getConfiguredIPs() {
|
|
157
|
+
return [];
|
|
158
|
+
}
|
|
125
159
|
async createDefaultCertificate() {
|
|
126
|
-
if (
|
|
160
|
+
if (node_fs_1.default.existsSync(this.certificateFile)) {
|
|
127
161
|
return;
|
|
128
162
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
for (const ee of e.endpointDescriptions()) {
|
|
133
|
-
/* to do */
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
if (!fs_1.default.existsSync(this.certificateFile)) {
|
|
137
|
-
await (0, global_mutex_1.withLock)({ fileToLock: this.certificateFile + ".mutex" }, async () => {
|
|
138
|
-
if (fs_1.default.existsSync(this.certificateFile)) {
|
|
163
|
+
if (!(0, node_opcua_utils_1.checkFileExistsAndIsNotEmpty)(this.certificateFile)) {
|
|
164
|
+
await (0, global_mutex_1.withLock)({ fileToLock: `${this.certificateFile}.mutex` }, async () => {
|
|
165
|
+
if ((0, node_opcua_utils_1.checkFileExistsAndIsNotEmpty)(this.certificateFile)) {
|
|
139
166
|
return;
|
|
140
167
|
}
|
|
141
|
-
const applicationUri = this.serverInfo.applicationUri;
|
|
168
|
+
const applicationUri = this.serverInfo.applicationUri || "<missing application uri>";
|
|
142
169
|
const fqdn = (0, node_opcua_hostname_1.getFullyQualifiedDomainName)();
|
|
143
170
|
const hostname = (0, node_opcua_hostname_1.getHostname)();
|
|
144
|
-
const dns = [...new Set([fqdn, hostname])];
|
|
171
|
+
const dns = [...new Set([fqdn, hostname, ...this.getConfiguredHostnames()])].sort();
|
|
172
|
+
// Include both auto-detected IPs and explicitly configured IPs.
|
|
173
|
+
// Auto-detected IPs (getIpAddresses) are ephemeral — they depend on
|
|
174
|
+
// the current network state (WiFi, tethering, VPN, roaming) and may
|
|
175
|
+
// change between reboots. They are included here so that the initial
|
|
176
|
+
// certificate covers the current network configuration, but they are
|
|
177
|
+
// NOT checked by checkCertificateSAN() to avoid noisy warnings when
|
|
178
|
+
// the network changes. Only explicitly configured IPs (from
|
|
179
|
+
// alternateHostname / advertisedEndpoints) are checked at startup.
|
|
180
|
+
const ip = [...new Set([...(0, node_opcua_hostname_1.getIpAddresses)(), ...this.getConfiguredIPs()])].sort();
|
|
145
181
|
await this.serverCertificateManager.createSelfSignedCertificate({
|
|
146
182
|
applicationUri,
|
|
147
183
|
dns,
|
|
148
|
-
|
|
184
|
+
ip,
|
|
149
185
|
outputFile: this.certificateFile,
|
|
150
|
-
subject: (0, node_opcua_certificate_manager_1.makeSubject)(this.serverInfo.applicationName.text, hostname),
|
|
186
|
+
subject: (0, node_opcua_certificate_manager_1.makeSubject)(this.serverInfo.applicationName.text || "<missing application name>", hostname),
|
|
151
187
|
startDate: new Date(),
|
|
152
188
|
validity: 365 * 10 // 10 years
|
|
153
189
|
});
|
|
@@ -159,16 +195,114 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
159
195
|
await this.createDefaultCertificate();
|
|
160
196
|
debugLog("privateKey = ", this.privateKeyFile, this.serverCertificateManager.privateKey);
|
|
161
197
|
debugLog("certificateFile = ", this.certificateFile);
|
|
162
|
-
|
|
198
|
+
this._checkCertificateSanMismatch();
|
|
199
|
+
await (0, node_opcua_client_1.performCertificateSanityCheck)(this, "server", this.serverCertificateManager, this.serverInfo.applicationUri || "");
|
|
163
200
|
}
|
|
164
201
|
/**
|
|
165
|
-
*
|
|
202
|
+
* Compare the current certificate's SAN entries against all
|
|
203
|
+
* explicitly configured hostnames and IPs, and return any
|
|
204
|
+
* that are missing.
|
|
205
|
+
*
|
|
206
|
+
* Returns an empty array when the certificate covers every
|
|
207
|
+
* configured hostname and IP.
|
|
208
|
+
*
|
|
209
|
+
* **Important — ephemeral IP mitigation:**
|
|
210
|
+
* Auto-detected IPs (from `getIpAddresses()`) are deliberately
|
|
211
|
+
* NOT included in this check. Network interfaces are transient
|
|
212
|
+
* — WiFi IPs change on reconnect, tethering IPs appear/disappear,
|
|
213
|
+
* VPN adapters come and go. Including them would cause the
|
|
214
|
+
* `[NODE-OPCUA-W26]` warning to fire on every server restart
|
|
215
|
+
* whenever the network state differs from when the certificate
|
|
216
|
+
* was originally created.
|
|
217
|
+
*
|
|
218
|
+
* Only **explicitly configured** values are checked:
|
|
219
|
+
* - Hostnames: FQDN, os.hostname(), `alternateHostname` (non-IP),
|
|
220
|
+
* hostnames from `advertisedEndpoints` URLs
|
|
221
|
+
* - IPs: IP literals from `alternateHostname`, IP literals
|
|
222
|
+
* from `advertisedEndpoints` URLs
|
|
223
|
+
*
|
|
224
|
+
* The certificate itself still includes auto-detected IPs at
|
|
225
|
+
* creation time — this is fine because it captures the network
|
|
226
|
+
* state at that moment. But the *mismatch warning* only fires
|
|
227
|
+
* for things the user explicitly asked for.
|
|
166
228
|
*/
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
229
|
+
checkCertificateSAN() {
|
|
230
|
+
const certDer = this.getCertificate();
|
|
231
|
+
const info = (0, web_1.exploreCertificate)(certDer);
|
|
232
|
+
const sanDns = info.tbsCertificate.extensions?.subjectAltName?.dNSName || [];
|
|
233
|
+
const sanIpsHex = info.tbsCertificate.extensions?.subjectAltName?.iPAddress || [];
|
|
234
|
+
const fqdn = (0, node_opcua_hostname_1.getFullyQualifiedDomainName)();
|
|
235
|
+
const hostname = (0, node_opcua_hostname_1.getHostname)();
|
|
236
|
+
const expectedDns = [...new Set([fqdn, hostname, ...this.getConfiguredHostnames()])].sort();
|
|
237
|
+
// Only check explicitly configured IPs — NOT auto-detected ones.
|
|
238
|
+
// See JSDoc above for the rationale (ephemeral network interfaces).
|
|
239
|
+
const expectedIps = [...new Set(this.getConfiguredIPs())].sort();
|
|
240
|
+
const missingDns = expectedDns.filter((name) => !sanDns.includes(name));
|
|
241
|
+
// exploreCertificate returns iPAddress entries as hex strings
|
|
242
|
+
// Only IPv4 addresses can be converted with ipv4ToHex here; IPv6 (and invalid) IPs are skipped.
|
|
243
|
+
const missingIps = expectedIps.filter((ip) => {
|
|
244
|
+
const family = (0, node_net_1.isIP)(ip);
|
|
245
|
+
if (family === 4) {
|
|
246
|
+
return !sanIpsHex.includes((0, node_opcua_hostname_1.ipv4ToHex)(ip));
|
|
247
|
+
}
|
|
248
|
+
// IPv6 or invalid literals are currently not matched against SAN iPAddress entries here.
|
|
249
|
+
return false;
|
|
250
|
+
});
|
|
251
|
+
return [...missingDns, ...missingIps];
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Delete the existing self-signed certificate and create a new
|
|
255
|
+
* one that includes all currently configured hostnames.
|
|
256
|
+
*
|
|
257
|
+
* @throws if the current certificate was NOT self-signed
|
|
258
|
+
* (i.e. issued by a CA or GDS)
|
|
259
|
+
*/
|
|
260
|
+
async regenerateSelfSignedCertificate() {
|
|
261
|
+
// guard: only allow regeneration of self-signed certs
|
|
262
|
+
const certDer = this.getCertificate();
|
|
263
|
+
const info = (0, web_1.exploreCertificate)(certDer);
|
|
264
|
+
const issuer = info.tbsCertificate.issuer;
|
|
265
|
+
const subject = info.tbsCertificate.subject;
|
|
266
|
+
const isSelfSigned = issuer.commonName === subject.commonName && issuer.organizationName === subject.organizationName;
|
|
267
|
+
if (!isSelfSigned) {
|
|
268
|
+
throw new Error("Cannot regenerate certificate: current certificate is not self-signed (issued by a CA or GDS)");
|
|
269
|
+
}
|
|
270
|
+
// delete old cert
|
|
271
|
+
if (node_fs_1.default.existsSync(this.certificateFile)) {
|
|
272
|
+
node_fs_1.default.unlinkSync(this.certificateFile);
|
|
273
|
+
}
|
|
274
|
+
// recreate with current hostnames
|
|
275
|
+
await this.createDefaultCertificate();
|
|
276
|
+
// invalidate cached cert so next getCertificate() reloads from disk
|
|
277
|
+
const priv = this;
|
|
278
|
+
priv.$$certificate = null;
|
|
279
|
+
priv.$$certificateChain = null;
|
|
280
|
+
}
|
|
281
|
+
_checkCertificateSanMismatch() {
|
|
282
|
+
try {
|
|
283
|
+
const missing = this.checkCertificateSAN();
|
|
284
|
+
if (missing.length > 0) {
|
|
285
|
+
warningLog(`[NODE-OPCUA-W26] Certificate SAN is missing the following configured hostnames/IPs: ${missing.join(", ")}. ` +
|
|
286
|
+
"Clients with strict certificate validation may reject connections for these entries. " +
|
|
287
|
+
"Use server.regenerateSelfSignedCertificate() to fix this.");
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
catch (_err) {
|
|
291
|
+
// ignore errors during SAN check (e.g. cert not yet loaded)
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
start(...args) {
|
|
295
|
+
const callback = args[0];
|
|
296
|
+
if (!callback || args.length === 0) {
|
|
297
|
+
return this.startAsync();
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
this.startAsync()
|
|
301
|
+
.then(() => {
|
|
302
|
+
callback();
|
|
303
|
+
})
|
|
304
|
+
.catch((err) => callback(err));
|
|
305
|
+
}
|
|
172
306
|
}
|
|
173
307
|
async performPreInitialization() {
|
|
174
308
|
const tasks = this._preInitTask;
|
|
@@ -230,6 +364,9 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
230
364
|
}
|
|
231
365
|
shutdownChannels(callback) {
|
|
232
366
|
(0, node_opcua_assert_1.assert)(typeof callback === "function");
|
|
367
|
+
// c8 ignore next
|
|
368
|
+
if (!callback)
|
|
369
|
+
throw new Error("thenify is not available");
|
|
233
370
|
debugLog("OPCUABaseServer#shutdownChannels");
|
|
234
371
|
async_1.default.forEach(this.endpoints, (endpoint, inner_callback) => {
|
|
235
372
|
debugLog(" shutting down endpoint ", endpoint.endpointDescriptions()[0].endpointUrl);
|
|
@@ -256,7 +393,7 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
256
393
|
const request = message.request;
|
|
257
394
|
// install channel._on_response so we can intercept its call and emit the "response" event.
|
|
258
395
|
if (!channel._on_response) {
|
|
259
|
-
channel._on_response = (
|
|
396
|
+
channel._on_response = (_msg, response1 /*, inner_message: Message*/) => {
|
|
260
397
|
this.emit("response", response1, channel);
|
|
261
398
|
};
|
|
262
399
|
}
|
|
@@ -270,13 +407,12 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
270
407
|
this.emit("request", request, channel);
|
|
271
408
|
try {
|
|
272
409
|
// handler must be named _on_ActionRequest()
|
|
273
|
-
const handler = this[
|
|
410
|
+
const handler = this[`_on_${request.schema.name}`];
|
|
274
411
|
if (typeof handler === "function") {
|
|
275
|
-
|
|
276
|
-
handler.apply(this, arguments);
|
|
412
|
+
handler.call(this, message, channel);
|
|
277
413
|
}
|
|
278
414
|
else {
|
|
279
|
-
errMessage =
|
|
415
|
+
errMessage = `[NODE-OPCUA-W07] Unsupported Service : ${request.schema.name}`;
|
|
280
416
|
warningLog(errMessage);
|
|
281
417
|
debugLog(chalk_1.default.red.bold(errMessage));
|
|
282
418
|
response = makeServiceFault(node_opcua_status_code_1.StatusCodes.BadServiceUnsupported, [errMessage]);
|
|
@@ -284,14 +420,14 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
284
420
|
}
|
|
285
421
|
}
|
|
286
422
|
catch (err) {
|
|
287
|
-
/*
|
|
288
|
-
const errMessage1 =
|
|
423
|
+
/* c8 ignore next */
|
|
424
|
+
const errMessage1 = `[NODE-OPCUA-W08] EXCEPTION CAUGHT WHILE PROCESSING REQUEST !! ${request.schema.name}`;
|
|
289
425
|
warningLog(chalk_1.default.red.bold(errMessage1));
|
|
290
426
|
warningLog(request.toString());
|
|
291
|
-
(0,
|
|
427
|
+
(0, node_opcua_debug_1.displayTraceFromThisProjectOnly)(err);
|
|
292
428
|
let additional_messages = [];
|
|
293
|
-
additional_messages.push(
|
|
294
|
-
if (
|
|
429
|
+
additional_messages.push(`EXCEPTION CAUGHT WHILE PROCESSING REQUEST !!! ${request.schema.name}`);
|
|
430
|
+
if (err instanceof Error) {
|
|
295
431
|
additional_messages.push(err.message);
|
|
296
432
|
if (err.stack) {
|
|
297
433
|
additional_messages = additional_messages.concat(err.stack.split("\n"));
|
|
@@ -302,9 +438,18 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
302
438
|
}
|
|
303
439
|
}
|
|
304
440
|
/**
|
|
305
|
-
*
|
|
441
|
+
* Find endpoint descriptions matching a given endpoint URL.
|
|
442
|
+
*
|
|
443
|
+
* When `endpointUrl` is provided, only endpoints whose URL matches
|
|
444
|
+
* (case-insensitive) are returned. When `null` or omitted, all
|
|
445
|
+
* endpoints from every `OPCUAServerEndPoint` are returned.
|
|
446
|
+
*
|
|
447
|
+
* This is the shared resolution path used by both `GetEndpoints`
|
|
448
|
+
* and `CreateSession` (`validate_security_endpoint`).
|
|
449
|
+
*
|
|
450
|
+
* @internal (was _get_endpoints)
|
|
306
451
|
*/
|
|
307
|
-
|
|
452
|
+
findMatchingEndpoints(endpointUrl) {
|
|
308
453
|
let endpoints = [];
|
|
309
454
|
for (const endPoint of this.endpoints) {
|
|
310
455
|
const ep = endPoint.endpointDescriptions();
|
|
@@ -317,31 +462,31 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
317
462
|
* get one of the possible endpointUrl
|
|
318
463
|
*/
|
|
319
464
|
getEndpointUrl() {
|
|
320
|
-
return this.
|
|
465
|
+
return this.findMatchingEndpoints()[0].endpointUrl || "";
|
|
321
466
|
}
|
|
322
467
|
getDiscoveryUrls() {
|
|
323
468
|
const discoveryUrls = this.endpoints.map((e) => {
|
|
324
|
-
return e.endpointDescriptions()[0].endpointUrl;
|
|
469
|
+
return e.endpointDescriptions()[0].endpointUrl || "";
|
|
325
470
|
});
|
|
326
471
|
return discoveryUrls;
|
|
327
472
|
}
|
|
328
|
-
getServers(
|
|
473
|
+
getServers(_channel) {
|
|
329
474
|
this.serverInfo.discoveryUrls = this.getDiscoveryUrls();
|
|
330
475
|
const servers = [this.serverInfo];
|
|
331
476
|
return servers;
|
|
332
477
|
}
|
|
333
478
|
suspendEndPoints(callback) {
|
|
334
|
-
/*
|
|
479
|
+
/* c8 ignore next */
|
|
335
480
|
if (!callback) {
|
|
336
481
|
throw new Error("Internal Error");
|
|
337
482
|
}
|
|
338
483
|
async_1.default.forEach(this.endpoints, (ep, _inner_callback) => {
|
|
339
|
-
/*
|
|
484
|
+
/* c8 ignore next */
|
|
340
485
|
if (doDebug) {
|
|
341
486
|
debugLog("Suspending ", ep.endpointDescriptions()[0].endpointUrl);
|
|
342
487
|
}
|
|
343
488
|
ep.suspendConnection((err) => {
|
|
344
|
-
/*
|
|
489
|
+
/* c8 ignore next */
|
|
345
490
|
if (doDebug) {
|
|
346
491
|
debugLog("Suspended ", ep.endpointDescriptions()[0].endpointUrl);
|
|
347
492
|
}
|
|
@@ -350,11 +495,14 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
350
495
|
}, (err) => callback(err));
|
|
351
496
|
}
|
|
352
497
|
resumeEndPoints(callback) {
|
|
498
|
+
// c8 ignore next
|
|
499
|
+
if (!callback)
|
|
500
|
+
throw new Error("thenify is not available");
|
|
353
501
|
async_1.default.forEach(this.endpoints, (ep, _inner_callback) => {
|
|
354
502
|
ep.restoreConnection(_inner_callback);
|
|
355
503
|
}, (err) => callback(err));
|
|
356
504
|
}
|
|
357
|
-
prepare(
|
|
505
|
+
prepare(_message, _channel) {
|
|
358
506
|
/* empty */
|
|
359
507
|
}
|
|
360
508
|
/**
|
|
@@ -376,10 +524,10 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
376
524
|
* If the URI is a URL, this URL may have a query string appended.
|
|
377
525
|
* The Transport Profiles that support query strings are defined in OPC 10000-7.
|
|
378
526
|
*/
|
|
379
|
-
response.endpoints = this.
|
|
380
|
-
const
|
|
527
|
+
response.endpoints = this.findMatchingEndpoints(null);
|
|
528
|
+
const _e = response.endpoints.map((e) => e.endpointUrl);
|
|
381
529
|
if (request.endpointUrl) {
|
|
382
|
-
const filtered = response.endpoints.filter((endpoint) => endpoint.endpointUrl
|
|
530
|
+
const filtered = response.endpoints.filter((endpoint) => (0, node_opcua_utils_1.matchUri)(endpoint.endpointUrl, request.endpointUrl));
|
|
383
531
|
if (filtered.length > 0) {
|
|
384
532
|
response.endpoints = filtered;
|
|
385
533
|
}
|
|
@@ -387,9 +535,8 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
387
535
|
response.endpoints = response.endpoints.filter((endpoint) => !endpoint.restricted);
|
|
388
536
|
// apply filters
|
|
389
537
|
if (request.profileUris && request.profileUris.length > 0) {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
});
|
|
538
|
+
const profileUris = request.profileUris;
|
|
539
|
+
response.endpoints = response.endpoints.filter((endpoint) => profileUris.indexOf(endpoint.transportProfileUri) >= 0);
|
|
393
540
|
}
|
|
394
541
|
// adjust locale on ApplicationName to match requested local or provide
|
|
395
542
|
// a string with neutral locale (locale === null)
|
|
@@ -419,13 +566,14 @@ class OPCUABaseServer extends node_opcua_common_1.OPCUASecureObject {
|
|
|
419
566
|
// apply filters
|
|
420
567
|
// TODO /
|
|
421
568
|
if (request.serverUris && request.serverUris.length > 0) {
|
|
569
|
+
const serverUris = request.serverUris;
|
|
422
570
|
// A serverUri matches the applicationUri from the ApplicationDescription define
|
|
423
571
|
servers = servers.filter((inner_Server) => {
|
|
424
|
-
return
|
|
572
|
+
return serverUris.indexOf(inner_Server.applicationUri) >= 0;
|
|
425
573
|
});
|
|
426
574
|
}
|
|
427
575
|
function adapt(applicationDescription) {
|
|
428
|
-
return new
|
|
576
|
+
return new node_opcua_service_endpoints_1.ApplicationDescription({
|
|
429
577
|
applicationName: applicationDescription.applicationName,
|
|
430
578
|
applicationType: applicationDescription.applicationType,
|
|
431
579
|
applicationUri: applicationDescription.applicationUri,
|
package/dist/base_server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_server.js","sourceRoot":"","sources":["../source/base_server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base_server.js","sourceRoot":"","sources":["../source/base_server.ts"],"names":[],"mappings":"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"}
|