aboutsummaryrefslogtreecommitdiff
path: root/changes
AgeCommit message (Collapse)Author
2014-07-16add changes file for 12503Nick Mathewson
2014-06-20Thread support is now requiredNick Mathewson
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.
2014-06-20Remove code for Windows CE supportNick Mathewson
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.
2014-06-20Authorities also advertise caches-extra-infoNick Mathewson
(Whoops, thought I had committed this before) Improvement to 11683 fix. Based on patch from Karsten.
2014-06-19Merge remote-tracking branch 'karsten/bug11683'Nick Mathewson
2014-06-16Bring remaining 0.2.5.5-alpha entries into changelogNick Mathewson
2014-06-16manpage: Move more authority-only options into the authority sectionNick Mathewson
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.
2014-06-14Merge branch 'bug8746_v2_squashed'Nick Mathewson
Conflicts: src/common/include.am
2014-06-14changes file for 8746Nick Mathewson
2014-06-14Merge branch 'bug12184_diagnostic_squashed'Nick Mathewson
2014-06-14Try to diagnose bug 12184Nick Mathewson
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.
2014-06-13Merge branch 'bug12191_squashed'Nick Mathewson
2014-06-13Also raise the check for 0 circuit ID in created cell.Nick Mathewson
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.
2014-06-11Merge remote-tracking branch 'public/ticket6799_024_v2_squashed'Nick Mathewson
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.
2014-06-11Tweak changes entry for 6799Nick Mathewson
2014-06-11Replace last_added_nonpadding with last_had_circuitsNick Mathewson
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.
2014-06-11Give each or_connection_t a slightly randomized idle_timeoutNick Mathewson
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.
2014-06-11Merge remote-tracking branch 'public/bug11970'Nick Mathewson
2014-06-11Merge remote-tracking branch 'public/not_bug8093'Nick Mathewson
2014-06-11Merge remote-tracking branch 'public/more_bug8387_diagnosis'Nick Mathewson
2014-06-10Move circuit-id-in-use check for CREATE cells to before all other checksNick Mathewson
This means that we never send a DESTROY cell in response to an attempt to CREATE an existing circuit. Fixes bug 12191.
2014-06-10Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2014-06-10Fix changes file for geoipNick Mathewson
2014-06-10Update geoip6 to the June 4 2014 database.Karsten Loesing
2014-06-10Improved diagnostic log for bug 8387.Nick Mathewson
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.
2014-06-10Merge remote-tracking branch 'public/bug12227_024'Nick Mathewson
2014-06-10Avoid illegal read off end of an array in prune_v2_cipher_listNick Mathewson
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.
2014-06-04Merge remote-tracking branch 'public/bug12169_relay_check'Nick Mathewson
2014-06-04Merge remote-tracking branch 'andrea/bug10616'Nick Mathewson
2014-06-04put the right trac ticket number in changes fileNick Mathewson
2014-06-04Merge remote-tracking branch 'public/bug12195'Nick Mathewson
2014-06-03Fix ancient code that only checked circ_id, not circ_id and chanNick Mathewson
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.
2014-06-03Add changes file for bug10616Andrea Shepard
2014-06-02fix #10405's changes fileRoger Dingledine
2014-06-02Don't try to fetch bridge descriptors when DisableNetwork is setNick Mathewson
Patch from Roger; changes file by me. Fixes 10405; bugfix on 0.2.3.9-alpha, where DisableNetwork was introduced.
2014-06-02Merge remote-tracking branch 'public/bug12170_024_v2'Nick Mathewson
2014-06-02Avoid needless router_dir_info_has_changed from router_set_statusNick Mathewson
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().
2014-06-01Use uint32 !=, not tor_memneq, for relay cell integrity checkingNick Mathewson
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.
2014-05-29Start on the 0.2.5.5-alpha changelog.Nick Mathewson
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.
2014-05-29sandbox: allow enough setsockopt to make ConstrainedSockets workNick Mathewson
fixes bug 12139; bugfix on 0.2.5.1-alpha
2014-05-27sandbox: permit listen(2)Nick Mathewson
Fix for 12115; bugfix on 0.2.5.1-alpha
2014-05-27Make sandbox.c compile on armNick Mathewson
This is a minimal set of changes for compilation; I need a more recent kernel to test this stuff.
2014-05-23Merge branch 'bug11965_v2'Nick Mathewson
2014-05-23Postpone fetches based on should_delay_dir_fetch(), not DisableNetworkNick Mathewson
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.
2014-05-22sandbox: allow reading of hidden service configuration files.Nick Mathewson
fixes part of 12064
2014-05-22changes file for 12064_part1Nick Mathewson
2014-05-22Documentation fix: DataDir/status/* -> DataDir/stats/*Nick Mathewson
Our documentation had the name of this directory wrong.
2014-05-22sandbox: revamp sandbox_getaddrinfo cacheingNick Mathewson
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.
2014-05-22Merge remote-tracking branch 'andrea/bug11476'Nick Mathewson
2014-05-20sandbox: permit gettid, sched_getaffinityNick Mathewson
These are needed under some circumstances if we are running with expensive-hardening and sandbox at the same time. fixes 11477, bugfix on 0.2.5.4-alpha (where we introduced expensive-hardening)