@push.rocks/smartmta 9.6.0 → 9.6.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.
Files changed (34) hide show
  1. package/changelog.md +14 -0
  2. package/dist_rust/mailer-bin_linux_amd64 +0 -0
  3. package/dist_rust/mailer-bin_linux_amd64.tsrust-build.json +4 -4
  4. package/dist_rust/mailer-bin_linux_arm64 +0 -0
  5. package/dist_rust/mailer-bin_linux_arm64.tsrust-build.json +4 -4
  6. package/dist_ts/00_commitinfo_data.js +1 -1
  7. package/notices/aws-lc-sys-0.43.0-fiat-license.txt +22 -0
  8. package/notices/cargo-dependencies.html +4706 -0
  9. package/notices/compiler-builtins-license.txt +275 -0
  10. package/notices/crossbeam-channel-third-party.txt +593 -0
  11. package/notices/encoding-rs-copyright.txt +61 -0
  12. package/notices/glibc-copying-lesser.txt +502 -0
  13. package/notices/glibc-licenses.txt +412 -0
  14. package/notices/inventory.json +1226 -0
  15. package/notices/libgcc-gpl-3.0.txt +674 -0
  16. package/notices/libgcc-runtime-exception.txt +73 -0
  17. package/notices/mimalloc-license.txt +21 -0
  18. package/notices/moka-notice.txt +14 -0
  19. package/notices/ring-0.17.14-fiat-license.txt +15 -0
  20. package/notices/ring-0.17.14-license-boringssl.txt +272 -0
  21. package/notices/ring-0.17.14-license-other-bits.txt +13 -0
  22. package/notices/ring-0.17.14-license.txt +9 -0
  23. package/notices/ring-0.17.14-once-cell-license-apache.txt +201 -0
  24. package/notices/ring-0.17.14-once-cell-license-mit.txt +23 -0
  25. package/notices/rust-standard-library.html +8266 -0
  26. package/notices/rustversion-1.0.23-license-mit.txt +23 -0
  27. package/notices/source-attributions.txt +294 -0
  28. package/notices/wasm-bindgen-license-mit.txt +25 -0
  29. package/notices/zerocopy-derive-0.8.55-license-mit.txt +26 -0
  30. package/notices/zstd-license.txt +30 -0
  31. package/package.json +4 -2
  32. package/readme.md +26 -1
  33. package/third-party-notices.md +171 -0
  34. package/ts/00_commitinfo_data.ts +1 -1
