Commit fcc2672
committed
fix(cli): add TTY support, phase check, and hardening to sandbox exec
Add missing --tty/--no-tty flag required by the issue spec, plumbed
through proto, CLI, and server-side PTY allocation over SSH.
Harden the implementation with a client-side sandbox phase check,
a 4 MiB stdin size limit to prevent OOM, and spawn_blocking for
stdin reads to avoid blocking the async runtime. Move
save_last_sandbox after exec succeeds for consistency.
Closes #7501 parent 5090fed commit fcc2672
File tree
4 files changed
+98
-8
lines changed- crates
- openshell-cli/src
- openshell-server/src
- proto
4 files changed
+98
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1236 | 1236 | | |
1237 | 1237 | | |
1238 | 1238 | | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
1239 | 1244 | | |
1240 | 1245 | | |
1241 | 1246 | | |
| |||
1254 | 1259 | | |
1255 | 1260 | | |
1256 | 1261 | | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
1257 | 1273 | | |
1258 | 1274 | | |
1259 | 1275 | | |
| |||
2342 | 2358 | | |
2343 | 2359 | | |
2344 | 2360 | | |
| 2361 | + | |
| 2362 | + | |
2345 | 2363 | | |
2346 | 2364 | | |
2347 | 2365 | | |
2348 | | - | |
| 2366 | + | |
| 2367 | + | |
| 2368 | + | |
| 2369 | + | |
| 2370 | + | |
| 2371 | + | |
| 2372 | + | |
| 2373 | + | |
2349 | 2374 | | |
2350 | 2375 | | |
2351 | 2376 | | |
2352 | 2377 | | |
2353 | 2378 | | |
2354 | 2379 | | |
2355 | 2380 | | |
| 2381 | + | |
2356 | 2382 | | |
2357 | 2383 | | |
2358 | 2384 | | |
| 2385 | + | |
2359 | 2386 | | |
2360 | 2387 | | |
2361 | 2388 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2693 | 2693 | | |
2694 | 2694 | | |
2695 | 2695 | | |
| 2696 | + | |
| 2697 | + | |
| 2698 | + | |
| 2699 | + | |
2696 | 2700 | | |
2697 | 2701 | | |
2698 | 2702 | | |
| |||
2703 | 2707 | | |
2704 | 2708 | | |
2705 | 2709 | | |
| 2710 | + | |
2706 | 2711 | | |
2707 | 2712 | | |
2708 | 2713 | | |
| |||
2718 | 2723 | | |
2719 | 2724 | | |
2720 | 2725 | | |
| 2726 | + | |
| 2727 | + | |
| 2728 | + | |
| 2729 | + | |
| 2730 | + | |
| 2731 | + | |
| 2732 | + | |
| 2733 | + | |
| 2734 | + | |
2721 | 2735 | | |
2722 | 2736 | | |
2723 | 2737 | | |
2724 | 2738 | | |
2725 | 2739 | | |
2726 | | - | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
2727 | 2744 | | |
2728 | 2745 | | |
2729 | 2746 | | |
2730 | 2747 | | |
2731 | 2748 | | |
2732 | | - | |
| 2749 | + | |
| 2750 | + | |
2733 | 2751 | | |
2734 | | - | |
2735 | | - | |
2736 | | - | |
| 2752 | + | |
| 2753 | + | |
| 2754 | + | |
| 2755 | + | |
| 2756 | + | |
| 2757 | + | |
| 2758 | + | |
| 2759 | + | |
| 2760 | + | |
| 2761 | + | |
| 2762 | + | |
| 2763 | + | |
| 2764 | + | |
| 2765 | + | |
| 2766 | + | |
2737 | 2767 | | |
2738 | 2768 | | |
2739 | 2769 | | |
2740 | 2770 | | |
| 2771 | + | |
| 2772 | + | |
| 2773 | + | |
| 2774 | + | |
2741 | 2775 | | |
2742 | 2776 | | |
2743 | 2777 | | |
| |||
2747 | 2781 | | |
2748 | 2782 | | |
2749 | 2783 | | |
| 2784 | + | |
2750 | 2785 | | |
2751 | 2786 | | |
2752 | 2787 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1043 | 1043 | | |
1044 | 1044 | | |
1045 | 1045 | | |
| 1046 | + | |
1046 | 1047 | | |
1047 | 1048 | | |
1048 | 1049 | | |
| |||
1056 | 1057 | | |
1057 | 1058 | | |
1058 | 1059 | | |
| 1060 | + | |
1059 | 1061 | | |
1060 | 1062 | | |
1061 | 1063 | | |
| |||
3716 | 3718 | | |
3717 | 3719 | | |
3718 | 3720 | | |
| 3721 | + | |
3719 | 3722 | | |
3720 | 3723 | | |
3721 | 3724 | | |
| |||
3764 | 3767 | | |
3765 | 3768 | | |
3766 | 3769 | | |
3767 | | - | |
3768 | | - | |
| 3770 | + | |
| 3771 | + | |
| 3772 | + | |
| 3773 | + | |
| 3774 | + | |
| 3775 | + | |
| 3776 | + | |
3769 | 3777 | | |
3770 | 3778 | | |
3771 | 3779 | | |
| |||
3843 | 3851 | | |
3844 | 3852 | | |
3845 | 3853 | | |
| 3854 | + | |
3846 | 3855 | | |
3847 | 3856 | | |
3848 | 3857 | | |
| |||
3886 | 3895 | | |
3887 | 3896 | | |
3888 | 3897 | | |
| 3898 | + | |
| 3899 | + | |
| 3900 | + | |
| 3901 | + | |
| 3902 | + | |
| 3903 | + | |
| 3904 | + | |
| 3905 | + | |
| 3906 | + | |
| 3907 | + | |
| 3908 | + | |
| 3909 | + | |
| 3910 | + | |
| 3911 | + | |
| 3912 | + | |
| 3913 | + | |
3889 | 3914 | | |
3890 | 3915 | | |
3891 | 3916 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
250 | 253 | | |
251 | 254 | | |
252 | 255 | | |
| |||
0 commit comments