@push.rocks/smartdns 8.6.2 → 9.1.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.
Files changed (30) hide show
  1. package/.smartconfig.json +1 -16
  2. package/dist_rust/rustdns-client_linux_amd64_musl +0 -0
  3. package/dist_rust/rustdns-client_linux_amd64_musl.tsrust-build.json +5 -5
  4. package/dist_rust/rustdns-client_linux_arm64_musl +0 -0
  5. package/dist_rust/rustdns-client_linux_arm64_musl.tsrust-build.json +5 -5
  6. package/dist_rust/rustdns_linux_amd64_musl +0 -0
  7. package/dist_rust/rustdns_linux_amd64_musl.tsrust-build.json +5 -5
  8. package/dist_rust/rustdns_linux_arm64_musl +0 -0
  9. package/dist_rust/rustdns_linux_arm64_musl.tsrust-build.json +5 -5
  10. package/dist_ts/00_commitinfo_data.js +1 -1
  11. package/dist_ts_client/classes.dnsclient.js +1 -1
  12. package/dist_ts_client/classes.rustdnsclientbridge.js +1 -1
  13. package/dist_ts_server/classes.dnsserver.d.ts +3 -16
  14. package/dist_ts_server/classes.dnsserver.js +4 -146
  15. package/dist_ts_server/classes.manageddnsserver.js +1 -1
  16. package/dist_ts_server/classes.rustdnsbridge.d.ts +0 -11
  17. package/dist_ts_server/classes.rustdnsbridge.js +1 -7
  18. package/dist_ts_server/plugins.d.ts +1 -3
  19. package/dist_ts_server/plugins.js +2 -4
  20. package/notices/inventory.json +40 -7
  21. package/notices/jemalloc-5.3.1-copying.txt +27 -0
  22. package/notices/tikv-jemalloc-sys-0.7.1-license-mit.txt +25 -0
  23. package/notices/tikv-jemallocator-0.7.0-license-mit.txt +25 -0
  24. package/package.json +6 -12
  25. package/readme.md +9 -34
  26. package/third-party-notices.md +12 -2
  27. package/ts/00_commitinfo_data.ts +1 -1
  28. package/ts/readme.md +1 -1
  29. package/licenses/SOURCES.md +0 -13
  30. package/licenses/tootallnate-agents.txt +0 -25
@@ -9,6 +9,7 @@
9
9
  "notices/compiler-builtins-license.txt": "ab6eec6caf0fa5775e411c7a8bc6a45c4ef2956b0980b157ab74fc5cd62a928b",
10
10
  "notices/fiat-crypto-0.2.9-copyright.txt": "6c935d087a2992d0f092665400a2fa99c98db58d96fbe29368f8f48182bed9aa",
11
11
  "notices/group-0.13.0-copyright.txt": "7429802d3e67e3308471b91fbea341e484c4e0a23d0fb230a8636c38184cec79",
12
+ "notices/jemalloc-5.3.1-copying.txt": "94aa2caa98c25d942f58b956c71dba6a99ff98fc3a31cbc669fe2a4cd0268b53",
12
13
  "notices/llvm-libunwind-license.txt": "b5efebcaca80879234098e52d1725e6d9eb8fb96a19fce625d39184b705f7b6d",
13
14
  "notices/lru-slab-0.1.2-license.txt": "1466d9b4f3a59bb8997fc8d5fa977ce3f6a24bb2358793c09bfdf007039f6486",
14
15
  "notices/musl-copyright.txt": "f9bc4423732350eb0b3f7ed7e91d530298476f8fec0c6c427a1c04ade22655af",
@@ -32,23 +33,25 @@
32
33
  "notices/rustc-hash-2.1.1-license.txt": "30fefc3a7d6a0041541858293bcbea2dde4caa4c0a5802f996a7f7e8c0085652",
33
34
  "notices/thiserror-2.0.18-license.txt": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
34
35
  "notices/thiserror-impl-2.0.18-license.txt": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
36
+ "notices/tikv-jemalloc-sys-0.7.1-license-mit.txt": "378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397",
37
+ "notices/tikv-jemallocator-0.7.0-license-mit.txt": "378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397",
35
38
  "notices/tinyvec-1.10.0-license.txt": "fd80a26fbb3f644af1fa994134446702932968519797227e07a1368dea80f0bc",
36
39
  "notices/tinyvec_macros-0.1.1-license.txt": "1dd8eca0f83669e75fa119e34fb9e1be9d16e3e9b6368962b8019db6e8ae5f7b",
