尽快推进:收紧Python shim禁执行边界

This commit is contained in:
cnc
2026-06-05 08:15:17 +08:00
parent baf8429736
commit c1a130f5fb
2 changed files with 63 additions and 0 deletions

View File

@@ -38,6 +38,18 @@ only; it must not add CNC behavior and must not expand the temporary smoke parse
- `wordexp()` support is limited to the browser-safe path expansion needed by
`src/emc/rs274ngc/rs274ngc_pre.cc`; it must not become a shell expansion feature.
## Python Shim Boundaries
- `core/wasm_shims/python_c_api_shim.cc` satisfies Python C API symbols used by
LinuxCNC RS274/remap sources; it must not become Python execution.
- `core/wasm_shims/pythonplugin/python_plugin.cc` must preserve LinuxCNC
`PythonPlugin` status edges for `PLUGIN_NO_SECTION`, `PLUGIN_BAD_INIFILE`,
`PLUGIN_PYTHON_NOT_INITIALIZED`, `PLUGIN_NO_CALLABLE`, and
`PLUGIN_EXCEPTION` while keeping Python execution disabled.
- The PythonPlugin shim must not execute `bp::exec`, `bp::exec_file`, or
`PyObject_Call`; those remain browser blockers until implemented as a
source-backed browser-safe LinuxCNC adaptation.
## Boundaries
- The CMake `linuxcnc_wasm_safe_probe_shims` set and `list-linuxcnc-wasm-safe-shims.sh` must stay synchronized.