@@ -0,0 +1,23 @@
1
+ Permission is hereby granted, free of charge, to any
2
+ person obtaining a copy of this software and associated
3
+ documentation files (the "Software"), to deal in the
4
+ Software without restriction, including without
5
+ limitation the rights to use, copy, modify, merge,
6
+ publish, distribute, sublicense, and/or sell copies of
7
+ the Software, and to permit persons to whom the Software
8
+ is furnished to do so, subject to the following
9
+ conditions:
10
+
11
+ The above copyright notice and this permission notice
12
+ shall be included in all copies or substantial portions
13
+ of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
16
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
17
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
18
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
19
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
22
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23
+ DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,294 @@
1
+ Additional source attributions for SmartMTA's mailer-bin executables
2
+ ===================================================================
3
+
4
+ Each section below reproduces a copyright or attribution file that the named
5
+ published crate ships next to its license terms. The selected license texts
6
+ themselves are in notices/cargo-dependencies.html; these files carry the
7
+ copyright notices and upstream attributions that the license texts require to
8
+ be retained. Every section is copied verbatim from the published crate.
9
+
10
+ ==============================================================================
11
+ charset 0.1.5 -- COPYRIGHT (COPYRIGHT)
12
+ ==============================================================================
13
+
14
+ charset is copyright 2013-2016 Mozilla Foundation.
15
+
16
+ Licensed under the Apache License, Version 2.0
17
+ <LICENSE-APACHE or
18
+ https://www.apache.org/licenses/LICENSE-2.0> or the MIT
19
+ license <LICENSE-MIT or https://opensource.org/licenses/MIT>,
20
+ at your option. All files in the project carrying such
21
+ notice may not be copied, modified, or distributed except
22
+ according to those terms.
23
+
24
+ Test code within encoding_rs is dedicated to the Public Domain when so
25
+ designated (see the individual files for PD/CC0-dedicated sections).
26
+
27
+ ==============================================================================
28
+ enum-as-inner 0.6.1 -- copyright.txt (copyright.txt)
29
+ ==============================================================================
30
+
31
+ // Copyright 2015-2018 Benjamin Fry <benjaminfry@me.com>
32
+ //
33
+ // Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or
34
+ // http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
35
+ // http://opensource.org/licenses/MIT>, at your option. This file may not be
36
+ // copied, modified, or distributed except according to those terms.
37
+
38
+ ==============================================================================
39
+ linux-raw-sys 0.12.1 -- COPYRIGHT (COPYRIGHT)
40
+ ==============================================================================
41
+
42
+ Short version for non-lawyers:
43
+
44
+ `linux-raw-sys` is triple-licensed under Apache 2.0 with the LLVM Exception,
45
+ Apache 2.0, and MIT terms.
46
+
47
+
48
+ Longer version:
49
+
50
+ Copyrights in the `linux-raw-sys` project are retained by their contributors.
51
+ No copyright assignment is required to contribute to the `linux-raw-sys`
52
+ project.
53
+
54
+ Some files include code derived from Rust's `libstd`; see the comments in
55
+ the code for details.
56
+
57
+ Except as otherwise noted (below and/or in individual files), `linux-raw-sys`
58
+ is licensed under:
59
+
60
+ - the Apache License, Version 2.0, with the LLVM Exception
61
+ <LICENSE-Apache-2.0_WITH_LLVM-exception> or
62
+ <http://llvm.org/foundation/relicensing/LICENSE.txt>
63
+ - the Apache License, Version 2.0
64
+ <LICENSE-APACHE> or
65
+ <http://www.apache.org/licenses/LICENSE-2.0>,
66
+ - or the MIT license
67
+ <LICENSE-MIT> or
68
+ <http://opensource.org/licenses/MIT>,
69
+
70
+ at your option.
71
+
72
+ ==============================================================================
73
+ miniz_oxide 0.8.9 -- LICENSE (LICENSE)
74
+ ==============================================================================
75
+
76
+ MIT License
77
+
78
+ Copyright 2013-2014 RAD Game Tools and Valve Software
79
+ Copyright 2010-2014 Rich Geldreich and Tenacious Software LLC
80
+ Copyright (c) 2017 Frommi
81
+ Copyright (c) 2017-2024 oyvindln
82
+
83
+
84
+ Permission is hereby granted, free of charge, to any person obtaining a copy
85
+ of this software and associated documentation files (the "Software"), to deal
86
+ in the Software without restriction, including without limitation the rights
87
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
88
+ copies of the Software, and to permit persons to whom the Software is
89
+ furnished to do so, subject to the following conditions:
90
+
91
+ The above copyright notice and this permission notice shall be included in all
92
+ copies or substantial portions of the Software.
93
+
94
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
95
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
96
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
97
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
98
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
99
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
100
+ SOFTWARE.
101
+
102
+ ==============================================================================
103
+ rand 0.9.5 -- COPYRIGHT (COPYRIGHT)
104
+ ==============================================================================
105
+
106
+ Copyrights in the Rand project are retained by their contributors. No
107
+ copyright assignment is required to contribute to the Rand project.
108
+
109
+ For full authorship information, see the version control history.
110
+
111
+ Except as otherwise noted (below and/or in individual files), Rand is
112
+ licensed under the Apache License, Version 2.0 <LICENSE-APACHE> or
113
+ <http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
114
+ <LICENSE-MIT> or <http://opensource.org/licenses/MIT>, at your option.
115
+
116
+ The Rand project includes code from the Rust project
117
+ published under these same licenses.
118
+
119
+ ==============================================================================
120
+ rand_chacha 0.9.0 -- COPYRIGHT (COPYRIGHT)
121
+ ==============================================================================
122
+
123
+ Copyrights in the Rand project are retained by their contributors. No
124
+ copyright assignment is required to contribute to the Rand project.
125
+
126
+ For full authorship information, see the version control history.
127
+
128
+ Except as otherwise noted (below and/or in individual files), Rand is
129
+ licensed under the Apache License, Version 2.0 <LICENSE-APACHE> or
130
+ <http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
131
+ <LICENSE-MIT> or <http://opensource.org/licenses/MIT>, at your option.
132
+
133
+ The Rand project includes code from the Rust project
134
+ published under these same licenses.
135
+
136
+ ==============================================================================
137
+ rand_core 0.9.5 -- COPYRIGHT (COPYRIGHT)
138
+ ==============================================================================
139
+
140
+ Copyrights in the Rand project are retained by their contributors. No
141
+ copyright assignment is required to contribute to the Rand project.
142
+
143
+ For full authorship information, see the version control history.
144
+
145
+ Except as otherwise noted (below and/or in individual files), Rand is
146
+ licensed under the Apache License, Version 2.0 <LICENSE-APACHE> or
147
+ <http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
148
+ <LICENSE-MIT> or <http://opensource.org/licenses/MIT>, at your option.
149
+
150
+ The Rand project includes code from the Rust project
151
+ published under these same licenses.
152
+
153
+ ==============================================================================
154
+ regex-syntax 0.8.11 -- LICENSE-UNICODE (src/unicode_tables/LICENSE-UNICODE)
155
+ ==============================================================================
156
+
157
+ UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
158
+
159
+ Unicode Data Files include all data files under the directories
160
+ http://www.unicode.org/Public/, http://www.unicode.org/reports/,
161
+ http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and
162
+ http://www.unicode.org/utility/trac/browser/.
163
+
164
+ Unicode Data Files do not include PDF online code charts under the
165
+ directory http://www.unicode.org/Public/.
166
+
167
+ Software includes any source code published in the Unicode Standard
168
+ or under the directories
169
+ http://www.unicode.org/Public/, http://www.unicode.org/reports/,
170
+ http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and
171
+ http://www.unicode.org/utility/trac/browser/.
172
+
173
+ NOTICE TO USER: Carefully read the following legal agreement.
174
+ BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
175
+ DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
176
+ YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
177
+ TERMS AND CONDITIONS OF THIS AGREEMENT.
178
+ IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
179
+ THE DATA FILES OR SOFTWARE.
180
+
181
+ COPYRIGHT AND PERMISSION NOTICE
182
+
183
+ Copyright © 1991-2018 Unicode, Inc. All rights reserved.
184
+ Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
185
+
186
+ Permission is hereby granted, free of charge, to any person obtaining
187
+ a copy of the Unicode data files and any associated documentation
188
+ (the "Data Files") or Unicode software and any associated documentation
189
+ (the "Software") to deal in the Data Files or Software
190
+ without restriction, including without limitation the rights to use,
191
+ copy, modify, merge, publish, distribute, and/or sell copies of
192
+ the Data Files or Software, and to permit persons to whom the Data Files
193
+ or Software are furnished to do so, provided that either
194
+ (a) this copyright and permission notice appear with all copies
195
+ of the Data Files or Software, or
196
+ (b) this copyright and permission notice appear in associated
197
+ Documentation.
198
+
199
+ THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
200
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
201
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
202
+ NONINFRINGEMENT OF THIRD PARTY RIGHTS.
203
+ IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
204
+ NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
205
+ DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
206
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
207
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
208
+ PERFORMANCE OF THE DATA FILES OR SOFTWARE.
209
+
210
+ Except as contained in this notice, the name of a copyright holder
211
+ shall not be used in advertising or otherwise to promote the sale,
212
+ use or other dealings in these Data Files or Software without prior
213
+ written authorization of the copyright holder.
214
+
215
+ ==============================================================================
216
+ rustix 1.1.4 -- COPYRIGHT (COPYRIGHT)
217
+ ==============================================================================
218
+
219
+ Short version for non-lawyers:
220
+
221
+ `rustix` is triple-licensed under Apache 2.0 with the LLVM Exception,
222
+ Apache 2.0, and MIT terms.
223
+
224
+
225
+ Longer version:
226
+
227
+ Copyrights in the `rustix` project are retained by their contributors.
228
+ No copyright assignment is required to contribute to the `rustix`
229
+ project.
230
+
231
+ Some files include code derived from Rust's `libstd`; see the comments in
232
+ the code for details.
233
+
234
+ Except as otherwise noted (below and/or in individual files), `rustix`
235
+ is licensed under:
236
+
237
+ - the Apache License, Version 2.0, with the LLVM Exception
238
+ <LICENSE-Apache-2.0_WITH_LLVM-exception> or
239
+ <http://llvm.org/foundation/relicensing/LICENSE.txt>
240
+ - the Apache License, Version 2.0
241
+ <LICENSE-APACHE> or
242
+ <http://www.apache.org/licenses/LICENSE-2.0>,
243
+ - or the MIT license
244
+ <LICENSE-MIT> or
245
+ <http://opensource.org/licenses/MIT>,
246
+
247
+ at your option.
248
+
249
+ ==============================================================================
250
+ utf8_iter 1.0.4 -- COPYRIGHT (COPYRIGHT)
251
+ ==============================================================================
252
+
253
+ Copyright Mozilla Foundation
254
+
255
+ Licensed under the Apache License (Version 2.0), or the MIT license,
256
+ (the "Licenses") at your option. You may not use this file except in
257
+ compliance with one of the Licenses. You may obtain copies of the
258
+ Licenses at:
259
+
260
+ https://www.apache.org/licenses/LICENSE-2.0
261
+ https://opensource.org/licenses/MIT
262
+
263
+ Unless required by applicable law or agreed to in writing, software
264
+ distributed under the Licenses is distributed on an "AS IS" BASIS,
265
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
266
+ See the Licenses for the specific language governing permissions and
267
+ limitations under the Licenses.
268
+
269
+ --
270
+
271
+ Test code is dedicated to the Public Domain when so designated (see
272
+ the individual files for PD/CC0-dedicated sections).
273
+
274
+ --
275
+
276
+ The implementation for Utf8CharIndices was adapted from the
277
+ CharIndices implementation of the Rust standard library at revision
278
+ ab32548539ec38a939c1b58599249f3b54130026
279
+ (https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/library/core/src/str/iter.rs).
280
+
281
+ Excerpt from https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/COPYRIGHT ,
282
+ which refers to
283
+ https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/LICENSE-APACHE
284
+ and
285
+ https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/LICENSE-MIT
286
+ :
287
+
288
+ For full authorship information, see the version control history or
289
+ https://thanks.rust-lang.org
290
+
291
+ Except as otherwise noted (below and/or in individual files), Rust is
292
+ licensed under the Apache License, Version 2.0 <LICENSE-APACHE> or
293
+ <http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
294
+ <LICENSE-MIT> or <http://opensource.org/licenses/MIT>, at your option.
@@ -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,26 @@
1
+ Copyright 2023 The Fuchsia Authors
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.
26
+
@@ -0,0 +1,30 @@
1
+ BSD License
2
+
3
+ For Zstandard software
4
+
5
+ Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved.
6
+
7
+ Redistribution and use in source and binary forms, with or without modification,
8
+ are permitted provided that the following conditions are met:
9
+
10
+ * Redistributions of source code must retain the above copyright notice, this
11
+ list of conditions and the following disclaimer.
12
+
13
+ * Redistributions in binary form must reproduce the above copyright notice,
14
+ this list of conditions and the following disclaimer in the documentation
15
+ and/or other materials provided with the distribution.
16
+
17
+ * Neither the name Facebook, nor Meta, nor the names of its contributors may
18
+ be used to endorse or promote products derived from this software without
19
+ specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
22
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
25
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
28
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@push.rocks/smartmta",
3
- "version": "9.6.0",
3
+ "version": "9.6.1",
4
4
  "description": "A high-performance, enterprise-grade Mail Transfer Agent (MTA) built from scratch in TypeScript with Rust acceleration.",
