OLD | NEW |
(Empty) | |
| 1 Tor for NaCl |
| 2 ================= |
| 3 This is a port of Tor(core) to NaCl platform. |
| 4 For details visit : https://www.torproject.org |
| 5 |
| 6 **The port is functional albeit with some quirks, this document lists and |
| 7 keeps track of all those.** |
| 8 |
| 9 1. **Currently there is no reliable way of checking if another tor process is |
| 10 running.** |
| 11 |
| 12 **Reason:** NaCl don't support file locking(yet) |
| 13 |
| 14 **Details:** Since Chrome 34, by default multiple windows per Chrome app |
| 15 is not allowed,this should take care of the problem. |
| 16 In the code, file locking is commented out altogether, |
| 17 see /src/or/config.c [line 1379] |
| 18 |
| 19 2. **Maximum file descriptors are hard coded to 15000** |
| 20 |
| 21 **Reason:** getrlimit not implemented |
| 22 |
| 23 3. **UID mismatch is ignored** |
| 24 |
| 25 **Reason:** On NaCl, the UIDs are not preserved(properly) |
| 26 |
| 27 **Details:** To debug/see implementation see /src/common/util.c [line 2195] |
| 28 |
| 29 4. **Callbacks due to signals are NOT supported.** |
| 30 |
| 31 **Reason:** nacl.io don't support POSIX signals. |
| 32 |
| 33 **Details:** sigaction(...) and signal(...) are not(yet) implemented on |
| 34 NaCl.io,thus the calls evsignal_add,evsignal_del,evsignal_pending should |
| 35 be avoided,also event_add/event_del when passed with EV_SIGNAL will |
| 36 also fail. |
| 37 |
| 38 For details about these functions visit : |
| 39 http://www.wangafu.net/~nickm/libevent-book/Ref4_event.html |
| 40 |
| 41 To debug/see implementation (see libevent port) |
| 42 Look for /event.c, /signal.c and /evmap.c |
| 43 In /signal.c see function _evsig_set_handler and _evsig_restore_handler |
| 44 |
| 45 Typical function call |
| 46 event_add > event_add_internal > (if signal) evmap_signal_add > evsig_add |
| 47 |
| 48 5. **Post build tests are skipped.** |
| 49 |
| 50 **Reason:** There are some unresolved dependencies when compiled against |
| 51 glibc + i686. For now they are altogether skipped for every |
| 52 toolchain + architecture.[they work fine against clang-newlib] |
| 53 |
| 54 6. **Build against glibc is not functional.** |
| 55 |
| 56 **Reason:** unknown (issue de-prioritized,glibc disabled in pkg_info) |
| 57 |
| 58 **Notes** |
| 59 |
| 60 - Socket api is only allowed in chrome apps, remember to load |
| 61 published directory as chrome app instead of make run / make serve |
| 62 - The default port is 9999 instead of usual 9150, |
| 63 thus point your (socks)proxy to 127.0.0.1:9999 |
| 64 - Once the GUI is ready, parameters can be generated/modified as per the user |
OLD | NEW |