aboutsummaryrefslogtreecommitdiff
path: root/src/common/compat.h
Commit message (Expand)AuthorAge
* Merge remote-tracking branch 'sebastian/pure_removal'Nick Mathewson2011-11-25
|\
| * Purge ATTR_PURE from the code•••We're using it incorrectly in many cases, and it doesn't help as far as we know. Sebastian Hahn2011-11-25
* | Move disable-debugger-attachment fn to compat where it belongs. Fix whitespaceNick Mathewson2011-11-24
|/
* Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-11-09
|\
| * Don't warn when compiling with --disable-threads•••STMT_VOID semantics suggested by nick, thanks! Sebastian Hahn2011-11-09
* | Remove some duplicate includesAndrea Gelmini2011-11-03
* | Sockets are unsigned on windows•••this gets rid of a warning about signed/unsigned comparison Sebastian Hahn2011-08-09
* | Make WIN32_WINNT defines conditional•••Requested by Gisle Vanem on tor-dev. I'm not quite sure this is the right solution, but it's probably harmless. Nick Mathewson2011-07-15
* | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/common/compat.c src/or/main.c Nick Mathewson2011-05-30
|\|
| * Merge remote-tracking branch 'public/bug3270' into maint-0.2.2Nick Mathewson2011-05-30
| |\
| | * Use a 64-bit type to hold sockets on win64.•••On win64, sockets are of type UINT_PTR; on win32 they're u_int; elsewhere they're int. The correct windows way to check a socket for being set is to compare it with INVALID_SOCKET; elsewhere you see if it is negative. On Libevent 2, all callbacks take sockets as evutil_socket_t; we've been passing them int. This patch should fix compilation and correctness when built for 64-bit windows. Fixes bug 3270. Nick Mathewson2011-05-23
* | | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/common/Makefile.am src/or/control.c Nick Mathewson2011-05-23
|\| |
| * | Merge branch 'feature3049-v2' into maint-0.2.2•••Conflicts: src/common/Makefile.am Nick Mathewson2011-05-23
| |\ \ | | |/ | |/|
| | * Fix comment typoRobert Ransom2011-05-10
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-15
|\| |
| * | Add a function to pull off the final component of a pathNick Mathewson2011-05-15
| |/
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-04-28
|\|
| * Detect and handle NULL returns from (gm/local)time_r•••These functions can return NULL for otherwise-valid values of time_t. Notably, the glibc gmtime manpage says it can return NULL if the year if greater than INT_MAX, and the windows MSDN gmtime page says it can return NULL for negative time_t values. Also, our formatting code is not guaranteed to correctly handle years after 9999 CE. This patch tries to correct this by detecting NULL values from gmtime/localtime_r, and trying to clip them to a reasonable end of the scale. If they are in the middle of the scale, we call it a downright error. Arguably, it's a bug to get out-of-bounds dates like this to begin with. But we've had bugs of this kind in the past, and warning when we see a bug is much kinder than doing a NULL-pointer dereference. Boboper found this one too. Nick Mathewson2011-04-28
* | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/common/compat.h src/or/circuitlist.c src/or/circuituse.c src/or/or.h src/or/rephist.c Nick Mathewson2011-03-30
|\|
| * Implement replacements for timer(add,cmp,sub) on platforms lacking them.Nick Mathewson2011-03-30
* | Merge remote-tracking branch 'origin/maint-0.2.2'•••Trivial Conflicts in src/common/crypto.c src/or/main.h src/or/or.h Nick Mathewson2011-03-16
|\|
| * Doxygen documentation for about 100 things that didn't have any•••About 860 doxygen-less things remain in 0.2.2 Nick Mathewson2011-03-16
* | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-03
|\|
| * Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-03
| |\
| | * Never include pthread.h when building for Windows.•••On Windows, we never use pthreads, since it doesn't usually exist, and when it does it tends to be a little weirdly-behaved. But some mingw installations have a pthreads installed, so autoconf detects pthread.h and tells us about it. This would make us include pthread.h, which could make for trouble when the iffy pthread.h tried to include config.h. This patch changes compat.h so that we never include pthread.h on Windows. Fixes bug 2313; bugfix on 0.1.0.1-rc. Nick Mathewson2011-01-03
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-03
|\| |
| * | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2•••Conflicts: src/common/test.h src/or/test.c Nick Mathewson2011-01-03
| |\|
| | * Bump copyright statements to 2011Nick Mathewson2011-01-03
* | | Merge branch 'maint-0.2.2'Roger Dingledine2010-12-19
|\| |
| * | Merge remote branch fix_security_bug_021 into fix_security_bug_022•••Conflicts: src/common/memarea.c src/or/or.h src/or/rendclient.c Nick Mathewson2010-12-15
| |\|
| | * Make payloads into uint8_t.•••This will avoid some signed/unsigned assignment-related bugs. Nick Mathewson2010-12-15
* | | Merge remote branch 'sjmurdoch/cloexec'Nick Mathewson2010-12-01
|\ \ \
| * | | Do cloexec on socketpairs and stdio filesNick Mathewson2010-11-20
| * | | Initial work to set CLOEXEC on all possible fds•••Still to go: some pipes, all stdio files. Nick Mathewson2010-11-20
* | | | Merge remote branch 'origin/maint-0.2.2'•••Conflicts: src/or/relay.c Nick Mathewson2010-11-30
|\ \ \ \ | |/ / / |/| / / | |/ /
| * | Add wrappers function for libc random()•••On windows, it's called something different. Nick Mathewson2010-11-29
* | | Add a portable tor_timercmp•••We can't use the platform timercmp, because 1) some platforms don't have them 2) some that do have them only support certain relational operators Nick Mathewson2010-10-15
* | | 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
|/ /
* | 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
* | Merge branch 'asprintf'Nick Mathewson2010-04-02
|\ \
| * | 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
* | | Add the MIN and MAX macros for platforms that lack themNick Mathewson2010-02-25
* | | Fix 64-bit printf issues in consensus-bw-weights5-merge.•••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. Nick Mathewson2010-02-25
* | | Add %lld compat defines.Mike Perry2010-02-22
| |/ |/|
* | 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
* | Switch over to tor_strtok_r instead of strtok_r.Mike Perry2009-08-09
* | 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
|/