Commit Graph

5041 Commits

Author SHA1 Message Date
Nick Mathewson
cb0dbbcfa5 r15621@catbus: nickm | 2007-10-10 00:37:25 -0400
Turns out, Bug 463 was just another "warn about something that is no big deal" thing. Downgrade, comment, and resolve.


svn:r11829
2007-10-10 04:37:38 +00:00
Nick Mathewson
1f4eafdb91 r15619@catbus: nickm | 2007-10-10 00:23:45 -0400
Fix bug 483: downgrade a harmless "Hey your accept() implementation sucks" warning to an info.


svn:r11828
2007-10-10 04:24:02 +00:00
Nick Mathewson
72f352880c r15608@catbus: nickm | 2007-10-09 19:01:50 -0400
Give better messages and return values from signature uploads and downlaods; also, log actual errors when we screw up.


svn:r11823
2007-10-09 23:02:02 +00:00
Roger Dingledine
4f23045e58 back out a little bit of r11817 to preserve current behavior.
some other behavior changes left in.


svn:r11821
2007-10-09 21:12:48 +00:00
Roger Dingledine
a5851939c0 i heard that users know the phrase 'system clock' better than 'clock'. hm.
svn:r11820
2007-10-09 21:11:16 +00:00
Nick Mathewson
97fa3fdf16 r15599@catbus: nickm | 2007-10-09 16:44:36 -0400
Fix the bug that was making moria1 set valid-after wrong in its votes: we were looking at the preferred timing when we should have been looking at the consensus timing.


svn:r11818
2007-10-09 20:44:51 +00:00
Nick Mathewson
8b71a76dd3 r15598@catbus: nickm | 2007-10-09 16:37:35 -0400
Turn all "Is DirPort nonzero? Because if it is, we must be a directory" logic into calls to dirserver_mode().


svn:r11817
2007-10-09 20:44:47 +00:00
Nick Mathewson
010fd50c36 r15597@catbus: nickm | 2007-10-09 16:17:42 -0400
Make authority_certs_fetch_missing only fetch certificates which we are not currently downloading; fix XXXX020s in networkstatus.c


svn:r11816
2007-10-09 20:44:45 +00:00
Nick Mathewson
0827d6f217 r15593@catbus: nickm | 2007-10-09 15:31:10 -0400
Fix an infinite loop when parsing multiple votes.


svn:r11813
2007-10-09 19:31:14 +00:00
Nick Mathewson
a2005cd2c1 r15590@catbus: nickm | 2007-10-09 15:14:42 -0400
Change dirvote_get_vote to take named flags rather than 3 boolean inputs.  Fix a bug that was caused by the order of the boolean inputs in or.h not matching the order of boolean inputs in dirvote.c.


svn:r11812
2007-10-09 19:14:48 +00:00
Nick Mathewson
40b6a66c89 r15589@catbus: nickm | 2007-10-09 15:08:00 -0400
Fix dumb typo in vote retrieval: we want to check the pending votes to see what we are missing; not the previous period.


svn:r11811
2007-10-09 19:14:46 +00:00
Nick Mathewson
a3d4c47515 r15587@catbus: nickm | 2007-10-09 15:05:27 -0400
When parsing two concatenated networkstatuses (as we do when voting), detect the end of the first one properly.


svn:r11810
2007-10-09 19:05:38 +00:00
Roger Dingledine
c9f2afd5fa make r11808 build on my 64-bit
svn:r11809
2007-10-09 18:43:05 +00:00
Nick Mathewson
23614f9523 r15581@catbus: nickm | 2007-10-09 14:36:47 -0400
Recompute voting schedule whenever a consensus is set.


svn:r11808
2007-10-09 18:36:56 +00:00
Nick Mathewson
f1d4e3477b Bugfixes in fetching certificates for a consensus: fetch tor/keys/fp/X, not tor/keys/X. Also, count signatures where no certificate is known as "missing a certificate" not as "unknown authority."
svn:r11805
2007-10-09 17:40:23 +00:00
Nick Mathewson
c7981e669f r15574@catbus: nickm | 2007-10-09 13:01:53 -0400
Fix the "400 OK" issue when replying to a vote.


svn:r11801
2007-10-09 17:07:13 +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
Roger Dingledine
11a782a6c3 for once, it was "no-tab man" that struck again.
svn:r11793
2007-10-08 21:28:23 +00:00
Nick Mathewson
18ec603861 r14802@Kushana: nickm | 2007-10-08 17:21:30 -0400
Refactor out about a third of routerlist.c into a new networkstatus.c.  I\m not sure that I got everything that needed to move, but so far so good.


svn:r11791
2007-10-08 21:21:50 +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
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
Nick Mathewson
8439c4ec2f r15512@catbus: nickm | 2007-10-02 16:27:43 -0400
Make some functions static; remove some dead code.


svn:r11750
2007-10-02 20:35:23 +00:00
Nick Mathewson
f4f780b526 r15510@catbus: nickm | 2007-10-02 16:14:42 -0400
Add support for more vote URLs that weasel wanted.  Weasel: please test this before I inflict it on anybody else. :)


svn:r11749
2007-10-02 20:19:43 +00:00
Nick Mathewson
439fe55c6b r15436@catbus: nickm | 2007-10-01 21:17:27 -0400
Fix disgusting O(n^2) behavior in router_parse_list_from_string.  Noticed by Li-Hui Zhou; found with oprofile.


svn:r11738
2007-10-02 01:22:42 +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
2050b31bb9 r15421@catbus: nickm | 2007-09-27 15:44:17 -0400
When we are a bridge directory, add bridges with purpose BRIDGE, not with purpose CONTROLLER.  Roger, is this right?


svn:r11679
2007-09-27 20:46:28 +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
a1c5a807d0 r15418@catbus: nickm | 2007-09-27 12:37:59 -0400
Fix a stupid logic error in authority_cert_get_by_sk_digest: the presence of an authority lacking a v3 cert does not mean that subsequent authorities lack them too.


svn:r11668
2007-09-27 16:41:42 +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
Roger Dingledine
ea47287575 minor typo
svn:r11658
2007-09-27 05:20:26 +00:00
Nick Mathewson
034524f4b7 r15400@catbus: nickm | 2007-09-26 12:13:12 -0400
Backend for descriptor annotations: parse annotations as keywords; only allow them to appear in the cache; do not serve them as part of the descriptor if we are a dirserver.  Still need mechanism to set annotations.  Still need to rename cache file.


svn:r11654
2007-09-26 16:19:44 +00:00
Nick Mathewson
95d97c722a r15371@catbus: nickm | 2007-09-25 19:53:13 -0400
Always set status_out when adding a vote.


svn:r11646
2007-09-25 23:57:12 +00:00
Nick Mathewson
4d44bf1edc r15367@catbus: nickm | 2007-09-25 19:31:11 -0400
It is amazing how reliable missing svk st are at breaking code.


svn:r11644
2007-09-25 23:35:28 +00:00
Nick Mathewson
ad11e9d0f1 r15310@catbus: nickm | 2007-09-24 11:36:08 -0400
Patch from Robert Hogan: fix a couple of status-event related typos. Backport candidate.


svn:r11604
2007-09-24 15:41:20 +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
b40230f45b note another bug i'd like to fix
svn:r11571
2007-09-22 00:05:46 +00:00
Roger Dingledine
523ac934de make directories_have_accepted_server_descriptor() able to
handle non-default values of PublishServerDescriptor.


svn:r11569
2007-09-21 22:14:39 +00:00
Roger Dingledine
41f3d0eb27 only mess with 'state' in init_keys if we're planning to actually
run tor. this resolves a segfault in 'tor --list-fingerprints'
introduced by r11437.

backport candidate due to r11438.


svn:r11566
2007-09-21 21:52:31 +00:00
Nick Mathewson
65cf389998 r15253@catbus: nickm | 2007-09-21 15:03:51 -0400
Oops; we had vote_delay and dist_delay switched when computing when to generate our consensus.  Harmless so far, but let's get that fixed.


