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
Nick Mathewson
8400cecb1d
r13148@catbus: nickm | 2007-06-02 10:24:20 -0400
...
Fix bug 441, 442, and possibly 417 (again).
svn:r10449
2007-06-02 14:24:23 +00:00
Nick Mathewson
2ef3e7853b
r13144@catbus: nickm | 2007-06-02 08:44:42 -0400
...
Add some asserts to catch double-insert on routerlist.
svn:r10445
2007-06-02 12:44:57 +00:00
Nick Mathewson
5b6d7f10f3
r13143@catbus: nickm | 2007-06-01 16:43:40 -0400
...
Try to fix some mipspro compiler warnings. There will still be some left.
svn:r10444
2007-06-02 12:44:54 +00:00
Nick Mathewson
f89a3b1448
r13050@catbus: nickm | 2007-05-29 13:31:11 -0400
...
Resolve all but 3 DOCDOCs.
svn:r10393
2007-05-29 17:31:13 +00:00
Nick Mathewson
63035cdb33
r13041@catbus: nickm | 2007-05-29 10:40:05 -0400
...
More messing around to try to address possible root causes of bug 436.
svn:r10388
2007-05-29 14:41:20 +00:00
Roger Dingledine
0c047b87f5
polish r9933-r9994
...
svn:r10335
2007-05-25 19:41:31 +00:00
Nick Mathewson
a312afd67e
r12936@catbus: nickm | 2007-05-24 14:12:34 -0400
...
Review XXXX comments without a version; upgrade some to XXXX020.
svn:r10315
2007-05-24 18:12:52 +00:00
Nick Mathewson
4c6398a8f0
r12918@catbus: nickm | 2007-05-24 12:52:40 -0400
...
Make reset_download_failures() reset extrainfo download status too.
svn:r10306
2007-05-24 17:13:02 +00:00
Nick Mathewson
d0a5c4f984
r12915@catbus: nickm | 2007-05-24 12:12:34 -0400
...
Do not send a warning when somebody uploads an extrainfo that we will reject, if it happens to be newer than our current routerdesc.
svn:r10303
2007-05-24 17:12:54 +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
Nick Mathewson
6975a093e9
r12853@catbus: nickm | 2007-05-22 11:36:54 -0400
...
Make connection_array into a smartlist.
svn:r10292
2007-05-22 15:49:14 +00:00
Nick Mathewson
4ec5e139c8
r12850@catbus: nickm | 2007-05-21 22:20:42 -0400
...
Partial backport candidate: do not rely on finding a \0 after an mmaped() router/extrainfo file. Also, set journal length correctly when starting up.
svn:r10248
2007-05-22 02:20:52 +00:00
Nick Mathewson
d23cb33a1a
r12846@catbus: nickm | 2007-05-21 21:55:15 -0400
...
Oops; it is possible to have an empty store.
svn:r10247
2007-05-22 01:55:50 +00:00
Nick Mathewson
0cb342e859
r12844@catbus: nickm | 2007-05-21 21:52:19 -0400
...
Oops. It compiles better when you spell the fields right.
svn:r10245
2007-05-22 01:52:22 +00:00
Nick Mathewson
32c8d94c12
r12842@catbus: nickm | 2007-05-21 21:51:45 -0400
...
Partial backport candidate. Fix issue noted in r10241: stores were rebuilt too often. Also notes dropped bytes better.
svn:r10244
2007-05-22 01:51:53 +00:00