OLD | NEW |
(Empty) | |
| 1 This is a prototype for plumbing Mojo into the NaCl sandbox. It is |
| 2 currently insecure (see below), does not provide a stable ABI (IRT |
| 3 support must be added), and does not support Mojo functions that |
| 4 return pointers (for example, MojoMapBuffer). |
| 5 |
| 6 generator/interface.py contains a programmatic description of the |
| 7 stable Mojo interface. This will need to be updated as the interface |
| 8 changes. Run generator/generate_nacl_bindings.py to generate the |
| 9 bindings that plumb this interface into the NaCl sandbox. |
| 10 |
| 11 To test: Build "monacl_shell" and "monacl_test". Run monacl_shell |
| 12 with the IRT as the first argument and the monacl_test as the second |
| 13 argument. For example, to run a Debug 32-bit Intel build: |
| 14 |
| 15 cd out/Debug |
| 16 ./monacl_shell irt_core_newlib_x32.nexe monacl_test_newlib_x32.nexe |
| 17 |
| 18 Security TODO list: |
| 19 Separate trusted and untrusted Mojo handles. |
| 20 Validate and copy option structures. |
| 21 Protect untrusted buffers passed into Mojo: |
| 22 NaClVmIoWillStart/HasEnded. |
| 23 volatile accesses to untrusted memory (untrusted code could race). |
| 24 Overflow checking in array bounds validation. |
OLD | NEW |