svn:r11558
2007-09-21 19:11:52 +00:00
Roger Dingledine
193a144c9f Make "UpdateBridgesFromAuthority" torrc option work: when bridge
users configure that and specify a bridge with an identity
fingerprint, now they will lookup the bridge descriptor at the
default bridge authority via a one-hop tunnel, but once circuits
are established they will switch to a three-hop tunnel for later
connections to the bridge authority.


svn:r11550
2007-09-21 06:14:36 +00:00
Nick Mathewson
fdf390525c r15233@catbus: nickm | 2007-09-20 18:58:23 -0400
19:00 < weasel> Sep 21 01:00:01.926 [warn] Consensus published.
 19:00 < weasel> hah
 19:00 < nickm> ha indeed
 19:00 < nickm> a winner is me
 19:00 < weasel> _warn_ :)
 19:01 < nickm> watch out! It could go off at any moment!
 19:01  * weasel backs away


svn:r11546
2007-09-20 23:02:13 +00:00
Roger Dingledine
90d1345d90 bugfix on r11110:
Fix a bug that made servers send a "404 Not found" in response to
attempts to fetch their server descriptor. This caused Tor servers
to take many minutes to establish reachability for their DirPort,
and it totally crippled bridges. Bugfix on 0.2.0.5-alpha.



svn:r11545
2007-09-20 22:08:40 +00:00
Peter Palfrader
3b776b865e Minor whitespace fix
svn:r11543
2007-09-20 21:46:10 +00:00
Peter Palfrader
b16224c311 add a v3 authority
svn:r11542
2007-09-20 21:36:56 +00:00
Nick Mathewson
fc5dd0cdbb r15231@catbus: nickm | 2007-09-20 16:04:30 -0400
Patch from karsten: remove cbc and make unit tests handle aes-ctr-with-iv.


svn:r11538
2007-09-20 20:08:47 +00:00
Roger Dingledine
088c4cd8ce it works better when it compiles
svn:r11531
2007-09-20 04:54:50 +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
Nick Mathewson
5e81b0ecb8 r15170@catbus: nickm | 2007-09-19 11:41:50 -0400
Carry a new evdns function over from libevent: do not rely on compile-time code to set the transaction ID correctly.  This will be important when we finally drop our internal copy of eventdns.c


svn:r11517
2007-09-19 15:53:36 +00:00
Nick Mathewson
faeedbb8af r15167@catbus: nickm | 2007-09-19 11:19:08 -0400
Fix unit tests for rendezvous descriptor parsing.


svn:r11516
2007-09-19 15:53:33 +00:00
Roger Dingledine
53f57dd7c0 Set up moria1 as the first v3 directory authority.
svn:r11506
2007-09-19 03:22:01 +00:00
Roger Dingledine
a1e923c50d right before publishing our service descriptor, we were
rewriting the hexdigest back to an ambiguous nickname.
if this patches it, we should write a changelog and then
backport.


svn:r11500
2007-09-19 00:30:19 +00:00
Roger Dingledine
2a2cee9e51 Start using the v2 intro format for hidden service connections. Now
clients specify their chosen rendezvous point by identity digest
rather than by (potentially ambiguous) nickname. This change could
speed up hidden service connections dramatically.


svn:r11499
2007-09-18 23:48:39 +00:00
Roger Dingledine
82da6c02ba clean up r11496
svn:r11498
2007-09-18 23:34:27 +00:00
Roger Dingledine
eb9dc12ce9 Drop support for v1 rendezvous descriptors, since we never used
them anyway, and the code has probably rotted by now. Based on
patch from Karsten Loesing.


svn:r11496
2007-09-18 21:17:45 +00:00
Roger Dingledine
f15a4c8bd7 add some crypto/util functions from karsten, as the first
step of integrating his new hidden service stuff


svn:r11489
2007-09-18 17:07:56 +00:00
Nick Mathewson
f45dec1690 r15143@catbus: nickm | 2007-09-18 11:49:46 -0400
Add getinfo status/good-server-descriptor and status/reachability-succeeded. Patch from Robert Hogan.


svn:r11483
2007-09-18 15:53:55 +00:00
Nick Mathewson
a2b76befff r15142@catbus: nickm | 2007-09-18 11:43:32 -0400
Split "Have all the authorities accepted our server descriptor?" into its own function.  Patch from Robert Hogan.


svn:r11482
2007-09-18 15:53:53 +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
ffce9d3368 trivial doxygen thing
svn:r11463
2007-09-17 21:59:07 +00:00
Nick Mathewson
8c13967803 r14448@Kushana: nickm | 2007-09-17 14:26:56 -0400
Unify all of the divergent median/nth-percentile code in container.[ch]


svn:r11457
2007-09-17 18:27:49 +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
076b27aff8 r15077@catbus: nickm | 2007-09-15 14:04:19 -0400
Oops; make Makefile.am work on mingw again.


svn:r11445
2007-09-15 18:06:23 +00:00
Nick Mathewson
1dbe726f04 r15068@catbus: nickm | 2007-09-14 15:25:02 -0400
Fix a couple typos in control.c; spotted by Robert Hogan.


svn:r11440
2007-09-14 19:27:04 +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
71a56aa895 r14391@Kushana: nickm | 2007-09-12 10:56:17 -0400
Remove some needless complexity from the code to add signatures to a consensus: previously, we had a path to add new signatures, and a second path to replace signatures.  But the second path sufficed as a common case, and the code isn't invoked nearly enough to justify the optimization of having the first path.


svn:r11433
2007-09-12 17:33:18 +00:00
Nick Mathewson
1647a5764a r15056@catbus: nickm | 2007-09-12 13:15:19 -0400
Try to fix an automake problem by renaming a variable.


svn:r11432
2007-09-12 17:17:03 +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
749da8e0e9 r15047@catbus: nickm | 2007-09-11 13:40:54 -0400
Fix a memory leak when reloading v3 authority certificate and keys.


svn:r11428
2007-09-11 20:17:24 +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
c0130f9611 r15022@catbus: nickm | 2007-09-10 10:31:54 -0400
remove yet more pointless differences between our eventdns.c and the evdns.c in libevent.


svn:r11425
2007-09-11 20:17:18 +00:00
Nick Mathewson
5828e4d5c4 r15020@catbus: nickm | 2007-09-10 10:22:31 -0400
remove more pointless differences between our eventdns.c and the evdns.c in libevent.


svn:r11416
2007-09-10 14:23:26 +00:00
Nick Mathewson
13b65c4129 r15018@catbus: nickm | 2007-09-10 10:04:16 -0400
Change comments in eventdns.c to C-style, so we can more easily diff it against the version in libevent to reconcile them (again).


svn:r11415
2007-09-10 14:05:12 +00:00
Nick Mathewson
a04e584cbc r15005@catbus: nickm | 2007-09-10 09:49:03 -0400
Undo brokenness from merge conflict.


svn:r11414
2007-09-10 13:50:00 +00:00
Nick Mathewson
615d19fe4c r15001@catbus: nickm | 2007-09-10 09:44:49 -0400
Fix a couple of memory leaks in eventdns.c; found by niels.  Not backport candidates, since they only affect DNSPort users.


svn:r11413
2007-09-10 13:48:01 +00:00
Nick Mathewson
6744ebe7b5 svn:r11412 2007-09-10 13:47:56 +00:00
Nick Mathewson
565f5f32c5 r14363@Kushana: nickm | 2007-09-08 16:25:45 -0400
Another round of whitespeace fixes.


svn:r11407
2007-09-08 20:25:57 +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
1c8bd05c70 Fix compilation of ntmain.c.
svn:r11395
2007-09-06 18:19:09 +00:00
Nick Mathewson
4c4280e249 Make sure that even dumb compilers can tell that bad_cookie and bad_password are set before use.
svn:r11390
2007-09-06 18:04:28 +00:00
Nick Mathewson
f17a38ab04 r14940@catbus: nickm | 2007-09-06 13:22:26 -0400
Move NT services code into its own C file.  Probably will not build happily on win32 yet; more hacking needed.


svn:r11388
2007-09-06 17:42:05 +00:00
Andrew Lewman
c5b4f779ec Fixed misspelling of "connection" caught by kate.
svn:r11382
2007-09-06 00:36:53 +00:00
Nick Mathewson
d57c1c5c56 r14328@Kushana: nickm | 2007-09-04 20:17:34 -0400
There is no good reason to make hashedcontrolpassword and cookieauthentication mutually exclusive.  So let's not.


