Commit Graph

189 Commits

Author SHA1 Message Date
Brian Warner
652e8a735f interfaces: use explicit TupleOf and ChoiceOf constraints, since the upcoming version of Foolscap changes the meaning of bare tuples (from ChoiceOf to TupleOf) 2007-04-13 19:04:38 -07:00
Brian Warner
03fbee6ade encode.py: remove an unused import 2007-04-12 20:09:32 -07:00
Brian Warner
0ecb26ec44 test_hashtree.py: get full coverage for hashtree.py 2007-04-12 19:58:13 -07:00
Brian Warner
30133a7cdf hash trees: further cleanup, to make sure we're validating the right thing
hashtree.py: improve the methods available for finding out which hash nodes
 are needed. Change set_hashes() to require that every hash provided can
 be validated up to the root.
download.py: validate from the top down, including the URI-derived roothash
 in the share hash tree, and stashing the thus-validated share hash for use
 in the block hash tree.
2007-04-12 19:41:48 -07:00
Brian Warner
d351cd7674 download: always validate the blockhash, and don't let the bucket trick us into not validating hashes 2007-04-12 15:18:46 -07:00
Brian Warner
2e314ad47f hashtree.py: reindent from 2-spaces to 4-spaces. No functional changes. 2007-04-12 14:24:11 -07:00
Brian Warner
d8215e0c6f rename chunk.py to hashtree.py 2007-04-12 13:13:25 -07:00
Brian Warner
8f58b30db9 verify hash chains on incoming blocks
Implement enough of chunk.IncompleteHashTree to be usable.
Rearrange download: all block/hash requests now go through
a ValidatedBucket instance, which is responsible for retrieving
and verifying hashes before providing validated data. Download
was changed to use ValidatedBuckets everywhere instead of
unwrapped RIBucketReader references.
2007-04-12 13:07:40 -07:00
Zooko O'Whielacronx
234951041f oops -- the previous commit of iputil wasn't the right version
Too bad synchronizing pyutil and allmydata.util includes a manual step.
2007-04-16 15:12:01 -07:00
Zooko O'Whielacronx
ac4d23d336 port iputil to Windows (and Irix, and NetBSD, and Solaris 2, ...) 2007-04-16 14:59:13 -07:00
Brian Warner
64ea644a48 test_util: add more coverage for assertutil.py 2007-04-08 13:02:13 -07:00
Brian Warner
6f4280cc38 test_util: add full coverage for mathutil.py 2007-04-08 12:43:01 -07:00
Brian Warner
d8b71b85f8 download: retrieve share hashes when downloading. We don't really do much validation with them yet, though. 2007-04-06 22:51:19 -07:00
Brian Warner
9a64a9f76e codec: remove more unused debugging code 2007-04-06 20:56:39 -07:00
Brian Warner
5b0ece6ece node: enable Tub.logLocalFailures now that we require foolscap-0.1.2 2007-04-06 20:55:59 -07:00
Brian Warner
245d318409 codec: remove some unused debugging code 2007-04-06 20:55:37 -07:00
Brian Warner
fe786350dc test_system: bump up timeouts for the sake of slow slave1, give each test a separate base directory 2007-04-06 20:34:32 -07:00
Brian Warner
5168c7c8d6 encode: add more logging to investigate occasional test failures 2007-04-06 18:04:38 -07:00
Brian Warner
dd673370ec figleaf output: include a stats.out for parsing by a munin plugin 2007-04-06 17:41:01 -07:00
Brian Warner
6a6631a92e test_util.py: sigh, one last minor python-2.5 issue 2007-04-06 17:21:25 -07:00
Brian Warner
736fbe6ea5 test_util.py: fix another minor python-2.5 issue 2007-04-06 17:12:26 -07:00
Brian Warner
e74e370d00 test_util.py: fix problems 2007-04-06 16:36:22 -07:00
Brian Warner
d432099880 more allmydata.util test coverage, rename the test case to be more correct 2007-04-06 16:33:22 -07:00
Brian Warner
1a4cf6f7b7 add test coverage for stuff in allmydata/utils 2007-04-06 16:29:25 -07:00
Brian Warner
97a40bf20f encode/upload: add more logging, to understand the test failure on a slow buildslave 2007-04-06 15:45:45 -07:00
Brian Warner
654854635a chunk: add IncompleteHashTree for download purposes, plus tests 2007-04-06 09:09:57 -07:00
Brian Warner
8d2def5b04 encode: clean up some weirdness that was there to make unit tests easier to write 2007-04-05 22:36:18 -07:00
Brian Warner
919ca3e902 rename encode_new.py to encode.py, now that there isn't an old one anymore 2007-04-05 21:17:42 -07:00
Brian Warner
2122fbaca9 tests: clean up tearDown to use flushEventualQueue instead of hacking fixed-time delays 2007-04-04 16:09:13 -07:00
Brian Warner
92ba8dc8d2 allmydata.interfaces: remove some of the placeholders now that we require foolscap-0.1.2 2007-04-04 15:59:36 -07:00
Zooko O'Whielacronx
223bf98992 use the "binary" flag on open() for files that shouldn't have line-endings automatically converted 2007-04-04 16:12:30 -07:00
Zooko O'Whielacronx
cd4472003b tidiness: return res from logging of progress 2007-04-02 10:23:24 -07:00
Brian Warner
8bc248a515 remove util.ring, no longer used. also remove test_ring.py 2007-03-31 20:38:43 -07:00
Zooko O'Whielacronx
d5be3e6086 fix BucketWriter to not create a finalhome until it is complete, and to clean up the empty $VERIFIERID dir under incoming/ when it moves the last share out of it 2007-03-30 18:01:56 -07:00
Zooko O'Whielacronx
82f7303179 log a running total of how much of your file has been uploaded 2007-03-30 18:01:37 -07:00
Zooko O'Whielacronx
077eb7507c assert that only dicts get passed to _got_response() 2007-03-30 18:00:40 -07:00
Zooko O'Whielacronx
1a20e5d01b fix storage server to handle the case that it has no directory at all when someone asks for buckets 2007-03-30 17:12:07 -07:00
Zooko O'Whielacronx
826ce43be7 fix bug in storage-server: yes, "0" is a number, Mr. storage server 2007-03-30 17:07:04 -07:00
Brian Warner
466bb46abe handle foolscap's annoying tendency to turn everything into a sets.Set, which are not interoperable with 2.4's builtin 'set' type 2007-03-30 16:55:04 -07:00
Brian Warner
7cd9ef3bbf finish making the new encoder/decoder/upload/download work 2007-03-30 16:50:50 -07:00
Zooko O'Whielacronx
3d694a90f3 add unit tests and fix bugs in upload 2007-03-30 14:54:33 -07:00
Brian Warner
234b2f354e add new test for doing an encode/decode round trip, and make it almost work 2007-03-30 13:20:01 -07:00
Brian Warner
2593ce42c3 uri.py: share counts are not base32-encoded 2007-03-30 12:36:16 -07:00
Brian Warner
f5a49aa7ee upload: change _compute_uri a bit, get infile in a different way 2007-03-30 12:30:14 -07:00
Brian Warner
9a2e0cf28e switch upload to use encode_new, fix a few things (but not nearly all of them) 2007-03-30 11:53:03 -07:00
Brian Warner
7d7ce7a059 test_encode: make sure encode_new can produce the data it is supposed to 2007-03-30 11:32:57 -07:00
Brian Warner
f55b9814ec chunk.py: remove unused non-tagged hash code 2007-03-30 11:32:47 -07:00
Brian Warner
32512b73d6 encode_new: use tagged (sha256) hashes everywhere 2007-03-30 11:32:13 -07:00
Zooko O'Whielacronx
62456b2a01 import fileutil, some of which came from amdlib.util and some of which came from the pyutil library 2007-03-30 12:12:23 -07:00
Zooko O'Whielacronx
f4a718c5b6 finish storage server and write new download 2007-03-30 10:52:19 -07:00