Commit Graph

775 Commits

Author SHA1 Message Date
Nick Mathewson
20b1085989 r16242@catbus: nickm | 2007-10-28 16:28:13 -0400
Implement if-modified-since for consensus networkstatuses so that we do not download duplicates needlessly.


svn:r12258
2007-10-28 20:30:21 +00:00
Nick Mathewson
d94a978b32 r16237@catbus: nickm | 2007-10-28 15:45:25 -0400
Tidy v2 hidden service descriptor format code: fix memory leaks, fix reference problems, note magic numbers, note questions, remove redundant checks, remove a possible stack smashing bug when encoding a descriptor with no protocols supported.


svn:r12255
2007-10-28 19:48:16 +00:00
Roger Dingledine
e5885deab5 Separate "SOCKS_COMMAND_CONNECT_DIR" into two flags in
edge_connection_t: want_onehop if it must attach to a circuit with
only one hop (e.g. for the current tunnelled connections that use
begin_dir), and use_begindir if we mean to use a BEGIN_DIR relay
command to establish the stream rather than the normal BEGIN. Now
we can make anonymized begin_dir connections for (e.g.) more secure
hidden service posting and fetching.


svn:r12244
2007-10-28 08:16:19 +00:00
Roger Dingledine
6ca7c118ec we need to send nick to the chalkboard to type 'un' 1000 times:
Stop servers from crashing if they set a Family option (or
maybe in other situations too). Bugfix on 0.2.0.9-alpha; reported
by Fabian Keil.


svn:r12235
2007-10-27 21:40:32 +00:00
Roger Dingledine
ca30c19460 put the 0.2.0.9-alpha blurb into the changelog
svn:r12234
2007-10-27 21:36:56 +00:00
Nick Mathewson
8fa7071121 r16195@catbus: nickm | 2007-10-26 18:48:52 -0400
base "Guard" flag on WFU rather than MTBF.  Note an issue in the TODO. Roger: thoughts?


svn:r12219
2007-10-26 22:50:42 +00:00
Nick Mathewson
2c1d7cf674 r16194@catbus: nickm | 2007-10-26 18:37:02 -0400
Keep circuitless TLS connections open for 1.5 x MaxCircuitDirtiness: this ensures that we don't thrash closing and repoening connections to our guards.


svn:r12218
2007-10-26 22:50:40 +00:00
Nick Mathewson
2ac37c8b01 r16174@catbus: nickm | 2007-10-26 10:55:26 -0400
Better log on vote from unknown authority.  Make get_by_v3_authority_id retrun only v3 authorities.


svn:r12203
2007-10-26 14:57:26 +00:00
Nick Mathewson
7da93b80ca r16159@catbus: nickm | 2007-10-25 12:53:38 -0400
Drop support for OpenSSL 0.9.6.


svn:r12191
2007-10-25 16:54:56 +00:00
Nick Mathewson
d5a0eeb57e r16157@catbus: nickm | 2007-10-25 10:36:34 -0400
Free v2_network_status_map on exit.


svn:r12189
2007-10-25 14:37:49 +00:00
Nick Mathewson
73c1cfe80b r16154@catbus: nickm | 2007-10-25 10:29:47 -0400
Fix more memory leaks, with help from dmalloc.


svn:r12188
2007-10-25 14:31:15 +00:00
Nick Mathewson
53e6233985 r16153@catbus: nickm | 2007-10-25 10:21:42 -0400
do not set authority cert bodies twice: fixes memory leak bug 536.


svn:r12187
2007-10-25 14:31:13 +00:00
Roger Dingledine
f37185bf0b Stop leaking memory every time we parse a v3 certificate. Bugfix
on 0.2.0.1-alpha.


svn:r12185
2007-10-25 13:18:37 +00:00
Roger Dingledine
4ef1c459ba Refuse to start if both ORPort and UseBridges are set. Bugfix
on 0.2.0.x.


svn:r12182
2007-10-25 04:40:27 +00:00
Roger Dingledine
0491f2a99c more cleanups
svn:r12172
2007-10-25 03:03:52 +00:00
Nick Mathewson
93331ebf69 r16115@catbus: nickm | 2007-10-24 21:52:33 -0400
Tolerate a slightly dead consensus when deciding whether to download descriptors and build circuits.


svn:r12167
2007-10-25 01:53:49 +00:00
Nick Mathewson
e0204f2119 r16112@catbus: nickm | 2007-10-24 15:52:03 -0400
Fix logic for downloading consensuses: make getting an duplicate or not-currently-valid consensus count as a failure.  Make running out of time to get certificates count as a failure.  Delay while fetching certificates.


svn:r12159
2007-10-24 19:53:11 +00:00
Nick Mathewson
9767415dca r16111@catbus: nickm | 2007-10-24 15:03:57 -0400
Allow multiple download schedules to exist.  At the moment, we use one for consensus, and the other one for everything else.