svn:r11377
2007-09-05 00:31:07 +00:00
Nick Mathewson
7c47856c9e r14327@Kushana: nickm | 2007-09-04 20:06:04 -0400
Better comment in dnsserv.c


svn:r11376
2007-09-05 00:31:01 +00:00
Nick Mathewson
eca3634f62 r14294@Kushana: nickm | 2007-09-01 13:50:03 -0400
Oops. Initialize "changed" variable when removing obsolete guards.


svn:r11346
2007-09-01 17:50:29 +00:00
Nick Mathewson
c967fae598 r14880@catbus: nickm | 2007-08-31 11:06:10 -0400
Refactor store_stats_t to hold a pointer to the proper mmap, and turn it into a full-fledged type.  This sets stuff up nicely for adding a separate "annotated" store.  Add some XXXX NM items that need to be fixed when annotated stores exist


svn:r11338
2007-08-31 15:08:37 +00:00
Nick Mathewson
2ff871e530 r14871@catbus: nickm | 2007-08-31 10:12:53 -0400
Check correct circuit type when calling functions from rend_process_relay_cell. Backport candidate.


svn:r11336
2007-08-31 14:20:44 +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
Nick Mathewson
c8e379a4cd r14259@Kushana: nickm | 2007-08-30 02:33:55 -0400
Teach tor about more libevent versions.  Be more clear that "Known bugs" means "it will crash or something."  Most significantly, stop issuing dire warnings every time we run with kqueue on os x: it seems to have worked for a while now.


svn:r11314
2007-08-30 06:34: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
a4cc3e4be1 r14821@catbus: nickm | 2007-08-27 19:57:56 -0400
Check for absent nickname when making extend info.  I still dont know when this happens, but it is easy enough to check for.  Fixes bug 467.


svn:r11293
2007-08-28 00:00:32 +00:00
Nick Mathewson
7cbe302b3f r14231@Kushana: nickm | 2007-08-27 14:56:14 -0400
Most configuration options have the same names in or.h and in torrc.  Make the macros reflect this, so that it is easier to fit them onto a line, and so that mismatched options stand out more


svn:r11290
2007-08-27 18:56:20 +00:00
Nick Mathewson
d3224bad42 r14227@Kushana: nickm | 2007-08-27 11:33:28 -0400
Add a new ClientDNSRejectInternalAddresses option (default: on) to refuse to believe that any address can map to or from an internal address.  This blocks some kinds of potential browser-based attacks, especially on hosts using DNSPort.  Also clarify behavior in some comments.  Backport candiate?


svn:r11287
2007-08-27 15:33:58 +00:00
Roger Dingledine
c4ee55ed26 Set up Tonga as the default bridge directory authority.
svn:r11276
2007-08-25 22:02:55 +00:00
Roger Dingledine
da1485088c formatting cleanups
svn:r11273
2007-08-25 21:31:34 +00:00
Roger Dingledine
df98447be5 revert the recommended-guard-version thing. it did not do what we
want, which is to expire old guards *every* time somebody moves
from an old version to the new one.

also, refine which version numbers count as 'new enough'.


svn:r11272
2007-08-25 20:34:13 +00:00
Nick Mathewson
7efc165095 r14204@Kushana: nickm | 2007-08-24 10:24:36 -0400
Fix a bug in last patch; add support for getting extrainfo documents by the control port (since it is silly to tell tools to do it without actually giving them an interface).


svn:r11270
2007-08-24 14:41:15 +00:00
Nick Mathewson
b9d43e2685 r14203@Kushana: nickm | 2007-08-24 10:15:58 -0400
Add a hacked-up GETINFO desc/all-recent-extrainfo-hack so that torstat can keep working with a minimum of fuss, until it learns about extrainfo documents.


svn:r11269
2007-08-24 14:41:10 +00:00
Nick Mathewson
cf2ac9b9e1 r14202@Kushana: nickm | 2007-08-24 09:55:30 -0400
Add purposes for new things we need to fetch for v3 directory system.


svn:r11268
2007-08-24 14:41:06 +00:00
Nick Mathewson
c3805e753a r14200@kushana: nickm | 2007-08-24 08:33:41 -0400
In new code, let's try to prefer named flags to mazes of twisted boolean arguments, all alike.


svn:r11267
2007-08-24 12:33:53 +00:00
Roger Dingledine
daece599a1 more cleanups on r11258. looks good now.
svn:r11266
2007-08-24 10:50:48 +00:00
Roger Dingledine
738ecba367 make the last patch do what i actually want. it was a bit tricky
since we want the default guardversion to be 0 (which is what it is
if there's no guardversion line), yet when we're validating a freshly
configed and defaulted state, we don't want to complain.


svn:r11264
2007-08-24 08:12:25 +00:00
Roger Dingledine
9bacf68851 cleanups on r11258
svn:r11263
2007-08-24 08:01:47 +00:00
Roger Dingledine
d39c7515d1 patch from mike perry to a) stop overloading guards as much, and
b) raise the max-believable-bandwidth to 10MB/s.


svn:r11258
2007-08-24 06:30:34 +00:00
Roger Dingledine
8d524edb83 a single quote != a single double quote. i can't hear the
circus music from here, perhaps we should move closer.


svn:r11256
2007-08-23 23:03:32 +00:00
Nick Mathewson
c65131b171 r14185@Kushana: nickm | 2007-08-22 11:07:01 -0400
Add some voting-related documentation.


svn:r11255
2007-08-22 15:07:44 +00:00
Nick Mathewson
08e605b4e2 r14184@Kushana: nickm | 2007-08-22 11:06:37 -0400
Unmap cached-extrainfo on exit. Fixes bug 484.


svn:r11254
2007-08-22 15:07:29 +00:00
Roger Dingledine
c02fb8997b backport candidate:
Make it possible to read the PROTOCOLINFO response in a way that
conforms to our control-spec. Reported by Matt Edman.


svn:r11251
2007-08-22 07:57:10 +00:00
Roger Dingledine
353abd9830 backport candidate:
Stop leaking part of the descriptor when we run into a particularly
unparseable piece of it. Bugfix on 0.1.2.x.


svn:r11249
2007-08-22 03:21:51 +00:00
Roger Dingledine
79066b4851 backport candidate:
Fix a minor memory leak when we fail to find enough suitable
servers to choose a circuit. Bugfix on 0.1.2.x.


svn:r11247
2007-08-22 03:03:24 +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
8a21232256 Stop putting the authentication cookie in a file called "0"
in your working directory if you don't specify anything for the
new CookieAuthFile option. Reported by Matt Edman.


svn:r11237
2007-08-21 03:11:56 +00:00
Peter Palfrader
c7140372cb It works better if we don't print a 404 header after our body
svn:r11236
2007-08-20 22:40:09 +00:00
Peter Palfrader
6802923fa7 call it EXPORTMALLINFO, not EXPORTMEMINFO
svn:r11235
2007-08-20 22:31:39 +00:00
Peter Palfrader
8aceafc0c8 Appease check-spaces
svn:r11234
2007-08-20 22:23:22 +00:00
Peter Palfrader
38cbd7263e We do not mix variable declarations and code
svn:r11233
2007-08-20 22:13:14 +00:00
Peter Palfrader
8c3d14cda5 Optionally export mallinfo() output on the DirPort
svn:r11232
2007-08-20 22:11:56 +00:00
Peter Palfrader
f99ac7fe52 Remove /tor/dir-all-weaselhack, it's useless without FULL_V1_DIRECTORIES defined
svn:r11231
2007-08-20 21:56:33 +00:00
Roger Dingledine
4ff3343e98 Let directory authorities startup even when they can't generate
a descriptor immediately, e.g. because they don't know their 
address.


svn:r11228
2007-08-20 18:29:17 +00:00
Nick Mathewson
df0a141a27 r14740@catbus: nickm | 2007-08-20 13:00:52 -0400
Only load MTBF data if we are running tor


