Age | Commit message (Collapse) | Author |
|
|
|
For my 64-bit Linux system running with GCC 4.4.3-fc12-whatever, you
can't do 'printf("%lld", (int64_t)x);' Instead you need to tell the
compiler 'printf("%lld", (long long int)x);' or else it doesn't
believe the types match. This is why we added U64_PRINTF_ARG; it
looks like we needed an I64_PRINTF_ARG too.
|
|
|
|
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.
|
|
|
|
I don't think we actually use (or plan to use) strtok_r in a reentrant
way anywhere in our code, but would be nice not to have to think about
whether we're doing it.
|
|
This patch adds a function to determine whether we're in the main
thread, and changes control_event_logmsg() to return immediately if
we're in a subthread. This is necessary because otherwise we will
call connection_write_to_buf, which modifies non-locked data
structures.
Bugfix on 0.2.0.x; fix for at least one of the things currently
called "bug 977".
|
|
|
|
|
|
It seems that 64-bit Sparc Solaris demands 64-bit-aligned access to
uint64_t, but does not 64-bit-align the stack-allocated char array we
use for cpuworker tags. So this patch adds a set/get_uint64 pair, and
uses them to access the conn_id field in the tag.
svn:r18743
|
|
svn:r18203
|
|
parsing mismatches on different platforms.
svn:r18189
|
|
The subversion $Id$ fields made every commit force a rebuild of
whatever file got committed. They were not actually useful for
telling the version of Tor files in the wild.
svn:r17867
|
|
we ever did.
svn:r17827
|
|
not to collide with any system headers. This tripped us up on Android.
svn:r17805
|
|
instead, use the standard convert-to-boolean hack of "svn st"
svn:r17597
|
|
too.
svn:r17490
|
|
and one to move the fd to the end of the file.
svn:r17454
|
|
svn:r17444
|
|
svn:r17261
|
|
set supplementary groups, deprecated the Group option, and log more information on credential switching
svn:r17200
|
|
svn:r17161
|
|
start with the same datadir, or where a --list-fingerprints races with a server to create keys, or such.
svn:r16722
|
|
Reported by Tas.
svn:r16713
|
|
svn:r16657
|
|
Make definition of tor_mutex_t go into compat.h, so that it is possible to inline mutexes in critical objects. Add init/uninit functions for mutexes allocated inside other structs.
svn:r16623
|
|
Split out the address manipulation functions from compat and util: they were about 21% of the total of those, and spread out too much.
svn:r16208
|
|
Make generic address manipulation functions work better. Switch address policy code to use tor_addr_t, so it can handle IPv6. That is a good place to start.
svn:r16178
|
|
do something so foolish it can be detected without dataflow analysis, but it also eliminates some of our error checking code. Suggested by Peter Gutmann.
svn:r15803
|
|
Rename tor_addr_t manipulation functions for a consistent style.
svn:r14639
|
|
Fix all -Wshorten-64-to-32 warnings that appear on my macbook.
svn:r13662
|
|
Resolve all DOCDOC issues, and document some other undocumented code, and fix a changelog entry.
svn:r13638
|
|
Apply patch from Sebastian Hahn: stop imposing an arbitrary maximum on the number of file descriptors used for busy servers. Bug reported by Olaf Selke.
svn:r13626
|
|
Brown-paper-bag time. We were failing to count all the sockets from accept().
svn:r13595
|
|
Try to *fix* the socket counting problem, and add an info log to detect whether we really fixed it
svn:r13580
|
|
Fix all but 2 DOCDOC items; defer many XXX020s (particularly those where fixing them would fix no bugs at the risk of introducing some bugs).
svn:r13529
|
|
Re-tune mempool parametes based on testing on peacetime: use smaller chuncks, free them a little more aggressively, and try very hard to concentrate allocations on fuller chunks. Also, lots of new documentation.
svn:r13484
|
|
svn:r13412
|
|
Fix a couple of XXX020 items. Also, disable all "condition" sychronization code, since Tor does not use it yet
svn:r13380
|
|
while. Remove the special-case, remove the related XXXX020s, and add useful comments instead.
svn:r13377
|
|
Another test for the increasingly bad check-spaces style checker to check: #else\n#if is almost a sure sign of a failure to use #elif. Fortunately, we only did that 3 times.
svn:r13039
|
|
svn:r12786
|
|
Fix compilation when --disable-threads is passed in.
svn:r12768
|
|
Fix bug reported by Steve Murphy on or-talk: detect the s6_addr32 and s6_addr16 fields via autoconf.
svn:r12679
|
|
Change tor_addr_t to be a tagged union of in_addr and in6_addr, not of sockaddr_in and sockaddr_in6. It's hardly used in the main code as it is, but let's get it right before it gets popular.
svn:r12660
|
|
Check a platform assumption we have made without checking for too long: "Characters are represented in ascii."
svn:r12088
|
|
Another attempt to confirm to msvc for bug 482.
svn:r11162
|
|
Compile without warnings on MinGW, even with --enable-gcc-warnings enabled.
svn:r11157
|
|
Try to fix bug 482: do not rely on s6_addr16 or s6_addr32 on MSVC. How ugly.
svn:r11155
|
|
Try (once again) to fix mingw build wrt detecting ipv6 types.
svn:r11037
|