Commit Graph

312 Commits

Author SHA1 Message Date
Brian Warner
dcf5abb51c encode.py: fix pyflakes warning 2007-06-07 02:56:16 -07:00
Brian Warner
5cbdc240e2 encode: add plaintext/crypttext merkle trees to the shares, and the thingA block. Still needs tests and download-side verification. 2007-06-06 19:40:20 -07:00
Brian Warner
208a932d10 runner.py: allow --multiple to enable starting/stopping/creating multiple nodes at once 2007-06-06 14:06:57 -07:00
robk-org
0bcf29fba4 log a prominent warning message in the case that the introducer cannot be reached 2007-06-04 18:48:53 -07:00
robk-org
7c479ba8a7 catch failures in startService() and abort process 2007-06-04 18:46:37 -07:00
robk-org
92395125fa add a missing up-call in introducer.startService() 2007-06-04 18:45:40 -07:00
Brian Warner
f4c048bbeb encode.py: clean up handling of lost peers during upload, add some logging 2007-06-06 12:40:16 -07:00
Brian Warner
daa4c32381 runner.py: allow all directory-using commands (create/start/stop) to accept argv[-1] as well as --basedir 2007-06-06 11:37:19 -07:00
Brian Warner
6bb9debc16 encode: tolerate lost peers, as long as we still get enough shares out. Closes #17. 2007-06-06 10:32:40 -07:00
Brian Warner
3dfd26970b move validation data to thingA, URI has storage_index plus thingA hash
This (compatibility-breaking) change moves much of the validation data and
encoding parameters out of the URI and into the so-called "thingA" block
(which will get a better name as soon as we find one we're comfortable with).
The URI retains the "storage_index" (a generalized term for the role that
we're currently using the verifierid for, the unique index for each file
that gets used by storage servers to decide which shares to return), the
decryption key, the needed_shares/total_shares counts (since they affect
peer selection), and the hash of the thingA block.

This shortens the URI and lets us add more kinds of validation data without
growing the URI (like plaintext merkle trees, to enable strong incremental
plaintext validation), at the cost of maybe 150 bytes of alacrity. Each
storage server holds an identical copy of the thingA block.

This is an incompatible change: new messages have been added to the storage
server interface, and the URI format has changed drastically.
2007-06-01 18:48:01 -07:00
Brian Warner
d1d7cdd859 node.py: multi-class exception calls need parentheses 2007-05-31 18:32:21 -07:00
Brian Warner
7124f94461 download.py: refactor bucket_failed() a bit, add some docs 2007-05-31 18:31:36 -07:00
Brian Warner
edaed9c32c test_system.py: minor reformatting 2007-05-31 18:31:01 -07:00
Brian Warner
4f0e944087 node.py: add logging of startup/shutdown, for the cygwin test_system failure 2007-05-31 13:44:22 -07:00
Brian Warner
8875adf807 test_system.py: add a log message to help track down the occasional cygwin failure 2007-05-31 12:01:14 -07:00
Brian Warner
1160c1def2 node.py: log twisted version along with tahoe/foolscap/zfec versions 2007-05-31 11:21:06 -07:00
Brian Warner
ea78b4b605 check_memory: getting closer, now we have memusage numbers for uploads of 10kB and 10MB files 2007-05-29 17:39:39 -07:00
Zooko O'Whielacronx
04b649f971 switch from FieldStorage.value to FieldStorage.file
Unfortunately this doesn't make the O(n) memory usage go away.  It might reduce the constants -- I'm not sure.  I look forward to enhancement #54 -- memory usage tests!
2007-05-25 16:00:19 -07:00
Zooko O'Whielacronx
763cfc7874 amdlib.util: merge in changes to humanreadable.py that were made in pyutil 2007-05-25 15:49:57 -07:00
Brian Warner
c405c6117f check_memory.py: finish the failsafe-shutdown code 2007-05-24 17:34:42 -07:00
Brian Warner
4c7c5df41e runner.py: spoke too soon. Really fix #51 this time. 2007-05-24 11:20:39 -07:00
Brian Warner
d0db98cc40 runner.py: expanduser() basedirs, so '~' works. Closes #51. 2007-05-24 11:10:19 -07:00
Brian Warner
8fc1bf4330 test_node.py: hush pyflakes warnings 2007-05-23 17:55:04 -07:00
Brian Warner
cbca430062 node.py: hush pyflakes warnings 2007-05-23 17:54:48 -07:00
Brian Warner
2d21029367 test_introducer_and_vdrive: remove the assumption that startService returns a Deferred 2007-05-23 17:37:20 -07:00
Brian Warner
83daa265ba test_system.py: check size in web-ui display. closes #37 2007-05-23 17:25:49 -07:00
Zooko O'Whielacronx
80b09b6d54 add in-line doc that Josh wrote as he was trying to understand this code 2007-05-23 15:11:23 -07:00
Zooko O'Whielacronx
44902c5152 add unit test for "advertised_ip_addresses" feature and fix bug in that feature uncovered by this unit test 2007-05-23 15:08:55 -07:00
Zooko O'Whielacronx
77f55f368a make stopService() defer until startService() completes (fixes a problem with the new not-yet-committed unit test) 2007-05-23 15:08:03 -07:00
Brian Warner
f9e45391f6 node.py: use 'node.pem' for all nodes
Rather than use separate client.pem and introducer.pem files, use 'node.pem'
for all nodes regardless of what type it is. This is slightly cleaner, but
introduces a compatibility. Users who upgrade to this change should do
'mv client.pem node.pem' to avoid generating a new certificate and thus
changing their TubID.
2007-05-23 12:48:52 -07:00
Brian Warner
9edc6574ae node.py: use Tub's certFile= argument instead of doing it ourselves 2007-05-23 12:41:23 -07:00
Zooko O'Whielacronx
3872e94da2 rename all "*PBURL*" to "*FURL*"
This breaks backwards compatibility with Tahoe v0.2 -- the first public release of Tahoe.
2007-05-22 14:08:30 -07:00
Zooko O'Whielacronx
9cd1757799 refactor iputil and make it return addresses in descending order of goodness instead of in a set
Actually of course iputil can't tell exactly how good they are, and a wise user
of iputil will try all of them.  But you can't try all of them simultaneously,
so you might as well try the best ones first.
2007-05-22 14:06:37 -07:00
Zooko O'Whielacronx
921e643b93 don't check for existence of portnum file and then try to open it -- instead try to open it and catch exception
This avoids a race condition, also known as time-of-check-to-time-of-use.
2007-05-22 14:06:00 -07:00
Zooko O'Whielacronx
98066ccaee don't test for existence of certfile and then try to open it -- instead try to open it and catch exception
This avoids a race condition, also known as time-of-check-to-time-of-use.
2007-05-22 14:04:16 -07:00
Zooko O'Whielacronx
a2970cf7c1 fix handling of local_ip file and rename it to advertised_ip_addresses and document it in README 2007-05-22 14:01:40 -07:00
Zooko O'Whielacronx
10df6fac02 raise constraint on FURLs from 150 chars to 1000 chars 2007-05-22 13:59:17 -07:00
Brian Warner
05163ec8e1 change uri-packer-unpacker to deal with dictionaries, not fragile tuples 2007-05-23 11:18:49 -07:00
Zooko O'Whielacronx
3d1adf6d30 update docs, remove extraneous licence text, sort module names in import statement
closes #46 ?
2007-05-21 13:42:51 -07:00
Zooko O'Whielacronx
9b70d17d4b enable private upload, in which the file is inserted at the grid layer but not at the vdrive layer
This patch is actually by Faried Nawaz, as per ticket #33:

http://allmydata.org/trac/tahoe/ticket/33
2007-05-16 08:40:19 -07:00
Brian Warner
82ba0f8540 UNDO: forget about old peers (closes #26)
Add a new method to RIIntroducer, to allow the central introducer node to
remove peers from the active set after they've gone away. Without this,
client nodes accumulate stale peer FURLs forever. This introduces a
compatibility break, as old introducers won't know about the 'lost_peers'
message, although the errors produced are probably harmless.
2007-05-07 19:10:24 -07:00
Brian Warner
04af4a48b5 forget about old peers (closes #26)
Add a new method to RIIntroducer, to allow the central introducer node to
remove peers from the active set after they've gone away. Without this,
client nodes accumulate stale peer FURLs forever. This introduces a
compatibility break, as old introducers won't know about the 'lost_peers'
message, although the errors produced are probably harmless.
2007-05-07 19:10:24 -07:00
Zooko O'Whielacronx
e0bedb64ea manually merge recent changes to pyutil's copy of "version.py" with allmydata's copy of "version.py" 2007-05-09 16:04:05 -07:00
Faried Nawaz
2016b846b9 display file size in directory.xhtml 2007-05-04 13:07:32 -07:00
Brian Warner
5b3a1cdc56 test_introducer.py: turn off the defer.setDebugging(True) call that was left over from a troubleshooting session: it slows down the test suite by a factor of 2 2007-05-04 00:45:23 -07:00
Brian Warner
9bd213abe7 version.py: handle both '0.2.0' and '0.2.0-1', remove 'tags' for now 2007-05-03 20:31:27 -07:00
Brian Warner
3f6b660272 update version-number handling, pull release tags from darcs history 2007-05-03 20:14:07 -07:00
Zooko O'Whielacronx
5610a1b2ce tahoe v0.2.0-0-UNSTABLE 2007-05-02 16:23:23 -07:00
Zooko O'Whielacronx
ff08abb67e bump test timeout even higher
It does indeed take longer than 2400 seconds to run test_upload_and_download on a virtual windows machine when the underlying real machine is heavily loaded down with filesystem analysis runs...
2007-05-02 15:31:05 -07:00
Brian Warner
0650e5543f figleaf_htmlizer: when all counts are zero, claim 0% instead of 100%, since it probably means that coverage checking has failed completely 2007-05-01 11:07:28 -07:00