svn:r11226
2007-08-20 17:02:04 +00:00
Nick Mathewson
3effc8b267 r14733@catbus: nickm | 2007-08-20 12:32:44 -0400
Clean up MTBF storage code. Do not count times that we have been down toward the current run.  Handle backward timewarps correctly.  Store MTBF data on exit in addition to periodically.


svn:r11225
2007-08-20 16:34:17 +00:00
Roger Dingledine
a200f442fb avoid double-punctuation when we're reporting errors from the
config functions to the controller.


svn:r11221
2007-08-20 16:13:21 +00:00
Nick Mathewson
76d40372fc r14731@catbus: nickm | 2007-08-20 12:02:09 -0400
Clean up authdir_X functions a little.


svn:r11220
2007-08-20 16:03:19 +00:00
Nick Mathewson
9958dc8d53 r14729@catbus: nickm | 2007-08-20 11:58:02 -0400
Trigger load and save of MTBF data.


svn:r11219
2007-08-20 15:59:31 +00:00
Nick Mathewson
d3b019a1df r14726@catbus: nickm | 2007-08-20 11:42:07 -0400
Make v3-only authorities check reachability


svn:r11218
2007-08-20 15:43:17 +00:00
Nick Mathewson
113367bc01 r14722@catbus: nickm | 2007-08-20 10:54:29 -0400
Add debugging warning to not abort in the case of bug 483.  This is probably not an actual error case, so we should figure out what is really causing it and do something more sensible.


svn:r11215
2007-08-20 14:59:05 +00:00
Nick Mathewson
c7ed49e7f8 r14663@catbus: nickm | 2007-08-18 17:50:51 -0400
Fix an XXX020 in or.h: BRIDGE != CONTROLLER.


svn:r11195
2007-08-19 15:20:11 +00:00
Roger Dingledine
473ff753f2 bump to 0.2.0.5-alpha since we're getting close
svn:r11189
2007-08-19 07:30:29 +00:00
Roger Dingledine
8641439a6e backport candidate (revert part of r9350):
Expire application streams in all cases if they've been around
longer than SocksTimeout. Right now there are some cases where the
stream will live forever, demanding a new circuit every 15 seconds.
Bugfix on 0.1.2.7-alpha; fixes bug 454; reported by lodger.


svn:r11186
2007-08-19 07:17:40 +00:00
Roger Dingledine
d6aa617e07 oh, and make it compile too
svn:r11185
2007-08-19 07:06:02 +00:00
Roger Dingledine
03560d575e generalize circuit_find_to_cannibalize() so it knows what
purpose circuit we're planning to become


svn:r11184
2007-08-19 07:04:24 +00:00
Roger Dingledine
c88803d924 Fix a bug in ADDRMAP controller replies that would sometimes
try to print a NULL. Patch from tup.


svn:r11181
2007-08-19 04:58:55 +00:00
Roger Dingledine
7c49a8d03e get rid of a debugging message that non v3-authorities were
seeing too, and that doesn't seem to be critical


svn:r11179
2007-08-19 04:28:56 +00:00
Andrew Lewman
b7026ea1b3 Move event.h include down a stanza to make mingw happy.
svn:r11174
2007-08-19 02:56:16 +00:00
Roger Dingledine
96cff65f85 backport candidate:
Refuse to start with certain directory authority keys, and 
encourage people using them to stop.


svn:r11171
2007-08-19 02:51:54 +00:00
Nick Mathewson
b45b91a358 r14661@catbus: nickm | 2007-08-18 15:38:08 -0400
Long overdue test.c refactoring: add --warn/--notice/--info/--debug command line options to set logging levels, and let the user specify which tests to run from the commmand line.


svn:r11167
2007-08-18 19:39:14 +00:00
Nick Mathewson
676d8622de r14659@catbus: nickm | 2007-08-18 14:19:34 -0400
When we are loading state info from disk, never believe any date in the future.  Doing so can keep us from retrying guards, rotating onion keys, storing bandwidth info, etc.  Fixes bug 434, and others. Backport candidate, once it has been tested.


svn:r11166
2007-08-18 18:20:42 +00:00
Peter Palfrader
50c0e6b37f Remove routerlist_check_bug_417() and all its calls. There is still some more debugging code left, marked with XXXs
svn:r11161
2007-08-17 22:55:04 +00:00
Nick Mathewson
1f244d3943 r14639@catbus: nickm | 2007-08-17 17:45:28 -0400
Compile without warnings on MinGW, even with --enable-gcc-warnings enabled.


svn:r11157
2007-08-17 21:46:34 +00:00
Nick Mathewson
f8b3927e07 r14634@catbus: nickm | 2007-08-17 16:43:49 -0400
Try to fix bug 482: do not rely on s6_addr16 or s6_addr32 on MSVC.  How ugly.


svn:r11155
2007-08-17 20:44:54 +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
Roger Dingledine
3f186e6510 help nick work on proposal 108
svn:r11148
2007-08-17 01:29:58 +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
Roger Dingledine
2df9bb937d clean up the cookieauth stuff
svn:r11146
2007-08-16 19:27:31 +00:00
Nick Mathewson
718953dbe9 r14606@catbus: nickm | 2007-08-16 13:45:01 -0400
Implement CookieAuthFile and CookieAuthFileGroupReadable.  Backport candidate.


svn:r11141
2007-08-16 17:46:01 +00:00
Nick Mathewson
f4398feadb r14600@catbus: nickm | 2007-08-16 13:30:22 -0400
Implement proposal 119. Backport candidate.


svn:r11138
2007-08-16 17:31:23 +00:00
Nick Mathewson
3623a12262 r14583@catbus: nickm | 2007-08-15 17:52:35 -0400
Fix a bug caught by Kate: when we switched from masks to bits in 0.2.0.3-alpha, we added a spurious ! that made us never believe that any address fell inside a virtual address range.  While we're at it, save a trip around the loop in the common case.


svn:r11129
2007-08-15 21:53:34 +00:00
Nick Mathewson
181ba71a90 r14051@Kushana: nickm | 2007-08-15 15:55:36 -0400
Fix an XXXX020 and a few DOCDOCs.


svn:r11127
2007-08-15 19:56:01 +00:00
Nick Mathewson
abad4dfc7a r14050@Kushana: nickm | 2007-08-15 15:21:02 -0400
Eliminate tons of repeated code in directory_handle_command_get.


svn:r11126
2007-08-15 19:55:57 +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
717f3b8a12 r14047@Kushana: nickm | 2007-08-15 13:57:39 -0400
fix a really nasty bug in v3 authorities: only set v3_digest in trusted_dir_server_t for v3 authorities.


svn:r11124
2007-08-15 17:57:47 +00:00
Nick Mathewson
e10041447c r14045@Kushana: nickm | 2007-08-15 13:07:21 -0400
Add more logs to try to hunt down latest voting bug.


svn:r11123
2007-08-15 17:07:27 +00:00
Nick Mathewson
38b84d9659 r14043@Kushana: nickm | 2007-08-15 12:12:25 -0400
Fix consensus signatures: regenerate the entire signature list when we get a new signature, rather than just appending the new signature.  This lets us tentatively accept weird signatures, since we can replace them with better ones later.


svn:r11122
2007-08-15 16:12:40 +00:00
Nick Mathewson
d5bd7d9fa3 r14032@Kushana: nickm | 2007-08-15 11:35:16 -0400
Add unit tests for median functions; enforce sensible ranges for intervals and delays.


svn:r11121
2007-08-15 15:38:58 +00:00
Nick Mathewson
60c2e9d99e r14031@Kushana: nickm | 2007-08-15 11:34:26 -0400
Fix a segfault in cert retrieval


svn:r11120
2007-08-15 15:38:53 +00:00
Roger Dingledine
7e5cee8110 this does not actually change anything (i hope), but it makes me a lot
more comfortable.
nick, can you confirm this?


svn:r11119
2007-08-15 15:36:34 +00:00
Roger Dingledine
f606d74f56 backport candidate:
- If we require CookieAuthentication but we fail to write the
  cookie file, we would warn but not exit, and end up in a state
  where no controller could authenticate. Now we exit.
- If we require CookieAuthentication, stop generating a new cookie
  every time we change any piece of our config.


