aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Expand)AuthorAge
* Count unknown authorities as unknown only once, not once per signature.•••Do not double-report signatures from unrecognized authorities both as "from unknown authority" and "not present". Fixes bug 1956, bugfix on 0.2.2.16-alpha. Nick Mathewson2010-09-20
* Attempt to fix compilation on Windows•••Our attempt to make compilation work on old versions of Windows again while keeping wince compatibility broke the build for Win2k+. helix reports this patch fixes the issue for WinXP. Bugfix on 0.2.2.15-alpha; related to bug 1797. Sebastian Hahn2010-09-19
* bump to 0.2.2.16-alpha-devRoger Dingledine2010-09-17
* best tor ever!Roger Dingledine2010-09-17
* I hear we are close to a release. Clean up the whitespace.Nick Mathewson2010-09-16
* Merge remote branch 'sebastian/bug1921'Nick Mathewson2010-09-16
|\
| * Demote a warn when enabling CellStatistics•••When the CellStatistics option is off, we don't store cell insertion times. Doing so would also not be very smart, because there seem to still be some performance issues with this type of statistics. Nothing harmful happens when we don't have insertion times, so we don't need to alarm the user. Sebastian Hahn2010-09-16
* | perconnbwrate and perconnbwburst consensus paramsRoger Dingledine2010-09-16
|/
* Merge branch 'bug1184'Nick Mathewson2010-09-15
|\
| * Never queue a cell on a marked circuitNick Mathewson2010-09-15
| * Clear cell queues when marking or truncating a circuit.•••At best, this patch helps us avoid sending queued relayed cells that would get ignored during the time between when a destroy cell is sent and when the circuit is finally freed. At worst, it lets us release some memory a little earlier than it would otherwise. Fix for bug #1184. Bugfix on 0.2.0.1-alpha. Nick Mathewson2010-07-30
* | Add a simple integer-ceiling-division macro before we get it wrongNick Mathewson2010-09-14
* | Merge branch 'bug1899'Nick Mathewson2010-09-14
|\ \
| * | Extract the "do these routers have the same addr:orport" logic into a fnNick Mathewson2010-09-14
| * | Launch reachability tests for routers whose IP or ORPort change•••Implements #1899, suggested by Sebastian. Depends on #911 fix. Nick Mathewson2010-09-03
* | | Merge branch 'bug911'Nick Mathewson2010-09-14
|\ \ \
| * | | Tweak some issues found by arma in bug911 review.Nick Mathewson2010-09-14
| |/ /
| * | Move code for launching tests out of router_add_to_routerlist()•••router_add_to_routerlist() is supposed to be a nice minimal function that only touches the routerlist structures, but it included a call to dirserv_single_reachability_test(). We have a function that gets called _after_ adding descriptors successfully: routerlist_descriptors_added. This patch moves the responsibility for testing there. Because the decision of whether to test or not depends on whether there was an old routerinfo for this router or not, we have to first detect whether we _will_ want to run the tests if the router is added. We make this the job of routers_update_status_from_consensus_networkstatus(). Finally, this patch makes the code notice if a router is going from hibernating to non-hibernating, and if so causes a reachability test to get launched. Nick Mathewson2010-08-18
| * | Allow some skew in checking when a router said it was hibernating•••This solves the problem Roger noted as: What if the router has a clock that's 5 minutes off, so it publishes a descriptor for 5 minutes in the future, and we test it three minutes in. In this edge case, we will continue to advertise it as Running for the full 45 minute period. Nick Mathewson2010-08-18
| * | Clarify AssumeReachable semantics wrt hibernationNick Mathewson2010-08-18
| * | Add some braces to make arma happyNick Mathewson2010-08-18
| * | If a router is hibernating, never vote that it is Running.•••Also, clean up and comment some of the logic in dirserv_set_router_is_running. Nick Mathewson2010-07-31
| |/
* | Merge remote branch 'sebastian/bug1776_v3'Nick Mathewson2010-09-14
|\ \
| * | Allow clients to use relays as bridgesSebastian Hahn2010-08-20
* | | Make circuit_resume_edge_reading_helper treat streams more fairly.•••Previously[*], the function would start with the first stream on the circuit, and let it package as many cells as it wanted before proceeding to the next stream in turn. If a circuit had many live streams that all wanted to package data, the oldest would get preference, and the newest would get ignored. Now, we figure out how many cells we're willing to send per stream, and try to allocate them fairly. Roger diagnosed this in the comments for bug 1298. [*] This bug has existed since before the first-ever public release of Tor. It was added by r152 of Tor on 26 Jan 2003, which was the first commit to implement streams (then called "topics"). This is not the oldest bug to be fixed in 0.2.2.x: that honor goes to the windowing bug in r54, which got fixed in e50b7768 by Roger with diagnosis by Karsten. This is, however, the most long-lived bug to be fixed in 0.2.2.x: the r54 bug was fixed 2580 days after it was introduced, whereas I am writing this commit message 2787 days after r152. Nick Mathewson2010-09-13
* | | Add a max_cells arg to connection_edge_process_raw_inbuf•••I'm going to use this to implement more fairness in circuit_resume_edge_reading_helper in an attempt to fix bug 1298. (Updated with fixes from arma and Sebastian) Nick Mathewson2010-09-13
* | | Fix function declaration linebreaks at start of relay.cNick Mathewson2010-09-13
* | | Merge remote branch 'public/pretty-signature-log'Nick Mathewson2010-09-13
|\ \ \
| * | | Complicate the rules on WARN vs INFO in consensus verification•••It's normal when bootstrapping to have a lot of different certs missing, so we don't want missing certs to make us warn... unless the certs we're missing are ones that we've tried to fetch a couple of times and failed at. May fix bug 1145. Nick Mathewson2010-09-02
| * | | Make the "2 unknown, 7 missing key..." messages easier to understand•••This patch should fix the cases we care about for bugs 1290 and 1145. "30-56-99 are correct. Limited 4 and 8 are missing". Nick Mathewson2010-08-19
* | | | Merge remote branch 'sebastian/bug1525'Nick Mathewson2010-09-13
|\ \ \ \
| * | | | Update some documentation for the bug 1525 fixSebastian Hahn2010-08-08
| * | | | Ensure controller RESOLVE commands respect __LeaveStreamsUnattached•••https://trac.torproject.org/projects/tor/ticket/1525 "The codepath taken by the control port "RESOLVE" command to create a synthetic SOCKS resolve request isn't the same as the path taken by a real SOCKS request from 'tor-resolve'. This prevents controllers who set LeaveStreamsUnattached=1 from being able to attach RESOLVE streams to circuits of their choosing." Create a new function connection_ap_rewrite_and_attach_if_allowed() and call that when Tor needs to attach a stream to a circuit but needs to know if the controller permits it. No tests added. Robert Hogan2010-08-08
* | | | | Merge branch 'bug1138'Nick Mathewson2010-09-12
|\ \ \ \ \
| * | | | | Clean up a couple more bug1138 issues mentioned by roger on code reviewNick Mathewson2010-09-12
| * | | | | Handle null conn->requested_resource rather than assert•••Per arma's comments in bug1138 Robert Hogan2010-09-12
| * | | | | Nick points out:•••tor_assert(!conn->_base.purpose == DIR_PURPOSE_FETCH_EXTRAINFO) != tor_assert(conn->_base.purpose != DIR_PURPOSE_FETCH_EXTRAINFO) !! Robert Hogan2010-09-02
| * | | | | Amend per Sebastian's comments:••• - Move checks for extra_info to callers - Change argument name from failed to descs - Use strlen("fp/") instead of a magic number - I passed on the suggestion to rename functions from *_failed() to *_handle_failure(). There are a lot of these so for now just follow the house style. Robert Hogan2010-09-02
| * | | | | Fall back to direct descriptor request to bridges when••• requests to authorities fail due to a network error. Bug#1138 "When a Tor client starts up using a bridge, and UpdateBridgesFromAuthority is set, Tor will go to the authority first and look up the bridge by fingerprint. If the bridge authority is filtered, Tor will never notice that the bridge authority lookup failed. So it will never fall back." Add connection_dir_bridge_routerdesc_failed(), a function for unpacking the bridge information from a failed request, and ensure connection_dir_request_failed() calls it if the failed request was for a bridge descriptor. Test: 1. for ip in `grep -iR 'router ' cached-descriptors|cut -d ' ' -f 3`; do sudo iptables -A OUTPUT -p tcp -d $ip -j DROP; done 2. remove all files from user tor directory 3. Put the following in torrc: UseBridges 1 UpdateBridgesFromAuthority 1 Bridge 85.108.88.19:443 7E1B28DB47C175392A0E8E4A287C7CB8686575B7 4. Launch tor - it should fall back to downloading descriptors directly from the bridge. Initial patch reviewed and corrected by mingw-san. Robert Hogan2010-08-16
* | | | | | Make authorities download consensuses if appropriate•••An authority should never download a consensus if it has a live one, but when it doesn't, it should admit that it's not going to get one, and see if anybody else can give it one. Fixes 1300, fix on 0.2.0.9-alpha Nick Mathewson2010-09-12
* | | | | | fix regression introduced by 1a65bdd2•••noticed while reviewing hoganrobert/bug1138 Roger Dingledine2010-09-12
* | | | | | Update to the latest tinytest version•••This cleans up some whitespace consistency issues and, more importantly, gives you the ability to skip tests from the command line. Nick Mathewson2010-09-09
* | | | | | Merge remote branch 'origin/maint-0.2.1'Nick Mathewson2010-09-08
|\ \ \ \ \ \
| * \ \ \ \ \ Merge remote branch 'karsten/geoip-sep2010' into maint-0.2.1Nick Mathewson2010-09-08
| |\ \ \ \ \ \
| | * | | | | | Update to the September 1 2010 Maxmind GeoLite Country database.Karsten Loesing2010-09-08
* | | | | | | | be more consistent in using streamid_tNick Mathewson2010-09-08
* | | | | | | | Merge branch 'bug1653'Nick Mathewson2010-09-08
|\ \ \ \ \ \ \ \
| * | | | | | | | Fix a missing stream_id argument; found by "tracktor"Nick Mathewson2010-09-03
| * | | | | | | | Fix behavior of adding a cell to a blocked queue.•••We frequently add cells to stream-blocked queues for valid reasons that don't mean we need to block streams. The most obvious reason is if the cell arrives over a circuit rather than from an edge: we don't block circuits, no matter how full queues get. The next most obvious reason is that we allow CONNECTED cells from a newly created stream to get delivered just fine. This patch changes the behavior so that we only iterate over the streams on a circuit when the cell in question came from a stream, and we only block the stream that generated the cell, so that other streams can still get their CONNECTEDs in. Nick Mathewson2010-09-02
| * | | | | | | | Detect if we try to put a cell onto a supposedly blocked cell queue.•••When this happens, run through the streams on the circuit and make sure they're all blocked. If some aren't, that's a bug: block them all and log it! If they all are, where did the cell come from? Log it! (I suspect that this actually happens pretty frequently, so I'm making these log messages appear at INFO.) Nick Mathewson2010-08-18