svn:r12158
2007-10-24 19:53:08 +00:00
Nick Mathewson
02e7a83f91 r16108@catbus: nickm | 2007-10-24 14:41:12 -0400
Refactor the arguments for router_pick_{directory_|trusteddir}server[_impl] so that they all take the same flags, and so that their flags have names.  Fix their documentation too.


svn:r12157
2007-10-24 18:42:16 +00:00
Nick Mathewson
5b65103bb9 r16101@catbus: nickm | 2007-10-24 11:44:40 -0400
Detect mmap failures from empty descriptor files, and only warn if the file was not supposed to be empty.  Fixes bug 533


svn:r12154
2007-10-24 15:45:45 +00:00
Nick Mathewson
ab3fddd11e r16097@catbus: nickm | 2007-10-24 10:16:31 -0400
answer question from arma 


svn:r12151
2007-10-24 14:17:47 +00:00
Roger Dingledine
d5e01c99b3 ready or not, 0.2.0.9-alpha comes out today. let's be ready.
(nick, i added a question for you in here.)


svn:r12141
2007-10-24 12:23:49 +00:00
Roger Dingledine
7a35dad007 Authorities no longer send back "400 you're unreachable please fix
it" errors to Tor servers that aren't online all the time. We're
supposed to tolerate these servers now.


svn:r12136
2007-10-24 03:34:03 +00:00
Roger Dingledine
f43b9638e4 Don't complain that "your server has not managed to confirm that its
ports are reachable" if we haven't been able to build any circuits
yet. Bug found by spending four hours without a v3 consensus.


svn:r12133
2007-10-23 15:44:13 +00:00
Roger Dingledine
cb2b49c9c4 When there's no concensus, we were forming a vote every 30
minutes, but writing the "valid-after" line in our vote based
on our configured V3AuthVotingInterval: so unless the intervals
matched up, we immediately rejected our own vote because it didn't
start at the voting interval that caused us to construct a vote.

This caused log entries like:

Oct 23 01:16:16.303 [notice] Choosing expected valid-after time
as 2007-10-23 05:30:00: consensus_set=0, interval=1800
...
Oct 23 01:20:01.203 [notice] Choosing valid-after time in vote as
2007-10-23 06:00:00: consensus_set=0, interval=3600
Oct 23 01:20:01.290 [warn] Rejecting vote with valid-after time of
2007-10-23 06:00:00; we were expecting 2007-10-23 05:30:00
Oct 23 01:20:01.291 [warn] Couldn't store my own vote! (I told
myself, 'Bad valid-after time'.)

Nick, you should look at this, as it's your design. :)


svn:r12129
2007-10-23 06:38:16 +00:00
Nick Mathewson
09bce19884 r16042@catbus: nickm | 2007-10-22 13:30:49 -0400
Move functions into and out of dirvote.c so that it contains all the v3 authority functionality, and no non-authority functionality.


svn:r12107
2007-10-22 17:31:26 +00:00
Nick Mathewson
4bab46d5d7 r16041@catbus: nickm | 2007-10-22 13:02:14 -0400
Reattempt certificate downloads immediately on failure, as appropriate.


svn:r12106
2007-10-22 17:31:22 +00:00
Nick Mathewson
c47eb2c8d9 r16032@catbus: nickm | 2007-10-22 11:56:53 -0400
When our directory status or our v3 authority status changes, reschedule operations as appropriate. (Fixes some xxxx020 items)


svn:r12102
2007-10-22 16:32:04 +00:00
Roger Dingledine
ed130b1e07 and synchronize that with the ReleaseNotes file
svn:r12094
2007-10-22 08:54:32 +00:00
Roger Dingledine
4ee6f6369e put the release blurbs in the changelog file, so they can be
kept for posterity, and so we can unclutter the download page.


svn:r12093
2007-10-22 08:52:01 +00:00
Nick Mathewson
42172829ce r16016@catbus: nickm | 2007-10-21 20:44:19 -0400
Check a platform assumption we have made without checking for too long: "Characters are represented in ascii."


svn:r12088
2007-10-22 00:44:42 +00:00
Roger Dingledine
b4a28f8b83 Bugfix on r7072, which turned out to basically be a no-op:
Respond to INT and TERM SIGNAL commands before we execute the
signal, in case the signal shuts us down. We had a patch in
0.1.2.1-alpha that tried to do this by queueing the response on
the connection's buffer before shutting down, but that really
isn't the same thing. Bug located by Matt Edman.

This is a bug in 0.1.2.x too, but there's no way we should backport
this fix. Speaking of which, can somebody double-check it? :)


svn:r12070
2007-10-21 04:15:28 +00:00
Nick Mathewson
5ada3cc09a r15991@catbus: nickm | 2007-10-20 20:08:29 -0400
Fix a nasty bug in DownloadExtraInfo implementation where we would discard, download, discard, download ad infinitum.