5
5
  "keywords": [
6
6
  "mta",
@@ -34,7 +34,7 @@
34
34
  "@git.zone/cli": "^6.13.2",
35
35
  "@git.zone/tsbuild": "4.4.3",
36
36
  "@git.zone/tsrust": "^1.13.0",
37
- "@git.zone/tstest": "^6.0.0",
37
+ "@git.zone/tstest": "6.1.0",
38
38
  "@types/mailparser": "^3.4.6",
39
39
  "@types/node": "26.5.0",
40
40
  "tsx": "^4.23.1"
@@ -54,7 +54,9 @@
54
54
  "ts/**/*",
55
55
  "dist_ts/**/*",
56
56
  "dist_rust/**/*",
57
+ "notices/**/*",
57
58
  "readme.md",
59
+ "third-party-notices.md",
58
60
  "license",
59
61
  "changelog.md"
60
62
  ],
package/readme.md CHANGED
@@ -991,9 +991,34 @@ tstest test/test.e2e.outbound-delivery.node.ts --verbose --timeout 60
991
991
  | `Core` | `Email`, `EmailValidator`, `TemplateManager`, `BounceManager` |
992
992
  | `Delivery` | `UnifiedDeliveryQueue`, `MultiModeDeliverySystem`, `DeliveryStatus`, `UnifiedRateLimiter` |