svn:r11117
2007-08-15 15:26:14 +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
486166f9a8 r14020@Kushana: nickm | 2007-08-14 16:07:37 -0400
return 404 properly when somebody requests a bunch of nonexistent statuses/servers


svn:r11110
2007-08-14 20:19:58 +00:00
Nick Mathewson
3923eff1e6 r14019@Kushana: nickm | 2007-08-14 15:40:05 -0400
Save a 4 or 8 bytes per connection in or.h


svn:r11109
2007-08-14 20:19:51 +00:00
Nick Mathewson
2a31f09af6 r14018@Kushana: nickm | 2007-08-14 15:39:35 -0400
Resolve XXXX020s in config.c


svn:r11108
2007-08-14 20:19:46 +00:00
Nick Mathewson
42fa1de585 r14017@Kushana: nickm | 2007-08-14 15:13:14 -0400
Enable more code for v3 voting timing information.  Also, spec clarification.


svn:r11107
2007-08-14 20:19:40 +00:00
Nick Mathewson
25d2901857 r14015@Kushana: nickm | 2007-08-14 12:39:04 -0400
Try to avoid adding duplicate signatures to a consensus.


svn:r11105
2007-08-14 16:39:18 +00:00
Nick Mathewson
925394022a r14011@Kushana: nickm | 2007-08-14 10:29:49 -0400
Actually upload signatures when we vote. log more about the signatures we get.  discard pending vote stuff after we publish.


svn:r11104
2007-08-14 14:30:45 +00:00
Nick Mathewson
944bc41f99 r14010@Kushana: nickm | 2007-08-14 10:20:28 -0400
Fix a URL in voting


svn:r11103
2007-08-14 14:30:33 +00:00
Nick Mathewson
3399d63170 r14009@Kushana: nickm | 2007-08-14 10:20:20 -0400
Fix a logic error in certificate handling


svn:r11102
2007-08-14 14:30:25 +00:00
Nick Mathewson
817ed1ccbf r14006@kushana: nickm | 2007-08-14 09:34:28 -0400
re-enable version checking


svn:r11101
2007-08-14 13:34:41 +00:00
Nick Mathewson
3268ab58f2 r14005@kushana: nickm | 2007-08-14 09:34:19 -0400
add a warning to find a bug (maybe)


svn:r11100
2007-08-14 13:34:35 +00:00
Nick Mathewson
cd5eaf53f9 r14003@kushana: nickm | 2007-08-13 22:23:49 -0400
Resolve a pile of XXXXs in and around voting code


svn:r11099
2007-08-14 02:23:57 +00:00
Nick Mathewson
7113ab8f90 r14001@kushana: nickm | 2007-08-13 20:06:36 -0400
Check for *at least* as many signatures as required, not for *more* signatures than required.


svn:r11098
2007-08-14 00:07:29 +00:00
Nick Mathewson
b6c548094c r13998@kushana: nickm | 2007-08-13 19:20:28 -0400
Add some insanely verbose log messages on voting authorities.


svn:r11097
2007-08-13 23:23:06 +00:00
Nick Mathewson
a1ce60f9a6 r14546@catbus: nickm | 2007-08-13 17:19:01 -0400
Make if-modified-since work on consensuses


svn:r11095
2007-08-13 21:19:54 +00:00
Nick Mathewson
9356a0b1dd r14544@catbus: nickm | 2007-08-13 17:00:09 -0400
Give a 200 when a duplicate vote gets uploaded.


svn:r11094
2007-08-13 21:01:02 +00:00
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
94c90c42e3 r13987@Kushana: nickm | 2007-08-13 16:17:09 -0400
Stop segfaulting on failed consensus.


svn:r11090
2007-08-13 20:17:14 +00:00
Nick Mathewson
936edd901d r13985@Kushana: nickm | 2007-08-13 16:05:07 -0400
Fix some simple logic errors in voting.


svn:r11089
2007-08-13 20:05:25 +00:00
Nick Mathewson
2d07cce67f r14536@catbus: nickm | 2007-08-13 15:54:17 -0400
Make voting actually function.


svn:r11088
2007-08-13 19:55:08 +00:00
Nick Mathewson
89c65f2a4e r14534@catbus: nickm | 2007-08-13 15:15:46 -0400
Read v3 keys from the right location


svn:r11087
2007-08-13 19:16:44 +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
33cf3ada94 r14526@catbus: nickm | 2007-08-13 14:08:37 -0400
Make voting interval configurable.


