aboutsummaryrefslogtreecommitdiff
path: root/src/common/compat.c
Commit message (Expand)AuthorAge
* Move disable-debugger-attachment fn to compat where it belongs. Fix whitespaceNick Mathewson2011-11-24
* Fix compile warning in tor_inet_pton() (on 64bit)•••This slipped through into 0.2.3.8-alpha unfortunately. Sebastian Hahn2011-11-24
* Minor tor_inet_pton bug fixes•••In particular: * Disallow "0x10::" * Don't blow up on ":" * Disallow "::10000" Anders Sundman2011-11-19
* Fixed of-by-one error in tor_inet_ntop•••The of-by-one error could lead to 1 byte buffer over runs IPv6 for addresses. Anders Sundman2011-11-11
* Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-10-03
|\
| * Looks like Windows version 6.2 will be Windows 8•••Thanks to funkstar for the report Sebastian Hahn2011-10-01
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-07-01
|\|
| * Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-07-01
| |\
| | * Fix insanely large stack_allocation in log_credential_status•••I'm not one to insist on C's miserly stack limits, but allocating a 256K array on the stack is too much even for me. Bugfix on 0.2.1.7-alpha. Found by coverity. Fixes CID # 450. Nick Mathewson2011-07-01
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-06-22
|\| |
| * | Fix minor comment issuesRobert Ransom2011-06-22
* | | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/common/compat.c src/or/main.c Nick 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'Nick Mathewson2011-05-15
|\| |
| * | Fix up some comment issues spotted by rransomNick Mathewson2011-05-15
| * | Add a function to pull off the final component of a pathNick Mathewson2011-05-15
* | | Merge remote-tracking branch 'public/bug3122_memcmp_022' into bug3122_memcmp_023•••Conflicts in various places, mainly node-related. Resolved them in favor of HEAD, with copying of tor_mem* operations from bug3122_memcmp_022. src/common/Makefile.am src/or/circuitlist.c src/or/connection_edge.c src/or/directory.c src/or/microdesc.c src/or/networkstatus.c src/or/router.c src/or/routerlist.c src/test/test_util.c Nick Mathewson2011-05-11
|\| |
| * | Merge remote-tracking branch 'public/3122_memcmp_squashed' into bug3122_memcm...•••Conflicts throughout. All resolved in favor of taking HEAD and adding tor_mem* or fast_mem* ops as appropriate. src/common/Makefile.am src/or/circuitbuild.c src/or/directory.c src/or/dirserv.c src/or/dirvote.c src/or/networkstatus.c src/or/rendclient.c src/or/rendservice.c src/or/router.c src/or/routerlist.c src/or/routerparse.c src/or/test.c Nick Mathewson2011-05-11
| |\|
| | * Hand-conversion and audit phase of memcmp transition•••Here I looked at the results of the automated conversion and cleaned them up as follows: If there was a tor_memcmp or tor_memeq that was in fact "safe"[*] I changed it to a fast_memcmp or fast_memeq. Otherwise if there was a tor_memcmp that could turn into a tor_memneq or tor_memeq, I converted it. This wants close attention. [*] I'm erring on the side of caution here, and leaving some things as tor_memcmp that could in my opinion use the data-dependent fast_memcmp variant. Nick Mathewson2011-05-11
| | * Automated conversion of memcmp to tor_memcmp/tor_mem[n]eq•••This commit is _exactly_ the result of perl -i -pe 's/\bmemcmp\(/tor_memcmp\(/g' src/*/*.[ch] perl -i -pe 's/\!\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*==\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*!=\s*tor_memcmp\(/tor_memneq\(/g' src/*/*.[ch] git checkout src/common/di_ops.[ch] git checkout src/or/test.c git checkout src/common/test.h Nick Mathewson2011-05-11
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-05
|\| |
| * | Fix up some check-spaces issuesNick Mathewson2011-05-05
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-04-28
|\| |
| * | Correct the logic from f14754fbd for tor_gmtime_rJohn Brooks2011-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'•••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-02-22
|\| |
| * | Windows has EACCES, not EACCESS•••Once again spotted by mobmix Also add a changes file for the fix Sebastian Hahn2011-02-11
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-02-08
|\| |
| * | Locking failures on windows are indicated by EACCES•••Patch our implementation of tor_lockfile_lock() to handle this case correctly. Also add a note that blocking behaviour differs from windows to *nix. Fixes bug 2504, issue pointed out by mobmix. Sebastian Hahn2011-02-08
* | | 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
| | * Have all of our allocation functions and a few others check for underflow•••It's all too easy in C to convert an unsigned value to a signed one, which will (on all modern computers) give you a huge signed value. If you have a size_t value of size greater than SSIZE_T_MAX, that is way likelier to be an underflow than it is to be an actual request for more than 2gb of memory in one go. (There's nothing in Tor that should be trying to allocate >2gb chunks.) Nick Mathewson2010-12-13
* | | Merge remote branch 'sjmurdoch/cloexec'Nick Mathewson2010-12-01
|\ \ \
| * | | Check that FD_CLOEXEC is set before using it•••I don't know if any platforms we care about don't have FD_CLOEXEC, but this is what we do elsewhere Steven Murdoch2010-12-01
| * | | Don't both open the socket with SOCK_CLOEXEC and set FD_CLOEXECSteven Murdoch2010-11-21
| * | | Fix compile error on MacOS X (and other platforms without O_CLOEXEC)Steven Murdoch2010-11-20
| * | | 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
* | | 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