| 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 | 
|---|