diff options
author | Jacob Appelbaum <jacob@appelbaum.net> | 2009-10-21 21:21:57 -0700 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2009-10-27 04:28:40 -0400 |
commit | 2aac39a779c125dbc0cc510d0c306e9df83b33c4 (patch) | |
tree | fb6a968284cdd2e83525b1e459b22d65761562f4 /src/config | |
parent | 56c2385157ee3fac81bb3f0c44fd933e0063ccde (diff) | |
download | tor-2aac39a779c125dbc0cc510d0c306e9df83b33c4.tar.gz tor-2aac39a779c125dbc0cc510d0c306e9df83b33c4.zip |
Implement DisableAllSwap to avoid putting secret info in page files.
This commit implements a new config option: 'DisableAllSwap'
This option probably only works properly when Tor is started as root.
We added two new functions: tor_mlockall() and tor_set_max_memlock().
tor_mlockall() attempts to mlock() all current and all future memory pages.
For tor_mlockall() to work properly we set the process rlimits for memory to
RLIM_INFINITY (and beyond) inside of tor_set_max_memlock().
We behave differently from mlockall() by only allowing tor_mlockall() to be
called one single time. All other calls will result in a return code of 1.
It is not possible to change DisableAllSwap while running.
A sample configuration item was added to the torrc.complete.in config file.
A new item in the man page for DisableAllSwap was added.
Thanks to Moxie Marlinspike and Chris Palmer for their feedback on this patch.
Please note that we make no guarantees about the quality of your OS and its
mlock/mlockall implementation. It is possible that this will do nothing at all.
It is also possible that you can ulimit the mlock properties of a given user
such that root is not required. This has not been extensively tested and is
unsupported. I have included some comments for possible ways we can handle
this on win32.
Diffstat (limited to 'src/config')
-rw-r--r-- | src/config/torrc.complete.in | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/config/torrc.complete.in b/src/config/torrc.complete.in index 2fbf494e56..6dbec2fbf9 100644 --- a/src/config/torrc.complete.in +++ b/src/config/torrc.complete.in @@ -79,6 +79,9 @@ #DirServer moria2 v1 18.244.0.114:80 719B E45D E224 B607 C537 07D0 E214 3E2D 423E 74CF #DirServer tor26 v1 86.59.21.38:80 847B 1F85 0344 D787 6491 A548 92F9 0493 4E4E B85D +## Attempt to lock current and future memory pages and effectively disable swap +# DisableAllSwap 0|1 + ## On startup, setgid to this user. #Group GID |