Commit Graph

828 Commits

Author SHA1 Message Date
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
ee2b770dee r15964@catbus: nickm | 2007-10-19 12:43:49 -0400
Sort out that need_to_mirror is for routerstatuses in v2 networkstatuses only.


svn:r12050
2007-10-19 18:56:21 +00:00
Nick Mathewson
53f9fe7dc5 r15960@catbus: nickm | 2007-10-19 12:30:17 -0400
Make authority_certs_fetch_missing() honor should_delay_dir_fetches()


svn:r12048
2007-10-19 16:41:30 +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
a7e9115611 r15951@catbus: nickm | 2007-10-18 22:27:38 -0400
More TODO notes.


svn:r12043
2007-10-19 02:28:47 +00:00
Nick Mathewson
6dc3c6cbf7 r15949@catbus: nickm | 2007-10-18 22:18:41 -0400
Add a bit of my TODO for tomorrow, so I can close my emacs for the evening.


svn:r12042
2007-10-19 02:19:49 +00:00
Nick Mathewson
3ad6dc0e2e r15806@catbus: nickm | 2007-10-15 19:14:57 -0400
Implement v3 networkstatus client code.  Remove v2 networkstatus client code, except as needed for caches to fetch and serve v2 networkstatues and the routers they list.


svn:r11957
2007-10-15 23:15:24 +00:00
Nick Mathewson
3dfb943d1f r15770@catbus: nickm | 2007-10-14 13:21:08 -0400
Remove some completed items from the TODO.


svn:r11937
2007-10-14 20:03:46 +00:00
Andrew Lewman
fae2e20f9c Update my todo's.
svn:r11932
2007-10-14 18:18:33 +00:00
Roger Dingledine
ad8757fbeb Disable the SETROUTERPURPOSE controller command: it is now obsolete.
svn:r11891
2007-10-11 22:19:47 +00:00
Roger Dingledine
19c2306f53 more todo items i've been pondering
svn:r11857
2007-10-10 23:43:02 +00:00
Nick Mathewson
55520a2d95 r15636@catbus: nickm | 2007-10-10 15:28:12 -0400
Retry consensus and certificate downloads properly.  Do not fail when there are no certificates to download.  Do not download certificates we already have when retrying.


svn:r11841
2007-10-10 19:33:19 +00:00
Nick Mathewson
5346a01796 r14813@Kushana: nickm | 2007-10-09 11:10:48 -0400
Use download_status_t for v2 networkstatuses and certs as well as for routers.  Make functions to manipulate it.  Next steps: use it for consensus networkstatuses, and get consensus download rescheduling working.


svn:r11800
2007-10-09 15:27:45 +00:00
Nick Mathewson
bb9cc4fb29 r14812@Kushana: nickm | 2007-10-09 10:22:00 -0400
Merge extra fields in local_routerstatus_t back into routerstatus_t.  See changelog for rationale.


svn:r11799
2007-10-09 15:27:15 +00:00
Nick Mathewson
13f7f98ad2 r14799@Kushana: nickm | 2007-10-08 15:55:18 -0400
Add code to download router descriptors listed in a v3 networkstatus consensus.


svn:r11790
2007-10-08 19:56:57 +00:00
Nick Mathewson
84d7677a8a r14770@Kushana: nickm | 2007-10-08 11:43:02 -0400
Make router_digest_is_trusted_dir able to check for type.  When looking for a V3 directory, only assume that the V3 authorities and caches have it: previous code assumed that all authorities had it.


svn:r11789
2007-10-08 17:44:19 +00:00
Nick Mathewson
3f6e3ce61b r14769@Kushana: nickm | 2007-10-07 14:00:17 -0400
Fetch networkstatus consensus documents as needed.  Disabled for clients until more caches support it.


svn:r11788
2007-10-08 17:44:09 +00:00
Andrew Lewman
cd69e93d50 Update mingw build instructions due to new mingw and libevent.
svn:r11785
2007-10-08 02:24:07 +00:00
Nick Mathewson
6f7847b378 r15530@catbus: nickm | 2007-10-04 12:16:27 -0400
Add a bunch of function documentation; clean up a little code; fix some XXXXs; tag the nonsensical EXTRAINFO_PURPOSE_GENERAL as nonsesnse; note another bit of "do not cache special routers" code to nuke.


