Felipe Coury
3f29c6799a
Ignore inherited ACEs when refreshing Windows write roots ( #34392 )
...
## Why
An inherited `FILE_DELETE_CHILD` grant can make a write root look stale, but
`SET_ACCESS` cannot replace an ACE inherited from an ancestor. Treating that
grant as explicit causes unnecessary ACL refresh attempts that cannot converge.
## What changed
- Add explicit-ACE filtering to the Windows DACL permission checks.
- Refresh a write root only when `FILE_DELETE_CHILD` is present in an explicit
allow ACE, while retaining effective-permission checks for required rights.
- Ignore inherited stale rights when deciding whether `SET_ACCESS` must repair
an allow ACE.
## Testing
Add a Windows regression test covering a write root that inherits
`FILE_DELETE_CHILD`, verifying that repeated refresh checks leave its explicit
write ACE unchanged.
GitOrigin-RevId: d0df9429efcf299da3ff3c1bce92942684803293
(cherry picked from commit bd92b056dd )
2026-07-21 17:21:14 -07:00
..
2026-07-02 10:59:00 -07:00
2026-06-09 12:48:04 -07:00
2026-06-24 13:24:10 -07:00
2026-06-22 13:19:40 -07:00
2026-07-16 01:23:52 +00:00
2026-05-07 15:44:17 -07:00
2026-07-16 16:43:38 +00:00
2026-07-10 21:24:03 +00:00
2026-07-13 17:33:13 +00:00
2026-07-16 16:13:53 +00:00
2026-07-14 21:54:24 +00:00
2026-07-14 00:38:04 +00:00
2026-06-23 00:02:33 +00:00
2026-07-06 12:17:16 -07:00
2026-06-11 18:16:39 -07:00
2026-05-08 04:07:59 +00:00
2026-07-14 22:43:26 +00:00
2026-06-13 21:43:39 -07:00
2026-06-24 13:25:44 -07:00
2026-07-11 04:15:42 +00:00
2026-07-07 17:05:05 -07:00
2026-07-07 01:34:36 +00:00
2026-06-11 18:16:39 -07:00
2026-06-11 18:16:39 -07:00
2026-07-20 18:05:00 -07:00
2026-07-06 16:26:56 -07:00
2026-07-09 08:17:13 -07:00
2026-07-16 00:22:53 +00:00
2026-07-07 13:00:44 -07:00
2026-07-07 01:12:24 +00:00
2026-05-07 15:44:17 -07:00
2026-06-15 20:10:53 -07:00
2026-07-15 20:54:54 +00:00
2026-06-21 13:35:25 -07:00
2026-07-16 16:08:43 +00:00
2026-07-15 20:38:26 +00:00
2026-06-22 11:11:25 -07:00
2026-07-20 18:04:56 -07:00
2026-07-14 17:10:04 +00:00
2026-07-15 21:03:49 +00:00
2026-07-15 20:59:21 +00:00
2026-06-05 15:41:13 -07:00
2026-07-16 00:22:53 +00:00
2026-07-15 21:07:43 +00:00
2026-07-15 01:31:40 +00:00
2026-07-10 09:09:22 +00:00
2026-07-16 14:42:41 +00:00
2026-07-16 00:34:36 +00:00
2026-07-15 22:49:52 +00:00
2026-07-13 22:50:28 +00:00
2026-05-07 15:44:17 -07:00
2026-07-16 16:13:53 +00:00
2026-05-28 23:09:55 -07:00
2026-07-07 20:01:03 -04:00
2026-07-07 18:00:35 -07:00
2026-07-09 14:26:20 -07:00
2026-07-08 12:17:58 -04:00
2026-06-12 19:52:49 +00:00
2026-07-14 16:40:13 +00:00
2026-05-07 15:44:17 -07:00
2026-07-09 14:26:20 -07:00
2026-07-15 05:21:13 +00:00
2026-07-16 00:22:53 +00:00
2026-06-04 09:53:08 -04:00
2026-07-14 21:50:19 +00:00
2026-07-07 17:43:19 -07:00
2026-07-20 17:19:44 -07:00
2026-07-09 17:33:37 +01:00
2026-06-04 09:53:08 -04:00
2026-07-16 00:22:53 +00:00
2026-06-23 22:51:19 +01:00
2026-05-25 17:26:10 -03:00
2026-07-20 17:19:44 -07:00
2026-07-20 17:19:44 -07:00
2026-04-22 22:24:12 -07:00
2026-05-07 15:44:17 -07:00
2026-07-16 05:38:36 +00:00
2026-07-15 21:25:24 +00:00
2026-07-16 00:22:53 +00:00
2026-07-16 16:13:53 +00:00
2026-05-26 20:59:47 -07:00
2026-06-12 19:52:49 +00:00
2026-07-16 01:12:14 +00:00
2026-06-25 13:56:08 -07:00
2026-07-14 20:56:43 +00:00
2026-07-16 00:22:53 +00:00
2026-05-07 15:44:17 -07:00
2026-05-13 21:23:19 +00:00
2026-05-07 15:44:17 -07:00
2026-07-16 10:28:36 +00:00
2026-07-16 00:39:42 +00:00
2026-07-13 16:52:18 +00:00
2026-07-16 16:08:43 +00:00
2026-05-07 15:44:17 -07:00
2026-07-15 21:03:49 +00:00
2026-06-13 21:43:39 -07:00
2026-06-13 21:43:39 -07:00
2026-07-08 12:57:27 -07:00
2026-07-21 17:21:14 -07:00
2026-07-09 17:31:44 -07:00
2026-07-16 16:39:09 +00:00
2026-07-16 09:58:29 -07:00
2026-04-20 22:41:54 -07:00
2026-07-11 03:27:51 +00:00
2026-07-09 11:53:18 -07:00
2026-06-04 09:16:03 -07:00
2026-05-26 20:59:47 -07:00