aboutsummaryrefslogtreecommitdiff
path: root/src/common/compat.c
Commit message (Expand)AuthorAge
* Autodetect the number of CPUs when possible if NumCPUs==0•••This is needed for IOCP, since telling the IOCP backend about all your CPUs is a good idea. It'll also come in handy with asn's multithreaded crypto stuff, and for people who run servers without reading the manual. Nick Mathewson2010-09-28
* Make the windows build succeed with or without -DUNICODE enabled.•••This should keep WinCE working (unicode always-on) and get Win98 working again (unicode never-on). There are two places where we explicitly use ASCII-only APIs, still: in ntmain.c and in the unit tests. This patch also fixes a bug in windoes tor_listdir that would cause the first file to be listed an arbitrary number of times that was also introduced with WinCE support. Should fix bug 1797. Nick Mathewson2010-08-20
* Merge commit 'sebastian/mlockall'Nick Mathewson2010-08-03
|\
| * Remove the request for current memlock limits•••The getrlimit call didn't have any effect. Also make some logging less verbose on default log level, and refactor a bit. Sebastian Hahn2010-02-28
* | Rename log.h to torlog.h•••This should make us conflict less with system files named "log.h". Yes, we shouldn't have been conflicting with those anyway, but some people's compilers act very oddly. The actual change was done with one "git mv", by editing Makefile.am, and running find . -name '*.[ch]' | xargs perl -i -pe 'if (/^#include.*\Wlog.h/) {s/log.h/torlog.h/; }' Nick Mathewson2010-07-09
* | Make pointer types correct in WinCE patchNick Mathewson2010-05-24
* | moved wince related includes and defs to compat.h where possible, removed unu...valerino2010-05-24
* | Port Tor to work on Windows CE•••Most of the changes here are switches to use APIs available on Windows CE. The most pervasive change is that Windows CE only provides the wide-character ("FooW") variants of most of the windows function, and doesn't support the older ASCII verions at all. This patch will require use of the wcecompat library to get working versions of the posix-style fd-based file IO functions. [commit message by nickm] valerino2010-05-24
* | Fix two compile-blockers in tor_vasprintf().•••1) mingw doesn't have _vscprintf(); mingw instead has a working snprintf. 2) windows compilers that _do_ have a working _vscprintf spell it so; they do not spell it _vcsprintf(). Nick Mathewson2010-04-19
* | Merge branch 'asprintf'Nick Mathewson2010-04-02
|\ \ | |/ |/|
| * better handle the case where *strp is in asprintf argsNick Mathewson2010-02-28
| * Add a tor_asprintf() function, and use it in a couple of places.•••asprintf() is a GNU extension that some BSDs have picked up: it does a printf into a newly allocated chunk of RAM. Our tor_asprintf() differs from standard asprintf() in that: - Like our other malloc functions, it asserts on OOM. - It works on windows. - It always sets its return-field. Nick Mathewson2010-02-25
* | Merge remote branch 'origin/maint-0.2.1'•••Conflicts: src/common/test.h src/or/test.c Nick Mathewson2010-02-27
|\ \
| * | Update Tor Project copyright yearsNick Mathewson2010-02-27
* | | Remove misc unnecessary newlines found by new check.Mike Perry2010-02-22
| |/ |/|
* | Remove the --enable-iphone option as needless.•••On or-talk, Marco Bonetti reports that recent iPhone SDKs build Tor fine without it. Nick Mathewson2010-02-12
* | Add Windows version detection for Vista and 7•••Vista is Windows 6.0, and 7 is Windows 6.1. Fixes bug 1097. Also fix a coding style violation. Sebastian Hahn2010-02-10
* | Fix build on Solaris by disabling support for DisableAllSwap•••Fixes bug 1198. Solaris doesn't have RLIMIT_MEMLOCK for get/setrlimit, so disable support because we don't know if all memory can be locked. Sebastian Hahn2010-01-19
* | don't list windows capabilities in windows uname•••we never used them, and maybe it's a bad idea to publish them Roger Dingledine2010-01-15
* | *_free functions now accept NULL•••Some *_free functions threw asserts when passed NULL. Now all of them accept NULL as input and perform no action when called that way. This gains us consistence for our free functions, and allows some code simplifications where an explicit null check is no longer necessary. Sebastian Hahn2009-12-12
* | Use the same mlockall checks with tor_set_max_memlockNick Mathewson2009-11-20
* | Fix compilation on OSX 10.3.•••On this OSX version, there is a stub mlockall() function that doesn't work, *and* the declaration for it is hidden by an '#ifdef _P1003_1B_VISIBLE'. This would make autoconf successfully find the function, but our code fail to build when no declaration was found. This patch adds an additional test for the declaration. Nick Mathewson2009-11-20
* | Fix compilation with with bionic libc.•••This fixes bug 1147: bionic doesn't have an actual implementation of mlockall(); mlockall() is merely in the headers but not actually in the library. This prevents Tor compilation with the bionic libc for Android handsets. Jacob Appelbaum2009-11-14
* | 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. Jacob Appelbaum2009-10-27
* | some cleanups:•••documentation fix for get_uint64 remove extra "." from a log line fix a long line Sebastian Hahn2009-09-15
* | Add a new tor_strtok_r for platforms that don't have one, plus tests.•••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. Nick Mathewson2009-08-09
|/
* Don't attempt to log messages to a controller from a worker thread.•••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". Nick Mathewson2009-05-30
* Spell-check Tor.Nick Mathewson2009-05-27
* Use a mutex to protect the count of open sockets.•••This matters because a cpuworker can close its socket when it finishes. Cpuworker typically runs in another thread, so without a lock here, we can have a race condition and get confused about how many sockets are open. Possible fix for bug 939. Nick Mathewson2009-05-13
* Update copyright to 2009.Karsten Loesing2009-05-04
* Actually use tor_sscanf() to parse untrusted input.•••svn:r18761 Nick Mathewson2009-03-03
* Add and use set/get_uint64 on onion tags. [bug 604; backportable]•••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 Nick Mathewson2009-03-02
* Use prctl to reenable core dumps when we have setuid to a non-root user.•••svn:r18449 Nick Mathewson2009-02-09
* Remove some deadcode and use tor_inet_aton uniformly.•••svn:r18422 Nick Mathewson2009-02-09
* Fix warning on panther compile, and bug 913. Backport candidate.•••svn:r18203 Nick Mathewson2009-01-21
* Add a better (non-locale-having) ctypes implementation to avoid protocol and ...•••svn:r18189 Nick Mathewson2009-01-20
* Fix the oldest bug in a while: stop accepting 1.2.3 as a valid IPv4 address o...•••svn:r17887 Nick Mathewson2009-01-04
* Remove svn $Id$s from our source, and remove tor --version --version.•••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 Nick Mathewson2009-01-04
* Remove some code that is #ifdefed out, and that we no longer seem to use, if ...•••svn:r17827 Nick Mathewson2008-12-30
* Make freelist_len in memarea.c static; document a few variables.•••svn:r17741 Nick Mathewson2008-12-22
* Add DOCDOC entries for undocumented static and global variables.•••svn:r17739 Nick Mathewson2008-12-22
* Fix most DOCDOCs remaining and/or added by redox.•••svn:r17734 Nick Mathewson2008-12-22
* Add DOCDOC comments for all undocumented functions. Add missing *s to other ...•••svn:r17729 Nick Mathewson2008-12-22
* Lower sprintf buffer max to ~SSIZE_T_MAX from SIZE_T_CEILING, since we need t...•••svn:r17600 Nick Mathewson2008-12-11
* Better error message when told to setuid to ourself.•••svn:r17543 Nick Mathewson2008-12-09
* Compile without warnings on mingw.•••svn:r17522 Nick Mathewson2008-12-08
* Try to fix windows mmap code.•••svn:r17493 Nick Mathewson2008-12-05
* Simplify mmap object layout to avoid confusing static analysis tools, and us ...•••svn:r17490 Nick Mathewson2008-12-05
* Fix a hard-to-trigger memory leak in log_credential status. Found by Coverit...•••svn:r17484 Nick Mathewson2008-12-05
* style cleanup•••svn:r17457 Roger Dingledine2008-12-02