Commit Graph

741 Commits

Author SHA1 Message Date
Nick Mathewson
7d990b5aa1 r13992@Kushana: nickm | 2007-08-13 16:45:22 -0400
A vote we already have a nd a double-upload are different things.


svn:r11093
2007-08-13 20:45:36 +00:00
Nick Mathewson
b4adf151d2 r13991@Kushana: nickm | 2007-08-13 16:37:43 -0400
Do not warn on missing cached consensus.


svn:r11092
2007-08-13 20:45:27 +00:00
Nick Mathewson
4e4dcb2571 r13989@Kushana: nickm | 2007-08-13 16:31:03 -0400
Actually store the v3 authority id digest of a trusteddirserver


svn:r11091
2007-08-13 20:31:08 +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
34a3a5e2f4 r14016@catbus: nickm | 2007-07-30 13:45:55 -0400
More documentation


svn:r10992
2007-07-30 17:46:14 +00:00
Roger Dingledine
5d535a28c9 clean up some bridge log messages
svn:r10985
2007-07-30 08:43:02 +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
764bde22de r13960@catbus: nickm | 2007-07-28 18:14:29 -0400
Start correctly when cached-certs is missing. oops


svn:r10957
2007-07-28 22:14:42 +00:00
Nick Mathewson
76a408941c r13959@catbus: nickm | 2007-07-28 18:09:56 -0400
Use the correct formula to calculate exit weights.


svn:r10956
2007-07-28 22:14:39 +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
Peter Palfrader
1f4275451b Resolve a compiler warning about uninitialized use
svn:r10940
2007-07-27 01:10:23 +00:00
Nick Mathewson
eed888a2b7 r13927@catbus: nickm | 2007-07-26 17:26:49 -0400
Fix router_choose_by_bandwidth to no longer be biases by floating-point roundoff issues.  This runs through the list of routers yet another time, and uses an additional bitfield, but this should be okay: the function did not appear in profiles before, and shouldnt start appearing now.


svn:r10939
2007-07-26 21:26:57 +00:00
Nick Mathewson
6c4864f351 r13924@catbus: nickm | 2007-07-26 16:46:45 -0400
We can have multiple authority certificates for an authority at a time: make the code reflect that.


svn:r10937
2007-07-26 20:49:04 +00:00
Nick Mathewson
fb2f3c035b r13921@catbus: nickm | 2007-07-26 16:26:48 -0400
Code to add signatures to a pending consensus directory.


svn:r10936
2007-07-26 20:26:59 +00:00
Nick Mathewson
83fa843663 r13900@catbus: nickm | 2007-07-25 16:16:30 -0400
Better fix for GCC 4.2 warning on routerlist.c


svn:r10925
2007-07-25 22:56:34 +00:00
Roger Dingledine
5190916670 free a small static string on exit.
svn:r10902
2007-07-22 06:32:28 +00:00
Roger Dingledine
e96d807db4 Revert part of r10874, since it was breaking our load balancing
(we always picked one router past the one we wanted!) and could
conceivably read past the end of the smartlist too.

Nick, I don't know what gcc 4.2 was worried about, but we need
to find a better fix than this. :)


svn:r10901
2007-07-22 04:36:33 +00:00
Roger Dingledine
6fc336d217 handle fetching bridge descriptors from the bridge authority too.
svn:r10898
2007-07-22 00:16:48 +00:00
Nick Mathewson
bbbf504281 r13827@catbus: nickm | 2007-07-19 14:42:25 -0400
Merge in some generic address manipulation code from croup.  Needs some work.


svn:r10880
2007-07-19 18:46:09 +00:00
Nick Mathewson
5e6f05bc31 r13822@catbus: nickm | 2007-07-18 16:43:39 -0400
Tweak a couple of loop-related variables to make the gcc 4.2 -Wstrict-overflow warning happy.


svn:r10874
2007-07-18 20:46:14 +00:00
Nick Mathewson
d920683718 r13821@catbus: nickm | 2007-07-18 16:29:17 -0400
Initial code to manipulate vote timing correctly.


svn:r10873
2007-07-18 20:46:12 +00:00
Peter Palfrader
3052bf6a84 Change routerlist_remove to not take an index argument we do not need anyway.
Now the only remaining caller of _routerlist_find_elt is an assert()

svn:r10869
2007-07-18 14:02:47 +00:00
Roger Dingledine
50487c249d timeout and retry schedules for fetching bridge descriptors
svn:r10867
2007-07-18 10:06:03 +00:00
Roger Dingledine
98ce45bebf Backport candidate:
Fix a potential crash bug when we load many server descriptors at
once and some of them make others of them obsolete. Fixes bug
458. [Bugfix on 0.1.2.x]


svn:r10832
2007-07-16 00:11:03 +00:00
Roger Dingledine
5ab3f49d93 backport candidate: fix a memory leak from r9039 which had us leaking
50ish bytes every time we rebuild the cached-router files.


svn:r10830
2007-07-15 08:34:32 +00:00
Peter Palfrader
2ce1cb22bd Comment one tor_assert
svn:r10820
2007-07-12 17:37:47 +00:00
Roger Dingledine
ef6bc1a451 Keep streamids from different exits on a circuit separate. This
bug may have allowed other routers on a given circuit to inject
cells into streams. Reported by lodger; fixes bug 446. [Bugfix
on 0.1.2.x]


