@serve.zone/coremail 1.0.2 → 1.2.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/changelog.md +48 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.auth.d.ts +26 -7
- package/dist_ts/classes.auth.js +153 -44
- package/dist_ts/classes.config.js +6 -3
- package/dist_ts/classes.desiredstate.js +3 -3
- package/dist_ts/classes.gateway.d.ts +1 -0
- package/dist_ts/classes.gateway.js +26 -11
- package/dist_ts/classes.maintenance.js +4 -3
- package/dist_ts/classes.server.d.ts +10 -0
- package/dist_ts/classes.server.js +19 -2
- package/dist_ts/classes.transfer.js +13 -6
- package/dist_ts/coremail.log.d.ts +6 -1
- package/dist_ts/coremail.log.js +21 -3
- package/dist_ts/index.js +5 -2
- package/dist_ts/interfaces.d.ts +2 -1
- package/package.json +11 -11
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.auth.ts +215 -59
- package/ts/classes.config.ts +7 -2
- package/ts/classes.desiredstate.ts +2 -2
- package/ts/classes.gateway.ts +26 -10
- package/ts/classes.maintenance.ts +3 -2
- package/ts/classes.server.ts +19 -5
- package/ts/classes.transfer.ts +12 -5
- package/ts/coremail.log.ts +41 -3
- package/ts/index.ts +4 -1
- package/ts/interfaces.ts +2 -1
package/changelog.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-09-15 - 1.2.0
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- move the control transport onto the mesh majors (transport)
|
|
8
|
+
- Raise `@api.global/typedserver` ^8.10.0 → ^11.4.1, `@api.global/typedsocket` ^5.1.1 → ^8.2.1, `@api.global/typedrequest` ^3.7.0 → ^8.0.4, `@api.global/typedrequest-interfaces` ^4.0.0 → ^7.1.0 and pin `@serve.zone/interfaces` to 30.12.0, as one coherent set. The package was the last holdout on typedsocket 5: an 8.x client rejects in `onopen` with `TypedSocketHandshakeError` unless the server answers `__typedsocket_checkVersion`, which 5.1.1 never registered, so `SzCoreMailConnector.init()` failed before sending anything and the outbound gateway link broke identically.
|
|
9
|
+
- Type `addHandler`'s callback as typedrequest's own `THandlerFunction`. Since typedrequest 8 both sides are wrapped in the `TReverseVirtualStreamDirections` mapped type, which does not reduce inside a generic wrapper, so a restated signature is no longer assignable. The 14 registrations are unchanged — concrete request types reduce normally.
|
|
10
|
+
- Add `test/test.socket.node.ts`: a real typedsocket client against a real listener, covering the version handshake, `websocketAdmission` state reaching the peer, the exact seven-key authentication envelope, session storage against the real peer, the observed failure mode of a bad credential, typed error-envelope round-tripping, and the pre-auth sweep terminating a real socket. Verified red before this change with the exact production symptom and green after. Every other suite hands the server hand-written peer literals and therefore cannot observe the transport at all — which is how the mismatch survived unnoticed.
|
|
11
|
+
- Record two contract facts the new coverage established: a failed workload authentication closes the socket (`peer.close(4401)` wins the race against the error) so callers see a disconnect rather than an `AUTHENTICATION_FAILED` envelope; and typed error data does survive the v8 wire intact on paths that leave the peer open.
|
|
12
|
+
- Add `test/readme.hints.md` with the transport background and the open platformclient follow-up. It sits under `test/` rather than the package root because npm-packlist force-includes every root `readme.*` regardless of the `files` array, and this package publishes publicly.
|
|
13
|
+
|
|
14
|
+
### Fixes
|
|
15
|
+
|
|
16
|
+
- update test and mongo development dependencies (deps-dev)
|
|
17
|
+
- Update @git.zone/tstest from ^3.6.7 to 6.0.0
|
|
18
|
+
- Update @push.rocks/smartmongo from ^7.0.0 to 9.0.0
|
|
19
|
+
|
|
20
|
+
### Maintenance
|
|
21
|
+
|
|
22
|
+
- Update pnpm to 12.4.0, tsbuild to 4.4.3, tsdocker to 3.5.8 and Node typings to 26.5.0 for the release.
|
|
23
|
+
|
|
24
|
+
## 2026-08-03 - 1.1.0
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
- Log sanitized failure causes server-side for gateway reconciliation and
|
|
29
|
+
authentication, the outbound worker, retention sweeps, grant transfers,
|
|
30
|
+
desired-state snapshot repair, CLI shutdown, and unexpected RPC handler
|
|
31
|
+
failures: component, stable code, redacted error (URL credentials stripped,
|
|
32
|
+
bounded length), and safe identifiers only. Authentication failures log a
|
|
33
|
+
category (invalid input, unknown binding, unknown credential, verifier
|
|
34
|
+
rejected, limiter exhausted) with declared identifiers. Peer-facing errors
|
|
35
|
+
remain constant and opaque.
|
|
36
|
+
- Rework the authentication limiter: the global Argon2 in-flight cap now feeds
|
|
37
|
+
a bounded FIFO wait queue so reconnect storms queue briefly instead of
|
|
38
|
+
failing closed, and per-identity token buckets in a bounded map keep one
|
|
39
|
+
flooding identity from starving other bindings. The limiter snapshot now
|
|
40
|
+
reports `inFlight`, `waiting`, and `identities`.
|
|
41
|
+
|
|
42
|
+
### Fixes
|
|
43
|
+
|
|
44
|
+
- Enforce workload binding resolution at the type level during authentication
|
|
45
|
+
instead of non-null assertions.
|
|
46
|
+
- Make the gateway connection signature canonical under key order so
|
|
47
|
+
serialization differences alone cannot force dcrouter socket reconnects.
|
|
48
|
+
- Distinguish missing from non-canonical environment values in startup
|
|
49
|
+
configuration errors.
|
|
50
|
+
|
|
3
51
|
## 2026-07-31 - 1.0.2
|
|
4
52
|
|
|
5
53
|
### Fixes
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/coremail',
|
|
6
|
-
version: '1.0
|
|
6
|
+
version: '1.2.0',
|
|
7
7
|
description: 'Authenticated mail persistence and delivery orchestration for serve.zone workloads.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHFGQUFxRjtDQUNuRyxDQUFBIn0=
|
|
@@ -7,24 +7,42 @@ export declare const coreMailPreAuthDeadlineKey = "coremail.pre-auth-deadline";
|
|
|
7
7
|
export declare class CoreMailAuthenticationError extends Error {
|
|
8
8
|
constructor();
|
|
9
9
|
}
|
|
10
|
+
export declare class CoreMailAuthLimitError extends CoreMailAuthenticationError {
|
|
11
|
+
constructor();
|
|
12
|
+
}
|
|
10
13
|
export declare class CoreMailAuthorizationError extends Error {
|
|
11
14
|
constructor();
|
|
12
15
|
}
|
|
13
16
|
export declare class CoreMailCapabilityDeniedError extends Error {
|
|
14
17
|
constructor();
|
|
15
18
|
}
|
|
19
|
+
export interface ICoreMailAuthLimiterOptions {
|
|
20
|
+
maximumInFlight?: number;
|
|
21
|
+
maximumWaiters?: number;
|
|
22
|
+
maximumWaitMs?: number;
|
|
23
|
+
identityCapacity?: number;
|
|
24
|
+
identityRefillPerSecond?: number;
|
|
25
|
+
maximumIdentities?: number;
|
|
26
|
+
now?: () => number;
|
|
27
|
+
}
|
|
16
28
|
export declare class CoreMailAuthLimiter {
|
|
17
29
|
private readonly maximumInFlight;
|
|
18
|
-
private readonly
|
|
19
|
-
private readonly
|
|
30
|
+
private readonly maximumWaiters;
|
|
31
|
+
private readonly maximumWaitMs;
|
|
32
|
+
private readonly identityCapacity;
|
|
33
|
+
private readonly identityRefillPerSecond;
|
|
34
|
+
private readonly maximumIdentities;
|
|
20
35
|
private readonly now;
|
|
21
36
|
private inFlight;
|
|
22
|
-
private
|
|
23
|
-
private
|
|
24
|
-
constructor(
|
|
25
|
-
private refill;
|
|
37
|
+
private readonly waiters;
|
|
38
|
+
private readonly identityBuckets;
|
|
39
|
+
constructor(optionsArg?: ICoreMailAuthLimiterOptions);
|
|
26
40
|
snapshot(): ICoreMailAuthLimiterSnapshot;
|
|
27
|
-
run<T>(workArg: () => Promise<T>): Promise<T>;
|
|
41
|
+
run<T>(identityArg: string, workArg: () => Promise<T>): Promise<T>;
|
|
42
|
+
private consumeIdentityToken;
|
|
43
|
+
private pruneIdentities;
|
|
44
|
+
private acquireSlot;
|
|
45
|
+
private releaseSlot;
|
|
28
46
|
}
|
|
29
47
|
export declare class CoreMailAuth {
|
|
30
48
|
private readonly controlBootstrap;
|
|
@@ -33,6 +51,7 @@ export declare class CoreMailAuth {
|
|
|
33
51
|
readonly limiter: CoreMailAuthLimiter;
|
|
34
52
|
constructor(controlBootstrap: plugins.serveZoneInterfaces.data.ICoreMailControlBootstrap, getActiveDesiredState: () => Promise<TCoreMailDesiredState | null>, now?: () => number);
|
|
35
53
|
private requireFreshPeer;
|
|
54
|
+
private requireSecretShape;
|
|
36
55
|
private verify;
|
|
37
56
|
authenticateControl(peerArg: ICoreMailPeer, requestArg: plugins.serveZoneInterfaces.requests.coremail.IReq_CoreMailAuthenticateControl['request']): Promise<ICoreMailControlSession>;
|
|
38
57
|
authenticateWorkload(peerArg: ICoreMailPeer, requestArg: plugins.serveZoneInterfaces.requests.coremail.IReq_CoreMailAuthenticateWorkload['request']): Promise<ICoreMailWorkloadSession>;
|
package/dist_ts/classes.auth.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as plugins from './plugins.js';
|
|
2
2
|
import { requireCoreMailIdentifier, requireCoreMailSafeInteger, } from './coremail.selectors.js';
|
|
3
|
+
import { logCoreMailFailure } from './coremail.log.js';
|
|
3
4
|
export const coreMailSessionKey = 'coremail.authenticated-session';
|
|
4
5
|
export const coreMailPreAuthDeadlineKey = 'coremail.pre-auth-deadline';
|
|
5
6
|
export class CoreMailAuthenticationError extends Error {
|
|
@@ -8,6 +9,12 @@ export class CoreMailAuthenticationError extends Error {
|
|
|
8
9
|
this.name = 'CoreMailAuthenticationError';
|
|
9
10
|
}
|
|
10
11
|
}
|
|
12
|
+
export class CoreMailAuthLimitError extends CoreMailAuthenticationError {
|
|
13
|
+
constructor() {
|
|
14
|
+
super();
|
|
15
|
+
this.name = 'CoreMailAuthLimitError';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
11
18
|
export class CoreMailAuthorizationError extends Error {
|
|
12
19
|
constructor() {
|
|
13
20
|
super('CoreMail authority is unavailable.');
|
|
@@ -22,47 +29,116 @@ export class CoreMailCapabilityDeniedError extends Error {
|
|
|
22
29
|
}
|
|
23
30
|
export class CoreMailAuthLimiter {
|
|
24
31
|
maximumInFlight;
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
maximumWaiters;
|
|
33
|
+
maximumWaitMs;
|
|
34
|
+
identityCapacity;
|
|
35
|
+
identityRefillPerSecond;
|
|
36
|
+
maximumIdentities;
|
|
27
37
|
now;
|
|
28
38
|
inFlight = 0;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
constructor(
|
|
32
|
-
this.maximumInFlight = maximumInFlight;
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
35
|
-
this.
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
39
|
+
waiters = [];
|
|
40
|
+
identityBuckets = new Map();
|
|
41
|
+
constructor(optionsArg = {}) {
|
|
42
|
+
this.maximumInFlight = optionsArg.maximumInFlight ?? 4;
|
|
43
|
+
this.maximumWaiters = optionsArg.maximumWaiters ?? 64;
|
|
44
|
+
this.maximumWaitMs = optionsArg.maximumWaitMs ?? 2_500;
|
|
45
|
+
this.identityCapacity = optionsArg.identityCapacity ?? 4;
|
|
46
|
+
this.identityRefillPerSecond = optionsArg.identityRefillPerSecond ?? 1;
|
|
47
|
+
this.maximumIdentities = optionsArg.maximumIdentities ?? 4_096;
|
|
48
|
+
this.now = optionsArg.now ?? Date.now;
|
|
38
49
|
}
|
|
39
|
-
|
|
50
|
+
snapshot() {
|
|
51
|
+
return {
|
|
52
|
+
inFlight: this.inFlight,
|
|
53
|
+
waiting: this.waiters.length,
|
|
54
|
+
identities: this.identityBuckets.size,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
async run(identityArg, workArg) {
|
|
58
|
+
this.consumeIdentityToken(identityArg);
|
|
59
|
+
await this.acquireSlot();
|
|
60
|
+
try {
|
|
61
|
+
return await workArg();
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
this.releaseSlot();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
consumeIdentityToken(identityArg) {
|
|
40
68
|
const now = this.now();
|
|
41
|
-
const
|
|
42
|
-
if (
|
|
69
|
+
const bucket = this.identityBuckets.get(identityArg);
|
|
70
|
+
if (!bucket) {
|
|
71
|
+
this.pruneIdentities(now);
|
|
72
|
+
this.identityBuckets.set(identityArg, {
|
|
73
|
+
tokens: this.identityCapacity - 1,
|
|
74
|
+
lastRefillAt: now,
|
|
75
|
+
});
|
|
43
76
|
return;
|
|
44
77
|
}
|
|
45
|
-
const intervals = Math.floor(
|
|
46
|
-
|
|
47
|
-
|
|
78
|
+
const intervals = Math.floor(Math.max(0, now - bucket.lastRefillAt) / 1_000);
|
|
79
|
+
if (intervals > 0) {
|
|
80
|
+
bucket.tokens = Math.min(this.identityCapacity, bucket.tokens + (intervals * this.identityRefillPerSecond));
|
|
81
|
+
bucket.lastRefillAt += intervals * 1_000;
|
|
82
|
+
}
|
|
83
|
+
if (bucket.tokens < 1) {
|
|
84
|
+
throw new CoreMailAuthLimitError();
|
|
85
|
+
}
|
|
86
|
+
bucket.tokens--;
|
|
48
87
|
}
|
|
49
|
-
|
|
50
|
-
this.
|
|
51
|
-
|
|
88
|
+
pruneIdentities(nowArg) {
|
|
89
|
+
if (this.identityBuckets.size < this.maximumIdentities) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
for (const [identity, bucket] of this.identityBuckets) {
|
|
93
|
+
const refilled = bucket.tokens + (Math.floor(Math.max(0, nowArg - bucket.lastRefillAt) / 1_000)
|
|
94
|
+
* this.identityRefillPerSecond);
|
|
95
|
+
if (refilled >= this.identityCapacity) {
|
|
96
|
+
this.identityBuckets.delete(identity);
|
|
97
|
+
if (this.identityBuckets.size < this.maximumIdentities) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
for (const identity of this.identityBuckets.keys()) {
|
|
103
|
+
this.identityBuckets.delete(identity);
|
|
104
|
+
if (this.identityBuckets.size < this.maximumIdentities) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
52
108
|
}
|
|
53
|
-
async
|
|
54
|
-
this.
|
|
55
|
-
|
|
56
|
-
|
|
109
|
+
async acquireSlot() {
|
|
110
|
+
if (this.inFlight < this.maximumInFlight) {
|
|
111
|
+
this.inFlight++;
|
|
112
|
+
return;
|
|
57
113
|
}
|
|
58
|
-
this.
|
|
59
|
-
|
|
60
|
-
try {
|
|
61
|
-
return await workArg();
|
|
114
|
+
if (this.waiters.length >= this.maximumWaiters) {
|
|
115
|
+
throw new CoreMailAuthLimitError();
|
|
62
116
|
}
|
|
63
|
-
|
|
64
|
-
|
|
117
|
+
await new Promise((resolveArg, rejectArg) => {
|
|
118
|
+
const waiter = {
|
|
119
|
+
grant: () => {
|
|
120
|
+
clearTimeout(waiter.timer);
|
|
121
|
+
resolveArg();
|
|
122
|
+
},
|
|
123
|
+
expire: () => {
|
|
124
|
+
const index = this.waiters.indexOf(waiter);
|
|
125
|
+
if (index >= 0) {
|
|
126
|
+
this.waiters.splice(index, 1);
|
|
127
|
+
}
|
|
128
|
+
rejectArg(new CoreMailAuthLimitError());
|
|
129
|
+
},
|
|
130
|
+
timer: setTimeout(() => waiter.expire(), this.maximumWaitMs),
|
|
131
|
+
};
|
|
132
|
+
this.waiters.push(waiter);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
releaseSlot() {
|
|
136
|
+
const waiter = this.waiters.shift();
|
|
137
|
+
if (waiter) {
|
|
138
|
+
waiter.grant();
|
|
139
|
+
return;
|
|
65
140
|
}
|
|
141
|
+
this.inFlight--;
|
|
66
142
|
}
|
|
67
143
|
}
|
|
68
144
|
const findAcceptedVerifier = (credentialsArg, credentialIdArg, credentialVersionArg, nowArg) => credentialsArg.find((credentialArg) => credentialArg.credentialId === credentialIdArg
|
|
@@ -75,11 +151,12 @@ export class CoreMailAuth {
|
|
|
75
151
|
controlBootstrap;
|
|
76
152
|
getActiveDesiredState;
|
|
77
153
|
now;
|
|
78
|
-
limiter
|
|
154
|
+
limiter;
|
|
79
155
|
constructor(controlBootstrap, getActiveDesiredState, now = Date.now) {
|
|
80
156
|
this.controlBootstrap = controlBootstrap;
|
|
81
157
|
this.getActiveDesiredState = getActiveDesiredState;
|
|
82
158
|
this.now = now;
|
|
159
|
+
this.limiter = new CoreMailAuthLimiter({ now: this.now });
|
|
83
160
|
}
|
|
84
161
|
requireFreshPeer(peerArg) {
|
|
85
162
|
const deadline = peerArg.context.state[coreMailPreAuthDeadlineKey];
|
|
@@ -90,25 +167,35 @@ export class CoreMailAuth {
|
|
|
90
167
|
throw new CoreMailAuthenticationError();
|
|
91
168
|
}
|
|
92
169
|
}
|
|
93
|
-
|
|
94
|
-
if (
|
|
95
|
-
|| typeof secretArg !== 'string'
|
|
170
|
+
requireSecretShape(secretArg) {
|
|
171
|
+
if (typeof secretArg !== 'string'
|
|
96
172
|
|| secretArg.length < 32
|
|
97
173
|
|| secretArg.length > 512) {
|
|
98
174
|
throw new CoreMailAuthenticationError();
|
|
99
175
|
}
|
|
100
|
-
|
|
176
|
+
return secretArg;
|
|
177
|
+
}
|
|
178
|
+
async verify(verifierArg, secretArg, identityArg) {
|
|
179
|
+
const verified = await this.limiter.run(identityArg, async () => plugins.argon2.verify(verifierArg.verificationHash, secretArg));
|
|
101
180
|
if (!verified) {
|
|
102
181
|
throw new CoreMailAuthenticationError();
|
|
103
182
|
}
|
|
104
183
|
}
|
|
105
184
|
async authenticateControl(peerArg, requestArg) {
|
|
106
185
|
this.requireFreshPeer(peerArg);
|
|
186
|
+
let failureCode = 'INVALID_INPUT';
|
|
187
|
+
let credentialId;
|
|
107
188
|
try {
|
|
108
|
-
|
|
189
|
+
credentialId = requireCoreMailIdentifier(requestArg.credentialId, 'credentialId');
|
|
109
190
|
const credentialVersion = requireCoreMailSafeInteger(requestArg.credentialVersion, 'credentialVersion', 1);
|
|
191
|
+
const credentialSecret = this.requireSecretShape(requestArg.credentialSecret);
|
|
192
|
+
failureCode = 'UNKNOWN_CREDENTIAL';
|
|
110
193
|
const verifier = findAcceptedVerifier(this.controlBootstrap.credentials, credentialId, credentialVersion, this.now());
|
|
111
|
-
|
|
194
|
+
if (!verifier) {
|
|
195
|
+
throw new CoreMailAuthenticationError();
|
|
196
|
+
}
|
|
197
|
+
failureCode = 'VERIFIER_REJECTED';
|
|
198
|
+
await this.verify(verifier, credentialSecret, `control:${credentialId}`);
|
|
112
199
|
const session = Object.freeze({
|
|
113
200
|
kind: 'control',
|
|
114
201
|
peerId: peerArg.id,
|
|
@@ -119,22 +206,39 @@ export class CoreMailAuth {
|
|
|
119
206
|
peerArg.data.set(coreMailSessionKey, session);
|
|
120
207
|
return session;
|
|
121
208
|
}
|
|
122
|
-
catch {
|
|
209
|
+
catch (error) {
|
|
123
210
|
peerArg.close(4401, 'authentication failed');
|
|
211
|
+
await logCoreMailFailure('auth', error instanceof CoreMailAuthLimitError ? 'LIMITER_EXHAUSTED' : failureCode, undefined, {
|
|
212
|
+
kind: 'control',
|
|
213
|
+
...(credentialId === undefined ? {} : { credentialId }),
|
|
214
|
+
}).catch(() => undefined);
|
|
124
215
|
throw new CoreMailAuthenticationError();
|
|
125
216
|
}
|
|
126
217
|
}
|
|
127
218
|
async authenticateWorkload(peerArg, requestArg) {
|
|
128
219
|
this.requireFreshPeer(peerArg);
|
|
220
|
+
let failureCode = 'INVALID_INPUT';
|
|
221
|
+
let bindingId;
|
|
222
|
+
let credentialId;
|
|
129
223
|
try {
|
|
130
224
|
const desiredState = await this.getActiveDesiredState();
|
|
131
|
-
|
|
132
|
-
|
|
225
|
+
bindingId = requireCoreMailIdentifier(requestArg.bindingId, 'bindingId');
|
|
226
|
+
credentialId = requireCoreMailIdentifier(requestArg.credentialId, 'credentialId');
|
|
133
227
|
const credentialVersion = requireCoreMailSafeInteger(requestArg.credentialVersion, 'credentialVersion', 1);
|
|
228
|
+
const credentialSecret = this.requireSecretShape(requestArg.credentialSecret);
|
|
229
|
+
failureCode = 'UNKNOWN_BINDING';
|
|
134
230
|
const binding = desiredState?.bindings.find((bindingArg) => bindingArg.bindingId === bindingId
|
|
135
231
|
&& bindingArg.state !== 'disabled');
|
|
136
|
-
|
|
137
|
-
|
|
232
|
+
if (!desiredState || !binding || binding.state === 'disabled') {
|
|
233
|
+
throw new CoreMailAuthenticationError();
|
|
234
|
+
}
|
|
235
|
+
failureCode = 'UNKNOWN_CREDENTIAL';
|
|
236
|
+
const verifier = findAcceptedVerifier(binding.credentials, credentialId, credentialVersion, this.now());
|
|
237
|
+
if (!verifier) {
|
|
238
|
+
throw new CoreMailAuthenticationError();
|
|
239
|
+
}
|
|
240
|
+
failureCode = 'VERIFIER_REJECTED';
|
|
241
|
+
await this.verify(verifier, credentialSecret, `workload:${bindingId}`);
|
|
138
242
|
const allowedOperations = plugins.serveZoneInterfaces.data.resolveCoreMailWorkloadOperations(binding.state, binding.capabilities);
|
|
139
243
|
const session = Object.freeze({
|
|
140
244
|
kind: 'workload',
|
|
@@ -155,8 +259,13 @@ export class CoreMailAuth {
|
|
|
155
259
|
peerArg.data.set(coreMailSessionKey, session);
|
|
156
260
|
return session;
|
|
157
261
|
}
|
|
158
|
-
catch {
|
|
262
|
+
catch (error) {
|
|
159
263
|
peerArg.close(4401, 'authentication failed');
|
|
264
|
+
await logCoreMailFailure('auth', error instanceof CoreMailAuthLimitError ? 'LIMITER_EXHAUSTED' : failureCode, undefined, {
|
|
265
|
+
kind: 'workload',
|
|
266
|
+
...(bindingId === undefined ? {} : { bindingId }),
|
|
267
|
+
...(credentialId === undefined ? {} : { credentialId }),
|
|
268
|
+
}).catch(() => undefined);
|
|
160
269
|
throw new CoreMailAuthenticationError();
|
|
161
270
|
}
|
|
162
271
|
}
|
|
@@ -201,4 +310,4 @@ export class CoreMailAuth {
|
|
|
201
310
|
return { session, binding };
|
|
202
311
|
}
|
|
203
312
|
}
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBUXhDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsMEJBQTBCLEdBQzNCLE1BQU0seUJBQXlCLENBQUM7QUFPakMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsZ0NBQWdDLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsNEJBQTRCLENBQUM7QUFFdkUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLEtBQUs7SUFDcEQ7UUFDRSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLDZCQUE2QixDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxLQUFLO0lBQ25EO1FBQ0UsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyw0QkFBNEIsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsS0FBSztJQUN0RDtRQUNFLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLEdBQUcsK0JBQStCLENBQUM7SUFDOUMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtJQU1YO0lBQ0E7SUFDQTtJQUNBO0lBUlgsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNiLE1BQU0sQ0FBUztJQUNmLFlBQVksQ0FBUztJQUU3QixZQUNtQixrQkFBa0IsQ0FBQyxFQUNuQixXQUFXLENBQUMsRUFDWixrQkFBa0IsQ0FBQyxFQUNuQixNQUFvQixJQUFJLENBQUMsR0FBRztRQUg1QixvQkFBZSxHQUFmLGVBQWUsQ0FBSTtRQUNuQixhQUFRLEdBQVIsUUFBUSxD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
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBUXhDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsMEJBQTBCLEdBQzNCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFPdkQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsZ0NBQWdDLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsNEJBQTRCLENBQUM7QUFFdkUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLEtBQUs7SUFDcEQ7UUFDRSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLDZCQUE2QixDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSwyQkFBMkI7SUFDckU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxJQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLEtBQUs7SUFDbkQ7UUFDRSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLDRCQUE0QixDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxLQUFLO0lBQ3REO1FBQ0UsS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksR0FBRywrQkFBK0IsQ0FBQztJQUM5QyxDQUFDO0NBQ0Y7QUF1QkQsTUFBTSxPQUFPLG1CQUFtQjtJQUNiLGVBQWUsQ0FBUztJQUN4QixjQUFjLENBQVM7SUFDdkIsYUFBYSxDQUFTO0lB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
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as plugins from './plugins.js';
|
|
2
2
|
const requireEnv = (keyArg) => {
|
|
3
3
|
const value = process.env[keyArg];
|
|
4
|
-
if (!value
|
|
5
|
-
throw new Error(`CoreMail requires
|
|
4
|
+
if (!value) {
|
|
5
|
+
throw new Error(`CoreMail requires ${keyArg} to be set and non-empty.`);
|
|
6
|
+
}
|
|
7
|
+
if (value.trim() !== value) {
|
|
8
|
+
throw new Error(`CoreMail requires ${keyArg} to be canonical without surrounding whitespace.`);
|
|
6
9
|
}
|
|
7
10
|
return value;
|
|
8
11
|
};
|
|
@@ -69,4 +72,4 @@ export const readCoreMailConfig = () => {
|
|
|
69
72
|
}),
|
|
70
73
|
});
|
|
71
74
|
};
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUd4QyxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQWMsRUFBVSxFQUFFO0lBQzVDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsTUFBTSwyQkFBMkIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUMzQixNQUFNLElBQUksS0FBSyxDQUNiLHFCQUFxQixNQUFNLGtEQUFrRCxDQUM5RSxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsTUFBYyxFQUFFLFVBQWtCLEVBQVUsRUFBRTtJQUM1RixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxNQUFNLDhCQUE4QixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLE1BQU0sa0NBQWtDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7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
|
|
@@ -113,8 +113,8 @@ export class CoreMailDesiredStateService {
|
|
|
113
113
|
modelArg.state = 'active';
|
|
114
114
|
modelArg.activatedAt = stateArg.updatedAt;
|
|
115
115
|
},
|
|
116
|
-
}).catch(async () => {
|
|
117
|
-
await logCoreMailFailure('desired-state', 'SNAPSHOT_REPAIR_FAILED')
|
|
116
|
+
}).catch(async (error) => {
|
|
117
|
+
await logCoreMailFailure('desired-state', 'SNAPSHOT_REPAIR_FAILED', error)
|
|
118
118
|
.catch(() => undefined);
|
|
119
119
|
});
|
|
120
120
|
}
|
|
@@ -379,4 +379,4 @@ export class CoreMailDesiredStateService {
|
|
|
379
379
|
};
|
|
380
380
|
}
|
|
381
381
|
}
|
|
382
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5kZXNpcmVkc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmRlc2lyZWRzdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQXdCLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUs5RCxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLG1CQUFtQixHQUNwQixNQUFNLHlCQUF5QixDQUFDO0FBU2pDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRTFDLE1BQU0sT0FBTywyQkFBMkI7SUFNbkI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBSUE7SUFkWCxrQkFBa0IsR0FBaUMsSUFBSSxDQUFDO0lBQ3hELGtCQUFrQixDQUFnQjtJQUNsQyxXQUFXLEdBQXlCLElBQUksQ0FBQztJQUVqRCxZQUNtQixRQUF1QyxFQUN2QyxNQUF1QixFQUN2QixPQUF3QixFQUN4QixTQUFrQyxFQUNsQyxPQUFnQyxFQUNoQyxtQkFHbUQsRUFDbkQsTUFBb0IsSUFBSSxDQUFDLEdBQUc7UUFUNUIsYUFBUSxHQUFSLFFBQVEsQ0FBK0I7UUFDdkMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUdnQztR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
|
|
382
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5kZXNpcmVkc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmRlc2lyZWRzdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQXdCLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUs5RCxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLG1CQUFtQixHQUNwQixNQUFNLHlCQUF5QixDQUFDO0FBU2pDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRTFDLE1BQU0sT0FBTywyQkFBMkI7SUFNbkI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBSUE7SUFkWCxrQkFBa0IsR0FBaUMsSUFBSSxDQUFDO0lBQ3hELGtCQUFrQixDQUFnQjtJQUNsQyxXQUFXLEdBQXlCLElBQUksQ0FBQztJQUVqRCxZQUNtQixRQUF1QyxFQUN2QyxNQUF1QixFQUN2QixPQUF3QixFQUN4QixTQUFrQyxFQUNsQyxPQUFnQyxFQUNoQyxtQkFHbUQsRUFDbkQsTUFBb0IsSUFBSSxDQUFDLEdBQUc7UUFUNUIsYUFBUSxHQUFSLFFBQVEsQ0FBK0I7UUFDdkMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUdnQztR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
|
|
@@ -7,6 +7,7 @@ import type { ICoreMailSubmissionRecord } from './coremail.persistence.js';
|
|
|
7
7
|
type TDesiredState = plugins.serveZoneInterfaces.data.ICoreMailDesiredState;
|
|
8
8
|
type TGatewayStatus = plugins.serveZoneInterfaces.data.ICoreMailGatewayOutboundStatus;
|
|
9
9
|
type TStoredSubmission = plugins.smartdata.TStoredDocument<ICoreMailSubmissionRecord>;
|
|
10
|
+
export declare const stableStringify: (valueArg: unknown) => string;
|
|
10
11
|
export declare const requireMatchingCoreMailTransferOrigin: (valueArg: unknown, expectedArg: string) => string;
|
|
11
12
|
export declare class CoreMailGateway {
|
|
12
13
|
private readonly config;
|