svn:r11761
2007-10-04 16:21:58 +00:00
Roger Dingledine
b8364ef8c7 todo: Disable and mark as obsolete the setrouterpurpose controller command.
svn:r11725
2007-10-01 06:57:46 +00:00
Nick Mathewson
b5c8a8ae53 r15422@catbus: nickm | 2007-09-27 16:42:35 -0400
Use descriptor annotations to record the source, download t time, and purpose of every descriptor we add to the store.  The remaining to-do item is to stop setting do_not_cache on bridges.


svn:r11680
2007-09-27 20:46:30 +00:00
Nick Mathewson
60efd6b726 r15420@catbus: nickm | 2007-09-27 15:40:25 -0400
Remove annotated_desc_store store (which we never used).  Instead, shift name of router store to cached-descriptors, but initialize it from cached-routers as needed


svn:r11678
2007-09-27 20:46:24 +00:00
Nick Mathewson
28946069ee r15412@catbus: nickm | 2007-09-27 12:04:24 -0400
More annotated-store work: handle annotations in lists correctly.  Add ability to prepend annotations to a routerdesc (and to every rtouredesc in a list), while verifying that the routerdesc is not already annotated.


svn:r11665
2007-09-27 16:08:10 +00:00
Andrew Lewman
a0c4cc792f Take some more, ask a question or two.
svn:r11622
2007-09-25 01:43:18 +00:00
Andrew Lewman
011941853c Remove openssl static libs from the win32 distrubution. They are statically
compiled into the exe.  Add some, take some, remove some TODO items.


svn:r11583
2007-09-22 20:26:06 +00:00
Nick Mathewson
921f9f774d r15279@catbus: nickm | 2007-09-22 02:00:06 -0400
V3 authority work: fetch missing votes and/or signatures as needed.


svn:r11575
2007-09-22 06:06:05 +00:00
Roger Dingledine
0914883339 Resume listing "AUTHORITY" flag for authorities in network status.
Bugfix on 0.2.0.3-alpha; reported by Alex de Joode.


svn:r11530
2007-09-20 04:37:17 +00:00
Roger Dingledine
a12debab1b i feel guilty wasting a revision number on this, but qbi
mentioned it, so...


svn:r11515
2007-09-19 08:47:24 +00:00
Roger Dingledine
cda228bb76 another bug we should resolve sometime
svn:r11513
2007-09-19 04:19:27 +00:00
Nick Mathewson
eee8d750b6 r15140@catbus: nickm | 2007-09-18 11:34:54 -0400
Get rid of a needless malloc() when parsing address policies.  Original patch from "Some guy on #tor", via arma.  Altered to have a sufficiently large buffer, and not use the buffer so much, and to save a strlcpy.


svn:r11480
2007-09-18 15:38:00 +00:00
Roger Dingledine
8f75defd33 Servers used to decline to publish their DirPort if their
BandwidthRate, RelayBandwidthRate, or MaxAdvertisedBandwidth
were below a threshold. Now they only look at BandwidthRate and
RelayBandwidthRate.


svn:r11465
2007-09-17 22:22:05 +00:00
Roger Dingledine
f4111288ca a few more todo bugs i've accumulated
svn:r11462
2007-09-17 21:58:52 +00:00
Nick Mathewson
93d4ad9743 r14447@Kushana: nickm | 2007-09-17 13:31:50 -0400
Track weighted fractional uptime in addition to weighted mtbf: we want to use mtbf for stable, but fractional uptime for guard.


svn:r11456
2007-09-17 18:27:43 +00:00
Nick Mathewson
5fcc48d389 r14425@Kushana: nickm | 2007-09-13 13:00:57 -0400
Do not load state when options->command is not RUN_TOR. (Resolves bug 499; backport candidate)


svn:r11437
2007-09-13 17:01:08 +00:00
Nick Mathewson
9b1ad0074b r14392@Kushana: nickm | 2007-09-12 11:04:20 -0400
Complete implementation of proposal 104: remove bandwidth history lines from router descriptors.


