srojk34
db0fd8f290
fix(security): use caller package root for deregister opt-in policy lookup
...
_plugin_override_policy is keyed by the plugin package root
(e.g. hermes_plugins.allowed), but the lookup used caller_mod
(the exact leaf module string). A call from hermes_plugins.allowed.cleanup
would evaluate _plugin_override_policy.get("hermes_plugins.allowed.cleanup")
→ False and raise PermissionError even when the plugin registered opt-in
under its package root.
Switch the policy lookup to caller_root (.join of the first two segments)
so submodule callers inherit the package-level allow_tool_override grant.
Adds a focused regression test for the opted-in submodule case.
2026-07-01 15:37:58 +05:30
..
2026-06-27 15:59:00 -07:00
2026-07-01 14:37:22 +05:30
2026-07-01 03:03:05 -07:00
2026-06-30 15:30:06 -07:00
2026-04-08 02:24:32 -07:00
2026-06-11 10:49:47 -07:00
2026-06-29 01:26:24 -07:00
2026-06-15 12:44:44 -04:00
2026-05-19 22:34:05 -07:00
2026-07-01 13:43:58 +05:30
2026-07-01 13:56:49 +05:30
2026-06-21 17:46:38 +05:30
2026-06-28 17:44:47 -05:00
2026-06-28 04:13:19 -07:00
2026-06-19 07:34:02 -07:00
2026-06-28 21:15:14 -05:00
2026-06-30 02:59:46 -07:00
2026-06-22 06:42:30 -07:00
2026-06-30 03:07:40 -07:00
2026-07-01 14:23:01 +05:30
2026-06-25 13:52:06 -07:00
2026-07-01 00:45:31 -07:00
2026-05-07 05:11:09 -07:00
2026-07-01 14:37:22 +05:30
2026-06-08 22:46:57 -07:00
2026-05-22 04:10:45 -07:00
2026-05-08 16:39:32 -07:00
2026-05-08 16:39:32 -07:00
2026-06-20 23:23:47 -07:00
2026-04-21 16:41:26 -07:00
2026-07-01 02:44:53 -07:00
2026-07-01 02:13:13 -07:00
2026-04-13 04:45:07 -07:00
2026-06-25 12:38:33 -07:00
2026-04-17 20:39:25 -07:00
2026-06-30 14:29:42 -07:00
2026-07-01 02:51:45 -07:00
2026-05-30 07:58:08 -07:00
2026-06-30 16:56:15 -07:00
2026-06-27 04:59:23 +05:30
2026-07-01 01:02:23 -07:00
2026-06-30 20:01:16 +05:30
2026-05-08 09:27:26 -07:00
2026-05-08 09:27:26 -07:00
2026-06-06 18:30:39 -07:00
2026-05-20 01:46:40 -05:00
2026-04-11 13:59:52 -07:00
2026-06-30 04:23:27 -05:00
2026-06-25 16:40:27 -05:00
2026-06-13 14:42:51 -07:00
2026-06-09 23:15:20 -05:00
2026-07-01 15:37:58 +05:30
2026-06-12 00:30:51 -05:00
2026-07-01 00:12:11 -07:00
2026-06-27 04:41:22 -07:00
2026-06-30 15:49:36 -07:00
2026-05-04 02:42:16 -07:00
2026-06-25 22:03:02 -07:00
2026-05-23 17:47:26 -07:00
2026-06-01 01:58:48 -07:00
2026-07-01 00:40:56 -07:00
2026-06-27 21:07:53 -07:00
2026-06-30 15:49:36 -07:00
2026-05-15 14:00:01 -07:00
2026-06-29 11:35:41 +10:00
2026-05-29 03:44:49 -07:00
2026-07-01 01:05:28 -07:00
2026-06-26 15:26:08 +05:30
2026-07-01 01:02:17 -07:00
2026-06-01 06:32:48 +05:30
2026-05-31 00:50:19 -07:00
2026-06-30 16:39:41 -07:00
2026-05-29 02:04:12 -07:00
2026-06-28 10:19:21 -05:00
2026-06-28 10:19:21 -05:00
2026-07-01 01:18:53 -07:00
2026-06-29 21:11:58 -07:00
2026-07-01 01:18:53 -07:00
2026-06-08 22:46:57 -07:00
2026-06-30 00:19:49 -07:00
2026-05-28 04:52:42 -07:00
2026-06-10 02:57:15 -07:00
2026-05-28 22:26:25 -07:00
2026-06-29 21:11:58 -07:00
2026-06-29 21:11:58 -07:00
2026-05-23 01:40:35 -07:00