svn:r10818
2007-07-12 17:09:19 +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
Peter Palfrader
9ed261cd6a In router_add_to_routerlist() only call router_have_minimum_dir_info() under some circumstances, not always
svn:r10799
2007-07-12 15:57:23 +00:00
Peter Palfrader
db3a4bf897 Call router_have_minimum_dir_info() at the beginning of router_add_to_routerlist() since it has side effects
svn:r10754
2007-07-06 21:21:09 +00:00
Peter Palfrader
39b1a11f8d Remove two arguments from routerlist_replace(). idx, which is
the old router's index in the routerlist, can be gotten from the
old routerinfo itself anyway, and make_old always was true.
(There only is one caller of routerlist_replace())


svn:r10753
2007-07-06 18:40:39 +00:00
Nick Mathewson
e6ba07f8f5 r13634@catbus: nickm | 2007-07-06 14:20:50 -0400
Fix a crash bug (*the* crash bug?) on authorities.  Backport candidate.


svn:r10752
2007-07-06 18:20:54 +00:00
Peter Palfrader
64f4cff192 I so wonder how this blows up on the real network - make _routerlist_find_elt be strict about the idx it is passed - if it is not -1 then it has to be correct
svn:r10727
2007-07-02 20:17:12 +00:00
Peter Palfrader
d071df748a If we want to be more strict in _routerlist_find_elt I better call it properly
svn:r10726
2007-07-02 20:04:26 +00:00
Peter Palfrader
ccefd7404e Don't get private with smartlists when there's a perfectly fine accessor method for num_used
svn:r10724
2007-07-02 19:45:44 +00:00
Peter Palfrader
ea1348360e Three more assertions which hopefully are sane, Nick? They might help track down #417.
svn:r10720
2007-07-02 15:13:52 +00:00
Roger Dingledine
2cd293dc8f now we can specify a bridge without specifying its key,
and we will still connect to it and use it. getting closer!


svn:r10609
2007-06-15 06:01:04 +00:00
Roger Dingledine
3d641bde0e Refine r10571: more work on bridge stuff.
- Only listen to responses for "authority" fetches if we're configured
    to use Bridges. Otherwise it's safe (and maybe smarter) to silently
    discard them like we used to.
  - React faster to download networkstatuses after the first bridge
    descriptor arrives.
  - Don't do dir fetches before we have any bridges, even when our 
    dirport is open.


svn:r10604
2007-06-15 02:12:15 +00:00
Nick Mathewson
9a74e881ef r13413@catbus: nickm | 2007-06-13 18:44:28 -0400
Non-static inline functions cant talk about static variables.


svn:r10599
2007-06-13 22:44:30 +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
Peter Palfrader
c0b28adc65 Resetting the correct stats
svn:r10569
2007-06-12 01:09:53 +00:00
Nick Mathewson
a21381affa r13364@catbus: nickm | 2007-06-11 20:15:53 -0400
Stop assuming that desc_by_eid_map works: in fact, it kinda doesn't.  Add a big comment explaining why.


svn:r10567
2007-06-12 00:15:55 +00:00
Nick Mathewson
367a77459a r13355@catbus: nickm | 2007-06-11 18:19:34 -0400
Make all the digestmaps inside routerlist_t use the new typechecking wrappers, so we can catch any more bugs like the one fixed by 10561.  This turned up a bug in routerlist_remove: we were extracting a routerinfo_t from desc_digest_map.  Fix that too, though it was probably harmless, since we were only doing a pointer comparison with it.


svn:r10563
2007-06-11 22:19:40 +00:00
Nick Mathewson
bde82e737b r13352@catbus: nickm | 2007-06-11 17:42:45 -0400
Since desc_by_eid_map hold server descriptors, do not add routerinfo_ts.  Bug found by weasel


svn:r10561
2007-06-11 21:42:48 +00:00
Peter Palfrader
e91cab20dd Reorder routerlist_assert_ok() and routerlist_check_bug_417(), so if the assert_ok triggers we know that our bug_417 is wrong
svn:r10560
2007-06-11 19:46:23 +00:00
Roger Dingledine
04995f197d more building blocks towards being able to fetch bridge descriptors
svn:r10548
2007-06-10 07:34:21 +00:00
Nick Mathewson
2bb7005481 r13317@catbus: nickm | 2007-06-08 14:39:59 -0400
bugfix: we were undercounting the number of authorities that recommended any given version by 1.  Backport candidate.


svn:r10537
2007-06-08 18:41:19 +00:00
Nick Mathewson
1866ad3506 r13274@catbus: nickm | 2007-06-05 19:06:30 -0400
Remove some deadcode that seems unlikely to return


svn:r10509
2007-06-06 04:51:25 +00:00
Nick Mathewson
23ae5976f3 r13254@catbus: nickm | 2007-06-04 20:13:47 -0400
When choosing a guard, weight by bandwidth.  Resolves bug 440.


svn:r10493
2007-06-05 00:15:00 +00:00
Nick Mathewson
bb6f53d60c r13243@catbus: nickm | 2007-06-04 15:17:15 -0400
Start of code to compute consensus network-status stuff from a bunch of votes.  Strangely, it does not yet feel like an enormous ugly hack. 


svn:r10489
2007-06-04 19:19:01 +00:00