@serve.zone/dcrouter 18.7.1 → 18.8.1
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_serve/bundle.js +2528 -2206
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.dcrouter.js +15 -27
- package/dist_ts/dns/classes.dns-server-runtime.d.ts +26 -69
- package/dist_ts/dns/classes.dns-server-runtime.js +136 -96
- package/dist_ts/dns/domain-ownership.d.ts +4 -5
- package/dist_ts/dns/domain-ownership.js +1 -1
- package/dist_ts/dns/manager.dns.d.ts +11 -13
- package/dist_ts/dns/manager.dns.js +155 -73
- package/dist_ts/email/classes.mail-dns-sync.d.ts +0 -1
- package/dist_ts/email/classes.mail-dns-sync.js +10 -38
- package/dist_ts_migrations/index.js +32 -10
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/package.json +25 -24
- package/readme.hints.md +98 -84
- package/readme.md +8 -6
- package/third-party-notices.md +13 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.dcrouter.ts +18 -34
- package/ts/dns/classes.dns-server-runtime.ts +154 -105
- package/ts/dns/domain-ownership.ts +4 -5
- package/ts/dns/manager.dns.ts +180 -73
- package/ts/email/classes.mail-dns-sync.ts +9 -35
- package/ts_web/00_commitinfo_data.ts +1 -1
|
@@ -149,4 +149,4 @@ export class DomainOwnershipError extends PlatformError {
|
|
|
149
149
|
return new DomainOwnershipError(this.ownership, this.context.operation || 'operation', this.context.component || 'domain-ownership', context);
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW93bmVyc2hpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL2Rucy9kb21haW4tb3duZXJzaGlwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQXNCLE1BQU0sMEJBQTBCLENBQUM7QUFDN0UsT0FBTyxFQUNMLCtCQUErQixFQUMvQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGFBQWEsR0FDZCxNQUFNLDBCQUEwQixDQUFDO0FBNEVsQzs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsV0FBbUIsRUFBc0IsRUFBRTtJQUNwRixNQUFNLFFBQVEsR0FBRyxXQUFXO1NBQ3pCLElBQUksRUFBRTtTQUNOLFdBQVcsRUFBRTtTQUNiLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1NBQ2xCLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekIsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUc7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUN6RCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ2pHLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUN4QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsRUFBRTtXQUMxRCxDQUFDLG1DQUFtQyxDQUFDLElBQUks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
|
|
@@ -56,24 +56,21 @@ export declare class DnsManager {
|
|
|
56
56
|
* keyed by DomainDoc.id then by `name|type`.
|
|
57
57
|
*
|
|
58
58
|
* Teardown must remove exactly what registration added — no more, no less.
|
|
59
|
-
*
|
|
60
|
-
* pattern
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* inputs (authority changed, ownership changed, a record row vanished) makes the
|
|
64
|
-
* reconstruction tear down another owner's handlers or miss its own. Recording
|
|
65
|
-
* the actual registrations, with their origin, removes that class of bug.
|
|
59
|
+
* Every key therefore retains all SmartDNS registration handles for the RRset;
|
|
60
|
+
* the coarse `unregisterHandler(pattern, types)` API is never used. Recording
|
|
61
|
+
* the actual registrations, with their origin, prevents deletion or authority
|
|
62
|
+
* reconciliation from removing another owner's identical handler.
|
|
66
63
|
*/
|
|
67
64
|
private runtimeRegistrations;
|
|
68
65
|
/** Serializes managed-mail reconciliation with destructive domain/provider deletion. */
|
|
69
66
|
private managedMailDnsMutationChain;
|
|
70
67
|
private acceptsManagedMailDnsMutations;
|
|
71
|
-
/** Supplies the
|
|
68
|
+
/** Supplies the delegation-verified authority set. */
|
|
72
69
|
private authorityZonesResolver?;
|
|
73
70
|
constructor(options: IDcRouterOptions);
|
|
74
71
|
runManagedMailDnsMutationExclusive<T>(task: () => Promise<T>): Promise<T>;
|
|
75
72
|
private trackRuntimeRegistration;
|
|
76
|
-
private
|
|
73
|
+
private unregisterRuntimeRegistration;
|
|
77
74
|
/** Registrations currently owned by a domain. Exposed for teardown assertions. */
|
|
78
75
|
listRuntimeRegistrations(domainId: string): IDnsRuntimeRegistration[];
|
|
79
76
|
/**
|
|
@@ -96,6 +93,8 @@ export declare class DnsManager {
|
|
|
96
93
|
* dcrouter-hosted domains loaded from the DB are registered with the server.
|
|
97
94
|
*/
|
|
98
95
|
attachDnsServer(dnsServer: plugins.smartdns.dnsServerMod.DnsServer): Promise<void>;
|
|
96
|
+
/** Remove manager-owned handlers from the current server before replacement or shutdown. */
|
|
97
|
+
detachDnsServer(expectedServerArg?: plugins.smartdns.dnsServerMod.DnsServer): boolean;
|
|
99
98
|
/**
|
|
100
99
|
* Register all records from dcrouter-hosted domains in the DB with the
|
|
101
100
|
* embedded DnsServer. Called once after attachDnsServer().
|
|
@@ -110,10 +109,9 @@ export declare class DnsManager {
|
|
|
110
109
|
* bootstrap `dnsScopes` zones, which could neither appear for a zone verified
|
|
111
110
|
* after startup nor disappear for one whose authority was revoked.
|
|
112
111
|
*
|
|
113
|
-
* Ownership is verified first.
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
* publicly claim authority over somebody else's domain.
|
|
112
|
+
* Ownership is verified first. SmartDNS suppresses default-authority handlers
|
|
113
|
+
* outside the live authority set, and a zone only enters that set after its
|
|
114
|
+
* delegation is proven, so registration and authority use the same evidence.
|
|
117
115
|
*/
|
|
118
116
|
private registerAuthoritativeZoneDefaults;
|
|
119
117
|
/** Ownership inputs for every managed zone, fetched once per evaluation pass. */
|