Add abhijeet.k@samsung.com to AUTHORS list.
[chromium-blink-merge.git] / mojo / nacl / README.md
blob11ca8d8fbb157076aa2eb023ea13f2bf1074f14c
1 About
2 =====
4 This is a prototype for plumbing Mojo into the NaCl sandbox.  It is
5 currently insecure (see below), does not provide a stable ABI (IRT
6 support must be added), and does not support Mojo functions that
7 return pointers (for example, `MojoMapBuffer`).
10 Using
11 =====
13 To use this prototype, point your `.gclient` file to `DEPS.nacl` instead
14 of `DEPS` and then run `gclient sync`.
16 When you run `mojo/tools/mojob.py gn`, add `--nacl` to the command line.
18 Run `mojo/tools/mojob.py nacltest` for additional nacl-specific tests.
21 Notes
22 =====
24 `generator/interface.py` contains a programmatic description of the
25 stable Mojo interface.  This will need to be updated as the interface
26 changes.  Run `generator/generate_nacl_bindings.py` to generate the
27 bindings that plumb this interface into the NaCl sandbox.
30 Security TODO
31 =============
33 * Separate trusted and untrusted Mojo handles.
34 * Validate and copy option structures.
35 * Protect untrusted buffers passed into Mojo:
36   * `NaClVmIoWillStart/HasEnded`.
37   * volatile accesses to untrusted memory (untrusted code could race).
38 * Overflow checking in array bounds validation.