Commit Graph

4858 Commits

Author SHA1 Message Date
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