svn:r12069
2007-10-21 00:08:35 +00:00
Nick Mathewson
dc4e710e27 r15976@catbus: nickm | 2007-10-20 19:44:47 -0400
Prioritize fetching descriptors and networkstatus docs over fetching more extrainfo docs.


svn:r12067
2007-10-20 23:45:07 +00:00
Nick Mathewson
5f8f498207 r15968@catbus: nickm | 2007-10-19 14:39:51 -0400
Implement code to compute which method to use to compute a consensus. Also, fix leak in consensus calculation.


svn:r12054
2007-10-19 18:56:30 +00:00
Nick Mathewson
6ca4eebb57 r15966@catbus: nickm | 2007-10-19 13:56:28 -0400
Voting side of proposal 122


svn:r12052
2007-10-19 18:56:26 +00:00
Nick Mathewson
7bb202fd19 r15965@catbus: nickm | 2007-10-19 13:32:11 -0400
Client-side implementation for proposal 122.


svn:r12051
2007-10-19 18:56:24 +00:00
Nick Mathewson
24317c75a9 r15961@catbus: nickm | 2007-10-19 12:40:15 -0400
Learn the difference between "mismatched vote digest" and "mismatched vote times": the latter is more informative.


svn:r12049
2007-10-19 16:41:32 +00:00
Nick Mathewson
140ef7d0f8 r15957@catbus: nickm | 2007-10-19 12:22:18 -0400
Report our IP address in our vote if it turns out that our hostname isn't a fqdn.


svn:r12047
2007-10-19 16:28:13 +00:00
Nick Mathewson
106e01db3d r15956@catbus: nickm | 2007-10-19 11:18:14 -0400
Encode address in certificates.  Also, make it possible to create certs reusing an old key.


svn:r12046
2007-10-19 16:28:10 +00:00
Nick Mathewson
29dfdac923 r15939@catbus: nickm | 2007-10-18 22:14:15 -0400
Remember the valid-until time of the most recent consensus that listed
 a router, and (if we are a cache) never delete the routerdesc until
 that conensus is expired.  This is way easier than retaining multiple
 consensuses.  (Of course, the info isn't retained across restarts,
 but that only affects a few caches at a time.) 
 


svn:r12041
2007-10-19 02:15:47 +00:00
Roger Dingledine
322eddb045 changelog entry for r11985 (bug 529)
svn:r12034
2007-10-18 23:14:42 +00:00
Nick Mathewson
5bfb422157 r15934@catbus: nickm | 2007-10-18 15:32:56 -0400
When we have plenty of directory information, don't try to launch descriptor downloads quite so eagerly.


svn:r12033
2007-10-18 19:51:14 +00:00
Nick Mathewson
4807d8c966 r15924@catbus: nickm | 2007-10-18 14:06:11 -0400
Import tor-ctrl.sh by Stefan Behte into svn repository.


svn:r12028
2007-10-18 18:15:04 +00:00
Nick Mathewson
8f21a0a0b7 r15907@catbus: nickm | 2007-10-18 10:18:53 -0400
Fix up logic for choosing the time at which to download a consensus: Never attempt it when the current consensus is still the most recent.


svn:r12020
2007-10-18 14:19:56 +00:00
Nick Mathewson
54ac72f6b0 r15887@catbus: nickm | 2007-10-17 17:25:32 -0400
When a networkstatus consensus download fails, do not wait 60 seconds to decide whether to retry. (Also, log the time at which we'll try to replace the current networkstatus.)


svn:r12005
2007-10-17 21:26:22 +00:00
Nick Mathewson
088c1fac39 r15886@catbus: nickm | 2007-10-17 17:21:10 -0400
Treat it as an error when a v3 authority cant load its keys or certificates


svn:r12004
2007-10-17 21:26:19 +00:00
Nick Mathewson
e3113502ad r15882@catbus: nickm | 2007-10-17 15:23:05 -0400
oprofile was telling me that a fair bit of our time in openssl was spent in base64_decode, so replace base64_decode with an all-at-once fairly optimized implementation.  For decoding keys and digests, it seems 3-3.5x faster than calling out to openssl.  (Yes, I wrote it from scratch.)


svn:r12002
2007-10-17 19:23:56 +00:00
Nick Mathewson
e8bd32b347 r15880@catbus: nickm | 2007-10-17 14:56:51 -0400
Patch from robert hogan: do not reset trusted dir server list when we get a config option.


svn:r12001
2007-10-17 19:23:52 +00:00
Nick Mathewson
f988f93b1a r15877@catbus: nickm | 2007-10-17 12:54:56 -0400
Make unverified-consensus get removed when it is accepted or rejected.  Make a new get_datadir_fname*() set of functions to eliminate the common code of "get the options, get the datadir, append some stuff".


svn:r12000
2007-10-17 16:55:44 +00:00