svn:r11434
2007-09-12 17:33:23 +00:00
Nick Mathewson
e73fb2f102 r15049@catbus: nickm | 2007-09-11 16:05:50 -0400
When we get a consensus for which we are missing the right certificates, keep it around pending more certificates; do not just drop it.


svn:r11430
2007-09-11 20:17:28 +00:00
Nick Mathewson
4de4f53abd r15048@catbus: nickm | 2007-09-11 14:20:39 -0400
Add code to warn about mauthorities on a consensus when they are not what we expect to find.


svn:r11429
2007-09-11 20:17:25 +00:00
Nick Mathewson
973502d290 r15046@catbus: nickm | 2007-09-11 13:38:36 -0400
Check V3 authority certificates for expiry, and warn the authority op as they get old.


svn:r11427
2007-09-11 20:17:22 +00:00
Nick Mathewson
3c7652ccdb r15045@catbus: nickm | 2007-09-11 11:52:29 -0400
Reject incoming votes when the valid-after time does not match the period that we're trying to vote for.


svn:r11426
2007-09-11 20:17:20 +00:00
Nick Mathewson
509bc3b4a0 r14359@Kushana: nickm | 2007-09-08 15:07:17 -0400
Add some generic skew-and-tolerance functions so we can handle time more sanely.


svn:r11406
2007-09-08 19:08:46 +00:00
Nick Mathewson
eb3f24f027 r14358@Kushana: nickm | 2007-09-08 13:45:16 -0400
Implement certificate fetch functions.


svn:r11405
2007-09-08 19:08:39 +00:00
Nick Mathewson
5da6321b76 r14859@catbus: nickm | 2007-08-30 17:10:15 -0400
0-pad minutes and seconds when displaying weighted mtbf in info logs.


svn:r11324
2007-08-30 21:12:34 +00:00
Roger Dingledine
ca24362cf8 another easy bug for nick to tackle
svn:r11322
2007-08-30 21:01:46 +00:00
Roger Dingledine
2c24b9cb4c Tor logs the libevent version on startup, for debugging purposes.
This is great. But it does this before configuring the logs, so
it only goes to stdout and is then lost.


svn:r11313
2007-08-30 06:17:17 +00:00
Nick Mathewson
f189ecbf20 r14832@catbus: nickm | 2007-08-29 15:00:27 -0400
Use (and debug) new file-writing functions in order to simplify code that formerly built big strings in RAM.


svn:r11301
2007-08-29 19:02:43 +00:00
Nick Mathewson
91f83cfc2d r14830@catbus: nickm | 2007-08-29 13:50:10 -0400
Make controllers accept LF as well as CRLF.  Update spec to reflect this.  Remove now-dead code.  Make controller warning about v0 protocol more accurate.


svn:r11299
2007-08-29 19:02:33 +00:00
Nick Mathewson
4266039c19 r14826@catbus: nickm | 2007-08-29 13:19:55 -0400
Add a line to the state file for each guard to let us know which version added the guard.  If the line is absent, assume the guard was added by whatever version of Tor last wrote the state file.  Remove guards if the version that added them was using a bad guard selection algorithm.  (Previously, we removed guards if the version that wrote the file was using a bad guard selection algorithm, even if the guards themselves were chosen by a good version.) 


svn:r11298
2007-08-29 17:22:00 +00:00
Nick Mathewson
1050eceb2f r14825@catbus: nickm | 2007-08-29 12:30:04 -0400
More items for the TODO (from last Friday mtg with Roger)


svn:r11297
2007-08-29 17:21:57 +00:00
Nick Mathewson
79a3fed30e r14819@catbus: nickm | 2007-08-27 19:40:11 -0400
Sort all of the items in the TODO.  That took longer than I had hoped, but I think it was useful.


svn:r11292
2007-08-27 23:42:46 +00:00
Nick Mathewson
590918fb2c r14817@catbus: nickm | 2007-08-27 18:16:49 -0400
Mark TODO items with what sections I would like to move them to.  Pending scan by arma, the next commits will remove these annotations and move the items around.


svn:r11291
2007-08-27 22:19:30 +00:00
Nick Mathewson
a69d526b31 r14205@Kushana: nickm | 2007-08-24 10:29:26 -0400
Remove a bunch of completed items from the TODO.


