You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/vrs/07-resource-profile/spec.md
+9-2Lines changed: 9 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -66,9 +66,13 @@ There is one source variant:
66
66
ProfileSource::Wasm {
67
67
module:PathBuf,
68
68
class:ProfileClass,
69
+
containment_root:Option<PathBuf>,
69
70
}
70
71
```
71
72
73
+
`containment_root` is the trusted descriptor-traversal root for catalog-relative
74
+
modules and is absent for explicitly external absolute modules.
75
+
72
76
There is no template or exec variant. `ResourceProfileRegistry::builtin()` is
73
77
empty. `with_profile` and `with_profiles` inject catalog-owned registrations;
74
78
a later programmatic insertion for the same exact scheme replaces the prior
@@ -219,6 +223,8 @@ metadata alone is never treated as a durable proof.
219
223
220
224
Each module is opened nonblocking and no-follow, accepted only as a regular
221
225
file, and read through a 16 MiB admission cap before validation or compilation.
226
+
Catalog-relative modules are traversed descriptor-relative from the catalog
227
+
root with `O_NOFOLLOW` on every ancestor and the final component.
222
228
The bounded 32-entry LRU cache stores both successful modules and compilation
223
229
failures by module path plus byte digest and stable file metadata. Registry
224
230
clones and concurrent subscribers therefore coalesce one compilation attempt
@@ -231,10 +237,11 @@ instance receives one fresh allowance before each later call:
231
237
232
238
| Boundary | Contract |
233
239
| --- | --- |
234
-
| Module file | regular, no-follow, nonblocking open; 16 MiB maximum before Wasmtime compilation |
240
+
| Module file | regular, nonblocking; catalog-relative paths use descriptor-relative no-follow traversal for every component; 16 MiB maximum before Wasmtime compilation |
0 commit comments