felixxia-oai
6f51c65958
Fix macOS system-alias matching in patch permission checks ( #47879 )
...
## Why
Local `apply_patch` permission checks can treat a macOS system alias and its canonical spelling as different locations, sending writes covered by temporary-directory grants for unnecessary approval.
## What changed
- Normalize trusted top-level aliases in local policy roots and patch targets, reusing a prepared matcher for permission requests and patch safety checks.
- Share alias normalization with Seatbelt and the macOS executor sandbox while preserving mutable symlinks and missing descendants.
- Preserve read-only and deny precedence, protected metadata restrictions, and remote URI matching. Propagate normalization failures from fallible permission checks.
## Testing
Add macOS regressions for multi-file patches with missing parent directories through both direct `apply_patch` calls and shell interception, asserting automatic approval and file contents. Add unit coverage for alias restriction precedence, mutable symlink preservation, missing descendants, and remote permission isolation.
GitOrigin-RevId: 0822ff951eaab728cb1ad91281745fa1b8809f15
2026-09-24 16:36:57 +00:00
..
2026-09-24 14:48:41 +00:00
2026-07-06 14:29:19 -07:00
2026-09-24 16:06:07 +00:00
2026-09-24 16:14:45 +00:00
2026-09-24 14:58:04 +00:00
2026-09-01 18:24:56 +00:00
2026-09-24 16:06:07 +00:00
2026-09-09 17:45:37 +00:00
2026-09-14 15:30:22 +00:00
2026-09-22 23:37:39 +00:00
2026-08-31 22:38:23 +00:00
2026-09-19 01:21:32 +00:00
2026-09-24 16:14:45 +00:00
2026-09-24 00:37:56 +00:00
2026-09-24 00:37:56 +00:00
2026-09-19 02:15:20 +00:00
2026-09-24 16:36:57 +00:00
2026-09-24 12:34:04 +00:00
2026-08-25 13:10:24 +00:00
2026-07-28 23:49:37 +00:00
2026-09-23 19:12:03 +00:00
2026-09-19 02:15:20 +00:00
2026-09-19 01:21:32 +00:00
2026-09-16 04:59:23 +00:00
2026-09-24 16:36:57 +00:00
2026-09-24 16:36:57 +00:00
2026-05-08 12:36:02 -07:00
2026-09-14 23:25:09 +00:00
2026-09-09 17:56:06 +00:00
2026-09-24 05:48:45 +00:00
2026-09-24 05:48:45 +00:00
2026-09-24 05:48:45 +00:00
2026-09-24 05:48:45 +00:00
2026-09-22 09:50:48 +00:00
2026-09-24 10:39:10 +00:00
2026-09-24 11:19:16 +00:00
2026-03-12 08:16:36 -07:00
2026-04-01 23:06:24 -07:00
2026-09-17 23:54:31 +00:00
2026-09-09 18:40:53 +00:00
2026-09-09 18:40:53 +00:00
2026-09-16 22:26:40 +00:00
2026-09-17 01:38:13 +00:00
2026-09-17 01:38:13 +00:00
2026-09-23 22:50:48 +00:00
2026-09-24 05:48:45 +00:00
2026-09-10 18:24:13 +00:00
2026-09-23 22:51:13 +00:00
2026-09-01 13:43:27 +00:00
2026-09-20 19:42:18 +00:00
2026-06-24 22:17:43 -07:00
2026-08-25 19:54:52 +00:00
2026-07-06 11:20:32 -07:00
2026-07-06 11:20:32 -07:00
2026-09-23 02:18:40 +00:00
2026-09-23 03:12:33 +00:00
2026-09-15 21:19:08 +00:00
2026-09-15 21:19:08 +00:00
2026-08-10 01:44:30 +00:00
2026-09-03 00:17:19 +00:00
2026-09-01 14:43:27 +00:00
2026-08-20 07:03:02 +00:00
2026-09-01 18:24:56 +00:00
2026-09-19 01:21:32 +00:00
2026-09-19 01:21:32 +00:00
2026-09-18 23:07:36 +00:00
2026-09-18 23:07:36 +00:00
2026-05-13 11:31:27 +02:00
2026-09-23 18:40:12 +00:00
2026-09-14 22:58:51 +00:00
2026-08-21 21:17:42 +00:00
2026-09-24 14:48:41 +00:00
2026-09-21 22:58:49 +00:00
2026-09-21 22:58:49 +00:00
2026-04-28 13:03:28 +02:00
2026-09-24 00:37:56 +00:00
2026-09-23 02:18:40 +00:00
2026-09-11 14:25:56 +00:00
2026-08-29 06:05:28 +00:00
2026-09-20 19:42:18 +00:00
2026-09-23 20:05:09 +00:00
2026-08-06 13:37:07 +00:00
2026-09-01 13:43:27 +00:00
2026-09-19 02:07:58 +00:00
2026-09-16 15:17:41 +00:00
2026-03-25 11:05:35 -07:00
2026-09-23 22:10:04 +00:00
2026-09-23 22:10:04 +00:00
2026-07-06 14:51:34 -07:00
2026-04-09 10:53:06 -07:00
2026-04-24 17:49:29 -07:00
2026-09-23 00:47:34 +00:00
2026-09-09 17:46:00 +00:00
2026-09-04 21:17:25 +00:00
2026-08-17 04:01:37 +00:00
2026-09-22 22:20:00 +00:00
2026-09-23 17:34:58 +00:00
2026-09-15 22:52:56 +00:00
2026-08-31 22:38:23 +00:00
2026-06-01 18:45:07 +00:00
2026-09-15 17:09:11 +00:00
2026-09-21 18:19:07 +00:00
2026-09-23 19:53:11 +00:00
2026-09-24 13:09:49 +00:00
2026-09-19 01:03:55 +00:00
2026-07-23 19:19:35 +00:00
2026-09-24 16:36:57 +00:00
2026-09-24 16:36:57 +00:00
2026-08-31 23:29:20 +00:00
2026-09-17 18:20:28 +00:00
2026-06-16 14:34:54 +02:00
2026-08-23 20:08:40 +00:00
2026-08-24 10:56:54 +00:00
2026-09-19 01:21:32 +00:00
2026-09-19 01:21:32 +00:00
2026-09-23 18:24:42 +00:00
2026-09-23 18:24:42 +00:00
2026-08-20 06:03:25 +00:00
2026-08-20 06:03:25 +00:00
2026-09-21 20:34:46 +00:00
2026-08-13 11:11:26 +00:00
2026-05-04 11:46:03 -07:00
2026-09-13 06:53:20 +00:00
2026-09-23 20:07:03 +00:00
2026-09-22 21:57:52 +00:00
2026-09-24 10:39:10 +00:00
2026-09-24 10:39:10 +00:00
2026-09-10 18:24:13 +00:00
2026-09-18 23:37:35 +00:00
2026-09-17 19:55:20 +00:00
2026-07-22 02:19:45 +00:00
2026-07-22 02:19:45 +00:00
2026-09-21 18:19:07 +00:00
2026-09-17 18:20:28 +00:00
2026-09-05 13:02:49 +00:00
2026-09-04 12:56:26 +00:00
2026-04-20 22:39:17 -07:00
2026-08-25 17:41:22 +00:00
2026-05-14 16:54:59 -07:00
2026-09-18 00:25:37 +00:00
2026-07-20 13:45:29 +00:00
2026-05-28 15:26:55 -07:00
2026-05-28 15:26:55 -07:00
2026-09-19 01:21:32 +00:00
2026-09-19 01:21:32 +00:00
2026-09-09 19:31:12 +00:00
2026-09-23 18:40:12 +00:00