svn:r11271
2007-08-24 14:41:19 +00:00
Nick Mathewson
7dbe7fd4d8 r14758@catbus: nickm | 2007-08-21 01:36:03 -0400
Finish implementing and documenting proposal 108: Authorities now use MTBF data to set their stability flags, once they have at least 4 days of data to use.


svn:r11240
2007-08-21 05:37:24 +00:00
Roger Dingledine
86734616c7 a low-priority todo item we should do sometime
svn:r11180
2007-08-19 04:34:56 +00:00
Nick Mathewson
b34ed73706 r14630@catbus: nickm | 2007-08-17 16:30:42 -0400
Functions to save and load MTBF information.


svn:r11153
2007-08-17 20:31:59 +00:00
Nick Mathewson
31668172ed r14626@catbus: nickm | 2007-08-17 11:20:05 -0400
Link note_router_reachable and note_router_unreachable to  mtbf code. decouple mtbf from connect/disconnect.  log it in USR1.  do not blow it away on cleanup if we are an authority.


svn:r11151
2007-08-17 20:31:54 +00:00
Nick Mathewson
357b4645cf r14612@catbus: nickm | 2007-08-16 15:23:35 -0400
Initial work on proposal 108: have rephist.c track the information we want to be tracking for OR stability.


svn:r11147
2007-08-16 19:32:29 +00:00
Nick Mathewson
4135c68853 r14049@Kushana: nickm | 2007-08-15 14:43:56 -0400
Implement code to serve pending votes, consensuses, and signatures.


svn:r11125
2007-08-15 19:55:52 +00:00
Nick Mathewson
484a580698 r14028@Kushana: nickm | 2007-08-14 17:07:51 -0400
Implement cert-retrieval URLs. (Also, update TODO)


svn:r11112
2007-08-14 21:09:30 +00:00
Nick Mathewson
ce1f01c3e6 r14531@catbus: nickm | 2007-08-13 14:46:25 -0400
Cache v3 networkstatus consensuses on disk.


svn:r11086
2007-08-13 18:47:22 +00:00
Nick Mathewson
f3e9dceaa9 r14530@catbus: nickm | 2007-08-13 14:32:37 -0400
Prune some completed items from the TODO


svn:r11085
2007-08-13 18:47:17 +00:00
Roger Dingledine
c7901354fb a few more done todo items
svn:r10983
2007-07-30 06:18:56 +00:00
Nick Mathewson
77508edd36 r13989@catbus: nickm | 2007-07-29 19:11:07 -0400
More directory voting code.  Now, if everything works, and I haven't forgotten anything, it is possible to set up some v3 authorities and start voting. Of course, I have probably forgotten something, and there are probably bugs in there somewhere too.


svn:r10976
2007-07-29 23:11:44 +00:00
Nick Mathewson
1b665b3c7e r13979@catbus: nickm | 2007-07-29 01:20:20 -0400
Implement proposal 109:  As an authority, never call more than 3 servers per IP Running and Valid.  Prefer Running servers to non-running ones; then prefer high-bandwidth to low-bandwidth.  Needs testing.


svn:r10968
2007-07-29 05:20:31 +00:00
Nick Mathewson
d2adb68ed6 r13963@catbus: nickm | 2007-07-28 22:53:32 -0400
Add support for signature upload


svn:r10962
2007-07-29 02:55:21 +00:00
Nick Mathewson
afe9f33d35 r13956@catbus: nickm | 2007-07-27 20:09:48 -0400
Better certificate manipulations: extract certificates from incoming votes, forget ones that are very old, and remember to store them on disk.


svn:r10954
2007-07-28 00:11:34 +00:00
Nick Mathewson
51c734384a r13948@catbus: nickm | 2007-07-27 18:09:02 -0400
Add to the TODO as starred items all the things we need to do in order to get authorities voting (not too robustly, bare-minimum).


