@fnndsc/cumin 3.27.5 → 3.27.7
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/cache/procCheckpoint.d.ts +2 -0
- package/dist/cache/procCheckpoint.js +64 -5
- package/dist/cache/procCheckpoint.js.map +1 -1
- package/dist/connect/chrisConnection.d.ts +2 -0
- package/dist/connect/chrisConnection.js +30 -11
- package/dist/connect/chrisConnection.js.map +1 -1
- package/dist/connect/loginFailure.d.ts +50 -0
- package/dist/connect/loginFailure.js +222 -0
- package/dist/connect/loginFailure.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +7 -2
|
@@ -25,6 +25,8 @@ export interface ProcCheckpointRestoreResult {
|
|
|
25
25
|
writtenAt?: string;
|
|
26
26
|
reason?: string;
|
|
27
27
|
migrated?: boolean;
|
|
28
|
+
/** Feeds whose shard was left out of a restore, each with why (`feed 800: instance 7209 names parent 7203, …`). */
|
|
29
|
+
torn?: string[];
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
30
32
|
* Builds the legacy (v2, single-file) checkpoint path for an identity.
|
|
@@ -151,6 +151,47 @@ function procInstance_check(value) {
|
|
|
151
151
|
statusValid &&
|
|
152
152
|
joinsValid;
|
|
153
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Why one feed's shard cannot stand on its own, or null when it can: every
|
|
156
|
+
* instance well formed and of this feed, ids unique, every parent and join
|
|
157
|
+
* parent present in the shard, no cycle. A shard written from a walk that
|
|
158
|
+
* lost a row (observed: 475 of a feed's 477 instances, two naming a parent
|
|
159
|
+
* the walk never saw) fails here and costs its feed, not the checkpoint.
|
|
160
|
+
*
|
|
161
|
+
* @param feedID - The feed the shard claims.
|
|
162
|
+
* @param instances - The shard's instances, unvalidated.
|
|
163
|
+
* @returns The first fault found, in words, or null.
|
|
164
|
+
*/
|
|
165
|
+
function shardGraph_fault(feedID, instances) {
|
|
166
|
+
if (!instances.every(procInstance_check))
|
|
167
|
+
return 'an instance is malformed';
|
|
168
|
+
const byID = new Map();
|
|
169
|
+
for (const instance of instances) {
|
|
170
|
+
if (instance.feedID !== feedID)
|
|
171
|
+
return `instance ${instance.id} belongs to feed ${instance.feedID}`;
|
|
172
|
+
if (byID.has(instance.id))
|
|
173
|
+
return `instance ${instance.id} appears twice`;
|
|
174
|
+
byID.set(instance.id, instance);
|
|
175
|
+
}
|
|
176
|
+
for (const instance of byID.values()) {
|
|
177
|
+
if (instance.parentID !== null && !byID.has(instance.parentID)) {
|
|
178
|
+
return `instance ${instance.id} names parent ${instance.parentID}, which the shard does not hold`;
|
|
179
|
+
}
|
|
180
|
+
for (const id of instance.joinParentIDs ?? []) {
|
|
181
|
+
if (id === instance.id || !byID.has(id))
|
|
182
|
+
return `instance ${instance.id} names join parent ${id}, which the shard does not hold`;
|
|
183
|
+
}
|
|
184
|
+
const ancestors = new Set([instance.id]);
|
|
185
|
+
let ancestor = instance.parentID === null ? undefined : byID.get(instance.parentID);
|
|
186
|
+
while (ancestor) {
|
|
187
|
+
if (ancestors.has(ancestor.id))
|
|
188
|
+
return `instance ${instance.id} sits on a cycle`;
|
|
189
|
+
ancestors.add(ancestor.id);
|
|
190
|
+
ancestor = ancestor.parentID === null ? undefined : byID.get(ancestor.parentID);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
154
195
|
/**
|
|
155
196
|
* Validates all snapshot fields and graph relationships before restoration.
|
|
156
197
|
*
|
|
@@ -261,12 +302,16 @@ async function dir_ensure(dir) {
|
|
|
261
302
|
* Assembles the sharded checkpoint into one snapshot. Shards whose feed is
|
|
262
303
|
* absent from the roster are orphans (a feed removed after its shard was
|
|
263
304
|
* written) and are skipped; a shard that fails its own header check is
|
|
264
|
-
* skipped too
|
|
305
|
+
* skipped too; a shard whose graph does not stand on its own (see
|
|
306
|
+
* {@link shardGraph_fault}) is left out and named, and its feed stays in
|
|
307
|
+
* the roster with no topology, to be walked again. One bad file costs one
|
|
308
|
+
* feed, not the checkpoint: on titan a single torn shard once refused
|
|
309
|
+
* 210,010 instances and a restart booted cold.
|
|
265
310
|
*
|
|
266
311
|
* @param dir - The checkpoint directory.
|
|
267
312
|
* @param identity - Canonical ChRIS identity string.
|
|
268
|
-
* @returns The assembled snapshot with its roster's write time
|
|
269
|
-
* when there is no roster.
|
|
313
|
+
* @returns The assembled snapshot with its roster's write time and the
|
|
314
|
+
* torn shards' feeds, or null when there is no roster.
|
|
270
315
|
*/
|
|
271
316
|
async function shards_assemble(dir, identity) {
|
|
272
317
|
const roster = await json_read((0, path_1.join)(dir, ROSTER_FILE));
|
|
@@ -279,6 +324,7 @@ async function shards_assemble(dir, identity) {
|
|
|
279
324
|
const feedIDs = new Set(roster.feeds.map((feed) => feed.id));
|
|
280
325
|
const snapshot = { feeds: roster.feeds, instances: [], topologyLoaded: [], dataFacts: {} };
|
|
281
326
|
let skipped = 0;
|
|
327
|
+
const torn = [];
|
|
282
328
|
for (const name of await fs_1.promises.readdir(dir)) {
|
|
283
329
|
const match = SHARD_PATTERN.exec(name);
|
|
284
330
|
if (!match)
|
|
@@ -293,6 +339,11 @@ async function shards_assemble(dir, identity) {
|
|
|
293
339
|
skipped++;
|
|
294
340
|
continue;
|
|
295
341
|
}
|
|
342
|
+
const fault = shardGraph_fault(feedID, shard.instances);
|
|
343
|
+
if (fault !== null) {
|
|
344
|
+
torn.push(`feed ${feedID}: ${fault}`);
|
|
345
|
+
continue;
|
|
346
|
+
}
|
|
296
347
|
snapshot.instances.push(...shard.instances);
|
|
297
348
|
if (shard.loaded)
|
|
298
349
|
snapshot.topologyLoaded.push(feedID);
|
|
@@ -302,7 +353,10 @@ async function shards_assemble(dir, identity) {
|
|
|
302
353
|
if (skipped > 0) {
|
|
303
354
|
errorStack_1.errorStack.stack_push('warning', `proc checkpoint: ${skipped} feed shard(s) skipped (orphaned or unreadable)`);
|
|
304
355
|
}
|
|
305
|
-
|
|
356
|
+
if (torn.length > 0) {
|
|
357
|
+
errorStack_1.errorStack.stack_push('warning', `proc checkpoint: ${torn.length} feed shard(s) torn, those feeds walk again — ${torn.join('; ')}`);
|
|
358
|
+
}
|
|
359
|
+
return { snapshot, writtenAt: roster.writtenAt, torn };
|
|
306
360
|
}
|
|
307
361
|
/**
|
|
308
362
|
* Restores a matching, fully validated checkpoint into the process cache.
|
|
@@ -322,7 +376,12 @@ async function procCheckpoint_restore(identity, root = procCheckpointRoot_get())
|
|
|
322
376
|
return { restored: false, count: 0, reason: 'incompatible checkpoint' };
|
|
323
377
|
}
|
|
324
378
|
(0, procCache_1.procCache_get)().snapshot_restore(assembled.snapshot, assembled.writtenAt);
|
|
325
|
-
return {
|
|
379
|
+
return {
|
|
380
|
+
restored: true,
|
|
381
|
+
count: assembled.snapshot.instances.length,
|
|
382
|
+
writtenAt: assembled.writtenAt,
|
|
383
|
+
...(assembled.torn.length > 0 ? { torn: assembled.torn } : {}),
|
|
384
|
+
};
|
|
326
385
|
}
|
|
327
386
|
const legacy = await json_read(procCheckpointPath_get(identity, root));
|
|
328
387
|
if (legacy === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procCheckpoint.js","sourceRoot":"","sources":["../../src/cache/procCheckpoint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"procCheckpoint.js","sourceRoot":"","sources":["../../src/cache/procCheckpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,8 @@ export declare class ChRISConnection {
|
|
|
67
67
|
* @param config - The connection configuration object.
|
|
68
68
|
* @param storageProvider - The storage provider for persistence.
|
|
69
69
|
*/
|
|
70
|
+
/** How a failed login asks the network what happened; a test stands one in. */
|
|
71
|
+
loginProbe: (url: string) => Promise<string | null>;
|
|
70
72
|
init(config: ConnectionConfig, storageProvider: IStorageProvider): void;
|
|
71
73
|
/**
|
|
72
74
|
* Establishes a connection to the ChRIS CUBE and authenticates the user.
|
|
@@ -19,6 +19,7 @@ const folderMemo_1 = require("../filebrowser/folderMemo");
|
|
|
19
19
|
const requestLedger_1 = require("../net/requestLedger");
|
|
20
20
|
const adapter_js_1 = require("../chrisapi/adapter.js");
|
|
21
21
|
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return adapter_js_1.Client; } });
|
|
22
|
+
const loginFailure_js_1 = require("./loginFailure.js");
|
|
22
23
|
const config_js_1 = require("../config/config.js");
|
|
23
24
|
const chrisContext_js_1 = require("../context/chrisContext.js");
|
|
24
25
|
const chrisIO_js_1 = require("../io/chrisIO.js");
|
|
@@ -54,6 +55,13 @@ class ChRISConnection {
|
|
|
54
55
|
this.chrisURL = null;
|
|
55
56
|
this.client = null;
|
|
56
57
|
this.elevatedClientContext = new node_async_hooks_1.AsyncLocalStorage();
|
|
58
|
+
/**
|
|
59
|
+
* Initializes the connection with configuration and storage provider.
|
|
60
|
+
* @param config - The connection configuration object.
|
|
61
|
+
* @param storageProvider - The storage provider for persistence.
|
|
62
|
+
*/
|
|
63
|
+
/** How a failed login asks the network what happened; a test stands one in. */
|
|
64
|
+
this.loginProbe = loginFailure_js_1.urlProbe;
|
|
57
65
|
// Every request the session makes is counted from the moment there is
|
|
58
66
|
// a session to make them (netstat reads the ledger).
|
|
59
67
|
(0, requestLedger_1.requestLedger_start)();
|
|
@@ -71,11 +79,6 @@ class ChRISConnection {
|
|
|
71
79
|
get config() {
|
|
72
80
|
return this._config;
|
|
73
81
|
}
|
|
74
|
-
/**
|
|
75
|
-
* Initializes the connection with configuration and storage provider.
|
|
76
|
-
* @param config - The connection configuration object.
|
|
77
|
-
* @param storageProvider - The storage provider for persistence.
|
|
78
|
-
*/
|
|
79
82
|
init(config, storageProvider) {
|
|
80
83
|
this._config = config;
|
|
81
84
|
this.storageProvider = storageProvider;
|
|
@@ -114,11 +117,12 @@ class ChRISConnection {
|
|
|
114
117
|
}
|
|
115
118
|
}
|
|
116
119
|
catch (error) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
console.error(
|
|
121
|
-
|
|
120
|
+
// The real cause, said as what it is: only CUBE's refusal blames the
|
|
121
|
+
// credentials; an untrusted certificate or an unreachable host says so (#965).
|
|
122
|
+
const failure = await (0, loginFailure_js_1.loginFailure_diagnose)(error, authUrl, this.loginProbe);
|
|
123
|
+
console.error('');
|
|
124
|
+
for (const line of (0, loginFailure_js_1.loginFailure_lines)(failure, url))
|
|
125
|
+
console.error(line);
|
|
122
126
|
console.error("\nExiting to system with code 1...");
|
|
123
127
|
if (debug) {
|
|
124
128
|
throw error;
|
|
@@ -152,6 +156,10 @@ class ChRISConnection {
|
|
|
152
156
|
await client.getUser();
|
|
153
157
|
}
|
|
154
158
|
catch (error) {
|
|
159
|
+
const failure = await (0, loginFailure_js_1.loginFailure_diagnose)(error, url, this.loginProbe);
|
|
160
|
+
if (failure.kind === 'tls' || failure.kind === 'network') {
|
|
161
|
+
return { connected: false, reason: (0, loginFailure_js_1.loginFailure_lines)(failure, url).join(' ') };
|
|
162
|
+
}
|
|
155
163
|
const reason = error instanceof Error ? error.message : String(error);
|
|
156
164
|
return { connected: false, reason: `${url} refused the token for ${user}: ${reason}` };
|
|
157
165
|
}
|
|
@@ -304,7 +312,18 @@ class ChRISConnection {
|
|
|
304
312
|
const url = await this.chrisURL_get();
|
|
305
313
|
if (!url)
|
|
306
314
|
throw new Error('Not connected to ChRIS. Run connect first.');
|
|
307
|
-
|
|
315
|
+
let token;
|
|
316
|
+
try {
|
|
317
|
+
token = await (0, adapter_js_1.authToken_get)(`${url}auth-token/`, credentials.username, credentials.password);
|
|
318
|
+
}
|
|
319
|
+
catch (error) {
|
|
320
|
+
// A refusal is the credentials' to answer for; a certificate or a
|
|
321
|
+
// network failure says what it is instead (#965).
|
|
322
|
+
const failure = await (0, loginFailure_js_1.loginFailure_diagnose)(error, `${url}auth-token/`, this.loginProbe);
|
|
323
|
+
if (failure.kind === 'tls' || failure.kind === 'network')
|
|
324
|
+
throw new Error((0, loginFailure_js_1.loginFailure_lines)(failure, url).join(' '));
|
|
325
|
+
throw error;
|
|
326
|
+
}
|
|
308
327
|
const elevatedClient = (0, adapter_js_1.client_create)(url, token);
|
|
309
328
|
return await this.elevatedClientContext.run(elevatedClient, operation);
|
|
310
329
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chrisConnection.js","sourceRoot":"","sources":["../../src/connect/chrisConnection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;
|
|
1
|
+
{"version":3,"file":"chrisConnection.js","sourceRoot":"","sources":["../../src/connect/chrisConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** What kind of failure a login met. */
|
|
2
|
+
export type LoginFailureKind = 'credentials' | 'tls' | 'network' | 'other';
|
|
3
|
+
/** A login failure, classified. */
|
|
4
|
+
export interface LoginFailure {
|
|
5
|
+
kind: LoginFailureKind;
|
|
6
|
+
/** The network's or TLS's error code, when one was found. */
|
|
7
|
+
code?: string;
|
|
8
|
+
/** CUBE's HTTP status, when it answered. */
|
|
9
|
+
status?: number;
|
|
10
|
+
/** The most telling message found on the error. */
|
|
11
|
+
message: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Classifies a login error from what it carries: CUBE's status (400 or 401
|
|
15
|
+
* on `auth-token/`, 401 or 403 on a token), or a TLS or network code found
|
|
16
|
+
* anywhere down its `cause` chain. Nothing found is `other`.
|
|
17
|
+
*
|
|
18
|
+
* @param error - What the login threw.
|
|
19
|
+
* @returns The failure.
|
|
20
|
+
*/
|
|
21
|
+
export declare function loginFailure_classify(error: unknown): LoginFailure;
|
|
22
|
+
/**
|
|
23
|
+
* Asks the network about a URL once: the error code a plain GET meets, or
|
|
24
|
+
* null when anything answered (the host is there and its certificate holds).
|
|
25
|
+
*
|
|
26
|
+
* @param url - The URL.
|
|
27
|
+
* @param timeoutMs - How long to wait.
|
|
28
|
+
* @returns The code, or null.
|
|
29
|
+
*/
|
|
30
|
+
export declare function urlProbe(url: string, timeoutMs?: number): Promise<string | null>;
|
|
31
|
+
/**
|
|
32
|
+
* Classifies a login error, asking the network once when the error itself
|
|
33
|
+
* carries neither CUBE's answer nor a code (chrisapi's "No server response!").
|
|
34
|
+
*
|
|
35
|
+
* @param error - What the login threw.
|
|
36
|
+
* @param url - The URL the login went to.
|
|
37
|
+
* @param probe - How the network is asked; {@link urlProbe} by default.
|
|
38
|
+
* @returns The failure.
|
|
39
|
+
*/
|
|
40
|
+
export declare function loginFailure_diagnose(error: unknown, url: string, probe?: (url: string) => Promise<string | null>): Promise<LoginFailure>;
|
|
41
|
+
/**
|
|
42
|
+
* What the operator reads about a login failure: the real cause, and what
|
|
43
|
+
* to do. Only CUBE's own refusal blames the credentials; an untrusted
|
|
44
|
+
* certificate names the CA setting (never a switch that turns checking off).
|
|
45
|
+
*
|
|
46
|
+
* @param failure - The failure.
|
|
47
|
+
* @param url - The CUBE the login went to.
|
|
48
|
+
* @returns The lines.
|
|
49
|
+
*/
|
|
50
|
+
export declare function loginFailure_lines(failure: LoginFailure, url: string): string[];
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.loginFailure_classify = loginFailure_classify;
|
|
37
|
+
exports.urlProbe = urlProbe;
|
|
38
|
+
exports.loginFailure_diagnose = loginFailure_diagnose;
|
|
39
|
+
exports.loginFailure_lines = loginFailure_lines;
|
|
40
|
+
/**
|
|
41
|
+
* @file Why a login failed, said as what it is (#965).
|
|
42
|
+
*
|
|
43
|
+
* Every login failure used to print one text that blamed the credentials:
|
|
44
|
+
* an untrusted TLS certificate, a host that does not resolve, a refused
|
|
45
|
+
* connection and a real "wrong password" all read "check your login
|
|
46
|
+
* credentials carefully", and an operator with the right password went
|
|
47
|
+
* looking for the wrong problem. A failure is classified first, and only
|
|
48
|
+
* CUBE's own refusal blames the credentials.
|
|
49
|
+
*
|
|
50
|
+
* chrisapi turns every failure without a response into "No server
|
|
51
|
+
* response!" and keeps none of the network's error code, so when nothing
|
|
52
|
+
* on the error says what happened, one plain request to the same URL asks
|
|
53
|
+
* the network again — on the failure path only, never on a login that works.
|
|
54
|
+
* Asked upstream to keep the cause (FNNDSC/fnndsc#108); once a release
|
|
55
|
+
* does, the probe has nothing left to find and can go.
|
|
56
|
+
*
|
|
57
|
+
* Dependency-free (Node's own http/https), so the door can use it too
|
|
58
|
+
* (`@fnndsc/cumin/login-failure`).
|
|
59
|
+
*
|
|
60
|
+
* @module
|
|
61
|
+
*/
|
|
62
|
+
const http = __importStar(require("node:http"));
|
|
63
|
+
const https = __importStar(require("node:https"));
|
|
64
|
+
/** Node's and OpenSSL's words for a certificate the client does not trust. */
|
|
65
|
+
const TLS_CODES = new Set([
|
|
66
|
+
'SELF_SIGNED_CERT_IN_CHAIN',
|
|
67
|
+
'DEPTH_ZERO_SELF_SIGNED_CERT',
|
|
68
|
+
'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
|
|
69
|
+
'UNABLE_TO_GET_ISSUER_CERT',
|
|
70
|
+
'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',
|
|
71
|
+
'CERT_HAS_EXPIRED',
|
|
72
|
+
'CERT_NOT_YET_VALID',
|
|
73
|
+
'CERT_UNTRUSTED',
|
|
74
|
+
'CERT_REVOKED',
|
|
75
|
+
'CERT_SIGNATURE_FAILURE',
|
|
76
|
+
'ERR_TLS_CERT_ALTNAME_INVALID',
|
|
77
|
+
]);
|
|
78
|
+
/** The network's words for a CUBE that cannot be reached. */
|
|
79
|
+
const NETWORK_CODES = new Set([
|
|
80
|
+
'ENOTFOUND',
|
|
81
|
+
'EAI_AGAIN',
|
|
82
|
+
'ECONNREFUSED',
|
|
83
|
+
'ECONNRESET',
|
|
84
|
+
'ETIMEDOUT',
|
|
85
|
+
'EHOSTUNREACH',
|
|
86
|
+
'ENETUNREACH',
|
|
87
|
+
'UND_ERR_CONNECT_TIMEOUT',
|
|
88
|
+
'UND_ERR_SOCKET',
|
|
89
|
+
]);
|
|
90
|
+
/** Messages that say nothing about why (chrisapi's, fetch's). */
|
|
91
|
+
const GENERIC_MESSAGES = new Set(['No server response!', 'fetch failed', 'Bad server response!']);
|
|
92
|
+
/** The kind a code alone decides, or null. */
|
|
93
|
+
function kind_ofCode(code) {
|
|
94
|
+
if (TLS_CODES.has(code))
|
|
95
|
+
return 'tls';
|
|
96
|
+
if (NETWORK_CODES.has(code))
|
|
97
|
+
return 'network';
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Classifies a login error from what it carries: CUBE's status (400 or 401
|
|
102
|
+
* on `auth-token/`, 401 or 403 on a token), or a TLS or network code found
|
|
103
|
+
* anywhere down its `cause` chain. Nothing found is `other`.
|
|
104
|
+
*
|
|
105
|
+
* @param error - What the login threw.
|
|
106
|
+
* @returns The failure.
|
|
107
|
+
*/
|
|
108
|
+
function loginFailure_classify(error) {
|
|
109
|
+
let status;
|
|
110
|
+
let code;
|
|
111
|
+
let message;
|
|
112
|
+
let at = error;
|
|
113
|
+
for (let depth = 0; depth < 6 && at !== null && at !== undefined; depth++) {
|
|
114
|
+
if (typeof at === 'object') {
|
|
115
|
+
const node = at;
|
|
116
|
+
const found = node.response?.status ?? node.status;
|
|
117
|
+
if (status === undefined && typeof found === 'number')
|
|
118
|
+
status = found;
|
|
119
|
+
if (code === undefined && typeof node.code === 'string' && kind_ofCode(node.code) !== null)
|
|
120
|
+
code = node.code;
|
|
121
|
+
if (message === undefined && typeof node.message === 'string' && !GENERIC_MESSAGES.has(node.message))
|
|
122
|
+
message = node.message;
|
|
123
|
+
at = node.cause;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
if (message === undefined && typeof at === 'string')
|
|
127
|
+
message = at;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const said = message ?? (error instanceof Error ? error.message : String(error));
|
|
132
|
+
if (status !== undefined && [400, 401, 403].includes(status))
|
|
133
|
+
return { kind: 'credentials', status, message: said };
|
|
134
|
+
if (code !== undefined)
|
|
135
|
+
return { kind: kind_ofCode(code) ?? 'other', code, message: said };
|
|
136
|
+
return { kind: 'other', ...(status !== undefined ? { status } : {}), message: said };
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Asks the network about a URL once: the error code a plain GET meets, or
|
|
140
|
+
* null when anything answered (the host is there and its certificate holds).
|
|
141
|
+
*
|
|
142
|
+
* @param url - The URL.
|
|
143
|
+
* @param timeoutMs - How long to wait.
|
|
144
|
+
* @returns The code, or null.
|
|
145
|
+
*/
|
|
146
|
+
function urlProbe(url, timeoutMs = 8000) {
|
|
147
|
+
return new Promise((resolve) => {
|
|
148
|
+
let settled = false;
|
|
149
|
+
const settle = (code) => { if (!settled) {
|
|
150
|
+
settled = true;
|
|
151
|
+
resolve(code);
|
|
152
|
+
} };
|
|
153
|
+
try {
|
|
154
|
+
const client = url.startsWith('https:') ? https : http;
|
|
155
|
+
// A fresh connection, never a kept-alive one: the question is what a new connection meets.
|
|
156
|
+
const request = client.get(url, { agent: false }, (response) => { response.resume(); settle(null); });
|
|
157
|
+
request.setTimeout(timeoutMs, () => { request.destroy(); settle('ETIMEDOUT'); });
|
|
158
|
+
request.on('error', (error) => settle(typeof error.code === 'string' ? error.code : null));
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
settle(null);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Classifies a login error, asking the network once when the error itself
|
|
167
|
+
* carries neither CUBE's answer nor a code (chrisapi's "No server response!").
|
|
168
|
+
*
|
|
169
|
+
* @param error - What the login threw.
|
|
170
|
+
* @param url - The URL the login went to.
|
|
171
|
+
* @param probe - How the network is asked; {@link urlProbe} by default.
|
|
172
|
+
* @returns The failure.
|
|
173
|
+
*/
|
|
174
|
+
async function loginFailure_diagnose(error, url, probe = urlProbe) {
|
|
175
|
+
const failure = loginFailure_classify(error);
|
|
176
|
+
if (failure.kind !== 'other' || failure.status !== undefined)
|
|
177
|
+
return failure;
|
|
178
|
+
const code = await probe(url);
|
|
179
|
+
const kind = code === null ? null : kind_ofCode(code);
|
|
180
|
+
return kind === null ? failure : { kind, code: code, message: failure.message };
|
|
181
|
+
}
|
|
182
|
+
/** The host of a URL, or the URL when it does not parse. */
|
|
183
|
+
function host_of(url) {
|
|
184
|
+
try {
|
|
185
|
+
return new URL(url).host;
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return url;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* What the operator reads about a login failure: the real cause, and what
|
|
193
|
+
* to do. Only CUBE's own refusal blames the credentials; an untrusted
|
|
194
|
+
* certificate names the CA setting (never a switch that turns checking off).
|
|
195
|
+
*
|
|
196
|
+
* @param failure - The failure.
|
|
197
|
+
* @param url - The CUBE the login went to.
|
|
198
|
+
* @returns The lines.
|
|
199
|
+
*/
|
|
200
|
+
function loginFailure_lines(failure, url) {
|
|
201
|
+
switch (failure.kind) {
|
|
202
|
+
case 'tls':
|
|
203
|
+
return [
|
|
204
|
+
`Could not log in to ${url}: the TLS certificate of ${host_of(url)} is not trusted (${failure.code}).`,
|
|
205
|
+
'If this CUBE uses a private CA, give Node that CA and try again:',
|
|
206
|
+
' NODE_EXTRA_CA_CERTS=/path/to/ca.pem',
|
|
207
|
+
];
|
|
208
|
+
case 'network':
|
|
209
|
+
return [
|
|
210
|
+
`Could not reach ${url} (${failure.code}).`,
|
|
211
|
+
'Check the URL, and that CUBE is up and reachable from this machine.',
|
|
212
|
+
];
|
|
213
|
+
case 'credentials':
|
|
214
|
+
return [
|
|
215
|
+
`${url} refused the login (HTTP ${failure.status}): the username or password is not right.`,
|
|
216
|
+
'If your password has special characters, check that your shell passes it as typed.',
|
|
217
|
+
];
|
|
218
|
+
case 'other':
|
|
219
|
+
return [`Could not log in to ${url}: ${failure.message}`];
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=loginFailure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginFailure.js","sourceRoot":"","sources":["../../src/connect/loginFailure.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./feeds/chrisFeed";
|
|
|
15
15
|
export * from "./feeds/chrisTags";
|
|
16
16
|
export * from "./feeds/chrisAccess";
|
|
17
17
|
export * from "./connect/chrisConnection";
|
|
18
|
+
export * from "./connect/loginFailure";
|
|
18
19
|
export * from "./context/chrisContext";
|
|
19
20
|
export * from "./plugins/chrisPlugins";
|
|
20
21
|
export * from "./plugins/chrisPluginMetaPlugins";
|
package/dist/index.js
CHANGED
|
@@ -33,6 +33,7 @@ __exportStar(require("./feeds/chrisFeed"), exports);
|
|
|
33
33
|
__exportStar(require("./feeds/chrisTags"), exports);
|
|
34
34
|
__exportStar(require("./feeds/chrisAccess"), exports);
|
|
35
35
|
__exportStar(require("./connect/chrisConnection"), exports);
|
|
36
|
+
__exportStar(require("./connect/loginFailure"), exports);
|
|
36
37
|
__exportStar(require("./context/chrisContext"), exports);
|
|
37
38
|
__exportStar(require("./plugins/chrisPlugins"), exports);
|
|
38
39
|
__exportStar(require("./plugins/chrisPluginMetaPlugins"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;AA6HH,4CAKC;AAhID,qCAAmB;AACnB,qDAAmC;AACnC,kDAAgC;AAChC,oDAAkC;AAClC,oDAAkC;AAClC,sDAAoC;AACpC,4DAA0C;AAC1C,yDAAuC;AACvC,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,6DAA2C;AAC3C,mDAAiC;AACjC,yDAAuC;AACvC,sDAAoC;AACpC,6DAA2C;AAC3C,iEAA+C;AAC/C,8DAA4C;AAC5C,yEAAuD;AACvD,iEAA+C;AAC/C,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AACxC,8DAA4C;AAC5C,+CAA6B;AAC7B,sDAAoC;AACpC,0CAAwB;AACxB,+CAA6B;AAC7B,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,0CAAwB;AACxB,mDAAiC;AACjC,4DAA0C;AAC1C,2DAAyC;AACzC,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,iEAA+C;AAC/C,6DAA2C;AAC3C,yDAAuC;AAEvC,iFAAiF;AACjF,8CAA2E;AAAlE,uGAAA,YAAY,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,oGAAA,SAAS,OAAA;AAC9C,wCAAiH;AAAxG,gGAAA,QAAQ,OAAA;AAAE,iGAAA,SAAS,OAAA;AAAE,kGAAA,UAAU,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAAE,mGAAA,WAAW,OAAA;AAExE,yEAAyE;AACzE,0EAA0E;AAC1E,gDAc6B;AAb3B,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,mHAAA,uBAAuB,OAAA;AACvB,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,kHAAA,sBAAsB,OAAA;AACtB,wGAAA,YAAY,OAAA;AACZ,uHAAA,2BAA2B,OAAA;AAC3B,qHAAA,yBAAyB,OAAA;AACzB,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA;AAAE,kHAAA,sBAAsB,OAAA;AACtC,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AAsDrB;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,MAAM,OAAO,GAAW,OAAO,CAAC;IAChC,wCAAwC;IACxC,6CAA6C;IAC7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED,gEAAgE;AAChE,qCAAqC;AACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fnndsc/cumin",
|
|
3
|
-
"version": "3.27.
|
|
3
|
+
"version": "3.27.7",
|
|
4
4
|
"description": "Utility library for ChILI and other ChRIS-related JavaScript applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -38,7 +38,12 @@
|
|
|
38
38
|
"types": "./dist/output/runtimeOutput.d.ts",
|
|
39
39
|
"require": "./dist/output/runtimeOutput.js"
|
|
40
40
|
},
|
|
41
|
-
"./package.json": "./package.json"
|
|
41
|
+
"./package.json": "./package.json",
|
|
42
|
+
"./login-failure": {
|
|
43
|
+
"import": "./dist/connect/loginFailure.js",
|
|
44
|
+
"types": "./dist/connect/loginFailure.d.ts",
|
|
45
|
+
"require": "./dist/connect/loginFailure.js"
|
|
46
|
+
}
|
|
42
47
|
},
|
|
43
48
|
"scripts": {
|
|
44
49
|
"build": "rm -fr dist types && tsc && chmod +x ./dist/cli.js",
|