993
993
 
994
+ ## Third-Party Notices
995
+
996
+ The npm package ships prebuilt, statically linked Rust executables
997
+ (`dist_rust/mailer-bin_linux_amd64` and `dist_rust/mailer-bin_linux_arm64`). They
998
+ contain the locked Cargo dependency graph, the Rust standard library, glibc and
999
+ libgcc in object form, so redistributing them — for example inside a container
1000
+ image — redistributes those third-party works too.
1001
+
1002
+ [third-party-notices.md](./third-party-notices.md) is the index for that
1003
+ distribution, and the `notices/` directory holds the generated cargo-about
1004
+ inventory (`notices/cargo-dependencies.html`), the per-crate supplemental
1005
+ notices, and the compiler and static runtime notices. Both ship inside the npm
1006
+ package; keep them beside any separately distributed copy of a `mailer-bin`
1007
+ executable. `notices/inventory.json` pins every notice file and notice input by
1008
+ SHA-256 together with the locked package list, the rustc that built the
1009
+ executables and the exact Ubuntu glibc and libgcc revisions linked into them.
1010
+ There is no toolchain pin: `tsrust` builds with the system `cargo`/`rustc` when
1011
+ one is installed (rustc 1.95.0 for the current binaries) and with its bundled
1012
+ `stable-<host-triple>` otherwise, so `test/test.notices.node.ts` verifies the
1013
+ recorded versions against the compiler in use and against the versions embedded
1014
+ in `dist_rust/`, and fails when a locked crate is missing from the inventory, a
1015
+ notice file is absent or stale, a generic copyright placeholder appears, or the
1016
+ toolchain moves. Regenerate the notices after any change to the Cargo graph,
1017
+ the compiler or the C toolchain; the commands are in the notice index.
1018
+
994
1019
  ## License and Legal Information