svn:r10950
2007-07-27 22:09:08 +00:00
Roger Dingledine
9fd726b559 two more bugs i should keep track of
svn:r10868
2007-07-18 10:53:43 +00:00
Roger Dingledine
50487c249d timeout and retry schedules for fetching bridge descriptors
svn:r10867
2007-07-18 10:06:03 +00:00
Nick Mathewson
656b7761a8 r13730@catbus: nickm | 2007-07-12 12:32:40 -0400
Patch from lodger: avoid roundoff-error-induced crash bugs when picking routers by bandwidth.
 Also, remove listed backports for 0.1.2.x; that list is now in TODO.012


svn:r10812
2007-07-12 16:34:45 +00:00
Roger Dingledine
706fad08fa vague fuzzy bug reports so i don't forget them
svn:r10797
2007-07-12 15:24:56 +00:00
Nick Mathewson
74711479eb r13666@catbus: nickm | 2007-07-10 13:10:00 -0400
Get the RESOLVE controller code working.


svn:r10781
2007-07-10 17:14:51 +00:00
Andrew Lewman
fd1cd75d22 Added some todo items from PET2007
svn:r10689
2007-06-28 04:32:12 +00:00
Roger Dingledine
cfc6b4e074 update the todo, primarily with bridge-related stuff but
also list some dirserv behaviors we should document


svn:r10606
2007-06-15 04:14:01 +00:00
Roger Dingledine
af658b7828 More work towards making bridge users able to connect via bridges:
- demand options->Bridges and options->TunnelDirConns if 
    options->UseBridges is set.
  - after directory fetches, accept descriptors that aren't referenced by
    our networkstatuses, *if* they're for a configured bridge.
  - delay directory fetching until we have at least one bridge descriptor.
  - learn how to build a one-hop circuit when we have neither routerinfo
    nor routerstatus for our destination.
  - teach directory connections how to pick a bridge as the destination
    directory when doing non-anonymous fetches.
  - tolerate directory commands for which the dir_port is 0.
  - remember descriptors when the requested_resource was "authority", 
    rather than just ignoring them.
  - put bridges on our entry_guards list once we have a descriptor for them.
    When UseBridges is set, only pick entry guards that are bridges. Else
    vice versa.


svn:r10571
2007-06-12 09:17:23 +00:00
Roger Dingledine
a97c3b8c2d Be clearer on the various roles for auth dir types.
Bridge authorities no longer write bridge descriptors to their
cached-routers file -- this gets complex because of extrainfo documents.


svn:r10545
2007-06-09 07:05:19 +00:00
Peter Palfrader
b800aac85e Two todo items
svn:r10506
2007-06-05 21:10:23 +00:00
Nick Mathewson
f0345d46f6 r13256@catbus: nickm | 2007-06-05 10:57:41 -0400
Mark fields that need to be ipv6-ified.


svn:r10503
2007-06-05 20:54:23 +00:00
Nick Mathewson
2e0713222b r13252@catbus: nickm | 2007-06-04 18:57:21 -0400
Code to check signatures on consensus directories.


svn:r10492
2007-06-04 22:57:23 +00:00
Nick Mathewson
8b0e6a4466 r13250@catbus: nickm | 2007-06-04 18:28:55 -0400
Adapt code to parse v3 networkstatus votes so it can also parse a consensus.  Make networkstatus_vote_t the catch-all type for votes and conensuses.  Correct/clarify the second argument to directory-signature.


svn:r10491
2007-06-04 22:29:00 +00:00
Roger Dingledine
58eabb5f30 ok, clarify that line, so nick has a chance of knowing what i meant
svn:r10477
2007-06-04 02:57:23 +00:00
Roger Dingledine
4f84e5ff00 i was about to mail nick asking him to do something more, but i realized
we had this snazzy thing called a todo file. here, nick. :)


svn:r10476
2007-06-04 02:49:45 +00:00
Nick Mathewson
d3ee41619c r13186@catbus: nickm | 2007-06-03 19:00:20 -0400
Bind ports before setuid/setgid.


svn:r10473
2007-06-03 23:00:26 +00:00
Roger Dingledine
4f61b581cf add mwenge's wishlist item: a tcp dns proxy
svn:r10469
2007-06-03 18:54:50 +00:00
Nick Mathewson
bb524e99c9 r12955@catbus: nickm | 2007-05-25 13:17:30 -0400
First bare stubs of ipv6 work: commit some (untested, hence doublessly broken) implementations of inet_ntop/pton for systems that lack them.