37
40
  "notices/utf8_iter-1.0.4-copyright.txt": "c30152c94a6d75e021adbc52b3a52470366a46edb917e17deae3259251af244c",
38
41
  "notices/valuable-0.1.1-license.txt": "ed60d479b8fd1f64e9cbc3de449a16a53ac1b3d1b6aeb9bf9d190a8e93061b44",
39
42
  "notices/web-time-1.1.0-license.txt": "f428305bbf2e70fbd807af0f3c7ac1b7acfb95311640f451e9d2e48db6d7e96b",
40
43
  "notices/zerocopy-derive-0.8.39-license.txt": "1a2f5c12ddc934d58956aa5dbdd3255fe55fd957633ab7d0d39e4f0daa73f7df",
41
- "rust/Cargo.lock": "3e5079517c9ddbe264b5fa78bfaf9e92c4ab13b02ce36c6e81c73fa789f23626",
42
- "rust/Cargo.toml": "24c6fe058d9474c7bdf690359e97651ef707dfc5c074dc6e1bd0ecae86da568b",
44
+ "rust-toolchain.toml": "dfd9e8d1fc8883f5f8a3e3a21258bfbf4b9ff8ffcb83256e9df7fd6dd94e22ea",
45
+ "rust/Cargo.lock": "f87b7307a5de6fe19da35cb1cb0ed78ab88f31c77a62c128949a9e23771fdc1d",
46
+ "rust/Cargo.toml": "3b2c8609166b8270979ce66817d43606529c3b250d3ca92d3ebb462e89350123",
43
47
  "rust/about.hbs": "2e1794b6b36df87aa8d7a0e6a21d2b4f26149911f4f9b95ce9507e2a8e54c823",
44
48
  "rust/about.toml": "cf8031ba7f272f004280c9f4cf5db8a9e6e853de83f8a3a919fdb30ec59b2279",
45
- "rust/crates/rustdns/Cargo.toml": "b1e145962acb92cbc4ac22ec80424f9beb5b771d38680797e0422692e1d97a88",
46
- "rust/crates/rustdns-client/Cargo.toml": "77e2c143c22e37b04e07de8901fdea58ae61d65c20373b1f13c11480bab27d54",
49
+ "rust/crates/rustdns-client/Cargo.toml": "2b435038ab06b0031ec48a4a77f22f18637127764808512c08f5b5ff36142aa9",
47
50
  "rust/crates/rustdns-dnssec/Cargo.toml": "c2482fc19de76d5d2ee7c1268e5995c62909373991c718fede197a72536e69a1",
48
51
  "rust/crates/rustdns-protocol/Cargo.toml": "28b4ccdb5fa54c0be61afb488828775ff44cec2ee881f7742420faf2cfb8821d",
49
52
  "rust/crates/rustdns-server/Cargo.toml": "2859eb0b466db79e9ceecfbc822eda9689d41890eeb2d7f893e2f1f5fc28b1e4",
50
- "rust-toolchain.toml": "dfd9e8d1fc8883f5f8a3e3a21258bfbf4b9ff8ffcb83256e9df7fd6dd94e22ea",
51
- "third-party-notices.md": "ddfbc2453f0bd84a47f2c0e75d594704899fa4c015e663dec7619b0c198d13a5"
53
+ "rust/crates/rustdns/Cargo.toml": "b166d9bfbee674099b8d18539163a6c96a9521d115fe2c587cd108ec477f3de0",
54
+ "third-party-notices.md": "bf0a4b855ee51723dc98e3ba0ac33c51940dbc04d07226873316dc6dc36f93df"
52
55
  },
53
56
  "supplementalCargoNotices": {
54
57
  "cfg_aliases@0.2.1": "notices/cfg_aliases-0.2.1-license.txt",
@@ -63,7 +66,9 @@
63
66
  "tinyvec_macros@0.1.1": "notices/tinyvec_macros-0.1.1-license.txt",
64
67
  "valuable@0.1.1": "notices/valuable-0.1.1-license.txt",
65
68
  "web-time@1.1.0": "notices/web-time-1.1.0-license.txt",
66
- "zerocopy-derive@0.8.39": "notices/zerocopy-derive-0.8.39-license.txt"
69
+ "zerocopy-derive@0.8.39": "notices/zerocopy-derive-0.8.39-license.txt",
70
+ "tikv-jemallocator@0.7.0": "notices/tikv-jemallocator-0.7.0-license-mit.txt",
71
+ "tikv-jemalloc-sys@0.7.1+5.3.1-0-g81034ce1f1373e37dc865038e1bc8eeecf559ce8": "notices/tikv-jemalloc-sys-0.7.1-license-mit.txt"
67
72
  },
