Commit Graph

12652 Commits

Author SHA1 Message Date
Roger Dingledine 9997676802 handle ugly edge case in retrying entrynodes
Specifically, a circ attempt that we'd launched while the network was
down could timeout after we've marked our entrynodes up, marking them
back down again. The fix is to annotate as bad the OR conns that were
around before we did the retry, so if a circuit that's attached to them
times out we don't do anything about it.
2010-09-28 22:32:38 -04:00
Roger Dingledine 7de1caa33f Actually notice when our last entrynode goes down
Otherwise we'd never set have_minimum_dir_info to false, so the
"optimistic retry" would never trigger.
2010-09-28 21:59:31 -04:00
Roger Dingledine bb22360bad optimistically retry EntryNodes on socks request
We used to mark all our known bridges up when they're all down and we
get a new socks request. Now do that when we've set EntryNodes too.
2010-09-28 19:10:23 -04:00
Roger Dingledine 8bac188572 remove a redundant assert 2010-09-28 19:10:22 -04:00
Roger Dingledine 127f37ad29 refactor; no actual changes 2010-09-28 19:10:22 -04:00
Roger Dingledine 8d1fe50284 Merge branch 'maint-0.2.2' 2010-09-28 18:42:04 -04:00
Roger Dingledine 09a715bb72 Merge branch 'maint-0.2.1' into maint-0.2.2 2010-09-28 18:37:55 -04:00
Roger Dingledine 339993b409 actually retry bridges when your network goes away 2010-09-28 18:36:15 -04:00
Nick Mathewson 3efaa30727 Merge branch 'iocp_option' 2010-09-28 14:42:52 -04:00
Nick Mathewson c58b7a1095 Merge remote branch 'origin/maint-0.2.2' 2010-09-28 14:42:50 -04:00
Nick Mathewson 73d93c033d Autodetect the number of CPUs when possible if NumCPUs==0
This is needed for IOCP, since telling the IOCP backend about all
your CPUs is a good idea.  It'll also come in handy with asn's
multithreaded crypto stuff, and for people who run servers without
reading the manual.
2010-09-28 14:42:21 -04:00
Nick Mathewson c612ddee17 Add a new option to enable/disable IOCP support 2010-09-28 14:01:45 -04:00
Nick Mathewson 6d8f2885d8 Remove the completely outdated Win32Build directory
If you want to try to build Tor with a recent MSVC, you are better
off starting from scratch than trying to use the project files that
we used to build 2006 versions of Tor using 2006 versions of MSVC.
2010-09-28 13:38:28 -04:00
Nick Mathewson d6e255edbd Merge branch 'microdesc_dl_v2' 2010-09-28 00:46:01 -04:00
Roger Dingledine f006f02ca4 Merge branch 'maint-0.2.2' 2010-09-27 18:33:12 -04:00
Roger Dingledine a467bf5fbb a dir-spec entry for refuseunknownexits
plus quiet a log line
2010-09-27 18:32:09 -04:00
Nick Mathewson d45b912058 Clean long-unlisted microdescs from the cache 2010-09-27 18:05:01 -04:00
Nick Mathewson 3a492d31d5 Download microdescriptors if you're a cache
This commit adds some functions to see what microdescriptors we're missing,
and adds fetch-microdesc/store-microdesc logic to the directory code.
2010-09-27 18:04:44 -04:00
Nick Mathewson e34d0d3365 When updating routerdesc downloads, look specifically at the ns consensus
This will be needed when "get_live_consensus" potentially returns a
microdesc consensus.
2010-09-27 18:04:44 -04:00
Nick Mathewson 9f5b752e4f Actually parse the m lines from a microdesc consensus 2010-09-27 18:04:44 -04:00
Nick Mathewson 4e0f7f4ffc Code to download, parse, and store microdesc consensuses 2010-09-27 18:04:43 -04:00
Nick Mathewson 4bfc64ba1c New function to grab a directory connection fetching a resource
We need this to tell if a given consensus flavor is being downloaded
or not.
2010-09-27 18:04:43 -04:00
Nick Mathewson af7fab020a Merge remote branch 'origin/maint-0.2.2'
Conflicts:
	src/or/config.c
