Commit c16e1d0
committed
review: write privkey AFTER ACLs to close WAC vacuum (JavaScriptSolidServer#444)
Address Copilot pickup on JavaScriptSolidServer#444. The previous reorder (privkey before
profile) addressed orphan-VM-on-crash but introduced a separate
issue: privkey was written *before* the ACL tree existed, so during
the gap between privkey write and /private/.acl write the secret
file had no WAC protection. jss's deny-by-default since #f43ecdf
mitigates real exposure to 401, but relying on a security default
holding is fragile — defence-in-depth beats it.
Right ordering: ACLs (already in place) → privkey (born under
owner-only WAC) → profile (still last so orphan-VM property
preserved on crash). Same fix in createPodStructure (multi-user)
and createRootPodStructure (single-user, where the exposure is more
acute since the pod URL is the server origin).
Both call sites now have a single block-comment block explaining the
two distinct concerns the ordering serves: WAC vacuum + orphan VM.
854/854 tests pass.1 parent d375f18 commit c16e1d0
2 files changed
Lines changed: 87 additions & 60 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
205 | 201 | | |
206 | 202 | | |
207 | 203 | | |
208 | 204 | | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
| 205 | + | |
| 206 | + | |
229 | 207 | | |
230 | 208 | | |
231 | 209 | | |
| |||
281 | 259 | | |
282 | 260 | | |
283 | 261 | | |
284 | | - | |
285 | | - | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
286 | 299 | | |
287 | 300 | | |
288 | 301 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1046 | 1046 | | |
1047 | 1047 | | |
1048 | 1048 | | |
1049 | | - | |
1050 | | - | |
1051 | | - | |
1052 | | - | |
1053 | | - | |
1054 | | - | |
1055 | | - | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
1056 | 1053 | | |
1057 | 1054 | | |
1058 | 1055 | | |
1059 | 1056 | | |
1060 | | - | |
1061 | | - | |
1062 | | - | |
1063 | | - | |
1064 | | - | |
1065 | | - | |
1066 | | - | |
1067 | | - | |
1068 | | - | |
1069 | | - | |
1070 | | - | |
1071 | | - | |
1072 | | - | |
1073 | | - | |
1074 | | - | |
1075 | | - | |
1076 | | - | |
1077 | | - | |
1078 | | - | |
| 1057 | + | |
1079 | 1058 | | |
1080 | 1059 | | |
1081 | 1060 | | |
| |||
1118 | 1097 | | |
1119 | 1098 | | |
1120 | 1099 | | |
1121 | | - | |
1122 | | - | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
1123 | 1137 | | |
1124 | 1138 | | |
1125 | 1139 | | |
| |||
0 commit comments