68
73
  "supplementalSources": {
69
74
  "notices/cfg_aliases-0.2.1-license.txt": {
@@ -203,6 +208,24 @@
203
208
  "version": "0.8.39",
204
209
  "path": "LICENSE-MIT",
205
210
  "source": "Cargo.lock checksum-verified crate archive"
211
+ },
212
+ "notices/tikv-jemallocator-0.7.0-license-mit.txt": {
213
+ "crate": "tikv-jemallocator",
214
+ "version": "0.7.0",
215
+ "path": "LICENSE-MIT",
216
+ "source": "Cargo.lock checksum-verified crate archive"
217
+ },
218
+ "notices/tikv-jemalloc-sys-0.7.1-license-mit.txt": {
219
+ "crate": "tikv-jemalloc-sys",
220
+ "version": "0.7.1+5.3.1-0-g81034ce1f1373e37dc865038e1bc8eeecf559ce8",
221
+ "path": "LICENSE-MIT",
222
+ "source": "Cargo.lock checksum-verified crate archive"
223
+ },
224
+ "notices/jemalloc-5.3.1-copying.txt": {
225
+ "crate": "tikv-jemalloc-sys",
226
+ "version": "0.7.1+5.3.1-0-g81034ce1f1373e37dc865038e1bc8eeecf559ce8",
227
+ "path": "jemalloc/COPYING",
228
+ "source": "Cargo.lock checksum-verified crate archive"
206
229
  }
207
230
  },
208
231
  "cargoPackages": [
@@ -936,6 +959,16 @@
936
959
  "version": "1.1.9",
937
960
  "license": "MIT OR Apache-2.0"
938
961
  },
