aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-06-04Add about 60 more DOCDOC comments to 0.2.3Nick Mathewson
Also, try to resolve some doxygen issues. First, define a magic "This is doxygen!" macro so that we take the correct branch in various #if/#else/#endifs in order to get the right documentation. Second, add in a few grouping @{ and @} entries in order to get some variables and fields to get grouped together.
2012-06-04Update the "redox" doxygen/DOCDOC postprocessing scriptNick Mathewson
Somewhere along the line, doxygen and tor changed their behavior a little. The script is still a dreadful kludge, but now at least it sorta works again.
2012-06-04Resolve some markup complaints from doxygenNick Mathewson
2012-06-04Resolve all currently pending DOCDOC items in masterNick Mathewson
2012-06-04Merge origin/maint-0.2.2 for 6007_strictNick Mathewson
This code shouldn't have any effect in 0.2.3, since we already accept (and handle) data received while we are expecting a renegotiation. (That's because the 0.2.3.x handshake _does_ have data there instead of the renegotiation.) I'm leaving it in anyway, since if it breaks anything, we'll want it broken in master too so we can find out about it. I added an XXX023 comment so that we can come back later and fix that.
2012-06-04Merge remote-tracking branch 'public/bug6007_strict_squashed' into maint-0.2.2Nick Mathewson
2012-06-04Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2012-06-04Merge remote-tracking branch 'public/bug6033' into maint-0.2.2Nick Mathewson
2012-06-04Kill non-open OR connections with any data on their inbufs.Nick Mathewson
This fixes a DoS issue where a client could send so much data in 5 minutes that they exhausted the server's RAM. Fix for bug 5934 and 6007. Bugfix on 0.2.0.20-rc, which enabled the v2 handshake.
2012-06-04Fix build warning on Lenny about strtok_r unit testNick Mathewson
This fixes a warning in efb8a09f, where Debain Lenny's GCC doesn't get that for (i=0; i<3; ++i) { const char *p; switch(i) { case 0: p="X"; break; case 1: p="Y"; break; case 2: p="Z"; break; } printf("%s\n", p); } will never try to print an uninitialezed value. Found by buildbots. Bug in no released versions of Tor.
2012-06-03clarify that LongLivedPorts is for hidden services tooRoger Dingledine
2012-06-02Work around a bug in OpenSSL 1.0.1's TLS 1.1 and TLS 1.2 supportNick Mathewson
It appears that when OpenSSL negotiates a 1.1 or 1.2 connection, and it decides to renegotiate, the client will send a record with version "1.0" rather than with the current TLS version. This would cause the connection to fail whenever both sides had OpenSSL 1.0.1, and the v2 Tor handshake was in use. As a workaround, disable TLS 1.1 and TLS 1.2. When a later version of OpenSSL is released, we can make this conditional on running a fixed version of OpenSSL. Alternatively, we could disable TLS 1.1 and TLS 1.2 only on the client side. But doing it this way for now means that we not only fix TLS with patched clients; we also fix TLS when the server has this patch and the client does not. That could be important to keep the network running well. Fixes bug 6033.
2012-05-31Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2012-05-31add changes file for bug 5283Roger Dingledine
I called it a bugfix on 0.2.0.10-alpha, since git commit e5885deab is where we introduced anonymized begin_dir connections.
2012-05-31Make all begindir or one-hop circuits internalNick Mathewson
This solves bug 5283, where client traffic could get sent over the same circuit as an anonymized connection to a directory, even if that circuit used an exit node unsuitable for clients. By marking the directory connection as needs_internal, we ensure that the (non-internal!) client-traffic connection won't be sent over the same circuit.
2012-05-31Merge remote-tracking branch 'public/bug5089'Nick Mathewson
Conflicts: src/test/test_util.c Merge the unit tests; I added some when I did this branch against 0.2.2, and then the test format changed and master added more tests.
2012-05-31A few more get_parent_directory tests.Nick Mathewson
2012-05-31Merge remote-tracking branch 'public/bug5374'Nick Mathewson
2012-05-31Merge remote-tracking branch 'linus/bug4873_ln'Nick Mathewson
2012-05-31Merge remote-tracking branch 'public/bug5541_v2'Nick Mathewson
2012-05-31Merge remote-tracking branch 'public/close_file_mapping'Nick Mathewson
Conflicts: src/common/compat.h Conflict was between replacement of MS_WINDOWS with _WIN32 in master, and with removal of file_handle from tor_mmap_t struct in close_file_mapping branch (for bug 5951 fix).
2012-05-31reindent CreateFile arguments.Nick Mathewson
2012-05-31Merge remote-tracking branch 'linus/bug5355_ln'Nick Mathewson
2012-05-31Merge remote-tracking branch 'public/bug1938'Nick Mathewson
2012-05-31Merge remote-tracking branch 'public/bug2954_more'Nick Mathewson
2012-05-31Remove unexpected "unexpectedly".Linus Nordberg
2012-05-31Remove spurioius return in one out of four if-else clauses.Linus Nordberg
We do return right after the if-else. This return (with its confusing comments) comes from before 6b7c3b42 but doesn't make sense now.
2012-05-31Merge remote-tracking branch 'public/bug3196'Nick Mathewson
2012-05-31Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
(For bug 5969 fix)
2012-05-30Fix more clang format-nonliteral warnings (bug 5969)Nick Mathewson
2012-05-30Merge branch 'bug5604'Nick Mathewson
2012-05-30Add a little documentation for the bug5604 fixNick Mathewson
2012-05-30Merge remote-tracking branch 'public/bug5954'Nick Mathewson
2012-05-30Merge remote-tracking branch 'linus/bug4369'Nick Mathewson
2012-05-30Add __attribute__(format)s for our varargs printf/scanf wrappersNick Mathewson
It turns out that if you set the third argument of __attribute__(format) to 0, GCC and Clang will check the format argument without expecting to find variadic arguments. This is the correct behavior for vsnprintf, vasprintf, and vscanf. I'm hoping this will fix bug 5969 (a clang warning) by telling clang that the format argument to tor_vasprintf is indeed a format string.
2012-05-30Fix clang 3.1 compile warning in crypto.cSebastian Hahn
(Tweaked by nickm)
2012-05-30Fix a typo in changes/bug5916Nick Mathewson
2012-05-30Merge remote-tracking branch 'public/bug5916'Nick Mathewson
2012-05-29Don't stomp on errno.Linus Nordberg
2012-05-29Fix minor typo in warning printout.Linus Nordberg
2012-05-24Delay getsockname() call until after connect() is doneNick Mathewson
On Windows, getsockname() on a nonblocking apparently won't work until the connection is done connecting. On XP, it seems to fail by reporting success and declaring that your address is INADDR_ANY. On the Win8 preview, though, it fails more loudly and says WSAEINVAL. Fix for bug 5374; bugfix on 0.1.1.14-alpha.
2012-05-24Have get_parent_directory() handle "/foo" and "/" correctly.Nick Mathewson
The parent of "/foo" is "/"; and "/" is its own parent. This would cause Tor to fail if you tried to have a PF_UNIX control socket in the root directory. That would be a stupid thing to do for other reasons, but there's no reason to fail like _this_. Bug found by Esteban Manchado Velázquez. Fix for bug 5089; bugfix on Tor 0.2.2.26-beta. Unit test included.
2012-05-24Change an assertion into a warning in connection_or_handle_event_cb()Nick Mathewson
Possibly addresses bug 4873, though IMO that's likely not a real bug: it seems likely to have been an ssl version mismatch.
2012-05-24Abort writing cached-microdescs if a failed write has occurred.Nick Mathewson
Bug 2954; fix on 0.2.2.6-alpha.
2012-05-24New "GETINFO dormant" to report whether Tor has gone idleNick Mathewson
Torbutton needs this; see bug 5954 and 4718.
2012-05-24forward-port the 0.2.2.36 changelogRoger Dingledine
2012-05-23Close the windows file handle after CreateFileMapping; it isn't neededNick Mathewson
I did the changes file; the rest came pseudonymously
2012-05-18Fix the unittest breakage introduced by a8a862c.George Kadianakis
2012-05-18Merge remote-tracking branch 'asn/bug5602'Nick Mathewson
2012-05-18Fix a hard-to-trigger memory leak in launch_resolveNick Mathewson
To hit this leak, you need to be a relay that gets a RESOLVE request or an exit node getting a BEGIN or RESOLVE request. You must either have unconfigured (and unconfigurable) nameservers, or you must have somehow set DisableNetwork after a network request arrived but before you managed to process it. So, I doubt this is reached often. Still, a leak's a leak. Fix for bug 5916; bugfix on 0.2.3.9-alpha and 0.1.2.1-alpha.