Roger Dingledine
965afb4970
cleanups on r13442.
...
oh, and this should be backported too.
svn:r13444
2008-02-09 10:46:22 +00:00
Roger Dingledine
b42c9d69f0
Patch from "Andrew S. Lists" to catch when we contact a directory mirror
...
at IP address X and he says we look like we're coming from IP address X.
svn:r13442
2008-02-09 10:36:49 +00:00
Nick Mathewson
de827f89df
r14062@tombo: nickm | 2008-02-08 15:17:07 -0500
...
Change DNs in x509 certificates to be harder to fingerprint. Raise common code. Refactor random hostname generation into crypto.c
svn:r13429
2008-02-08 21:13:12 +00:00
Nick Mathewson
842a33ff20
Update some copyright notices: it is now 2008.
...
svn:r13412
2008-02-07 05:31:47 +00:00
Roger Dingledine
e49d712b8a
if i'm a v3 authority, tell myself about my cert when i startup.
...
otherwise i'll keep asking other authorities for it, which probably
isn't the best way to get it. this made bootstrapping a new network
very hard.
svn:r13400
2008-02-06 12:39:25 +00:00
Nick Mathewson
92aaf68d19
r17914@catbus: nickm | 2008-02-05 16:12:16 -0500
...
Remove or downgrade some XXX020 items.
svn:r13388
2008-02-05 21:39:44 +00:00
Roger Dingledine
426a9bbde1
Don't trigger an assert if we start a directory authority with a
...
private IP address (like 127.0.0.1).
svn:r13371
2008-02-04 16:58:50 +00:00
Roger Dingledine
6228213647
minor typo
...
svn:r13174
2008-01-18 04:50:15 +00:00
Nick Mathewson
4a3b7496f0
r17639@catbus: nickm | 2008-01-15 19:09:21 -0500
...
Fix some hard to trigger but nonetheless real memory leaks spotted by an anonymous contributor. Needs review. Partial backport candidate.
svn:r13147
2008-01-16 05:27:19 +00:00
Nick Mathewson
b84955285a
r17564@catbus: nickm | 2008-01-10 13:19:59 -0500
...
Fix bug in r13094: be sure to set the purpose and send_unencrypted fields correctly in our own routerinfo and extrainfo.
svn:r13098
2008-01-10 18:20:04 +00:00
Roger Dingledine
8609c825e9
our defensive programming plan hid a bug. switch to offensive programming.
...
svn:r13078
2008-01-08 23:35:03 +00:00
Roger Dingledine
58d88dfc7f
make new v3 authorities that aren't in the DirServers list believe
...
in themselves again. bug experienced by karsten.
svn:r13076
2008-01-08 23:08:39 +00:00
Nick Mathewson
a62ab48d30
r17500@catbus: nickm | 2008-01-07 13:54:51 -0500
...
More messing about with bug 557 issues: do not let bizarre settings for myfamily or contactinfo muck with generated router descriptors.
svn:r13057
2008-01-07 18:54:58 +00:00
Nick Mathewson
11fff225fa
r15779@tombo: nickm | 2008-01-01 23:43:24 -0500
...
Use reference-counting to avoid allocating a zillion little addr_policy_t objects. (This is an old patch that had been sitting on my hard drive for a while.)
svn:r13017
2008-01-02 04:43:44 +00:00
Nick Mathewson
da06bfb80f
r15653@tombo: nickm | 2007-12-23 14:15:12 -0500
...
Refactor circuit_launch* functions to take a bitfield of flags rather than 4 separate nonconsecutive flags arguments. Also, note a possible but in circuit_find_to_cannibalize, which seems to be ignoring its purpose argument.
svn:r12948
2007-12-23 19:15:22 +00:00
Roger Dingledine
c10faf5085
fix some irix compile complaints; make "kbytes" work as a memory unit
...
svn:r12936
2007-12-23 04:22:55 +00:00
Roger Dingledine
7b60d6c526
Directory authorities should only automatically download Extra Info
...
documents if they're v1, v2, or v3 authorities.
svn:r12898
2007-12-21 06:33:02 +00:00
Roger Dingledine
e2dc45a2e1
some more refactoring
...
svn:r12897
2007-12-21 06:28:59 +00:00
Nick Mathewson
d07122ba47
r17246@catbus: nickm | 2007-12-18 18:45:17 -0500
...
Fix some xxx020 items.
svn:r12864
2007-12-18 23:45:24 +00:00
Roger Dingledine
b63a247c68
Make bridge authorities test reachability of bridges.
...
Added two XXX020's that we need to think harder about.
svn:r12859
2007-12-18 21:37:58 +00:00
Nick Mathewson
b8ac050e85
r15532@tombo: nickm | 2007-12-17 17:41:05 -0500
...
clean up whitesapce and debug a little on geoip stuff.
svn:r12847
2007-12-17 22:44:18 +00:00
Nick Mathewson
25f78498f9
r15531@tombo: nickm | 2007-12-17 17:19:24 -0500
...
Support raw IP-to-country as well as postprocessed format. Include GEOIP summary in extrainfo of bridges.
svn:r12846
2007-12-17 22:44:16 +00:00
Roger Dingledine
1d8a8063b9
clean up copyrights, and assign 2007 copyrights to The Tor Project, Inc
...
svn:r12786
2007-12-12 21:09:01 +00:00
Roger Dingledine
f8df8d791e
start to refactor dirserver_mode()
...
svn:r12621
2007-12-01 04:58:53 +00:00
Roger Dingledine
6d49465b69
fix two trivial potential onionkey leaks. neither of these
...
should happen in practice. but now they really won't.
svn:r12620
2007-12-01 04:40:12 +00:00
Roger Dingledine
42b8fb5a15
Exit policies now reject connections that are addressed to a
...
relay's public (external) IP address too, unless
ExitPolicyRejectPrivate is turned off. We do this because too
many relays are running nearby to services that trust them based
on network address.
svn:r12459
2007-11-10 21:17:51 +00:00
Nick Mathewson
bed01a9003
r16525@catbus: nickm | 2007-11-07 12:10:01 -0500
...
Clean up log messages from bug 543 fix, and make old_routers also keep track of their indices. This will probably crash some until all the bugs are fixed.
svn:r12412
2007-11-07 17:11:23 +00:00
Nick Mathewson
57f7c852f8
r16282@catbus: nickm | 2007-10-30 14:28:58 -0400
...
Implement lots of proposal 105. None of it is enabled yet.
svn:r12285
2007-10-30 18:31:30 +00:00
Nick Mathewson
e136f00ca8
r16262@catbus: nickm | 2007-10-29 13:21:35 -0400
...
Patch from Karsten: Code to act as (and use) v2 hidden service directories.
svn:r12272
2007-10-29 19:10:42 +00:00
Nick Mathewson
20b1085989
r16242@catbus: nickm | 2007-10-28 16:28:13 -0400
...
Implement if-modified-since for consensus networkstatuses so that we do not download duplicates needlessly.
svn:r12258
2007-10-28 20:30:21 +00:00
Nick Mathewson
5ada3cc09a
r15991@catbus: nickm | 2007-10-20 20:08:29 -0400
...
Fix a nasty bug in DownloadExtraInfo implementation where we would discard, download, discard, download ad infinitum.
svn:r12069
2007-10-21 00:08:35 +00:00
Nick Mathewson
959c4963b2
r15913@catbus: nickm | 2007-10-18 10:22:19 -0400
...
Fix segfault in init_keys()
svn:r12021
2007-10-18 14:23:19 +00:00
Nick Mathewson
088c1fac39
r15886@catbus: nickm | 2007-10-17 17:21:10 -0400
...
Treat it as an error when a v3 authority cant load its keys or certificates
svn:r12004
2007-10-17 21:26:19 +00:00
Nick Mathewson
f988f93b1a
r15877@catbus: nickm | 2007-10-17 12:54:56 -0400
...
Make unverified-consensus get removed when it is accepted or rejected. Make a new get_datadir_fname*() set of functions to eliminate the common code of "get the options, get the datadir, append some stuff".
svn:r12000
2007-10-17 16:55:44 +00:00
Nick Mathewson
29173560b8
r15862@catbus: nickm | 2007-10-16 13:19:29 -0400
...
Correct mismatches between DirServer lines and authority configuration.
svn:r11992
2007-10-16 17:22:37 +00:00
Roger Dingledine
39902e93f7
Stop publishing a new server descriptor just because we HUP or
...
when we find our DirPort to be reachable but won't actually publish
it. Extra descriptors without any real changes are dropped by the
authorities, and can screw up our "publish every 18 hours" schedule.
svn:r11915
2007-10-13 22:31:35 +00:00
Roger Dingledine
3977ccbc80
Controllers should now specify cache=no or cache=yes when using
...
the +POSTDESCRIPTOR command.
svn:r11892
2007-10-12 07:57:29 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Roger Dingledine
6fc336d217
handle fetching bridge descriptors from the bridge authority too.
...
svn:r10898
2007-07-22 00:16:48 +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
Roger Dingledine
04995f197d
more building blocks towards being able to fetch bridge descriptors
...
svn:r10548
2007-06-10 07:34:21 +00:00
Roger Dingledine
a97c3b8c2d
Be clearer on the various roles for auth dir types.
...
Bridge authorities no longer write bridge descriptors to their
cached-routers file -- this gets complex because of extrainfo documents.
svn:r10545
2007-06-09 07:05:19 +00:00
Nick Mathewson
f89a3b1448
r13050@catbus: nickm | 2007-05-29 13:31:11 -0400
...
Resolve all but 3 DOCDOCs.
svn:r10393
2007-05-29 17:31:13 +00:00
Nick Mathewson
3980ebd6a1
r12917@catbus: nickm | 2007-05-24 12:48:47 -0400
...
Put the hash-as-signed, not the raw hash, in the signed_descriptor_digest field of our own descriptor. Backport candidate; probably harmless though.
svn:r10305
2007-05-24 17:13:00 +00:00
Nick Mathewson
38300735cd
r12902@catbus: nickm | 2007-05-22 14:52:29 -0400
...
First draft of code to generate votes. needs testing. does not yet upload or serve votes. Shares most of its code with the old generate_v2_networkstatus.
svn:r10295
2007-05-22 18:52:32 +00:00
Nick Mathewson
9e0acc0c11
r12899@catbus: nickm | 2007-05-22 13:51:26 -0400
...
Extract common code from networkstatus_getinfo_helper_single() and generate_v2_networkstatus().
svn:r10294
2007-05-22 17:58:30 +00:00
Nick Mathewson
c9fa4e6583
r12898@catbus: nickm | 2007-05-22 13:11:04 -0400
...
More v3 directory code: have authorities load certificates; have everybody store certificates to disk and load them; provide a way to configure v3 authorities.
svn:r10293
2007-05-22 17:58:25 +00:00
Nick Mathewson
e935d73b34
r12852@catbus: nickm | 2007-05-22 11:00:27 -0400
...
Use svn revisions consistently throughout all log messages.
svn:r10291
2007-05-22 15:48:46 +00:00
Nick Mathewson
a4f5b99e61
r13023@Kushana: nickm | 2007-05-20 16:16:36 -0400
...
More bulletproofing on bug 429
svn:r10231
2007-05-20 20:16:45 +00:00
Nick Mathewson
21a72520ce
r13021@Kushana: nickm | 2007-05-20 14:03:10 -0400
...
Provide actual reasons when dropping an uploaded extrainfo for incompatibility; also, clean whitespace.
svn:r10230
2007-05-20 18:03:26 +00:00
Nick Mathewson
5364833be0
r13017@Kushana: nickm | 2007-05-20 13:40:45 -0400
...
Address points in r10227.
svn:r10229
2007-05-20 17:43:55 +00:00
Nick Mathewson
0a27b53252
r12802@catbus: nickm | 2007-05-19 14:12:27 -0400
...
clear some ram when freeing it; add some more checks to assert_routerlist_ok.
svn:r10218
2007-05-19 18:12:31 +00:00
Nick Mathewson
58d27cfc29
r12800@catbus: nickm | 2007-05-18 20:45:15 -0400
...
Possible fix for bug 417 and bug 404: do not insert our routerinfo directly; instead, re-parse it first.
svn:r10217
2007-05-19 00:45:17 +00:00
Nick Mathewson
adf95e7f00
r12794@catbus: nickm | 2007-05-18 20:24:26 -0400
...
Make caches-extra-info lines parseable.
svn:r10215
2007-05-19 00:24:29 +00:00
Nick Mathewson
ec55cf526d
r12981@Kushana: nickm | 2007-05-18 14:12:19 -0400
...
First cut at code to download extra-info docs. Also note a bad bug in directory.c (look for the string BUG BUG BUG).
svn:r10209
2007-05-18 21:19:19 +00:00
Nick Mathewson
b837191fd0
r12768@catbus: nickm | 2007-05-16 17:25:33 -0400
...
Fix GCC warnings related to local parameters/variables getting shadowed.
svn:r10198
2007-05-16 22:15:14 +00:00
Nick Mathewson
bfdc366037
r12763@catbus: nickm | 2007-05-15 05:29:33 -0400
...
Make --enable-gcc-warnings happy on the upcoming gcc 4.2
svn:r10195
2007-05-15 21:17:42 +00:00
Nick Mathewson
ca32b4d5b5
r12761@catbus: nickm | 2007-05-15 03:13:52 -0400
...
Be a lot smarter when parsing lists of routers and extrainfos.
svn:r10193
2007-05-15 07:13:56 +00:00
Nick Mathewson
ceac39aa8a
r12697@catbus: nickm | 2007-05-09 00:15:40 -0400
...
Change authority_type_t to a set of flags; use it more consistently.
svn:r10144
2007-05-09 04:15:46 +00:00
Roger Dingledine
a201861dc2
use the new _PublishServerDescriptor to publish descriptors either
...
to v2 authorities or to bridge authorities, depending on config.
svn:r10137
2007-05-08 09:13:30 +00:00
Roger Dingledine
e4f40dd794
Change the PublishServerDescriptor config option from a boolean
...
into a string: "v1", "v2", bridge", "". Continue to support
"0" and "1".
svn:r10136
2007-05-08 09:09:26 +00:00
Roger Dingledine
95ead29574
prepare directory_post_to_dirservers() to hear what sort of
...
dir authority we'd like to upload to. at some point we should
pick a config option to say that in, for bridges.
svn:r10129
2007-05-07 09:28:48 +00:00
Roger Dingledine
f8a8b27dd2
add a 'bridge' flag for dirserver config entries
...
svn:r10128
2007-05-07 08:26:50 +00:00
Roger Dingledine
b1d93df038
if you're using relaybandwidthrate and relaybandwidthburst, make
...
sure that's reflected in your router descriptor.
svn:r10114
2007-05-04 09:20:13 +00:00
Roger Dingledine
dc795203aa
early skeletal support for running a bridge directory authority
...
svn:r10112
2007-05-04 08:04:27 +00:00
Roger Dingledine
1b95bbdba6
New config option V2AuthoritativeDirectory that all directory
...
authorities should set. This will let future authorities choose
not to serve V2 directory information.
Also, go through and revamp all the authdir_mode stuff so it tries
to do the right thing if you're an auth but not a V1 or V2 auth.
svn:r10092
2007-05-02 09:12:04 +00:00
Nick Mathewson
26abac8c4c
r12625@catbus: nickm | 2007-05-01 16:41:23 -0400
...
Remove the _UploadExtraInfo option, since I tried turning it on and moria[12] seem not to have exploded.
svn:r10089
2007-05-01 20:41:27 +00:00
Nick Mathewson
89ab267cfb
r12619@catbus: nickm | 2007-05-01 16:13:42 -0400
...
Add code to upload extrainfos to authorities running 0.2.0.0-alpha-dev (r10070) or later.
svn:r10086
2007-05-01 20:13:49 +00:00
Nick Mathewson
ae40e7f633
r12585@catbus: nickm | 2007-04-30 14:38:37 -0400
...
(Needs review.) Allow directory authorities to accept multiple router descriptors and extra info documents in a single POST. This will make implementing the client side of proposal 104 a lot simpler.
svn:r10069
2007-04-30 19:48:33 +00:00
Roger Dingledine
397afcc3f6
Make PreferTunneledDirConns and TunnelDirConns work even when
...
we have no cached directory info. This means Tor clients can now
do all of their connections protected by TLS.
svn:r10035
2007-04-27 10:26:09 +00:00
Nick Mathewson
bfac679cd4
A hack I've been wanting for a while: when building a -dev version
...
from an SVN repository, use the current svn revision in the platform
string and in the output of --version.
svn:r9976
2007-04-16 23:56:31 +00:00
Nick Mathewson
362fbc79d2
r12414@catbus: nickm | 2007-04-16 17:37:17 -0400
...
More proposal-104 stuff: actually remember extra-info stuff.
svn:r9975
2007-04-16 21:37:21 +00:00
Nick Mathewson
17e83a408f
Fix some proposal-104 bugs.
...
svn:r9972
2007-04-16 18:54:56 +00:00
Nick Mathewson
6d32d9cb2d
r12406@catbus: nickm | 2007-04-16 14:39:33 -0400
...
More proposal-104 stuff: add most of the code for authorities to accept and serve extra-info documents. The back-end to store the things is missing.
svn:r9971
2007-04-16 18:39:39 +00:00
Nick Mathewson
2bb5e64289
r12403@catbus: nickm | 2007-04-16 13:55:03 -0400
...
Code to generate extrainfo whenever routerdesc is regenerated; code to check extrainfo against routerdesc.
svn:r9970
2007-04-16 17:55:08 +00:00
Nick Mathewson
38a5f09502
r12349@catbus: nickm | 2007-04-11 09:18:15 -0400
...
Add code to shrink the cell memory pool by discarding empty chunks that have been empty for the last 60 seconds. Also, instead of having test.c duplicate declarations for exposed functions, put them inside #ifdef foo_PRIVATE blocks in the headers. This prevents bugs where test.c gets out of sync.
svn:r9944
2007-04-11 13:18:25 +00:00
Nick Mathewson
306d5400c3
r12643@0-41-wifi: nickm | 2007-03-23 14:56:35 -0400
...
Refactor a bunch of functions that take edge_connection_t not to also take a crypt_path_t; the cpath is implicit.
svn:r9899
2007-03-24 15:57:51 +00:00
Nick Mathewson
02ce8e6b12
r12474@Kushana: nickm | 2007-03-06 16:10:05 -0500
...
We have a PATH_SEPARATOR macro. How about we use it?
svn:r9782
2007-03-09 21:39:30 +00:00
Nick Mathewson
52713788b4
r12080@catbus: nickm | 2007-03-04 21:40:55 -0500
...
Remove dnsworkers and related code. there goes another 550 lines of code.
svn:r9736
2007-03-05 02:40:58 +00:00
Nick Mathewson
7fcceb2c25
r12074@catbus: nickm | 2007-03-04 15:11:43 -0500
...
Make all LD_BUG log messsages get prefixed with "Bug: ". Remove manually-generated "Bug: "s from log-messages. (Apparently, we remembered to add them about 40% of the time.)
svn:r9733
2007-03-04 20:11:46 +00:00