aboutsummaryrefslogtreecommitdiff
path: root/changes
Commit message (Collapse)AuthorAge
* Thread support is now requiredNick Mathewson2014-06-20
| | | | | | | | | | | Long ago we supported systems where there was no support for threads, or where the threading library was broken. We shouldn't have do that any more: on every OS that matters, threads exist, and the OS supports running threads across multiple CPUs. This resolves tickets 9495 and 12439. It's a prerequisite to making our workqueue code work better, since sensible workqueue implementations don't split across multiple processes.
* Remove code for Windows CE supportNick Mathewson2014-06-20
| | | | | | | As far as I know, nobody has used this in ages. It would be a pretty big surprise if it had worked. Closes ticket 11446.
* Authorities also advertise caches-extra-infoNick Mathewson2014-06-20
| | | | | | (Whoops, thought I had committed this before) Improvement to 11683 fix. Based on patch from Karsten.
* Merge remote-tracking branch 'karsten/bug11683'Nick Mathewson2014-06-19
|\
| * Believe that v3 dirauths always serve extra infos.Karsten Loesing2014-05-05
| | | | | | | | | | | | | | | | Clients should always believe that v3 directory authorities serve extra-info documents, regardless of whether their server descriptor contains a "caches-extra-info" line or not. Fixes part of #11683.
* | Bring remaining 0.2.5.5-alpha entries into changelogNick Mathewson2014-06-16
| |
* | manpage: Move more authority-only options into the authority sectionNick Mathewson2014-06-16
| | | | | | | | | | | | I don't know whether we missed these or misclassified them when we first made the "DIRECTORY AUTHORITY SERVER OPTIONS" section, but they really belong there.
* | Merge branch 'bug8746_v2_squashed'Nick Mathewson2014-06-14
|\ \ | | | | | | | | | | | | Conflicts: src/common/include.am
| * | changes file for 8746Nick Mathewson2014-06-14
| | |
* | | Merge branch 'bug12184_diagnostic_squashed'Nick Mathewson2014-06-14
|\ \ \
| * | | Try to diagnose bug 12184Nick Mathewson2014-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Check for consistency between the queued destroy cells and the marked circuit IDs. Check for consistency in the count of queued destroy cells in several ways. Check to see whether any of the marked circuit IDs have somehow been marked longer than the channel has existed.
* | | | Merge branch 'bug12191_squashed'Nick Mathewson2014-06-13
|\ \ \ \
| * | | | Also raise the check for 0 circuit ID in created cell.Nick Mathewson2014-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And add a comment about why conditions that would cause us to drop a cell should get checked before actions that would cause us to send a destroy cell. Spotted by 'cypherpunks'. And note that these issues have been present since 0.0.8pre1 (commit 0da256ef), where we added a "shutting down" state, and started responding to all create cells with DESTROY when shutting down.
| * | | | Move circuit-id-in-use check for CREATE cells to before all other checksNick Mathewson2014-06-10
| |/ / / | | | | | | | | | | | | | | | | This means that we never send a DESTROY cell in response to an attempt to CREATE an existing circuit. Fixes bug 12191.
* | | | Merge remote-tracking branch 'public/ticket6799_024_v2_squashed'Nick Mathewson2014-06-11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/channel.c src/or/circuitlist.c src/or/connection.c Conflicts involved removal of next_circ_id and addition of unusable-circid tracking.
| * | | | Tweak changes entry for 6799Nick Mathewson2014-06-11
| | | | |
| * | | | Replace last_added_nonpadding with last_had_circuitsNick Mathewson2014-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The point of the "idle timeout" for connections is to kill the connection a while after it has no more circuits. But using "last added a non-padding cell" as a proxy for that is wrong, since if the last circuit is closed from the other side of the connection, we will not have sent anything on that connection since well before the last circuit closed. This is part of fixing 6799. When applied to 0.2.5, it is also a fix for 12023.
| * | | | Give each or_connection_t a slightly randomized idle_timeoutNick Mathewson2014-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of killing an or_connection_t that has had no circuits for the last 3 minutes, give every or_connection_t a randomized timeout, so that an observer can't so easily infer from the connection close time the time at which its last circuit closed. Also, increase the base timeout for canonical connections from 3 minutes to 15 minutes. Fix for ticket 6799.
* | | | | Merge remote-tracking branch 'public/bug11970'Nick Mathewson2014-06-11
|\ \ \ \ \
| * | | | | sandbox: revamp sandbox_getaddrinfo cacheingNick Mathewson2014-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old cache had problems: * It needed to be manually preloaded. (It didn't remember any address you didn't tell it to remember) * It was AF_INET only. * It looked at its cache even if the sandbox wasn't turned on. * It couldn't remember errors. * It had some memory management problems. (You can't use memcpy to copy an addrinfo safely; it has pointers in.) This patch fixes those issues, and moves to a hash table. Fixes bug 11970; bugfix on 0.2.5.1-alpha.
* | | | | | Merge remote-tracking branch 'public/not_bug8093'Nick Mathewson2014-06-11
|\ \ \ \ \ \
| * | | | | | put the right trac ticket number in changes fileNick Mathewson2014-06-04
| | | | | | |
| * | | | | | count DATA cells with stream ID 0 as delivered for SENDME purposesNick Mathewson2013-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found while investigating 8093, but probably not the cause of it, since this bug would result in us sending too few SENDMEs, not in us receiving SENDMEs unexpectedly. Bugfix on the fix for 7889, which has appeared in 0.2.4.10-alpha, but not yet in any released 0.2.3.x version.
* | | | | | | Merge remote-tracking branch 'public/more_bug8387_diagnosis'Nick Mathewson2014-06-11
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | |
| * | | | | | Improved diagnostic log for bug 8387.Nick Mathewson2014-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we find a stranded one-hop circuit, log whether it is dirty, log information about any streams on it, and log information about connections they might be linked to.
* | | | | | | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2014-06-10
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | Fix changes file for geoipNick Mathewson2014-06-10
| | | | | | |
| * | | | | | Update geoip6 to the June 4 2014 database.Karsten Loesing2014-06-10
| | | | | | |
* | | | | | | Merge remote-tracking branch 'public/bug12227_024'Nick Mathewson2014-06-10
|\ \ \ \ \ \ \
| * | | | | | | Avoid illegal read off end of an array in prune_v2_cipher_listNick Mathewson2014-06-10
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function is supposed to construct a list of all the ciphers in the "v2 link protocol cipher list" that are supported by Tor's openssl. It does this by invoking ssl23_get_cipher_by_char on each two-byte ciphersuite ID to see which ones give a match. But when ssl23_get_cipher_by_char cannot find a match for a two-byte SSL3/TLS ciphersuite ID, it checks to see whether it has a match for a three-byte SSL2 ciphersuite ID. This was causing a read off the end of the 'cipherid' array. This was probably harmless in practice, but we shouldn't be having any uninitialized reads. (Using ssl23_get_cipher_by_char in this way is a kludge, but then again the entire existence of the v2 link protocol is kind of a kludge. Once Tor 0.2.2 clients are all gone, we can drop this code entirely.) Found by starlight. Fix on 0.2.4.8-alpha. Fixes bug 12227.
* | | | | | | Merge remote-tracking branch 'public/bug12169_relay_check'Nick Mathewson2014-06-04
|\ \ \ \ \ \ \
| * | | | | | | Use uint32 !=, not tor_memneq, for relay cell integrity checkingNick Mathewson2014-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor_memeq has started to show up on profiles, and this is one of the most frequent callers of that function, appearing as it does on every cell handled for entry or exit. 59f9097d5c3dc010847c359888d31757d1c97904 introduced tor_memneq here; it went into Tor 0.2.1.31. Fixes part of 12169.
* | | | | | | | Merge remote-tracking branch 'andrea/bug10616'Nick Mathewson2014-06-04
|\ \ \ \ \ \ \ \
| * | | | | | | | Add changes file for bug10616Andrea Shepard2014-06-03
| |/ / / / / / /
* | | | | | | | Merge remote-tracking branch 'public/bug12195'Nick Mathewson2014-06-04
|\ \ \ \ \ \ \ \
| * | | | | | | | Fix ancient code that only checked circ_id, not circ_id and chanNick Mathewson2014-06-03
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code mis-handled the case where a circuit got the same circuit ID in both directions. I found three instances of it in the codebase, by grepping for [pn]_circ_id. Because of the issue in command_process_relay_cell(), this would have made roughly one circuit in a million completely nonfunctional. Fixes bug 12195.
* | | | | | | | fix #10405's changes fileRoger Dingledine2014-06-02
| | | | | | | |
* | | | | | | | Don't try to fetch bridge descriptors when DisableNetwork is setNick Mathewson2014-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Roger; changes file by me. Fixes 10405; bugfix on 0.2.3.9-alpha, where DisableNetwork was introduced.
* | | | | | | | Merge remote-tracking branch 'public/bug12170_024_v2'Nick Mathewson2014-06-02
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | |
| * | | | | | | Avoid needless router_dir_info_has_changed from router_set_statusNick Mathewson2014-06-02
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some profiles of Andrea's from #11332, I found that a great deal of time can still be attributed to functions called from update_router_have_minimum_dir_info(). This is making our digestmap, tor_memeq, and siphash functions take a much bigger portion of runtime than they really should. If we're calling update_router_have_minimum_dir_info() too often, that's because we're calling router_dir_info_changed() too often. And it looks like most of the callers of router_dir_info_changed() are coming as tail-calls from router_set_status() as invoked by channel_do_open_actions(). But we don't need to call router_dir_info_changed() so much! (I'm not quite sure we need to call it from here at all, but...) Surely we don't need to call it from router_set_status when the router's status has not actually changed. This patch makes us call router_dir_info_changed() from router_set_status only when we are changing the router's status. Fix for bug 12170. This is leftover from our fix back in 273ee3e81 in 0.1.2.1-alpha, where we started caching the value of update_router_have_minimum_dir_info().
* | | | | | | Start on the 0.2.5.5-alpha changelog.Nick Mathewson2014-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've copied the entries from changes/, labeled the ones that also appeared in 0.2.4.22, sorted them lightly with a python script (added to maint), and combined sections with the same name. I didn't combine sections without a description (e.g. "Minor bugfixes:"), since we'll probably add a description to those.
* | | | | | | sandbox: allow enough setsockopt to make ConstrainedSockets workNick Mathewson2014-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes bug 12139; bugfix on 0.2.5.1-alpha
* | | | | | | sandbox: permit listen(2)Nick Mathewson2014-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix for 12115; bugfix on 0.2.5.1-alpha
* | | | | | | Make sandbox.c compile on armNick Mathewson2014-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a minimal set of changes for compilation; I need a more recent kernel to test this stuff.
* | | | | | | Merge branch 'bug11965_v2'Nick Mathewson2014-05-23
|\ \ \ \ \ \ \
| * | | | | | | Postpone fetches based on should_delay_dir_fetch(), not DisableNetworkNick Mathewson2014-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this fix, when running with bridges, we would try fetching directory info far too early, and have up to a 60 second delay if we started with bridge descriptors available. Fixes bug 11965. Fix on 0.2.3.6-alpha, arma thinks.
* | | | | | | | sandbox: allow reading of hidden service configuration files.Nick Mathewson2014-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes part of 12064
* | | | | | | | changes file for 12064_part1Nick Mathewson2014-05-22
| | | | | | | |
* | | | | | | | Documentation fix: DataDir/status/* -> DataDir/stats/*Nick Mathewson2014-05-22
| |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | Our documentation had the name of this directory wrong.
* | | | | | | Merge remote-tracking branch 'andrea/bug11476'Nick Mathewson2014-05-22
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |