@serve.zone/dcrouter 32.6.3 → 32.7.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/deno.json +1 -1
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.dcrouter.d.ts +14 -20
- package/dist_ts/classes.dcrouter.js +48 -85
- package/dist_ts/db/documents/classes.email-server-settings.doc.d.ts +3 -1
- package/dist_ts/db/documents/classes.email-server-settings.doc.js +9 -2
- package/dist_ts/email/classes.email-route-builder.d.ts +8 -0
- package/dist_ts/email/classes.email-route-builder.js +20 -13
- package/dist_ts/email/classes.email-settings.manager.d.ts +5 -1
- package/dist_ts/email/classes.email-settings.manager.js +34 -1
- package/dist_ts/email/classes.email-tls-manager.d.ts +99 -0
- package/dist_ts/email/classes.email-tls-manager.js +321 -0
- package/dist_ts/email/index.d.ts +1 -0
- package/dist_ts/email/index.js +2 -1
- package/dist_ts/opsserver/handlers/email-settings.handler.js +5 -1
- package/dist_ts_interfaces/data/email-settings.d.ts +43 -0
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/package.json +8 -8
- package/readme.md +7 -4
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.dcrouter.ts +50 -93
- package/ts/db/documents/classes.email-server-settings.doc.ts +5 -1
- package/ts/email/classes.email-route-builder.ts +22 -13
- package/ts/email/classes.email-settings.manager.ts +42 -0
- package/ts/email/classes.email-tls-manager.ts +398 -0
- package/ts/email/index.ts +1 -0
- package/ts/opsserver/handlers/email-settings.handler.ts +4 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
package/deno.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/dcrouter',
|
|
6
|
-
version: '32.
|
|
6
|
+
version: '32.7.0',
|
|
7
7
|
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLDBFQUEwRTtDQUN4RixDQUFBIn0=
|
|
@@ -23,9 +23,9 @@ import { TestingAccessManager } from './testing/classes.testing-access-manager.j
|
|
|
23
23
|
import { TestingDnsManager } from './testing/classes.testing-dns-manager.js';
|
|
24
24
|
import { TestingCertificateManager } from './testing/classes.testing-certificate-manager.js';
|
|
25
25
|
import { TestingOperationWorker } from './testing/classes.testing-operation-worker.js';
|
|
26
|
-
import { AcceptedEmailSpool, CoreMailGatewayManager, EmailDomainManager, EmailRouteBuilder, EmailSettingsManager, GatewayMailDomainStore, MailDnsSync, MailEdgeEligibility, MailEgressCoordinator, SmartMtaBlobStorageManager, SmtpAccountManager, WorkAppMailManager, type ISmartMtaBlobStorageConfig } from './email/index.js';
|
|
26
|
+
import { AcceptedEmailSpool, CoreMailGatewayManager, EmailDomainManager, EmailRouteBuilder, EmailSettingsManager, EmailTlsManager, GatewayMailDomainStore, MailDnsSync, MailEdgeEligibility, MailEgressCoordinator, SmartMtaBlobStorageManager, SmtpAccountManager, WorkAppMailManager, type ISmartMtaBlobStorageConfig } from './email/index.js';
|
|
27
27
|
import { WebPushManager } from './webpush/index.js';
|
|
28
|
-
import type { IEmailOutboundEgressStatus, IEmailPortConfig, IEmailServerSettings, TEmailOutboundMode, TEmailServerSettingsUpdate } from '../dist_ts_interfaces/data/email-settings.js';
|
|
28
|
+
import type { IEmailOutboundEgressStatus, IEmailPortConfig, IEmailServerSettings, IEmailTlsCertificateStatus, TEmailOutboundMode, TEmailServerSettingsUpdate, TEmailTlsSource } from '../dist_ts_interfaces/data/email-settings.js';
|
|
29
29
|
import type { IDcRouterRouteConfig, IRemoteIngressHubSettings, TRemoteIngressHubSettingsUpdate } from '../dist_ts_interfaces/data/remoteingress.js';
|
|
30
30
|
/**
|
|
31
31
|
* dcrouter's superset of SmartMTA's SMTP TLS options.
|
|
@@ -250,6 +250,8 @@ export declare class DcRouter {
|
|
|
250
250
|
smartAcme?: plugins.smartacme.SmartAcme;
|
|
251
251
|
dnsServer?: plugins.smartdns.dnsServerMod.DnsServer;
|
|
252
252
|
emailServer?: UnifiedEmailServer;
|
|
253
|
+
/** Owns the SMTP listener certificate: source resolution, renewal relevance, served status. */
|
|
254
|
+
readonly emailTlsManager: EmailTlsManager;
|
|
253
255
|
radiusServer?: RadiusServer;
|
|
254
256
|
opsServer: OpsServer;
|
|
255
257
|
private opsServerStopped;
|
|
@@ -394,26 +396,18 @@ export declare class DcRouter {
|
|
|
394
396
|
* This implements the consolidated emailConfig approach
|
|
395
397
|
*/
|
|
396
398
|
private setupUnifiedEmailHandling;
|
|
399
|
+
/** Effective SMTP certificate source: the DB-backed setting, or the documented default. */
|
|
400
|
+
getEmailTlsSource(): TEmailTlsSource;
|
|
401
|
+
/** The certificate the running SMTP listener serves, checked now; undefined while it is stopped. */
|
|
402
|
+
getEmailTlsCertificateStatus(): IEmailTlsCertificateStatus | undefined;
|
|
397
403
|
/**
|
|
398
|
-
*
|
|
404
|
+
* Push an issued or renewed certificate to the running SMTP listener.
|
|
399
405
|
*
|
|
400
|
-
*
|
|
401
|
-
*
|
|
402
|
-
*
|
|
403
|
-
*
|
|
404
|
-
*
|
|
405
|
-
* Explicitly configured paths that cannot be read FAIL STARTUP. Silently
|
|
406
|
-
* continuing without TLS is what produced a cleartext submission port in
|
|
407
|
-
* production, so a broken explicit configuration must be impossible to miss.
|
|
408
|
-
*/
|
|
409
|
-
private resolveEmailTlsMaterial;
|
|
410
|
-
/**
|
|
411
|
-
* Push renewed TLS material to the running SMTP listener.
|
|
412
|
-
*
|
|
413
|
-
* Only reacts to the mail hostname, and only when explicit paths are NOT
|
|
414
|
-
* configured — an operator-managed file pair is not superseded by an ACME
|
|
415
|
-
* renewal for the same name. SmartMTA restarts just the Rust listener when
|
|
416
|
-
* the PEM material actually changes.
|
|
406
|
+
* Material is resolved from the source of truth on every call and is never
|
|
407
|
+
* written back into the email configuration, so every renewal applies, not
|
|
408
|
+
* just the first one per process. Configured material is never superseded
|
|
409
|
+
* by an ACME issuance. SmartMTA restarts just the Rust listener when the PEM
|
|
410
|
+
* material actually changes.
|
|
417
411
|
*/
|
|
418
412
|
private reapplyEmailTlsMaterial;
|
|
419
413
|
/**
|