995
1020
 
996
- This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [license](./license) file.
1021
+ This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [license](./license) file. That license covers SmartMTA's own code; the third-party works compiled into the shipped Rust executables keep their own terms, reproduced under [third-party-notices.md](./third-party-notices.md).
997
1022
 
998
1023
  **Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
999
1024
 
@@ -0,0 +1,171 @@
1
+ # Third-party notices
2
+
3
+ These notices accompany SmartMTA's prebuilt `dist_rust/mailer-bin_linux_amd64`
4
+ and `dist_rust/mailer-bin_linux_arm64` executables, which ship inside the npm
5
+ package. SmartMTA's own TypeScript and Rust code is MIT-licensed under
6
+ [license](./license).
7
+
8
+ Both executables are statically linked: `pnpm build` runs
9
+ `tsbuild tsfolders && tsrust`, and `@git.zone/tsrust` builds the
10
+ `.smartconfig.json` targets `linux_amd64` and `linux_arm64` — the
11
+ `x86_64-unknown-linux-gnu` and `aarch64-unknown-linux-gnu` triples — with
12
+ `-C target-feature=+crt-static`, so the Cargo dependency graph, the Rust
13
+ standard library, the GNU C Library and libgcc are all compiled into the
14
+ shipped object code. Anyone redistributing those executables — including
15
+ inside a container image — redistributes those third-party works in binary
16
+ form and must pass these notices on with them.
17
+
18
+ ## Cargo dependencies
19
+
20
+ [Cargo dependency notices](./notices/cargo-dependencies.html) reproduce the
21
+ selected upstream license and copyright texts for 225 of the 232 third-party
22
+ packages in `rust/Cargo.lock`. The seven remaining packages are locked but
23
+ outside the resolved build graph (WebAssembly-only or feature-inactive), and
24
+ are covered by these supplemental notices:
25
+
26
+ - [js-sys 0.3.103, wasm-bindgen 0.2.126, wasm-bindgen-macro 0.2.126,
27
+ wasm-bindgen-macro-support 0.2.126 and wasm-bindgen-shared 0.2.126](./notices/wasm-bindgen-license-mit.txt),
28
+ from their identical published `LICENSE-MIT` files.
29
+ - [rustversion 1.0.23](./notices/rustversion-1.0.23-license-mit.txt), from the
30
+ published crate's `LICENSE-MIT`.
31
+ - [zerocopy-derive 0.8.55](./notices/zerocopy-derive-0.8.55-license-mit.txt),
32
+ from the published crate's `LICENSE-MIT`.
33
+
34
+ Together these cover all 232 locked external packages, conservatively including
35
+ build-only and target-inactive dependencies. Listing a package does not mean it
36
+ is linked into either executable. MIT is preferred where offered as an
37
+ alternative; other selected terms include Apache-2.0, ISC, 0BSD, BSD-2-Clause,
38
+ BSD-3-Clause, Unicode-3.0, Zlib, CC0-1.0, MIT-0, CDLA-Permissive-2.0 and
39
+ bzip2-1.0.6. The exact package versions and declared license expressions are
40
+ recorded in [inventory.json](./notices/inventory.json).
41
+
42
+ Several packages vendor or derive from third-party source whose attribution is
43
+ not carried by the crate-level license text. Those notices are reproduced
44
+ verbatim beside the generated inventory:
45
+
46
+ - ring 0.17.14: [its own ISC terms](./notices/ring-0.17.14-license.txt),
47
+ [the BoringSSL terms](./notices/ring-0.17.14-license-boringssl.txt),
48
+ [the ISC text for new files](./notices/ring-0.17.14-license-other-bits.txt),
49
+ [the fiat-crypto terms](./notices/ring-0.17.14-fiat-license.txt) and the
50
+ once_cell terms it sourced code from
51
+ ([Apache-2.0](./notices/ring-0.17.14-once-cell-license-apache.txt),
52
+ [MIT](./notices/ring-0.17.14-once-cell-license-mit.txt)).
53
+ - aws-lc-sys 0.43.0: the vendored AWS-LC notice — itself covering BoringSSL and
54
+ OpenSSL/SSLeay — is the crate's `LICENSE` file and is reproduced in the
55
+ generated inventory; its separately licensed
56
+ [fiat-crypto component](./notices/aws-lc-sys-0.43.0-fiat-license.txt) is
57
+ included here.
58
+ - libmimalloc-sys 0.1.49: [the vendored mimalloc terms](./notices/mimalloc-license.txt).
59
+ - zstd-sys 2.0.16+zstd.1.5.7: [the vendored Zstandard terms](./notices/zstd-license.txt)
60
+ (BSD-3-Clause is selected; upstream also offers GPL-2.0).
61
+ - moka 0.12.15: [its Apache-2.0 NOTICE file](./notices/moka-notice.txt), as
62
+ required by Apache-2.0 section 4(d).
63
+ - crossbeam-channel 0.5.16:
64
+ [its third-party notices](./notices/crossbeam-channel-third-party.txt).
65
+ - encoding_rs 0.8.35:
66
+ [its copyright and WHATWG attribution](./notices/encoding-rs-copyright.txt).
67
+ - [Additional source attributions](./notices/source-attributions.txt) retain the
68
+ copyright and attribution files shipped by charset, enum-as-inner,
69
+ linux-raw-sys, miniz_oxide, rand, rand_chacha, rand_core, regex-syntax, rustix
70
+ and utf8_iter.
71
+
72
+ ## Compiler and static runtime
73
+
74
+ Components supplied by the Rust compiler and by the C toolchain are outside
75
+ `rust/Cargo.lock` and have separate notices. The exact versions that produced
76
+ the shipped executables are recorded in
77
+ [inventory.json](./notices/inventory.json) under `rustc` and `staticRuntime`,
78
+ and `test/test.notices.node.ts` reads them back out of
79
+ `dist_rust/mailer-bin_linux_amd64` and `dist_rust/mailer-bin_linux_arm64`, so
80
+ these notices go stale loudly rather than silently.
81
+
82
+ - The Rust toolchain is the one `tsrust` resolves: the system `cargo`/`rustc`
83
+ when one is installed, otherwise its bundled `stable-<host-triple>` under
84
+ `/tmp/tsrust_toolchain`. This release was built with rustc 1.95.0
85
+ (commit `59807616e1fa2540724bfbac14d7976d7e4a3860`), which both executables
86
+ embed. The [Rust standard-library inventory](./notices/rust-standard-library.html)
87
+ is that toolchain's `share/doc/rust/COPYRIGHT-library.html`; the upstream
88
+ inventory covers other targets too.
89
+ - [Compiler-builtins license](./notices/compiler-builtins-license.txt), from
90
+ [Rust 1.95.0](https://github.com/rust-lang/rust/blob/1.95.0/library/compiler-builtins/LICENSE.txt),
91
+ retaining MIT and Apache-2.0 WITH LLVM-exception terms.
92
+ - The GNU C Library 2.39 is statically linked into both executables, in the
93
+ Ubuntu builds that produced them:
94
+ - amd64: `libc6-dev` 2.39-0ubuntu8.9, from Ubuntu source package
95
+ `glibc` 2.39-0ubuntu8.9 —
96
+ `apt-get source glibc=2.39-0ubuntu8.9`, or
97
+ <https://launchpad.net/ubuntu/+source/glibc/2.39-0ubuntu8.9>.
98
+ - arm64: `libc6-dev-arm64-cross` 2.39-0ubuntu8cross1, from Ubuntu source
99
+ package `cross-toolchain-base` 68ubuntu5, which repacks Ubuntu glibc
100
+ 2.39-0ubuntu8 —
101
+ `apt-get source cross-toolchain-base=68ubuntu5`, or
102
+ <https://launchpad.net/ubuntu/+source/cross-toolchain-base/68ubuntu5>.
103
+
104
+ Its [LGPL-2.1 terms](./notices/glibc-copying-lesser.txt) and the
105
+ [copying permission notices for its non-FSF parts](./notices/glibc-licenses.txt)
106
+ are reproduced from the upstream `glibc-2.39` tag, which those Ubuntu source
107
+ packages patch. The GNU C Library is free software licensed under the GNU
108
+ Lesser General Public License, version 2.1 or later; because it is linked
109
+ statically, redistributors must keep this notice and the license text with
110
+ the executables.
111
+ - libgcc supplies the unwinder and compiler intrinsics linked into both
112
+ executables: `libgcc-13-dev` 13.3.0-6ubuntu2~24.04.1 (source package `gcc-13`)
113
+ for amd64 and `libgcc-13-dev-arm64-cross` 13.3.0-6ubuntu2~24.04.1cross1
114
+ (source package `gcc-13-cross` 14ubuntu4.4) for arm64, both GCC 13.3.0. It is
115
+ distributed under [GPL-3.0-or-later](./notices/libgcc-gpl-3.0.txt) WITH the
116
+ [GCC Runtime Library Exception 3.1](./notices/libgcc-runtime-exception.txt),
117
+ which permits distributing the compiled runtime with this executable under
118
+ the executable's own terms.
119
+
120
+ ## Rebuilding and relinking
121
+
122
+ The executables are rebuilt from this repository with:
123
+
124
+ ```sh
125
+ pnpm install
126
+ pnpm build # tsbuild tsfolders && tsrust
127
+ ```
128
+
129
+ `tsrust` reads the `@git.zone/tsrust` block of `.smartconfig.json` (`targets`
130
+ `linux_amd64` and `linux_arm64`, `static: true`), runs
131
+ `RUSTFLAGS='-C target-feature=+crt-static' cargo build --release --target
132
+ <triple>` in `rust/`, and copies the results to `dist_rust/`. The arm64 link
133
+ uses the `aarch64-linux-gnu-gcc` linker configured in `rust/.cargo/config.toml`.
134
+
135
+ That is also the relink route required by LGPL-2.1 section 6: the complete
136
+ corresponding source of the work that uses the library is this package's own
137
+ MIT-licensed source — `rust/` and `ts/` in
138
+ [the package repository](https://code.foss.global/push.rocks/smartmta) at the
139
+ tag matching this release — and glibc's sources are obtained with the
140
+ `apt-get source` commands above, so a recipient can modify the library, rebuild
141
+ it, and relink the executable with the command shown here.
142
+
143
+ The TypeScript dependency graph is installed independently through the npm
144
+ manifest; its packages are not bundled into these Rust executables.
145
+
146
+ ## Reproduction and review
147
+
148
+ From the repository root, with cargo-about 0.9.1:
149
+
150
+ ```sh
151
+ cargo about generate --manifest-path rust/Cargo.toml --config rust/about.toml \
152
+ --locked --fail --output-file notices/cargo-dependencies.html rust/about.hbs
153
+ ```
154
+
155
+ The configuration selects checksum-verified upstream notices when published
156
+ crates omit or misname them; network access is required for the pinned
157
+ `r-efi` Git source. Those commands regenerate the notices only, not the
158
+ executables; rebuilding and relinking is described above.
159
+ `notices/inventory.json` records the SHA-256 of every notice file and notice
160
+ input alongside the locked package list from `cargo metadata --locked`, the
161
+ rustc that built the executables, and the exact Ubuntu glibc and libgcc
162
+ package revisions linked into them; after a Cargo graph, compiler, C toolchain,
163
+ or notice-input change, regenerate the notices, refresh those digests and
164
+ values, and rerun `pnpm test`.
165
+ `test/test.notices.node.ts` rejects stale digests, packages missing from the
166
+ inventory or from the shipped notices, generic copyright placeholders and
167
+ missing npm notice paths.
168
+
169
+ Keep this index, `license` and the entire `notices/` directory beside any
170
+ separately distributed copy of `mailer-bin_linux_amd64` or
171
+ `mailer-bin_linux_arm64`.
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartmta',
6
- version: '9.6.0',
6
+ version: '9.6.1',
7
7
  description: 'A high-performance, enterprise-grade Mail Transfer Agent (MTA) built from scratch in TypeScript with Rust acceleration.'
8
8
  }