summaryrefslogtreecommitdiff
path: root/changes
AgeCommit message (Collapse)Author
2014-10-20Memwipe more keys after tor has finished with themteor
Ensure we securely wipe keys from memory after crypto_digest_get_digest and init_curve25519_keypair_from_file have finished using them. Fixes bug 13477.
2014-10-16Merge remote-tracking branch 'origin/maint-0.2.5'Nick Mathewson
2014-10-16Downgrade 'unexpected sendme cell from client' to PROTOCOL_WARNNick Mathewson
Closes 8093.
2014-10-16Merge remote-tracking branch 'yawning/bug13314'Nick Mathewson
2014-10-16Merge remote-tracking branch 'origin/maint-0.2.5'Nick Mathewson
2014-10-16Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5Nick Mathewson
2014-10-16Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson
2014-10-16Merge branch 'no_sslv3_023' into maint-0.2.3Nick Mathewson
2014-10-15Disable SSLv3 unconditionally. Closes ticket 13426.Nick Mathewson
The POODLE attack doesn't affect Tor, but there's no reason to tempt fate: SSLv3 isn't going to get any better.
2014-10-13Merge remote-tracking branch 'public/bug11243_squashed'Nick Mathewson
2014-10-13Treat unparseable (micro)descriptors and extrainfos as undownloadableNick Mathewson
One pain point in evolving the Tor design and implementing has been adding code that makes clients reject directory documents that they previously would have accepted, if those descriptors actually exist. When this happened, the clients would get the document, reject it, and then decide to try downloading it again, ad infinitum. This problem becomes particularly obnoxious with authorities, since if some authorities accept a descriptor that others don't, the ones that don't accept it would go crazy trying to re-fetch it over and over. (See for example ticket #9286.) This patch tries to solve this problem by tracking, if a descriptor isn't parseable, what its digest was, and whether it is invalid because of some flaw that applies to the portion containing the digest. (This excludes RSA signature problems: RSA signatures aren't included in the digest. This means that a directory authority can still put another directory authority into a loop by mentioning a descriptor, and then serving that descriptor with an invalid RSA signatures. But that would also make the misbehaving directory authority get DoSed by the server it's attacking, so it's not much of an issue.) We already have a mechanism to mark something undownloadable with downloadstatus_mark_impossible(); we use that here for microdescriptors, extrainfos, and router descriptors. Unit tests to follow in another patch. Closes ticket #11243.
2014-10-12Avoid overflow in format_time_interval, create unit teststeor
Fix an instance of integer overflow in format_time_interval() when taking the absolute value of the supplied signed interval value. Fixes bug 13393. Create unit tests for format_time_interval().
2014-10-09Remove is_router_version_good_for_possible_guard()Nick Mathewson
The versions which this function would keep from getting the guard flag are already blocked by the minimum version check. Closes 13152.
2014-10-09Merge remote-tracking branch 'public/bug10816'Nick Mathewson
2014-10-09Merge remote-tracking branch ↵Nick Mathewson
'teor/bug-13163-AlternateAuthorities-type-handling-fixed'
2014-10-08Merge remote-tracking branches 'teor/issue-13161-test-network' and ↵Nick Mathewson
'teor/issue-13161-TestingDirAuthVoteExit'
2014-10-08Merge remote-tracking branch 'teor/test-network-hang-on-make-j2'Nick Mathewson
2014-10-08Bitwise check BRIDGE_DIRINFOteor
Bitwise check for the BRIDGE_DIRINFO flag, rather than checking for equality. Fixes a (potential) bug where directories offering BRIDGE_DIRINFO, and some other flag (i.e. microdescriptors or extrainfo), would be ignored when looking for bridge directories. Final fix in series for bug 13163.
2014-10-08Improve DIRINFO flags' usage commentsteor
Document usage of the NO_DIRINFO and ALL_DIRINFO flags clearly in functions which take them as arguments. Replace 0 with NO_DIRINFO in a function call for clarity. Seeks to prevent future issues like 13163.
2014-10-08Stop using default authorities with both Alternate Dir and Bridge Authorityteor
Stop using the default authorities in networks which provide both AlternateDirAuthority and AlternateBridgeAuthority. This bug occurred due to an ambiguity around the use of NO_DIRINFO. (Does it mean "any" or "none"?) Partially fixes bug 13163.
2014-10-04Stop an apparent test-network hang when used with make -j2teor
If (GNU) Make 3.81 is running processes in parallel using -j2 (or more), it waits until all descendent processes have exited before it returns to the shell. When a command like "make -j2 test-network" is run, this means that test-network.sh apparently hangs until it either make is forcibly terminated, or all the chutney-launched tor processes have exited. A workaround is to use make without -j, or make -j1 if there is an existing alias to "make -jn" in the shell. We resolve this bug in tor by using "chutney stop" after "chutney verify" in test-network.sh.
2014-10-03Merge remote-tracking branch 'origin/maint-0.2.5'Nick Mathewson
2014-10-03Merge remote-tracking branch 'public/bug13325_024' into maint-0.2.5Nick Mathewson
2014-10-03Run correctly on OpenBSD systems without SSL_METHOD.get_cipher_by_charNick Mathewson
Also, make sure we will compile correctly on systems where they finally rip it out. Fixes issue #13325. Caused by this openbsd commit: ​http://marc.info/?l=openbsd-cvs&m=140768179627976&w=2 Reported by Fredzupy.
2014-10-01Send back SOCKS5 errors for all of the address related failures.Yawning Angel
Cases that now send errors: * Malformed IP address (SOCKS5_GENERAL_ERROR) * CONNECT/RESOLVE request with IP, when SafeSocks is set (SOCKS5_NOT_ALLOWED) * RESOLVE_PTR request with FQDN (SOCKS5_ADDRESS_TYPE_NOT_SUPPORTED) * Malformed FQDN (SOCKS5_GENERAL_ERROR) * Unknown address type (SOCKS5_ADDRESS_TYPE_NOT_SUPPORTED) Fixes bug 13314.
2014-10-01Add test-network delay optionteor
Add a --delay option to test-network.sh, which configures the delay before the chutney network tests for data transmission. The default remains at 18 seconds if the argument isn't specified. Apparently we should be using bootstrap status for this (eventually). Partially implements ticket 13161.
2014-10-01test-network.sh: Use "/bin/echo -n" rather than builtin echoteor
The default shell on OS X is bash, which has a builtin echo. When called in "sh" mode, this echo does not accept "-n". This patch uses "/bin/echo -n" instead. Partially fixes issue 13161.
2014-10-01Add TestingDirAuthVoteExit option (like TestingDirAuthVoteGuard)teor
Add the TestingDirAuthVoteExit option, a list of nodes to vote Exit for, regardless of their uptime, bandwidth, or exit policy. TestingTorNetwork must be set for this option to have any effect. Works around an issue where authorities would take up to 35 minutes to give nodes the Exit flag in a test network, despite short consensus intervals. Partially implements ticket 13161.
2014-09-29Clear the cached address from resolve_my_address() when our IP changesNick Mathewson
Closes 11582; patch from "ra".
2014-09-29Merge remote-tracking branch 'origin/maint-0.2.5'Nick Mathewson
2014-09-29Don't use the getaddrinfo sandbox cache from tor-resolveNick Mathewson
Fixes bug 13295; bugfix on 0.2.5.3-alpha. The alternative here is to call crypto_global_init() from tor-resolve, but let's avoid linking openssl into tor-resolve for as long as we can.
2014-09-29Note when 13290 was introduced.Nick Mathewson
2014-09-29Merge remote-tracking branch 'teor/circuitstats-pareto-avoid-div-zero'Nick Mathewson
2014-09-29Note when 13291 was introduced.Nick Mathewson
2014-09-29Stop spawn test failures due to a race condition with SIGCHLD on process exitteor
When a spawned process forks, fails, then exits very quickly, (this typically occurs when exec fails), there is a race condition between the SIGCHLD handler updating the process_handle's fields, and checking the process status in those fields. The update can occur before or after the spawn tests check the process status. We check whether the process is running or not running (rather than just checking if it is running) to avoid this issue.
2014-09-29Merge branch 'bug12971_take2_squashed'Nick Mathewson
2014-09-29Respond with 'Command not supported' SOCKS5 reply message upon reception of ↵rl1987
unsupported request.
2014-09-29Merge branch 'ticket961_squashed'Nick Mathewson
2014-09-29Changes file for ticket 961Nick Mathewson
2014-09-29Merge remote-tracking branch 'yawning/bug13213'Nick Mathewson
2014-09-29Merge remote-tracking branch 'rl1987/bug13228'Nick Mathewson
2014-09-29Avoid division by zero in circuitstats paretoteor
In circuit_build_times_calculate_timeout() in circuitstats.c, avoid dividing by zero in the pareto calculations. If either the alpha or p parameters are 0, we would divide by zero, yielding an infinite result; which would be clamped to INT32_MAX anyway. So rather than dividing by zero, we just skip the offending calculation(s), and use INT32_MAX for the result. Division by zero traps under clang -fsanitize=undefined-trap -fsanitize-undefined-trap-on-error.
2014-09-29Stop test & bench build failures with --disable-curve25519teor
Ensure test & bench code that references curve25519 is disabled by the appropriate macros. tor now builds with and without --disable-curve25519.
2014-09-28Stop spurious clang shallow analysis null pointer errorsteor
Avoid 4 null pointer errors under clang shallow analysis (the default when building under Xcode) by using tor_assert() to prove that the pointers aren't null. Resolves issue 13284 via minor code refactoring.
2014-09-28Improving error message.rl1987
2014-09-25Require two c99 features (midblock decls, designated initializers)Nick Mathewson
c99 lets us do neat stuff like: { int j, k; foo(&j, &k); int z = j + k; } and also struct point { int x; int y; }; struct point pt = { .x=5, .y=5 }; This commit makes the configure scripts check to make sure your compiler implements them. It also disables our longstanding warning about midblock declarations. Closes ticket 13233.
2014-09-24Do not launch pluggable transport plugins when DisableNetwork is set.Yawning Angel
When DisableNetwork is set, do not launch pluggable transport plugins, and if any are running already, terminate the existing instances. Resolves ticket 13213.
2014-09-22Merge remote-tracking branch 'public/bug12693_025'Nick Mathewson
2014-09-22Merge branch 'bug8197_squashed'Nick Mathewson
Conflicts: src/test/test_policy.c
2014-09-22Adding changes file for 8197.rl1987