@push.rocks/smartdns 9.1.0 → 10.0.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_rust/rustdns-client_linux_amd64_musl +0 -0
- package/dist_rust/rustdns-client_linux_amd64_musl.tsrust-build.json +5 -5
- package/dist_rust/rustdns-client_linux_arm64_musl +0 -0
- package/dist_rust/rustdns-client_linux_arm64_musl.tsrust-build.json +5 -5
- package/dist_rust/rustdns_linux_amd64_musl +0 -0
- package/dist_rust/rustdns_linux_amd64_musl.tsrust-build.json +5 -5
- package/dist_rust/rustdns_linux_arm64_musl +0 -0
- package/dist_rust/rustdns_linux_arm64_musl.tsrust-build.json +5 -5
- package/dist_ts/00_commitinfo_data.js +2 -2
- package/dist_ts_client/classes.rustdnsclientbridge.js +13 -2
- package/dist_ts_server/interfaces.managed.d.ts +2 -1
- package/package.json +4 -4
- package/readme.md +13 -4
- package/ts/00_commitinfo_data.ts +1 -1
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "ab6ee725fc73995187b878a2141b1b8df9f6629ee4df1f503e1089db6496c578",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@push.rocks/smartdns",
|
|
6
|
-
"projectVersion": "
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "10.0.0",
|
|
7
|
+
"gitCommit": "103ccddcaf641e0db2a7036c303ecd55def9d331",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-10-
|
|
10
|
-
"tsrustVersion": "4.
|
|
9
|
+
"builtAt": "2026-10-14T22:50:17.565Z",
|
|
10
|
+
"tsrustVersion": "4.5.1",
|
|
11
11
|
"binary": "rustdns-client",
|
|
12
12
|
"target": "linux_amd64_musl"
|
|
13
13
|
}
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "5c7cf8605dc8aa7b451ace0701324001102239b57be4e9c8b1308ceb409267a1",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@push.rocks/smartdns",
|
|
6
|
-
"projectVersion": "
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "10.0.0",
|
|
7
|
+
"gitCommit": "103ccddcaf641e0db2a7036c303ecd55def9d331",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-10-
|
|
10
|
-
"tsrustVersion": "4.
|
|
9
|
+
"builtAt": "2026-10-14T22:51:25.854Z",
|
|
10
|
+
"tsrustVersion": "4.5.1",
|
|
11
11
|
"binary": "rustdns-client",
|
|
12
12
|
"target": "linux_arm64_musl"
|
|
13
13
|
}
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "f7c33e641e26d716aa095acd5539a131b9d3235b8cf43e43844e9311e555a7cd",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@push.rocks/smartdns",
|
|
6
|
-
"projectVersion": "
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "10.0.0",
|
|
7
|
+
"gitCommit": "103ccddcaf641e0db2a7036c303ecd55def9d331",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-10-
|
|
10
|
-
"tsrustVersion": "4.
|
|
9
|
+
"builtAt": "2026-10-14T22:50:17.565Z",
|
|
10
|
+
"tsrustVersion": "4.5.1",
|
|
11
11
|
"binary": "rustdns",
|
|
12
12
|
"target": "linux_amd64_musl"
|
|
13
13
|
}
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "553bfcf2343da5d04efdcef4612043b9b68b9c69238252706222325a4362b585",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@push.rocks/smartdns",
|
|
6
|
-
"projectVersion": "
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "10.0.0",
|
|
7
|
+
"gitCommit": "103ccddcaf641e0db2a7036c303ecd55def9d331",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-10-
|
|
10
|
-
"tsrustVersion": "4.
|
|
9
|
+
"builtAt": "2026-10-14T22:51:25.854Z",
|
|
10
|
+
"tsrustVersion": "4.5.1",
|
|
11
11
|
"binary": "rustdns",
|
|
12
12
|
"target": "linux_arm64_musl"
|
|
13
13
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/smartdns',
|
|
6
|
-
version: '
|
|
6
|
+
version: '10.0.0',
|
|
7
7
|
description: 'A robust TypeScript library providing advanced DNS management and resolution capabilities including support for DNSSEC, custom DNS servers, and integration with various DNS providers.'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHlMQUF5TDtDQUN2TSxDQUFBIn0=
|
|
@@ -42,7 +42,18 @@ export class RustDnsClientBridge {
|
|
|
42
42
|
if (!this.spawnPromise) {
|
|
43
43
|
this.spawnPromise = this.bridge.spawn();
|
|
44
44
|
}
|
|
45
|
-
const
|
|
45
|
+
const spawning = this.spawnPromise;
|
|
46
|
+
let ok;
|
|
47
|
+
try {
|
|
48
|
+
ok = await spawning;
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
// smartrust rejects a binary it cannot select, e.g. a sidecar a single executable
|
|
52
|
+
// application cannot provide; the next query looks the binary up again.
|
|
53
|
+
if (this.spawnPromise === spawning)
|
|
54
|
+
this.spawnPromise = null;
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
46
57
|
if (!ok) {
|
|
47
58
|
this.spawnPromise = null;
|
|
48
59
|
throw new Error('Failed to spawn rustdns-client binary');
|
|
@@ -135,4 +146,4 @@ function getPlatformSuffix() {
|
|
|
135
146
|
}
|
|
136
147
|
return null;
|
|
137
148
|
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5ydXN0ZG5zY2xpZW50YnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfY2xpZW50L2NsYXNzZXMucnVzdGRuc2NsaWVudGJyaWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQXFFeEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCO1FBRlEsaUJBQVksR0FBNEIsSUFBSSxDQUFDO1FBR25ELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFDdkQsSUFBSSxDQUNMLENBQUM7UUFFRiwyRUFBMkU7UUFDM0UsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQyxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7UUFFaEMsMEVBQTBFO1FBQzFFLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUNqQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLGNBQWMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN2RyxDQUFDO1lBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEcsQ0FBQztRQUNELDJDQUEyQztRQUMzQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVB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
|
|
@@ -12,7 +12,8 @@ export interface IManagedDnsServerOptions {
|
|
|
12
12
|
ownerId: string;
|
|
13
13
|
/** Exact IP literal; wildcard listeners are forbidden. */
|
|
14
14
|
bindAddress: string;
|
|
15
|
-
/** UDP and TCP use the same port. Zero allocates one
|
|
15
|
+
/** UDP and TCP use the same port. Zero allocates one port free for both transports
|
|
16
|
+
* (bounded re-allocation when the kernel's UDP choice is taken for TCP). */
|
|
16
17
|
port: number;
|
|
17
18
|
/** Persist this fence alongside the complete accepted snapshot. */
|
|
18
19
|
revisionFloor: IManagedDnsRevision | null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@push.rocks/smartdns",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A robust TypeScript library providing advanced DNS management and resolution capabilities including support for DNSSEC, custom DNS servers, and integration with various DNS providers.",
|
|
6
6
|
"exports": {
|
|
@@ -37,15 +37,15 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@push.rocks/smartenv": "^6.0.0",
|
|
39
39
|
"@push.rocks/smartpromise": "^4.3.0",
|
|
40
|
-
"@push.rocks/smartrust": "^
|
|
40
|
+
"@push.rocks/smartrust": "^2.6.0",
|
|
41
41
|
"@tsclass/tsclass": "^9.5.1",
|
|
42
42
|
"minimatch": "^10.2.6"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@git.zone/tsbuild": "^6.0.2",
|
|
46
46
|
"@git.zone/tsrun": "^3.0.3",
|
|
47
|
-
"@git.zone/tsrust": "^4.
|
|
48
|
-
"@git.zone/tstest": "^
|
|
47
|
+
"@git.zone/tsrust": "^4.5.1",
|
|
48
|
+
"@git.zone/tstest": "^8.0.0",
|
|
49
49
|
"@types/dns-packet": "^5.6.5",
|
|
50
50
|
"@types/lodash.clonedeep": "^4.5.9",
|
|
51
51
|
"@types/node": "^26.6.4",
|
package/readme.md
CHANGED
|
@@ -673,6 +673,9 @@ snapshot/revision and the same global 256 UDP-job and 128 TCP-connection budgets
|
|
|
673
673
|
An empty set has `active: false` while retaining the accepted revision and native
|
|
674
674
|
owner. Port zero allocates one common port at the first nonempty binding and
|
|
675
675
|
retains it through later empty sets; before that first binding, status reports zero.
|
|
676
|
+
The allocated port is free for UDP and TCP on every address: when the kernel's UDP
|
|
677
|
+
choice is taken for TCP, the owner releases that attempt and allocates again, up to
|
|
678
|
+
eight times. An explicit or retained port is never replaced.
|
|
676
679
|
|
|
677
680
|
For a mixed address/authority transition, the caller persists and serializes its
|
|
678
681
|
combined intent, binds the union of old and new addresses, applies one new complete
|
|
@@ -695,10 +698,12 @@ For an installed or compiled node bundle, pass a second, process-only option:
|
|
|
695
698
|
`new ManagedDnsServer(configuration, { binaryPath: '/opt/node/bin/rustdns' })`.
|
|
696
699
|
`binaryPath` must be absolute and is never serialized into a DNS snapshot or native
|
|
697
700
|
listener configuration. It selects that exact executable with an empty fallback
|
|
698
|
-
list and no system PATH search; a missing
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
701
|
+
list and no system PATH search; a missing, non-file or non-executable path rejects
|
|
702
|
+
`start()` with `@push.rocks/smartrust`'s `RustBinaryLocatorError`
|
|
703
|
+
(`ERR_RUST_BINARY_EXPLICIT_PATH_INVALID`) even when package or local build binaries
|
|
704
|
+
exist, and its permissions are never changed. The installer remains responsible for
|
|
705
|
+
verifying the artifact and protecting its path. Without this option the existing
|
|
706
|
+
npm package lookup is preserved, including static Linux musl binaries.
|
|
702
707
|
|
|
703
708
|
For a caller-owned Linux network namespace, add `networkNamespaceFd: handle.fd`
|
|
704
709
|
to those process options. Keep the original descriptor open and bound to the
|
|
@@ -818,6 +823,10 @@ readiness, trusted reboot-time recovery, CRI settings and complete node packagin
|
|
|
818
823
|
|
|
819
824
|
The npm package ships `rustdns` and `rustdns-client` as static Linux amd64 and
|
|
820
825
|
arm64 musl binaries. The default bridges select the matching musl asset first.
|
|
826
|
+
Inside a Node.js single executable application (built with `@git.zone/tssea`), the
|
|
827
|
+
default bridges run the sidecars the executable embeds under the names `rustdns` and
|
|
828
|
+
`rustdns-client` instead and search nothing else; an explicit `binaryPath` still
|
|
829
|
+
wins.
|
|
821
830
|
Managed DNS requires Linux for its boot identity and suspend-inclusive clock.
|
|
822
831
|
Installer-owned bundles can select an exact absolute server binary path as
|
|
823
832
|
shown above; carry [third-party-notices.md](./third-party-notices.md) and the
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/smartdns',
|
|
6
|
-
version: '
|
|
6
|
+
version: '10.0.0',
|
|
7
7
|
description: 'A robust TypeScript library providing advanced DNS management and resolution capabilities including support for DNSSEC, custom DNS servers, and integration with various DNS providers.'
|
|
8
8
|
}
|