Nick Mathewson
1070a720ad
Be more robust when excluding existing nodes as new dirguards
...
In addition to rejecting them post-hoc, avoid picking them in the
first place. This makes us less likely to decide that we can't add
guards at all.
2013-02-14 12:06:59 -05:00
Nick Mathewson
91027218e2
Add some code to bluntly prevent duplicate guards from getting added
...
Apparently something in the directory guard code made it possible
for the same node to get added as a guard over and over when there
were no actual running guard nodes.
2013-02-14 11:48:47 -05:00
Nick Mathewson
d7089ff228
Restore the entry/dirguard distinction.
...
We shouldn't be calling choose_random_entry() for directory
conncetions; that's what choose_random_dirguard() is for.
2013-02-12 16:23:12 -05:00
George Kadianakis
266f8cddd8
Refactoring to make parse_bridge_line() unittestable.
...
- Make parse_bridge_line() return a struct.
- Make bridge_add_from_config() accept a struct.
- Make string_is_key_value() less hysterical.
2013-02-11 18:07:26 +00:00
Roger Dingledine
74e6a47a80
stop setting, or using, router->address
...
resolves ticket 5528.
2013-02-09 22:07:22 -05:00
Roger Dingledine
e1ec03f819
use router->addr for log messages and controller events
...
(rather than router->address)
2013-02-09 21:10:07 -05:00
Roger Dingledine
ccaefd65a4
stop passing "address" around the directory_initiate_command* funcs
...
since it was always just the string version of "addr" anyway
2013-02-09 20:49:55 -05:00
George Kadianakis
8f2e980159
Send SOCKS arguments when doing SOCKS5.
2013-02-09 16:30:16 +00:00
George Kadianakis
14b84858c0
Send SOCKS arguments when doing SOCKS4.
2013-02-09 16:30:16 +00:00
George Kadianakis
757b03aacb
Add support for parsing SOCKS arguments.
2013-02-09 16:30:16 +00:00
Roger Dingledine
bce5019eff
generalize choose_random_entry()'s dirinfo parameter
...
Now we can specify to skip bridges that wouldn't be able to answer the
type of dir fetch we're launching.
It's still the responsibility of the rest of the code to prevent us from
launching a given dir fetch if we have no bridges that could handle it.
2013-02-02 08:19:27 -08:00
Roger Dingledine
a8297cdbd3
use microdescriptors if *any* of our bridges can handle them
...
Now as we move into a future where most bridges can handle microdescs
we will generally find ourselves using them, rather than holding back
just because one of our bridges doesn't use them.
2013-02-02 08:04:20 -08:00
Mike Perry
e13e30221e
Implement Path use bias accounting.
...
Path use bias measures how often we can actually succeed using the circuits we
actually try to use. It is a subset of path bias accounting, but it is
computed as a separate statistic because the rate of client circuit use may
vary depending on use case.
2013-01-18 19:46:21 -08:00
Nick Mathewson
49e619c1cf
Rename *_isin to *_contains
...
This is an automatically generated commit, from the following perl script,
run with the options "-w -i -p".
s/smartlist_string_num_isin/smartlist_contains_int_as_string/g;
s/smartlist_string_isin((?:_case)?)/smartlist_contains_string$1/g;
s/smartlist_digest_isin/smartlist_contains_digest/g;
s/smartlist_isin/smartlist_contains/g;
s/digestset_isin/digestset_contains/g;
2013-01-16 16:57:11 -05:00
Nick Mathewson
5ed8ac4e57
Merge remote-tracking branch 'asn/bug7896'
2013-01-16 11:41:37 -05:00
Nick Mathewson
4da083db3b
Update the copyright date to 201.
2013-01-16 01:54:56 -05:00
George Kadianakis
50028e4d68
Mention name of the transport used when we learn the fpr of a bridge.
2013-01-09 15:52:35 +02:00
Nick Mathewson
b1bdecd703
Merge branch 'ntor-resquashed'
...
Conflicts:
src/or/cpuworker.c
src/or/or.h
src/test/bench.c
2013-01-03 11:52:41 -05:00
Nick Mathewson
b286373908
Enable the ntor handshake on the client side.
...
"works for me"
2013-01-03 11:29:47 -05:00
Nick Mathewson
885e8d35c7
Merge remote-tracking branch 'mikeperry/209-path-bias-changes'
2012-12-25 23:30:28 -05:00
Nick Mathewson
0f9dfef9d6
Add configuration options for directory guards
...
In addition to all the other ways to make directory gurads not go,
you can now set UseEntryGuardsAsDirGuards to 0.
2012-12-25 23:14:43 -05:00
Nick Mathewson
0c4210fb65
Directory guard implementation.
...
Implements proposal 207; ticket 6526.
2012-12-25 23:14:43 -05:00
Nick Mathewson
1df7289000
Remember which of our guards are directory caches
2012-12-25 23:10:41 -05:00
Mike Perry
406d59a9c9
Nick's Code review #3 part 2.
2012-12-18 14:16:01 -08:00
Mike Perry
b0fc18c37e
Changes from Nick's code review 'part 1'
...
I think this is actually his third code review of this branch so far.
2012-12-18 13:26:36 -08:00
Mike Perry
4590993ff3
Space fixes.
2012-12-09 23:47:04 -08:00
Mike Perry
b75880d7b3
Fix a rather serious use-count state bug.
...
We need to use the success count or the use count depending on the consensus
parameter.
2012-12-09 20:56:48 -08:00
Mike Perry
2dbb62f1b5
Convert to doubles for all pathbias state.
...
Let's hope this solves the rounding error issue..
2012-12-09 20:53:22 -08:00
Mike Perry
ab1fce5c19
Also shorten circuit_successes to circ_successes.
...
For consistency and great justice.
Ok, mostly consistency.
2012-12-09 20:24:50 -08:00
Mike Perry
a90f165b83
Rename first_hop to circ_attempt.
...
Since we've generalized what we can count from (first or second hop), we
should generalize the variable and constant naming too.
2012-12-09 20:24:22 -08:00
Mike Perry
412ae099cb
Prop 209: Add path bias counts for timeouts and other mechanisms.
...
Turns out there's more than one way to block a tagged circuit.
This seems to successfully handle all of the normal exit circuits. Hidden
services need additional tweaks, still.
2012-12-07 15:28:38 -08:00
Mike Perry
bb548134cd
Update with code review changes from Nick.
2012-12-07 15:28:37 -08:00
Mike Perry
248fbc3619
Update pathbias parameters to match Proposal 209.
...
Needs manpage update and testing still..
2012-12-07 15:28:37 -08:00
Mike Perry
954f263ed5
Add the ability to count circuit timeouts for guards.
...
This is purely for informational reasons for debugging.
2012-12-07 15:28:36 -08:00
Mike Perry
42e3c04a7a
Bug 3443: Don't count ORconn setup in circuit build time.
...
Also, add a hack Roger suggested where we're more patient if no circuits are
opened yet.
2012-12-07 10:34:09 -05:00
Nick Mathewson
848333c6d6
Fix more madness from the split_circuitbuild merge
2012-10-22 14:36:30 -04:00
Nick Mathewson
9e9edf71f7
Split code for entry guards and bridges into a new module.
2012-10-15 14:28:23 -04:00