svn:r10326
2007-05-25 18:22:37 +00:00
Nick Mathewson
39fe91b9a2 r12946@catbus: nickm | 2007-05-25 10:46:50 -0400
Add an AutomapHostsOnResolve option.  It seems to work.


svn:r10324
2007-05-25 14:48:16 +00:00
Nick Mathewson
703bf19620 r12942@catbus: nickm | 2007-05-24 16:31:22 -0400
Well, that was easier than I thought it would be.  Tor is now a DNS proxy as well as a socks proxy.  Probably some bugs remain, but since it A) has managed to resolve one address for me successfully, and B) will not affect anybody who leaves DNSPort unset, it feel like a good time to commit.


svn:r10317
2007-05-24 20:31:30 +00:00
Nick Mathewson
d3d86b17a7 r12916@catbus: nickm | 2007-05-24 12:43:45 -0400
Add math functions to round values to the nearest power of 2.  Make mempools more careful about making sure that the size of their chunks is a little less than a power of 2, not a little more.


svn:r10304
2007-05-24 17:12:57 +00:00
Nick Mathewson
38300735cd r12902@catbus: nickm | 2007-05-22 14:52:29 -0400
First draft of code to generate votes. needs testing. does not yet upload or serve votes.  Shares most of its code with the old generate_v2_networkstatus.


svn:r10295
2007-05-22 18:52:32 +00:00
Nick Mathewson
9e0acc0c11 r12899@catbus: nickm | 2007-05-22 13:51:26 -0400
Extract common code from networkstatus_getinfo_helper_single() and generate_v2_networkstatus().


svn:r10294
2007-05-22 17:58:30 +00:00
Nick Mathewson
c9fa4e6583 r12898@catbus: nickm | 2007-05-22 13:11:04 -0400
More v3 directory code: have authorities load certificates; have everybody store certificates to disk and load them; provide a way to configure v3 authorities.


svn:r10293
2007-05-22 17:58:25 +00:00
Roger Dingledine
60c2dced98 weasel suggested: can we deprecate the FastFirstHopPK config option?
svn:r10236
2007-05-21 13:48:55 +00:00
Nick Mathewson
4b18c3ea76 r12983@Kushana: nickm | 2007-05-18 16:46:15 -0400
Note that we do not permit you to exit to port 0, no matter what.  Closes bug 409.


svn:r10211
2007-05-18 21:19:58 +00:00
Nick Mathewson
ec55cf526d r12981@Kushana: nickm | 2007-05-18 14:12:19 -0400
First cut at code to download extra-info docs.  Also note a bad bug in directory.c (look for the string BUG BUG BUG).


svn:r10209
2007-05-18 21:19:19 +00:00
Nick Mathewson
866313aafc r12726@catbus: nickm | 2007-05-11 06:41:47 -0400
Checkpoint some more dir-spec.txt edits.


svn:r10165
2007-05-11 10:41:59 +00:00
Nick Mathewson
11f3e894d3 r12708@catbus: nickm | 2007-05-10 15:18:08 -0400
Patch from shibz: implement a getinfo status/version/... so a controller can tell whether the current version is recommended, whether any versions are good, and how many authorities agree.


svn:r10162
2007-05-10 19:30:02 +00:00
Andrew Lewman
917951f87e Tor works fine in CentOS5/RHEL5. The nsis packaging works fine now.
svn:r10122
2007-05-06 01:16:08 +00:00
Roger Dingledine
d112e7b1ad fix some code comments, a wrapper, and add a todo item
svn:r10111
2007-05-04 07:24:01 +00:00
Nick Mathewson
e2a49ed2f4 r12639@catbus: nickm | 2007-05-02 17:37:49 -0400
Start implementing key certificate parsing.  Note TODO items for combined 101/103.


svn:r10097
2007-05-02 21:37:55 +00:00
Nick Mathewson
26abac8c4c r12625@catbus: nickm | 2007-05-01 16:41:23 -0400
Remove the _UploadExtraInfo option, since I tried turning it on and moria[12] seem not to have exploded.


svn:r10089
2007-05-01 20:41:27 +00:00