svn:r11083
2007-08-13 18:09:38 +00:00
Roger Dingledine
762b5c479c less scary log entry
svn:r11077
2007-08-11 14:38:11 +00:00
Roger Dingledine
330abbb6c6 logging patch from karsten, slightly modified to compile
svn:r11074
2007-08-11 14:13:25 +00:00
Roger Dingledine
5920484083 dirserv.c:782: warning: `set_v1_dirty' might be used uninitialized in this function
svn:r11068
2007-08-10 03:07:00 +00:00
Nick Mathewson
5070a1e3ef r14103@catbus: nickm | 2007-08-09 18:30:40 -0400
Drop v1 directory support: instead, just generate stub v1 directories.  This should save lots and lots of directory bandwidth, and break any code relying on v1 directories, including Tor 0.1.0.x and earlier.


svn:r11067
2007-08-09 22:32:33 +00:00
Nick Mathewson
da09efe13d r13953@Kushana: nickm | 2007-08-08 07:40:46 -0700
Fix osx compilation.


svn:r11065
2007-08-08 14:43:30 +00:00
Nick Mathewson
3fc04529d4 r14093@catbus: nickm | 2007-08-08 01:49:54 -0400
Include fewer redundant headers; use the compiler search paths better.


svn:r11060
2007-08-08 05:50:31 +00:00
Nick Mathewson
68e6426c23 r13927@Kushana: nickm | 2007-08-03 00:56:54 -0700
ratchet down the time spent on threading tests


svn:r11043
2007-08-03 07:57:41 +00:00
Nick Mathewson
1c513979fc r13919@Kushana: nickm | 2007-08-02 10:58:31 -0700
Warn about unsafe ControlPort configurations.


svn:r11038
2007-08-02 21:03:40 +00:00
Roger Dingledine
659cdae145 a patch on r11016 that makes it work better
svn:r11018
2007-08-02 04:28:29 +00:00
Nick Mathewson
322b6f7e65 r13892@Kushana: nickm | 2007-08-01 18:27:13 -0700
Close immediately after anything but a successful authentication attempt on the control port.  Backport candidate.


svn:r11016
2007-08-02 01:28:40 +00:00
Nick Mathewson
a4e7dffc94 r13886@Kushana: nickm | 2007-08-01 09:43:06 -0700
Unit tests and debugging for detached signature manipulation.


svn:r11015
2007-08-01 16:43:44 +00:00
Nick Mathewson
484c8b776d r13872@Kushana: nickm | 2007-07-31 08:27:54 -0700
Rename IN4_ADDR and IN6_ADDR to try to avoid conflicting with Windows definitions.  This may fix the windows build.


svn:r11011
2007-08-01 15:57:34 +00:00
Nick Mathewson
480db0f00a r14034@catbus: nickm | 2007-07-31 05:22:56 -0400
possible fix for bug 473: always set buf->cur on buf_remove_from_front.


svn:r11004
2007-07-31 09:31:15 +00:00
Peter Palfrader
ce8edc964c Stop pretending all systems are fast
svn:r11003
2007-07-31 06:48:47 +00:00
Roger Dingledine
57c6264ede tweak comment
svn:r10998
2007-07-30 23:52:58 +00:00
Nick Mathewson
45c82b1d85 r14024@catbus: nickm | 2007-07-30 14:13:58 -0400
Glibc (and maybe others) define a mallinfo() that can be used to see how the platform malloc is acting inside.  When we have it, dump its output on dumpmemusage().


svn:r10996
2007-07-30 18:14:14 +00:00
Nick Mathewson
9fb77a6479 Disable SENTINELS in buffers: it may be responsible for making platform mallocs() be inefficient, and we havent needed it in a long long time.
svn:r10994
2007-07-30 17:51:14 +00:00
Nick Mathewson
9260a824ef Yet another buffer RAM patch: tNever ever ever keep a buffer memory chunk around for an empty buffer that could go on the freelist. This wants profiling to make sure that performance doesnt suffer.
svn:r10993
2007-07-30 17:47:43 +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
Roger Dingledine
1b01ad6d38 writing instructions before you release means you can make sure
your instructions don't seg fault


svn:r10984
2007-07-30 08:42:47 +00:00
Nick Mathewson
915c4c3ab8 r14001@catbus: nickm | 2007-07-29 21:31:53 -0400
Try to call time(NULL) a little less.


svn:r10980
2007-07-30 01:32:12 +00:00
Nick Mathewson
a3b8b2c4e3 r14000@catbus: nickm | 2007-07-29 21:16:45 -0400
Fix bug 472: do not use spaces in pseudo-address for local link cons.


svn:r10979
2007-07-30 01:32:07 +00:00
Roger Dingledine
468d922280 start hunting bugs, first in a non-crashy manner
svn:r10978
2007-07-30 01:07:06 +00:00
Nick Mathewson
3dbc825f36 r13996@catbus: nickm | 2007-07-29 19:17:53 -0400
Fix whitespace


svn:r10977
2007-07-29 23:18:06 +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
Roger Dingledine
ca7c53d3cc Be even more aggressive about separating local traffic from relayed
traffic when RelayBandwidthRate is set. (Refines proposal 111.)


svn:r10974
2007-07-29 22:13:44 +00:00
Nick Mathewson
616152486f r13986@catbus: nickm | 2007-07-29 09:15:03 -0400
Answer comment from Roger.


svn:r10971
2007-07-29 13:18:52 +00:00
Roger Dingledine
a68e6e23c9 patches on r10968: compare advertised capacity, not bandwidthrate;
and make the sorting order deterministic to avoid flapping.

also note that we could take the "is_auth" checks out of the
sorting entirely.


svn:r10970
2007-07-29 05:56:30 +00:00
Nick Mathewson
9031bbd4d8 r13982@catbus: nickm | 2007-07-29 01:31:53 -0400
Actually, we missed a rule about what routers to prefer: first prefer authority to non-authority, *then* running, *then* bandwidth.


svn:r10969
2007-07-29 05:32:03 +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
Roger Dingledine
eca2a30060 make progress towards retrying our bridges when they're all
down and we get a new socks request


svn:r10967
2007-07-29 04:38:21 +00:00
Nick Mathewson
964e4a305d r13972@catbus: nickm | 2007-07-29 00:01:38 -0400
Make our control events for multi-line async replies conform to our old grammar.  Change back to the old grammar (which got "corrected" in r10931).


svn:r10964
2007-07-29 04:03:25 +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
Roger Dingledine
9895d840f5 When running with dmalloc, dump more stats on hup and exit.
svn:r10961
2007-07-29 01:18:00 +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
Nick Mathewson
0d274e1db1 r13952@catbus: nickm | 2007-07-27 19:18:46 -0400
Weasel noticed that many buffers spend their time with empty 4k, 8k, and 16k memory chunks.  Thus, be more aggressive about putting empty chunks on the freelist, regardless of their high water marks.  (Also, run buffer_shrink_freelist on the 8k-chunk freelist.)


svn:r10953
2007-07-27 23:19:02 +00:00
Nick Mathewson
43f64d09ea r13951@catbus: nickm | 2007-07-27 18:39:28 -0400
Make it so we can actually compile with FULL_V1_DIRECTORIES disabled.


svn:r10952
2007-07-27 23:18:58 +00:00
Nick Mathewson
f6229d6432 r13950@catbus: nickm | 2007-07-27 18:15:23 -0400
Wrap bandwidth usage info in another ifdef so we can easily drop it on august 1 when it is time to finalize proposal 104.


svn:r10951
2007-07-27 23:18:55 +00:00
Nick Mathewson
0e5d8925d9 r13946@catbus: nickm | 2007-07-27 16:09:31 -0400
Fix median_int for platforms where sizeof(int)!=sizeof(time_t)


svn:r10949
2007-07-27 20:09:37 +00:00
Nick Mathewson
a5477c7bb9 r13944@catbus: nickm | 2007-07-27 15:52:35 -0400
Fix warnings on platforms where rlim values can be signed.
 Add an 8k buffer freelist.
 


svn:r10948
2007-07-27 19:53:29 +00:00
Nick Mathewson
bc9a7be943 r13939@catbus: nickm | 2007-07-27 14:33:22 -0400
When dumping memory usage, list bytes used in buffer memory free-lists.


svn:r10947
2007-07-27 18:33:37 +00:00
Nick Mathewson
65cdda20b3 r13938@catbus: nickm | 2007-07-27 14:26:07 -0400
More code to handle incoming consensus signatures


svn:r10946
2007-07-27 18:33:34 +00:00
Nick Mathewson
10f166045b r13937@catbus: nickm | 2007-07-27 12:43:36 -0400
Maintain a detached-signatures document along with pending consensus document.  Add a dirvote_free_all() to clean up static vars in dirvote.c


svn:r10945
2007-07-27 18:33:30 +00:00
Nick Mathewson
a65cea38d2 r13936@catbus: nickm | 2007-07-27 12:23:26 -0400
Code to implement detached signature documents.


svn:r10944
2007-07-27 18:33:28 +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
b1c873182d r13926@catbus: nickm | 2007-07-26 17:21:06 -0400
Add a bit-array type with reasonably fast inline functions.


svn:r10938
2007-07-26 21:26:53 +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
189bc7cf9f r13920@catbus: nickm | 2007-07-26 16:25:25 -0400
whitespace fixes


svn:r10935
2007-07-26 20:26:53 +00:00
Nick Mathewson
7f3e2378b6 r13908@catbus: nickm | 2007-07-25 18:55:47 -0400
Patch from Robert Hogan: set conn->dns_server_port correctly so that we can close dns server ports when they change, thus avoiding crashes and dangling references and other sources of unhappiness.


svn:r10933
2007-07-25 22:57:07 +00:00
Nick Mathewson
025a81fc18 r13907@catbus: nickm | 2007-07-25 18:51:25 -0400
Patch from tup: translate LFs to CRLFs in NS replies and
 ensures the data section is properly terminated with "\r\n.\r\n


svn:r10932
2007-07-25 22:57:02 +00:00
Nick Mathewson
a8821e2d82 r13905@catbus: nickm | 2007-07-25 18:48:44 -0400
ADDRMAP events should never have specified local time.  Extend them to have the proper gmt time, and make GETINFO address-mappings always do the right thing (since it is new in this version).


svn:r10930
2007-07-25 22:56:54 +00:00
Nick Mathewson
47f3a40900 r13904@catbus: nickm | 2007-07-25 18:04:46 -0400
Fix whitespaces and compilation in and around dirvote code.


svn:r10929
2007-07-25 22:56:50 +00:00
Nick Mathewson
2305c2c7be r13903@catbus: nickm | 2007-07-25 18:03:56 -0400
Make buffer large enough to hold ip6.arpa addresses.  This code was not actually used yet, so no user-visible bug existed. (Based on patch by croup.)


svn:r10928
2007-07-25 22:56:47 +00:00
Nick Mathewson
a66f259354 r13902@catbus: nickm | 2007-07-25 17:43:52 -0400
Some dirvote code to handle generating votes and slinging them around.  More code is still needed.


svn:r10927
2007-07-25 22:56:44 +00:00
Nick Mathewson
1b7a704c34 r13901@catbus: nickm | 2007-07-25 16:23:51 -0400
Make all code to generate v1 directories into conditional code.


svn:r10926
2007-07-25 22:56:40 +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
Nick Mathewson
1b24067395 r13773@kushana: nickm | 2007-07-23 00:16:44 -0400
Use tor malloc replacements in eventdns.c for now: there might be goblins there...goblins that only dmalloc can find!


svn:r10912
2007-07-23 04:18:20 +00:00
Nick Mathewson
4d2f45978f r13875@catbus: nickm | 2007-07-22 18:56:30 -0400
Once more with feeling.


svn:r10907
2007-07-22 22:56:33 +00:00
Nick Mathewson
6640fdeeee r13872@catbus: nickm | 2007-07-22 18:51:02 -0400
esc_router_info static field should not be cleared postfork, to avoid races.


svn:r10906
2007-07-22 22:51:07 +00:00
Nick Mathewson
701fce8e5c r13858@catbus: nickm | 2007-07-22 18:44:02 -0400
Fix/note some relatively trivial mem usage issues


svn:r10905
2007-07-22 22:49:49 +00:00
Roger Dingledine
0104882e9b dump dmalloc stats on sighup
svn:r10903
2007-07-22 07:05:43 +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
Roger Dingledine
56d3119581 Directory authorities now call routers Fast if their bandwidth is
at least 100KB/s, and consider their bandwidth adequate to be a
Guard if it is at least 250KB/s. This fix complements proposal
107. [Bugfix on 0.1.2.x]


svn:r10897
2007-07-21 23:40:55 +00:00
Roger Dingledine
a916e07ea6 when requesting tor/server/authority, ask for tor/server/authority.z
instead. same functionality, saves a bit of bandwidth. and might even
work.


svn:r10896
2007-07-21 22:04:18 +00:00
Nick Mathewson
6223160ab7 r13848@catbus: nickm | 2007-07-19 16:47:16 -0400
Use our own version of inet_ntop and inet_pton everywhere, to avoid partitioning attacks.


svn:r10888
2007-07-19 20:47:18 +00:00
Nick Mathewson
3015129a4a r13846@catbus: nickm | 2007-07-19 16:31:41 -0400
Actually, OSX (and some BSDs) accept [f:f:f:f:f:f:f:f::] as a perfectly fine ipv6 address.


svn:r10887
2007-07-19 20:31:43 +00:00
Nick Mathewson
31a73c0767 r13844@catbus: nickm | 2007-07-19 16:04:04 -0400
Same as the last patch, only more so.


svn:r10886
2007-07-19 20:04:05 +00:00
Nick Mathewson
00420bd084 r13842@catbus: nickm | 2007-07-19 16:02:54 -0400
OSX writes ::3 as ::0.0.0.3; choose a less ambiguous example.


svn:r10885
2007-07-19 20:02:56 +00:00
Nick Mathewson
a1f4644a94 r13840@catbus: nickm | 2007-07-19 16:00:43 -0400
Apparently, this problem can occur on the whole BSD family. "Yay."


svn:r10884
2007-07-19 20:00:45 +00:00
Nick Mathewson
4a240552c4 r13834@catbus: nickm | 2007-07-19 15:40:42 -0400
Another patch from croup: drop support for address masks that do not correspond to bit prefixes.  Nobody has used this for a while, and we have given warnings for a long time.


svn:r10881
2007-07-19 19:40:45 +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
70aef18db1 r13826@catbus: nickm | 2007-07-19 12:21:30 -0400
Fix a copy-and-paste error in dirvote.c


svn:r10879
2007-07-19 18:46:06 +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
Nick Mathewson
4a9d4c2c5c r13820@catbus: nickm | 2007-07-18 16:07:30 -0400
Whitespace fix on r10849


svn:r10872
2007-07-18 20:46:10 +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
5c4d86f512 using fascistfirewall and having your bridge on an unreachable
port silently didn't mix. now they loudly don't mix.


svn:r10862
2007-07-18 07:13:15 +00:00
Nick Mathewson
670db47e1b r13801@catbus: nickm | 2007-07-17 13:49:12 -0400
More tweaks to dir-spec.txt; not complete, but closing in.


svn:r10856
2007-07-17 17:49:16 +00:00
Roger Dingledine
a1ab2c8087 free bridge list on exit; try harder to free buffer freelists on exit.
svn:r10854
2007-07-17 11:33:38 +00:00
Roger Dingledine
b7e4683ff9 bugfix on r10086:
We had accidentally labelled 0.1.2.x directory servers as not
suitable for begin_dir requests, and had labelled no directory
servers as suitable for uploading extra-info documents. [Bugfix
on 0.2.0.1-alpha]


svn:r10853
2007-07-17 09:37:00 +00:00
Roger Dingledine
fcbb817db5 free another string, and the buffer freelists, on exit.
svn:r10851
2007-07-17 09:26:45 +00:00
Roger Dingledine
ccfda2e3a3 a few fixes for bug 463. needs a changelog. might need more fixes.
svn:r10849
2007-07-17 02:53:17 +00:00
Nick Mathewson
ad45ddfb07 r13788@catbus: nickm | 2007-07-16 14:26:25 -0400
Patch from croup: rewrite the logic of get_next_token() to do the right thing with input that ends at weird places, or aligns with block boundaries after mmap.  should fix bug 455.  Needs fuzzing.


svn:r10847
2007-07-16 18:26:31 +00:00
Nick Mathewson
6e9f1f76f2 r13784@catbus: nickm | 2007-07-16 13:27:32 -0400
Apply patch from tup: remove extra space at the end of some circuit-status events, and stop translating CRLF to CRCRLF in control replies.


svn:r10845
2007-07-16 17:27:35 +00:00
Nick Mathewson
26a25edaec r13777@catbus: nickm | 2007-07-16 12:58:08 -0400
Patch from tup: new address-mappings/ GETINFO that includes expiry times.


svn:r10844
2007-07-16 16:58:11 +00:00
Nick Mathewson
483c1e9017 r13774@catbus: nickm | 2007-07-16 12:23:28 -0400
Tweaks on constrained socket buffers patch from coderman: Add a changelog; rename some variables; fix some long lines and whitespace; make ConstrainedSockSize a memunit; pass setsockopt a void.


svn:r10843
2007-07-16 16:23:36 +00:00
Nick Mathewson
f4a6673758 r13773@catbus: nickm | 2007-07-16 11:58:25 -0400
Initial "constrained socket buffers" patch from coderman. needs tweaking.


svn:r10842
2007-07-16 16:23:34 +00:00
Roger Dingledine
6d2cb32d10 free some more memory on exit
svn:r10837
2007-07-16 04:33:47 +00:00
Roger Dingledine
4b719cbae0 stop reading uninitialized/outofbounds memory. possible backport,
quite related to bug 455.


svn:r10835
2007-07-16 03:39:21 +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
Roger Dingledine
2c2f7ee6a4 fix a memory leak from r10504 (i think)
svn:r10829
2007-07-15 08:11:56 +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
Roger Dingledine
9bf23e0598 backport candidate:
When sending destroy cells from a circuit's origin, don't include
the reason for tearing down the circuit. The spec says we didn't,
and now we actually don't. Reported by lodger. [Bugfix on 0.1.2.x]


svn:r10790
2007-07-11 03:37:45 +00:00
Roger Dingledine
83e8d8d9b9 clean up a comment
svn:r10789
2007-07-11 03:28:12 +00:00
Nick Mathewson
39dc589d32 r13691@catbus: nickm | 2007-07-10 18:44:30 -0400
Fix an assert error in 455 patch.


svn:r10788
2007-07-10 22:44:32 +00:00
Nick Mathewson
fa1376014b r13689@catbus: nickm | 2007-07-10 17:46:30 -0400
tweaks to last patch.  from croup.


svn:r10787
2007-07-10 21:46:33 +00:00
Nick Mathewson
7e20fdbefb r13687@catbus: nickm | 2007-07-10 16:08:14 -0400
Possible partial fix for bug 455: use eos logic everywhere.


svn:r10786
2007-07-10 20:08:18 +00:00
Nick Mathewson
d6ba1c3d96 r13676@catbus: nickm | 2007-07-10 13:41:24 -0400
Man. I thought I removed that code.


svn:r10785
2007-07-10 17:41:26 +00:00
Nick Mathewson
a8465adaa2 r13667@catbus: nickm | 2007-07-10 13:12:52 -0400
Patch from tup: add GETINFO status/enough-dir-info


svn:r10782
2007-07-10 17:14:55 +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
Nick Mathewson
7705314777 r13637@catbus: nickm | 2007-07-06 14:24:27 -0400
fix copy-paste error in config message src/or/config.c .  Apply
 initial (but pared-down) version of launch-resolve-via-controller
 patch from Robert Hogan.
 


svn:r10780
2007-07-10 17:13:24 +00:00
Nick Mathewson
10e5ed1a84 r13602@Kushana: nickm | 2007-07-07 23:44:24 -0400
Backport candidate: fix a possible buffer overrun when using natd support on old BSDs.  Based on a patch from "Mr. Croup".


svn:r10760
2007-07-08 03:45:47 +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
Nick Mathewson
92b6e09082 r13633@catbus: nickm | 2007-07-06 11:08:19 -0400
Call tor_init_threads() from tor_init().


svn:r10751
2007-07-06 18:20:52 +00:00
Nick Mathewson
04c9ae8164 r13453@kushana: nickm | 2007-06-20 10:01:37 -0400
Fix a type error in the last checkin.


svn:r10738
2007-07-05 14:50:13 +00:00
Nick Mathewson
b5c8a6183a r13452@kushana: nickm | 2007-06-20 09:52:55 -0400
Patch from Robert Hogan: Generate STREAM NEW events for dnsport requests and tunneled directory connections.  Log when we are testing for hijacking.


svn:r10737
2007-07-05 14:50:05 +00:00
Roger Dingledine
99bfb1bebe If there's a never-before-connected-to guard node in our list,
never choose any guards past it. This way we don't expand our 
guard list unless we need to. [Bugfix in 0.1.2.x]

I'm not sure if this will solve all our problems, but it is at least
something.



svn:r10730
2007-07-02 22:15:26 +00:00
Roger Dingledine
5c1daed3ad the non-controversial changes i found in my sandbox
svn:r10729
2007-07-02 22:07:53 +00:00
Nick Mathewson
32b165ab61 r13604@catbus: nickm | 2007-07-02 16:58:40 -0400
Some temporary output to try to figure out where bsd thread unit tests are going wrong


svn:r10728
2007-07-02 21:08:03 +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
Nick Mathewson
8bebff3deb r13568@catbus: nickm | 2007-06-30 15:18:18 -0400
allow test_threads() to time out 


svn:r10711
2007-06-30 19:18:28 +00:00
Nick Mathewson
25a11bf8aa r13555@catbus: nickm | 2007-06-30 14:05:36 -0400
Split "Util" tests into subgroups so I can see why freebsd trunk is failing.


svn:r10710
2007-06-30 18:06:00 +00:00
Nick Mathewson
a8a880e418 r13480@catbus: nickm | 2007-06-17 14:39:42 -0400
Oops; forgot to save a file in the last batch.


svn:r10646
2007-06-17 18:41:03 +00:00
Nick Mathewson
5adfa09fce r13477@catbus: nickm | 2007-06-17 14:22:03 -0400
Sun CC likes to give warnings for the do { } while(0) construction for making statement-like macros.  Define STMT_BEGIN/STMT_END macros that do the right thing, and use them everywhere.


svn:r10645
2007-06-17 18:22:39 +00:00
Nick Mathewson
93f32db438 r13476@catbus: nickm | 2007-06-17 14:04:41 -0400
Build with fewer compiler warnings on Sun.  (This and previous Sun patches are thanks to the tremendously handy services of unix-center.net.)


svn:r10644
2007-06-17 18:22:35 +00:00
Nick Mathewson
99792df645 r13473@catbus: nickm | 2007-06-17 13:42:36 -0400
Fix solaris eventdns.c behavior.  This time, I think I got it.  We were redefining _FILE_OFFSET_BITS, and thereby calling fstat64() on a struct stat, or something like that.


svn:r10643
2007-06-17 17:43:25 +00:00
Nick Mathewson
721899a447 r13471@catbus: nickm | 2007-06-17 11:59:25 -0400
Report address and por correctly on requests to dnsport. (Patch from Robert Hogan.)


svn:r10641
2007-06-17 15:59:27 +00:00
Nick Mathewson
d828915136 r13463@catbus: nickm | 2007-06-17 11:10:17 -0400
Add a SOURCE_ADDR field to STREAM NEW events so that controllers can match requests to applications. (Patch from Robert Hogan.)


svn:r10639
2007-06-17 15:10:51 +00:00
Nick Mathewson
3df7fc5e5a r13438@catbus: nickm | 2007-06-15 15:01:42 -0400
document some functions


svn:r10637
2007-06-17 15:10:43 +00:00
Nick Mathewson
9e944d07f8 r13418@catbus: nickm | 2007-06-14 13:29:21 -0400
Adjust networkstatus_compute_consensus to take an argument saying how many voters there _should_ be.


svn:r10634
2007-06-17 15:10:23 +00:00
Roger Dingledine
237cdfdf48 if we already have a bridge in our state file, it won't be
in the networkstatuses, so we'll mark it unusable when we
load it, and then when we get a new routerinfo for it, we'll
still think it's unusable. fix that.


svn:r10612
2007-06-15 18:32:27 +00:00
Roger Dingledine
07ff5c6785 bugfix on r10609: don't fail asserts when closing circuits
that were connected to an unkeyed connection.


svn:r10611
2007-06-15 16:21:40 +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
6a2f045163 extra points for making the function name reflect what it does
svn:r10608
2007-06-15 04:23:36 +00:00
Roger Dingledine
73f7310d9b Directories no longer return a "304 not modified" when they don't
have the networkstatus the client asked for. Also fix a memory
leak when returning 304 not modified. [Bugfixes on 0.2.0.2-alpha]


svn:r10607
2007-06-15 04:20:51 +00:00
Roger Dingledine
9f9ee13dc0 point out a bug in our If-Modified-Since handling in 0.2.0.2-alpha.
svn:r10605
2007-06-15 03:14:02 +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
Nick Mathewson
649a802322 r13409@catbus: nickm | 2007-06-13 18:01:56 -0400
Test the remainder of the contents of the consensus; fix a bug in geneating addresses on routerstatuses.


svn:r10597
2007-06-13 22:39:08 +00:00
Nick Mathewson
c2ea3e9aea r13406@catbus: nickm | 2007-06-13 17:05:30 -0400
Oops; linked connections get read/write events too.


svn:r10596
2007-06-13 21:05:32 +00:00
Nick Mathewson
6462683669 r13403@catbus: nickm | 2007-06-13 16:15:44 -0400
Test all of consensus contents, except for routerstatus_list contents. And signatures.


svn:r10593
2007-06-13 20:17:27 +00:00
Nick Mathewson
4b162fd1f4 r13401@catbus: nickm | 2007-06-13 15:50:16 -0400
Add dnsport connection to the global connection list. (Bug found by mwenge.)


svn:r10592
2007-06-13 19:50:18 +00:00
Nick Mathewson
eab7c6890d r13399@catbus: nickm | 2007-06-13 15:17:44 -0400
Hm. Tor should never need private authority identity keys; thus, I should not actually load the authority identity keys for testing.


svn:r10591
2007-06-13 19:17:46 +00:00
Nick Mathewson
3fa9a90243 r13396@catbus: nickm | 2007-06-13 15:06:18 -0400
Set vote_digest field prproperly in networkstatus_vote_t, so that it gets conveyed to the consensus correctly.


svn:r10590
2007-06-13 19:06:26 +00:00
Nick Mathewson
c3626cdba7 r13395@catbus: nickm | 2007-06-13 15:01:23 -0400
Unit tests and debugging for generating and parsing consensus networkstatus documents.  Still need to test actual contents.


svn:r10589
2007-06-13 19:06:23 +00:00
Nick Mathewson
05cf945a1c r13393@catbus: nickm | 2007-06-13 14:29:14 -0400
More vote unit tests: check that we are parsing routerstatuses correctly.


svn:r10588
2007-06-13 18:29:16 +00:00
Nick Mathewson
0cf38ddef6 r13387@catbus: nickm | 2007-06-13 14:15:49 -0400
Unit tests and debugging for vote generation and parsing code.


svn:r10587
2007-06-13 18:16:05 +00:00
Nick Mathewson
09a370e45f r13386@catbus: nickm | 2007-06-13 14:15:20 -0400
New helper file for test.c: contains 3 generated certs, signing keys, and id_keys


svn:r10586
2007-06-13 18:16: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
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
Peter Palfrader
f621513cad Remove an #undef, so you can -Ddefine stuff on the command line
svn:r10564
2007-06-11 22:32:30 +00:00