Commit Graph

77 Commits

Author SHA1 Message Date
Brian Warner
a7aa6f8686 implement a mutable checker+verifier. No repair yet. Part of #205. 2008-07-07 17:36:00 -07:00
Brian Warner
a0de01e971 servermap.shares_available: report N too, not just k 2008-07-07 15:06:15 -07:00
Brian Warner
2074c92dd1 test_mutable.py: add tests for no-servers conditions, closes #463. 2008-07-07 12:18:10 -07:00
Brian Warner
dba0ad3d28 test_mutable.py: add more tests of post-mapupdate corruption, to support #474 testing 2008-06-24 11:08:10 -07:00
Brian Warner
f4496bd553 mutable/publish.py: raise FileTooLargeError instead of an ugly assertion when the SDMF restrictions are exceeded 2008-06-03 00:02:10 -07:00
Brian Warner
ff0b9e2549 test_mutable.py: test replacing a file that has one new outlier share present: closes #272 2008-05-14 13:10:41 -07:00
Brian Warner
88951548ee test_mutable: update notify_publish() to match new signature 2008-04-29 18:24:57 -07:00
Brian Warner
a557d44877 test_mutable: test that all servers refusing our share means a publish fails 2008-04-22 18:53:20 -07:00
Brian Warner
13eb00145e mutable: improve test coverage in Retrieve, when shares change after mapupdate 2008-04-22 17:25:14 -07:00
Brian Warner
a7632a345e mutable/servermap: improve test coverage 2008-04-22 16:47:52 -07:00
Brian Warner
e6074f5dfc mutable: test write failures, uncoordinated write detection 2008-04-22 11:49:53 -07:00
Brian Warner
db4ddfc1bd mutable: improve testing to exercise the non-cached case 2008-04-21 17:50:50 -07:00
Brian Warner
a04c2866b1 mutable: improve test coverage slightly 2008-04-21 15:10:50 -07:00
Brian Warner
c375b1503a mutable/servermap: improve test coverage 2008-04-18 20:13:28 -07:00
Brian Warner
09dcfeae22 mutable: improve test coverage, fix bug in privkey fetching, add .finished to stats, remove dead code 2008-04-18 19:55:12 -07:00
Brian Warner
d5b182c183 test_mutable: hush pyflakes 2008-04-17 19:57:55 -07:00
Brian Warner
945003ea0f test_mutable: factor out ShouldFailMixin 2008-04-17 19:55:51 -07:00
Brian Warner
004d3c14bf mutable: implement MutableFileNode.modify, plus tests 2008-04-17 19:12:42 -07:00
Brian Warner
a379690b04 mutable: replace MutableFileNode API, update tests. Changed all callers to use overwrite(), but that will change soon 2008-04-17 17:51:38 -07:00
Brian Warner
157073d8d8 mutable WIP: merge in patches from current trunk 2008-04-17 13:09:22 -07:00
Brian Warner
a1670497a8 mutable WIP: add servermap update status pages 2008-04-16 19:05:41 -07:00
Brian Warner
842b1f1a70 mutable WIP: oops, fix test_mutable 2008-04-16 18:06:54 -07:00
Brian Warner
4f07d96667 mutable WIP: improve logging a bit 2008-04-16 15:22:30 -07:00
Brian Warner
c0c8d72b44 mutable WIP: rewrite ServerMap data structure, add tests 2008-04-16 14:49:47 -07:00
Brian Warner
1b4b4cbd4a mutable WIP: rename NotEnoughPeersError to NotEnoughSharesError 2008-04-15 16:08:32 -07:00
Brian Warner
d4230d1781 mutable WIP: split mutable.py into separate files. All tests pass. 2008-04-11 14:31:16 -07:00
Brian Warner
418407ee5c mutable: WIP. make Publish work, remove some test scaffolding. test_system still fails. 2008-04-10 18:44:06 -07:00
Brian Warner
2c939bfdd3 mutable.py: checkpointing #303 work: retrieve does what I want, now starting in on publish 2008-04-04 17:09:26 -07:00
Brian Warner
944f8babec test_mutable.py: remove spurious Retrieve during a publish test 2008-04-15 11:20:38 -07:00
robk-tahoe
5578559b85 added offloaded key generation
this adds a new service to pre-generate RSA key pairs.  This allows
the expensive (i.e. slow) key generation to be placed into a process
outside the node, so that the node's reactor will not block when it
needs a key pair, but instead can retrieve them from a pool of already
generated key pairs in the key-generator service.

