Commit Graph

48 Commits

Author SHA1 Message Date
Brian Warner
6781e2e1c6 mutable.py: update comment about uncoordinated writes appearing as not-enough-peers(unable to get privkey) errors 2008-01-07 14:48:05 -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
fc3574a654 mutable.py: one more logging fix 2007-12-18 23:42:41 -07:00
Brian Warner
22f9e8c55b mutable.py: oops, our logging wrappers can't take posargs yet 2007-12-18 23:36:16 -07:00
Brian Warner
c00b88025d mutable.Publish: improve logging 2007-12-18 23:30:50 -07:00
Zooko O'Whielacronx
20f549baa1 tidy-up some comments and logging messages 2007-12-14 18:24:46 -07:00
Brian Warner
0bf5a762a9 use AES from pycryptopp instead of pycrypto, also truncate the keys slightly differently 2007-12-03 17:27:46 -07:00
Zooko O'Whielacronx
2c58d3399c merge patch to integrate decentralized directories with patch to "only test log.err when Twisted is new enough to let us ignore the generated errors" 2007-12-03 15:25:14 -07:00
Brian Warner
cc1612aee5 hierarchical logging: add numbered messages and parent= args 2007-11-19 18:23:18 -07:00
Brian Warner
c2765bd8c6 mutable: fix control flow to allow good+bad shares from a peer. Fixes #211. 2007-11-16 17:12:33 -07:00
Brian Warner
8742f2806d mutable: add more logging to retrieval process 2007-11-15 14:22:56 -07:00
Brian Warner
e3037a7541 mutable: validate share_hash_chain for each inbound share 2007-11-14 15:26:46 -07:00
Zooko O'Whielacronx
8fee58fcba merge patch to integrate decentralized directories with patch to handle bad hashes 2007-12-03 15:21:14 -07:00
Brian Warner
d6f2dbbac7 mutable: handle bad hashes, improve test coverage, rearrange slightly to facilitate these 2007-11-13 23:08:15 -07:00
Zooko O'Whielacronx
59d6c3c822 decentralized directories: integration and testing
* use new decentralized directories everywhere instead of old centralized directories
 * provide UI to them through the web server
 * provide UI to them through the CLI
 * update unit tests to simulate decentralized mutable directories in order to test other components that rely on them
 * remove the notion of a "vdrive server" and a client thereof
 * remove the notion of a "public vdrive", which was a directory that was centrally published/subscribed automatically by the tahoe node (you can accomplish this manually by making a directory and posting the URL to it on your web site, for example)
 * add a notion of "wait_for_numpeers" when you need to publish data to peers, which is how many peers should be attached before you start.  The default is 1.
 * add __repr__ for filesystem nodes (note: these reprs contain a few bits of the secret key!)
 * fix a few bugs where we used to equate "mutable" with "not read-only".  Nowadays all directories are mutable, but some might be read-only (to you).
 * fix a few bugs where code wasn't aware of the new general-purpose metadata dict the comes with each filesystem edge
 * sundry fixes to unit tests to adjust to the new directories, e.g. don't assume that every share on disk belongs to a chk file.
