| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
(nick, do i have my libevent strerror dance moves correct?)
svn:r5462
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Weasel says circuit_get_by_conn is his main timesink. Most of its
users were just checking whether OR conns had circuits, so add a
circuit count to OR conns, and check that. One was
circuit_about_to_close_conn, which was doing an O(n^2) series of calls
to get all circs on an OR conn, so make an O(n) function for that.
Finally, circuit_get_by_edge_conn was using it as a sanity test that
has been around for a while but never found any actualy insanity, so
kill that.
circuit_get_by_conn is finally dead, which is good, since it was never
sane to begin with.
svn:r5460
|
|
|
|
| |
svn:r5443
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
don't tell you (it happens!); and rotate TLS connections once a week.
1) If an OR conn becomes more than a week old, make it obsolete.
2) If it's obsolete and empty, kill it.
3) When an OR makes a second connection to you, allow it.
4) If we want to send a new create cell, but the best conn we've
got is obsolete, and the router is 0.1.1.9-alpha-cvs or later, ask
for a new conn instead.
5) When we time out on circuit building on the first hop, make that
connection obsolete.
svn:r5429
|
|
|
|
| |
svn:r5424
|
|
|
|
|
|
| |
do not think it works quite right.
svn:r5423
|
|
|
|
| |
svn:r5375
|
|
|
|
| |
svn:r5368
|
|
|
|
| |
svn:r5347
|
|
|
|
| |
svn:r5345
|
|
|
|
|
|
|
|
| |
be more fair on loaded Tor servers, and it might resolve our
Windows crash bug. It might also slow things down.
svn:r5332
|
|
|
|
| |
svn:r5317
|
|
|
|
| |
svn:r5310
|
|
|
|
| |
svn:r5283
|
|
|
|
| |
svn:r5257
|
|
|
|
| |
svn:r5254
|
|
|
|
| |
svn:r5253
|
|
|
|
| |
svn:r5252
|
|
|
|
|
|
| |
responses. (when DIR_PURPOSE_FETCH_ROUTERDESC)
svn:r5249
|
|
|
|
|
|
| |
server descriptor, but not too often
svn:r5246
|
|
|
|
|
|
|
|
| |
Add entropy in 512-bit chunks, not 160-bit chunks. (This latter
change is voodoo.)
svn:r5211
|
|
|
|
| |
svn:r5204
|
|
|
|
|
|
|
| |
there, now we use it.
svn:r5202
|
|
|
|
|
|
| |
and relaunch of status downloads. Fix memory leak in trusted_dir_server_t. Reset "last download attempted" time when resetting failure counts.
svn:r5195
|
|
|
|
| |
svn:r5194
|
|
|
|
|
|
| |
directory info. These should be fixed, I think.
svn:r5193
|
|
|
|
| |
svn:r5192
|
|
|
|
|
|
| |
been an actual error. Normalize whitespace. Enforce convention that "address" is a hostname and "addr" is an IPv4 address.
svn:r5190
|
|
|
|
| |
svn:r5187
|
|
|
|
|
|
| |
bytes of serverdesc we are dropping. This will help us determine whether it is smart to parse incomplete serverdesc responses.
svn:r5186
|
|
|
|
|
|
| |
leaking, using dmalloc.
svn:r5178
|
|
|
|
| |
svn:r5177
|
|
|
|
| |
svn:r5172
|
|
|
|
|
|
| |
current leak, but it may help dmalloc work.
svn:r5168
|
|
|
|
| |
svn:r5160
|
|
|
|
| |
svn:r5154
|
|
|
|
| |
svn:r5128
|
|
|
|
|
|
| |
should always split). Also, fix timing error in main.c so retries really happen.
svn:r5127
|
|
|
|
|
|
| |
local_routerstatus_t objs); add a pile of logs back in; probe every 10sec; never autolaunch on failure. Let us see if this works better.
svn:r5125
|
|
|
|
|
|
| |
(download more so long as we dont duplicate existing requests; relaunch at staggered intervals); relaunch one a minute or on failure; reset 60 minutes; always open 3 requests if we can; add authority opinion to networkstatus; make naming rule correct. There is a remaining bug where we retry servers too quickly; We need to look at that harder.
svn:r5110
|
|
|
|
|
|
| |
status info, including # of download failures (not yet used). Update this list from networkstatuses when they arrive, then update routers from this list. Only download 128 routers at a time, to avoid gargantuan URLs.
svn:r5089
|
|
|
|
| |
svn:r5082
|
|
|
|
| |
svn:r5072
|
|
|
|
|
|
| |
some work, but at last clients are finally on the new architecture. Next comes the tuning and bugfixing.
svn:r5070
|
|
|
|
|
|
| |
others, and status_set_at from routerinfo_t. Compress routerlist.c cleanup functions. Update cached networkstatus mtime when we download the same one twice. Change some interfaces.
svn:r5068
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Only caches need to get running-routers; nobody needs to parse, store,
or use it. Same for the router-status line in the directories. Add
many #if 0's that can get removed once I'm convinced they don't
contain anything I'm forgetting.
Start all newly-parsed routers as non-running and non-valid; update
them from the list of network statuses.
Update all routers when a new networkstatus comes in.
After 3 tries for a networkstatus, clients give up until they're told
to try again.
"Let's get those missles ready to **DESTROY THE UNIVERSE**!"
-TMBG
svn:r5063
|
|
|
|
|
|
| |
they do. This should solve the setconf-an-impossible-port bug.
svn:r5046
|
|
|
|
|
|
| |
strategy. Add an element to connection_t to remember what we are downloading, and a function to recognize our own fingerprint.
svn:r4944
|
|
|
|
|
|
| |
the constants need to be renamed.
svn:r4921
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Distinguish v1 authorities (all currently trusted directories) from
v2 authorities (all trusted directories).
- Add configuration option for which dirs are v1 authories.
- Add configuration option for whether to be a v1 authority.
- Make trusted dirserver selection functions take options to
choose which functionality we need.
- Remove option when getting directory cache to see whether they
support running-routers; they all do now. Replace it with one
to see whether caches support v2 stuff.
- Parse, cache, and serve network-status objects properly.
- Serve compressed groups of router descriptors. The compression logic
here could be more memory-efficient.
-
svn:r4911
|