| Commit message (Expand) | Author | Age |
* | Merge branch 'bug1899' | Nick Mathewson | 2010-09-14 |
|\ |
|
| * | Extract the "do these routers have the same addr:orport" logic into a fn | Nick Mathewson | 2010-09-14 |
| * | Launch reachability tests for routers whose IP or ORPort change•••Implements #1899, suggested by Sebastian. Depends on #911 fix.
| Nick Mathewson | 2010-09-03 |
* | | Merge branch 'bug911' | Nick Mathewson | 2010-09-14 |
|\ \ |
|
| * | | Tweak some issues found by arma in bug911 review. | Nick Mathewson | 2010-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 Mathewson | 2010-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 Mathewson | 2010-08-18 |
| * | Clarify AssumeReachable semantics wrt hibernation | Nick Mathewson | 2010-08-18 |
| * | Add some braces to make arma happy | Nick Mathewson | 2010-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 Mathewson | 2010-07-31 |
* | | Merge remote branch 'sebastian/bug1776_v3' | Nick Mathewson | 2010-09-14 |
|\ \ |
|
| * | | Allow clients to use relays as bridges | Sebastian Hahn | 2010-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 Mathewson | 2010-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 Mathewson | 2010-09-13 |
* | | | Fix function declaration linebreaks at start of relay.c | Nick Mathewson | 2010-09-13 |
* | | | Merge remote branch 'public/pretty-signature-log' | Nick Mathewson | 2010-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 Mathewson | 2010-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 Mathewson | 2010-08-19 |
* | | | | Merge remote branch 'sebastian/bug1525' | Nick Mathewson | 2010-09-13 |
|\ \ \ \ |
|
| * | | | | Update some documentation for the bug 1525 fix | Sebastian Hahn | 2010-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 Hogan | 2010-08-08 |
* | | | | | Merge branch 'bug1138' | Nick Mathewson | 2010-09-12 |
|\ \ \ \ \ |
|
| * | | | | | Clean up a couple more bug1138 issues mentioned by roger on code review | Nick Mathewson | 2010-09-12 |
| * | | | | | Handle null conn->requested_resource rather than assert•••Per arma's comments in bug1138
| Robert Hogan | 2010-09-12 |
| * | | | | | Nick points out:•••tor_assert(!conn->_base.purpose == DIR_PURPOSE_FETCH_EXTRAINFO)
!=
tor_assert(conn->_base.purpose != DIR_PURPOSE_FETCH_EXTRAINFO)
!!
| Robert Hogan | 2010-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 Hogan | 2010-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 Hogan | 2010-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 Mathewson | 2010-09-12 |
* | | | | | | fix regression introduced by 1a65bdd2•••noticed while reviewing hoganrobert/bug1138
| Roger Dingledine | 2010-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 Mathewson | 2010-09-09 |
* | | | | | | Merge remote branch 'origin/maint-0.2.1' | Nick Mathewson | 2010-09-08 |
|\ \ \ \ \ \ |
|
| * \ \ \ \ \ | Merge remote branch 'karsten/geoip-sep2010' into maint-0.2.1 | Nick Mathewson | 2010-09-08 |
| |\ \ \ \ \ \ |
|
| | * | | | | | | Update to the September 1 2010 Maxmind GeoLite Country database. | Karsten Loesing | 2010-09-08 |
* | | | | | | | | be more consistent in using streamid_t | Nick Mathewson | 2010-09-08 |
* | | | | | | | | Merge branch 'bug1653' | Nick Mathewson | 2010-09-08 |
|\ \ \ \ \ \ \ \ |
|
| * | | | | | | | | Fix a missing stream_id argument; found by "tracktor" | Nick Mathewson | 2010-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 Mathewson | 2010-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 Mathewson | 2010-08-18 |
| * | | | | | | | | Decide whether to ignore SENDMEs based on streams_blocked, not queue size | Nick Mathewson | 2010-08-18 |
| * | | | | | | | | Avoid over-filling cell queues when we receive a SENDME•••Do not start reading on exit streams when we get a SENDME unless we
have space in the appropriate circuit's cell queue.
Draft fix for bug 1653.
(commit message by nickm)
| yetonetime | 2010-08-18 |
* | | | | | | | | | Merge remote branch 'origin/maint-0.2.1' | Nick Mathewson | 2010-09-08 |
|\ \ \ \ \ \ \ \ \
| | |/ / / / / / /
| |/| | | | | | | |
|
| * | | | | | | | | Remove a needless keep_open_until_flushed | Nick Mathewson | 2010-09-08 |
| * | | | | | | | | Close a non-open OR connection *only* after KeepalivePeriod.•••When we introduced the code to close non-open OR connections after
KeepalivePeriod had passed, we replaced some code that said
if (!connection_is_open(conn)) {
/* let it keep handshaking forever */
} else if (do other tests here) {
...
with new code that said
if (!connection_is_open(conn) && past_keepalive) {
/* let it keep handshaking forever */
} else if (do other tests here) {
...
This was a mistake, since it made all the other tests start applying
to non-open connections, thus causing bug 1840, where non-open
connections get closed way early.
Fixes bug 1840. Bugfix on 0.2.1.26 (commit 67b38d50).
| Nick Mathewson | 2010-09-03 |
| | |/ / / / / /
| |/| | | | | | |
|
* | | | | | | | | Merge remote branch 'public/win_unicode_fixes' | Nick Mathewson | 2010-09-06 |
|\ \ \ \ \ \ \ \ |
|
| * | | | | | | | | Make the windows build succeed with or without -DUNICODE enabled.•••This should keep WinCE working (unicode always-on) and get Win98
working again (unicode never-on).
There are two places where we explicitly use ASCII-only APIs, still:
in ntmain.c and in the unit tests.
This patch also fixes a bug in windoes tor_listdir that would cause
the first file to be listed an arbitrary number of times that was
also introduced with WinCE support.
Should fix bug 1797.
| Nick Mathewson | 2010-08-20 |
| | |_|_|_|_|/ /
| |/| | | | | | |
|
* | | | | | | | | Merge branch 'ratelim' | Nick Mathewson | 2010-08-31 |
|\ \ \ \ \ \ \ \ |
|
| * | | | | | | | | Fix some issues in rate-limiting noticed by Sebastian | Nick Mathewson | 2010-08-31 |
| * | | | | | | | | Add a generic rate-limited log mechanism, and use it in a few places•••Incidentally fixes bug 1042.
| Nick Mathewson | 2010-08-18 |
| | |_|/ / / / /
| |/| | | | | | |
|
* | | | | | | | | Fix a compile warning on OpenBSD | Sebastian Hahn | 2010-08-22 |
| |/ / / / / /
|/| | | | | | |
|
* | | | | | | | Add unit test for tor_listdir. | Nick Mathewson | 2010-08-20 |