2010-09-27 17:52:20 -04:00
Roger Dingledine 8df3a90946 the actual changelog entry this time 2010-09-27 17:44:51 -04:00
Roger Dingledine 9d7f0badb5 changelog entry for bug1751 2010-09-27 17:44:00 -04:00
Nick Mathewson 614eeb378b Merge remote branch 'sebastian/bug1964' into maint-0.2.2 2010-09-27 17:26:32 -04:00
Sebastian Hahn c951830002 Fix a bridge segfault
When we enabled support to change statistic options without restarting
Tor we forgot to initialize geoip_countries. Fix that.
2010-09-27 23:19:25 +02:00
Nick Mathewson 7c83b0a2a2 Merge branch 'refuseunknown' into maint-0.2.2 2010-09-27 17:15:57 -04:00
Sebastian Hahn 8ac2de5ab9 Add RefuseUnknownExits to the manpage 2010-09-27 17:15:41 -04:00
Nick Mathewson c97072ef34 Merge branch 'bug1751_enabling' into maint-0.2.2 2010-09-27 17:08:03 -04:00
Nick Mathewson 6c5b9ba625 Change bug1751 enabling code based on comments from arma 2010-09-27 17:07:22 -04:00
Nick Mathewson 5c83c06c98 Merge branch 'bufferevent5' 2010-09-27 16:48:25 -04:00
Nick Mathewson 6950749c0a Make the bufferevent code use the renegotiation-reenabling hack 2010-09-27 16:07:14 -04:00
Nick Mathewson 501399d14a Merge remote branch 'origin/maint-0.2.2' 2010-09-27 15:42:08 -04:00
Nick Mathewson e385961542 Merge remote branch 'public/bug1954' into maint-0.2.2 2010-09-27 15:39:40 -04:00
Nick Mathewson 21e5f3c431 Detect Libevent version at configure time when using bufferevents 2010-09-27 14:29:49 -04:00
Nick Mathewson b7ae108e18 Always defer bufferevent_openssl callbacks to avoid reentrant invocations 2010-09-27 14:29:42 -04:00
Nick Mathewson 89e8f31c42 Add a changes file for bufferevents 2010-09-27 14:22:18 -04:00
Nick Mathewson c93cceb919 note that libevent does not have an an easy way to reset buckets atm 2010-09-27 14:22:18 -04:00
Nick Mathewson b49cf6a77a Fix whitespace in bufferevents branch 2010-09-27 14:22:18 -04:00
Nick Mathewson a16ed90ec8 Document and/or fix stuff found by Sebastian in code review
Thanks to Sebastian for his code-review of the bufferevents patch series.x
2010-09-27 14:22:18 -04:00
Sebastian Hahn 865bea3b89 Some bufferevents related fixes and pointers for nickm 2010-09-27 14:22:18 -04:00
Nick Mathewson beb52352f2 Fix build with automake 1.6
automake 1.6 doesn't like using a conditional += to add stuff to foo_LDADD.
Instead you need to conditionally define a variable, then non-conditionally
put that variable in foo_LDADD.
2010-09-27 14:22:18 -04:00
Nick Mathewson ffd5070b04 Convert bufferevents to use rate-limiting.
This requires the latest Git version of Libevent as of 24 March 2010.
In the future, we'll just say it requires Libevent 2.0.5-alpha or
later.

Since Libevent doesn't yet support hierarchical rate limit groups,
there isn't yet support for tracking relayed-bytes separately when
using the bufferevent system.  If a future version does add support
for hierarchical buckets, we can add that back in.
2010-09-27 14:22:18 -04:00
Nick Mathewson 98ec959c9c Fix a couple of bufferevent incompatibilities that snuck in. 2010-09-27 14:22:18 -04:00
Nick Mathewson 0c9b64d449 Get zlib compression working with bufferevents. 2010-09-27 14:22:11 -04:00
Nick Mathewson 9796b9bfa6 Implement SOCKS-client support for bufferevents 2010-09-27 12:31:14 -04:00
Nick Mathewson c74a4ab515 Documentation for a few bufferevent functions. 2010-09-27 12:31:14 -04:00
Nick Mathewson bd3612cd2b Get SSL connections and linked connections working with bufferevents.
Clients are now verified to work and build circuits correctly.  There
are still a few warnings given here and there that I need to look into.
2010-09-27 12:31:14 -04:00
Nick Mathewson fc4ddafab8 Make control connections use bufferevents 2010-09-27 12:31:14 -04:00