Teknium
66312aec48
Port from can1357/oh-my-pi#7553 : allow quoted shell metacharacters in allowlist matching
...
command_allowlist glob rules (e.g. 'cargo *') rejected any command whose
quoted arguments contained shell metacharacters — a cargo benchmark
regex filter like '^layer3/write/(a|b)$' disqualified the whole command
even though those characters are literal to the shell.
_has_allowlist_shell_operator is now quote-aware:
- metacharacters inside single/double quotes or behind a backslash are
treated as literal arguments;
- $ and backtick inside DOUBLE quotes still disqualify (expansion is
active there);
- quoted/escaped control characters still disqualify when the command
carries a -c/-e/--command/--eval-style option that hands the payload
to another interpreter (sh -c '...', git -c alias.x='!...' x);
- unterminated quotes disqualify (shape can't be reasoned about).
Compound commands (unquoted ; & | < > backtick $( newline) are rejected
exactly as before. hermes_cli/approvals_suggest.derive_glob picks up the
same semantics via its existing import.
2026-08-16 22:10:13 -07:00
..
2026-08-16 13:01:20 -07:00
2026-08-13 20:30:26 -07:00
2026-07-28 07:58:16 -07:00
2026-08-16 22:08:05 -07:00
2026-08-16 22:10:13 -07:00
2026-08-11 09:56:13 +10:00
2026-07-28 11:52:44 -07:00
2026-08-15 02:51:59 +05:30
2026-08-07 17:45:06 +05:30
2026-08-16 18:30:53 -07:00
2026-08-02 00:11:50 -07:00
2026-07-27 14:32:05 -07:00
2026-07-29 10:54:04 -07:00
2026-08-15 00:33:01 -07:00
2026-08-15 04:23:26 -07:00
2026-08-16 22:08:47 -07:00
2026-08-14 21:24:36 -07:00
2026-08-13 01:19:42 -05:00
2026-08-06 19:35:47 -06:00
2026-08-12 17:42:34 +05:30
2026-07-29 12:19:37 -07:00
2026-08-08 05:44:18 -07:00
2026-08-16 22:09:28 -07:00
2026-07-02 04:20:43 -07:00
2026-08-16 22:06:32 -07:00
2026-08-16 20:14:51 -07:00
2026-08-07 09:07:42 -07:00
2026-07-22 12:13:01 -05:00
2026-08-02 00:11:50 -07:00
2026-08-02 00:36:03 -07:00
2026-08-01 21:17:51 -04:00
2026-08-16 22:08:28 -07:00
2026-08-15 02:51:59 +05:30
2026-07-31 10:17:55 -04:00
2026-08-06 19:35:47 -06:00
2026-08-12 15:21:47 +05:30
2026-08-02 00:11:50 -07:00
2026-08-13 11:09:51 -07:00
2026-08-16 11:32:02 -07:00
2026-08-08 04:19:38 -07:00
2026-07-06 04:58:42 -07:00
2026-08-13 10:47:40 -07:00
2026-08-14 22:33:44 -07:00
2026-08-08 12:32:23 -07:00
2026-07-17 04:50:47 -07:00
2026-08-15 23:37:15 -07:00
2026-08-15 23:37:15 -07:00
2026-08-03 14:24:37 +05:30
2026-07-18 04:15:13 -07:00
2026-08-16 22:08:18 -07:00
2026-08-14 21:15:08 -07:00
2026-07-29 10:13:50 -07:00
2026-07-28 14:07:21 -07:00
2026-08-06 19:35:47 -06:00
2026-08-02 10:02:33 -07:00
2026-08-01 10:47:20 -07:00
2026-08-12 15:21:47 +05:30
2026-07-29 10:14:00 -07:00
2026-08-16 22:08:37 -07:00
2026-08-16 22:09:37 -07:00
2026-08-15 00:33:11 -07:00
2026-08-14 21:41:26 -07:00
2026-08-10 01:28:57 -07:00
2026-08-06 19:35:47 -06:00
2026-08-06 19:35:47 -06:00
2026-08-08 22:17:38 -05:00
2026-08-12 19:13:32 -07:00
2026-08-07 08:58:25 -07:00
2026-08-14 22:34:51 -07:00
2026-08-15 07:07:40 +05:30
2026-08-15 00:34:29 -07:00
2026-08-13 01:06:51 -05:00
2026-08-12 13:57:59 +05:30
2026-08-16 22:06:41 -07:00
2026-08-08 11:12:27 -07:00
2026-08-16 22:06:41 -07:00
2026-08-16 22:06:41 -07:00
2026-08-12 01:45:18 -07:00
2026-08-16 02:02:34 -07:00
2026-07-30 22:31:42 -07:00
2026-07-28 04:24:50 -05:00
2026-08-13 11:49:14 -07:00
2026-08-13 11:09:51 -07:00
2026-08-12 19:44:45 -07:00
2026-08-15 23:48:15 -07:00
2026-08-16 22:05:59 -07:00
2026-07-01 01:05:28 -07:00
2026-08-02 10:04:48 -07:00
2026-08-14 20:24:42 -07:00
2026-08-02 10:04:48 -07:00
2026-06-30 16:39:41 -07:00
2026-08-03 19:11:30 +05:30
2026-08-12 19:01:30 -07:00
2026-07-28 22:31:40 -07:00
2026-07-28 11:55:01 -07:00
2026-08-16 21:20:29 -07:00
2026-07-28 14:17:45 -07:00
2026-08-08 19:59:12 -04:00
2026-08-15 12:53:37 +05:30
2026-08-12 19:01:30 -07:00
2026-08-08 13:49:24 +05:30
2026-08-13 11:09:51 -07:00
2026-07-04 15:08:49 -07:00
2026-08-08 12:34:46 -07:00
2026-08-16 21:20:29 -07:00
2026-08-16 21:20:29 -07:00