it adds a tahoe create-key-generator command which initialises an 
empty dir with a tahoe-key-generator.tac file which can then be run
via twistd.  it stashes its .pem and portnum for furl stability and
writes the furl of the key gen service to key_generator.furl, also
printing it to stdout.

by placing a key_generator.furl file into the nodes config directory
(e.g. ~/.tahoe) a node will attempt to connect to such a service, and
will use that when creating mutable files (i.e. directories) whenever
possible.  if the keygen service is unavailable, it will perform the
key generation locally instead, as before.
2008-04-01 18:45:13 -07:00
Brian Warner
2ef70ab814 mutable.py: split replace() into update() and overwrite(). Addresses #328. 2008-03-12 18:00:43 -07:00
Brian Warner
c727348d85 mutable: tolerate multiple encodings, using whichever version is recoverable first. Closes #312 2008-03-11 00:26:00 -07:00
Brian Warner
791482cf8d test_mutable: improve multiple-encodings test coverage 2008-03-10 23:47:35 -07:00
Brian Warner
9ca55b8b79 test_mutable: make test-multiple-encodings work 2008-03-10 23:16:28 -07:00
Brian Warner
57bd23f35f test_mutable: more test coverage, building up a framework to cause reads to occur in a specific order 2008-03-10 22:15:43 -07:00
Brian Warner
11445b5109 test_mutable: exercise short reads too 2008-03-10 18:08:23 -07:00
Brian Warner
be5a6147b4 test_mutable: test all hash-failure cases except a corrupted encrypted private key 2008-03-10 17:46:52 -07:00
Brian Warner
647734cd3b test_mutable: add Roundtrip test, suitable for new share-mangling tests 2008-03-10 16:14:08 -07:00
Brian Warner
9e460cd22e mutable: cosmetic changes 2008-03-10 15:44:05 -07:00
Brian Warner
d6cde55c63 mutable: minor refactoring of _do_read, to make other tests easier 2008-03-10 15:42:56 -07:00
Brian Warner
7d9bfbcabe mutable: oops, .download *is* in use, by the speedtest. Restore it and add a test. 2008-03-04 15:11:40 -07:00
Brian Warner
daecca6589 big introducer refactoring: separate publish+subscribe. Addresses #271. 2008-02-05 13:05:13 -07:00
Brian Warner
7ac2b94aba remove wait_for_numpeers and the when_enough_peers call in mutable.Publish 2008-01-14 14:55:59 -07:00
Brian Warner
11179bb7d7 test_mutable.py: accomodate changes to mutable.py logging 2008-01-10 22:18:34 -07:00
Brian Warner
d4283ac1ec mutable: always include ourselves in the querylist when Publishing, because 0.7.0 usually stores our root dirnode only on ourselves, and our nodeid might not appear in the first N+epsilon peers 2007-12-19 00:06:53 -07:00
Brian Warner
2db158dd52 more new-pyflakes warnings fixed 2007-12-18 18:51:33 -07:00
Brian Warner
f190382d5e refactor web tests, and interfaces.IFileNode 2007-12-04 23:01:37 -07:00
Brian Warner
0f5ef5184d test_dirnode.py: obtain full coverage of dirnode.py 2007-12-04 14:32:04 -07:00
Brian Warner
cca166a4f5 rename dirnode2.py to dirnode.py 2007-12-04 11:45:20 -07:00
Brian Warner
b780127f49 test_mutable: improve test coverage a bit, add test_filenode.py 2007-12-03 21:37:54 -07:00