962
+ {
963
+ "name": "tikv-jemalloc-sys",
964
+ "version": "0.7.1+5.3.1-0-g81034ce1f1373e37dc865038e1bc8eeecf559ce8",
965
+ "license": "MIT/Apache-2.0"
966
+ },
967
+ {
968
+ "name": "tikv-jemallocator",
969
+ "version": "0.7.0",
970
+ "license": "MIT/Apache-2.0"
971
+ },
939
972
  {
940
973
  "name": "tinystr",
941
974
  "version": "0.8.2",
@@ -0,0 +1,27 @@
1
+ Unless otherwise specified, files in the jemalloc source distribution are
2
+ subject to the following license:
3
+ --------------------------------------------------------------------------------
4
+ Copyright (C) 2002-present Jason Evans <jasone@canonware.com>.
5
+ All rights reserved.
6
+ Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved.
7
+ Copyright (C) 2009-present Facebook, Inc. All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without
10
+ modification, are permitted provided that the following conditions are met:
11
+ 1. Redistributions of source code must retain the above copyright notice(s),
12
+ this list of conditions and the following disclaimer.
13
+ 2. Redistributions in binary form must reproduce the above copyright notice(s),
14
+ this list of conditions and the following disclaimer in the documentation
15
+ and/or other materials provided with the distribution.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS
18
+ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
20
+ EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
21
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+ --------------------------------------------------------------------------------
@@ -0,0 +1,25 @@
1
+ Copyright (c) 2014 Alex Crichton
2
+
3
+ Permission is hereby granted, free of charge, to any
4
+ person obtaining a copy of this software and associated
5
+ documentation files (the "Software"), to deal in the
6
+ Software without restriction, including without
7
+ limitation the rights to use, copy, modify, merge,
8
+ publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software
10
+ is furnished to do so, subject to the following
11
+ conditions:
12
+
13
+ The above copyright notice and this permission notice
14
+ shall be included in all copies or substantial portions
15
+ of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
18
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
19
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
20
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
21
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
24
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25
+ DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,25 @@
1
+ Copyright (c) 2014 Alex Crichton
2
+
3
+ Permission is hereby granted, free of charge, to any
4
+ person obtaining a copy of this software and associated
5
+ documentation files (the "Software"), to deal in the
6
+ Software without restriction, including without
7
+ limitation the rights to use, copy, modify, merge,
8
+ publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software
10
+ is furnished to do so, subject to the following
11
+ conditions:
12
+
13
+ The above copyright notice and this permission notice
14
+ shall be included in all copies or substantial portions
15
+ of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
18
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
19
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
20
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
21
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
24
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25
+ DEALINGS IN THE SOFTWARE.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@push.rocks/smartdns",
3
- "version": "8.6.2",
3
+ "version": "9.1.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": {
@@ -24,9 +24,6 @@
24
24
  "Cloudflare",
25
25
  "UDP DNS",
26
26
  "HTTPS DNS",
27
- "ACME",
28
- "Let's Encrypt",
29
- "SSL Certificates",
30
27
  "Feature Flagging",
31
28
  "Domain Propagation",
32
29
  "DNS Server"
@@ -42,18 +39,16 @@
42
39
  "@push.rocks/smartpromise": "^4.3.0",
43
40
  "@push.rocks/smartrust": "^1.9.1",
44
41
  "@tsclass/tsclass": "^9.5.1",
45
- "acme-client": "^5.4.0",
46
42
  "minimatch": "^10.2.6"
47
43
  },
48
44
  "devDependencies": {
49
- "@git.zone/tsbuild": "^5.0.0",
50
- "@git.zone/tsbundle": "^3.1.0",
51
- "@git.zone/tsrun": "^3.0.2",
52
- "@git.zone/tsrust": "^3.0.0",
53
- "@git.zone/tstest": "^6.3.2",
45
+ "@git.zone/tsbuild": "^6.0.2",
46
+ "@git.zone/tsrun": "^3.0.3",
47
+ "@git.zone/tsrust": "^4.3.0",
48
+ "@git.zone/tstest": "^7.2.1",
54
49
  "@types/dns-packet": "^5.6.5",
55
50
  "@types/lodash.clonedeep": "^4.5.9",
56
- "@types/node": "^26.6.2",
51
+ "@types/node": "^26.6.4",
57
52
  "dns-packet": "^5.6.1"
58
53
  },
59
54
  "files": [
@@ -66,7 +61,6 @@
66
61
  "assets/**/*",
67
62
  "cli.js",
68
63
  ".smartconfig.json",
69
- "licenses/**/*",
70
64
  "license.md",
71
65
  "readme.md",
72
66
  "third-party-notices.md",
package/readme.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @push.rocks/smartdns
2
2
 
3
- A TypeScript-first DNS toolkit powered by high-performance Rust binaries — covering everything from simple record lookups to running a full authoritative DNS server with DNSSEC, DNS-over-TCP, DNS-over-HTTPS, and automatic Let's Encrypt certificates.
3
+ A TypeScript-first DNS toolkit powered by high-performance Rust binaries — covering everything from simple record lookups to running a full authoritative DNS server with DNSSEC, DNS-over-TCP, and DNS-over-HTTPS.
4
4
 
5
5
  ## Issue Reporting and Security
6
6
 
@@ -19,7 +19,7 @@ smartdns ships as **three entry points** that you can import independently:
19
19
  | Entry point | What it does |
20
20
  |---|---|
21
21
  | `@push.rocks/smartdns/client` | DNS resolution & record queries (UDP, DoH, system resolver) |
22
- | `@push.rocks/smartdns/server` | Full DNS server — UDP, TCP, DoH, DNSSEC, ACME |
22
+ | `@push.rocks/smartdns/server` | Full DNS server — UDP, TCP, DoH, DNSSEC |
23
23
  | `@push.rocks/smartdns` | Convenience re-export of both modules |
24
24
 
25
25
  Both the **client** and the **server** delegate performance-critical work to compiled **Rust binaries** that ship with the package:
@@ -27,7 +27,7 @@ Both the **client** and the **server** delegate performance-critical work to com
27
27
  - **`rustdns`** — The server binary: network I/O, packet parsing, DNSSEC signing
28
28
  - **`rustdns-client`** — The client binary: UDP wire-format queries, RFC 8484 DoH resolution
29
29
 
30
- TypeScript retains the public API, handler registration, ACME orchestration, and strategy routing. Communication between TypeScript and Rust happens over stdin/stdout JSON IPC via [`@push.rocks/smartrust`](https://code.foss.global/push.rocks/smartrust).
30
+ TypeScript retains the public API, handler registration, and strategy routing. Communication between TypeScript and Rust happens over stdin/stdout JSON IPC via [`@push.rocks/smartrust`](https://code.foss.global/push.rocks/smartrust).
31
31
 
32
32
  ```
33
33
  ┌─────────────────────────┐
@@ -258,7 +258,7 @@ If termination fails, `terminate()` rejects and retains the Rust bridge so the c
258
258
 
259
259
  ## 🖥️ DNS Server
260
260
 
261
- The `DnsServer` class runs a production-capable authoritative DNS server backed by a Rust binary. It supports standard UDP and TCP DNS (port 53), DNS-over-HTTPS, DNSSEC signing, and automated Let's Encrypt certificates.
261
+ The `DnsServer` class runs a production-capable authoritative DNS server backed by a Rust binary. It supports standard UDP and TCP DNS (port 53), DNS-over-HTTPS, and DNSSEC signing.
262
262
 
263
263
  ### Server Options
264
264
 
@@ -446,38 +446,13 @@ const server = new DnsServer({
446
446
  // refresh: 3600, retry: 600, expire: 604800, minimum: 86400
447
447
  ```
448
448
 
449
- ### Let's Encrypt Integration 🔒
449
+ ### Certificates and DNS-01 🔒
450
450
 
451
- Built-in ACME DNS-01 challenge support for automatic SSL certificates. Challenge TXT handlers are registered at default authority, so DNS-01 validation only completes for domains inside `authoritativeZones`, or inside `dnssecZone` when `authoritativeZones` is omitted:
451
+ smartdns issues no certificates. Use [`@push.rocks/smartacme`](https://code.foss.global/push.rocks/smartacme) for ACME, and answer its `dns-01` challenges from your `DnsServer` with a challenge handler that registers the `_acme-challenge` TXT record through `registerHandler()` and removes it through the returned registration. A challenge only validates for a name the server answers authoritatively; `filterAuthorizedDomains()` returns the domains inside `authoritativeZones` (or `dnssecZone` when `authoritativeZones` is omitted), counting a wildcard by its base domain:
452
452
 
453
453
  ```typescript
454
- const server = new DnsServer({
455
- udpPort: 53,
456
- httpsPort: 443,
457
- httpsKey: '/path/to/key.pem',
458
- httpsCert: '/path/to/cert.pem',
459
- dnssecZone: 'example.com',
460
- });
461
-
462
- await server.start();
463
-
464
- const result = await server.retrieveSslCertificate(
465
- ['example.com', 'www.example.com'],
466
- {
467
- email: 'admin@example.com',
468
- staging: false,
469
- certDir: './certs',
470
- }
471
- );
472
-
473
- if (result.success) {
474
- console.log('Certificate installed!');
475
- // The server automatically:
476
- // 1. Registers temporary _acme-challenge TXT handlers
477
- // 2. Completes DNS-01 validation
478
- // 3. Updates the HTTPS server with the new cert
479
- // 4. Cleans up challenge handlers
480
- }
454
+ const domains = server.filterAuthorizedDomains(['example.com', '*.example.com', 'other.org']);
455
+ // ['example.com', '*.example.com'] when example.com is an authoritative zone
481
456
  ```
482
457
 
483
458
  ### Interface Binding
@@ -580,7 +555,7 @@ At most 256 `processRawDnsPacketAsync()` calls may be pending at once. Additiona
580
555
  calls reject before transport writes with a `RustBridgeRequestError` whose code
581
556
  is `ERR_RUST_BRIDGE_REQUEST_LIMIT`; control and callback commands remain
582
557
  available while packet work is saturated. New packet calls are also rejected
583
- while `start()`, `stop()`, or a certificate update is queued or running.
558
+ while `start()` or `stop()` is queued or running.
584
559
 
585
560
  #### Load Balancing Example
586
561
 
@@ -9,9 +9,9 @@ beside any separately distributed executable.
9
9
 
10
10
  [Cargo dependency notices](./notices/cargo-dependencies.html) contain the selected
11
11
  license texts and package attributions for 203 dependencies. The exact license
12
- files for 13 additional locked but feature-inactive packages are included as
12
+ files for 15 additional locked packages are included as
13
13
  supplements listed in [inventory.json](./notices/inventory.json). Together they
14
- cover all 216 third-party packages in the locked graph, including build-only and
14
+ cover all 218 third-party packages in the locked graph, including build-only and
15
15
  target-inactive dependencies conservatively. MIT is selected when offered as an
16
16
  alternative; Apache-2.0, ISC, BSD-3-Clause, Unicode-3.0, Zlib and
17
17
  CDLA-Permissive-2.0 apply where required. Listing an inactive package does not
@@ -43,6 +43,16 @@ installed by both binaries. The unused default AWS-LC provider is not compiled.
43
43
  No TypeScript dependency executable is embedded in these Rust binaries; the npm
44
44
  dependency graph remains separately installed from its package manifests.
45
45
 
46
+ ## Native allocator
47
+
48
+ Both Rust binaries use `tikv-jemallocator` 0.7.0. Its Rust bindings and
49
+ `tikv-jemalloc-sys` are licensed under MIT OR Apache-2.0. Their exact upstream MIT
50
+ licenses are included in the Cargo notice supplements. The sys crate bundles
51
+ jemalloc 5.3.1 under BSD-2-Clause; its complete
52
+ [COPYING notice](./notices/jemalloc-5.3.1-copying.txt) retains the upstream
53
+ copyrights and redistribution terms. The inventory records its checksum-pinned
54
+ crate archive provenance.
55
+
46
56
  ## Compiler and static runtime
47
57
 
48
58
  `rust-toolchain.toml` pins Rust 1.95.0 and both musl targets. These notices cover
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartdns',
6
- version: '8.6.2',
6
+ version: '9.1.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
  }
package/ts/readme.md CHANGED
@@ -13,7 +13,7 @@ import { dnsClientMod, dnsServerMod } from '@push.rocks/smartdns';
13
13
  | Module | Description |
14
14
  |---|---|
15
15
  | `dnsClientMod` | DNS resolution — system, UDP, DoH strategies via `Smartdns` class |
16
- | `dnsServerMod` | Authoritative DNS server — UDP, TCP, HTTPS, DNSSEC, ACME via `DnsServer` class |
16
+ | `dnsServerMod` | Authoritative DNS server — UDP, TCP, HTTPS, DNSSEC via `DnsServer` class |
17
17
 
18
18
  ## Usage
19
19
 
@@ -1,13 +0,0 @@
1
- # Sources of the license texts in this directory
2
-
3
- These files supply license texts for dependencies that declare a license in `package.json`
4
- but publish no license file. They are declared in `.smartconfig.json` under
5
- `"@git.zone/tsbundle".thirdPartyNotices.supplements`, so tsbundle bundles and tsdeno
6
- executables that contain smartdns carry them in their third-party notices. (The notices
7
- of the Rust executables are in `third-party-notices.md` and `notices/`.)
8
-
9
- | File | Covers | Source |
10
- |------|--------|--------|
11
- | `tootallnate-agents.txt` | `https-proxy-agent` (MIT), taken at 5.0.1, and `agent-base` (MIT), taken at 6.0.2. They reach smartdns through `acme-client` → `axios` (1.20.0 and later depend on `https-proxy-agent` 5) → `https-proxy-agent` → `agent-base`. | The "License" section of `README.md`, from its heading to the last line of the license, in both repositories, whose sections are byte-identical: https://github.com/TooTallNate/node-https-proxy-agent (now `TooTallNate/proxy-agents`) at tag `5.0.1` (commit `d0d80cc0482f20495aa8595f802e1a9f3b1b3409`): https://raw.githubusercontent.com/TooTallNate/proxy-agents/d0d80cc0482f20495aa8595f802e1a9f3b1b3409/README.md, and https://github.com/TooTallNate/node-agent-base at tag `6.0.2` (commit `c4b8ea2e1a11bae023bb09b708050a50418204e9`): https://raw.githubusercontent.com/TooTallNate/node-agent-base/c4b8ea2e1a11bae023bb09b708050a50418204e9/README.md. Neither repository has a license file at those tags, and the published packages ship the same `README.md`; that section is the only upstream text of the MIT license they declare. |
12
-
13
- The file is a verbatim copy of the text named.
@@ -1,25 +0,0 @@
1
- License
2
- -------
3
-
4
- (The MIT License)
5
-
6
- Copyright (c) 2013 Nathan Rajlich &lt;nathan@tootallnate.net&gt;
7
-
8
- Permission is hereby granted, free of charge, to any person obtaining
9
- a copy of this software and associated documentation files (the
10
- 'Software'), to deal in the Software without restriction, including
11
- without limitation the rights to use, copy, modify, merge, publish,
12
- distribute, sublicense, and/or sell copies of the Software, and to
13
- permit persons to whom the Software is furnished to do so, subject to
14
- the following conditions:
15
-
16
- The above copyright notice and this permission notice shall be
17
- included in all copies or substantial portions of the Software.
18
-
19
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
20
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
23
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.