2007-12-03 14:52:42 -07:00
Zooko O'Whielacronx
f6451deb74 mutable.py: fix padding/shape-of-input-data to zfec 2007-11-09 18:06:25 -07:00
Brian Warner
1f22768dc7 webish: add preliminary mutable file support: upload, download, listings, JSON, URI, RO-URI. No replace yet. 2007-11-09 03:54:27 -07:00
Brian Warner
61d9ab7690 mutable: cheap padding hack to make zfec tolerate short files 2007-11-08 04:30:37 -07:00
Brian Warner
30a91c84c8 mutable: verify incoming share signatures during Publish, it's not that expensive and it's a good idea 2007-11-08 14:02:36 -07:00
Brian Warner
2eaa4195cf mutable: add basic test coverage of new-dirnodes-using-mutable-files 2007-11-08 04:31:00 -07:00
Brian Warner
c538e2b020 mutable: fix multiple-versions-interfering-with-each-other bug. replace() tests now pass. 2007-11-08 04:07:33 -07:00
Brian Warner
e7ad7f8791 mutable: grab encprivkey when necessary during publish, fix test_mutable 2007-11-08 02:46:27 -07:00
Brian Warner
09fd2dfb3a mutable: rearrange order of Publish to allow replace() to work. Doesn't work yet. Also test_mutable is disabled for a while. 2007-11-07 21:01:39 -07:00
Brian Warner
247bfe8d58 mutable: fix usage of NeedMoreDataError 2007-11-07 17:52:09 -07:00
Brian Warner
c783128012 mutable: wire in RSA for real, using pycryptopp 2007-11-07 17:51:35 -07:00
Brian Warner
30e7ca06f5 mutable: make error handling more robust 2007-11-07 17:45:45 -07:00
Brian Warner
be94960680 mutable: test roundtrip, make it work 2007-11-07 14:19:01 -07:00
Brian Warner
8be9ef5149 mutable: stub out pubkey creation until we wire in pycryptopp properly 2007-11-06 19:27:06 -07:00
Brian Warner
7e43c7b5f9 mutable: fix use of storage API 2007-11-06 18:53:34 -07:00
Brian Warner
c4f7412f1c stabilize on 20-byte nodeids everywhere, printed with foolscap's base32 2007-11-06 18:49:59 -07:00
Brian Warner
7cf9a13f2a mutable: rearrange classes, putting MutableFileNode at the bottom 2007-11-06 15:19:48 -07:00
Brian Warner
c595f6ccd0 mutable: parameterize Publish/Retrieve classes in MutableFileNode, for tests 2007-11-06 15:18:09 -07:00
Brian Warner
2ed394e471 mutable: move IV into signed prefix, add more retrieval code 2007-11-06 15:04:46 -07:00
Brian Warner
207888a97b mutable: get most of the retrieve-side code written. no tests yet. 2007-11-06 03:47:29 -07:00
Brian Warner
85a56a3d74 mutable.Publish: rearrange create() to use more of it in unit tests 2007-11-06 00:33:40 -07:00
Brian Warner
8cdda6e199 mutable.Publish: more tests 2007-11-05 22:38:43 -07:00
Brian Warner
281afe7cfc mutable.Publish: create a dispatch_map for the benefit of recovery code, and pull pack/unpack methods out into functions 2007-11-05 22:14:59 -07:00
Brian Warner
59632c6812 mutable: use proper enable/renew/cancel secrets 2007-11-05 21:51:08 -07:00
Brian Warner
fade06ef4d mutable: added send-messages-to-peers code, about 70% done. No recovery code yet. 2007-11-05 21:29:47 -07:00
Brian Warner
27b67ef0d6 mutable: add peer-selection to Publish, and some basic unit tests 2007-11-05 00:38:07 -07:00
Brian Warner
6137329f05 mutable.py: start writing share-mapping code 2007-11-02 22:59:02 -07:00
Brian Warner
6e5b799d46 mutable.py: add share-unpacking code, use it for more tests 2007-11-02 22:28:31 -07:00
Brian Warner
78c45c82d1 mutable: implement filenode share-packing, still pretty rough 2007-11-02 20:51:39 -07:00
Brian Warner
6510510ea7 mutable.py: sketch out data-structure packing/unpacking methods 2007-11-02 00:03:28 -07:00
Brian Warner
d772ea850d mutable: split dirnode stuff out to dirnode2.py, will be renamed later 2007-11-01 23:46:47 -07:00
Brian Warner
f1c3ff62c1 mutable: improve NewDirectoryNode test coverage 2007-11-01 18:35:54 -07:00
Brian Warner
36921fedb3 mutable: implement most remaining dirnode methods. No tests yet. 2007-11-01 16:57:58 -07:00
Brian Warner
1d8a4cdfe7 mutable: first pass at dirnodes, filenodes, new URIs. Some test coverage.
The URI typenames need revision, and only a few dirnode methods are
implemented. Filenodes are non-functional, but URI/key-management is in
place. There are a lot of classes with names like "NewDirectoryNode" that
will need to be rename once we decide what (if any) backwards compatibility
want to retain.
2007-11-01 15:15:29 -07:00