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
Brian Warner
955bd5383d
remove PyCrypto, now we only use pycrypto++
2007-12-03 18:10:01 -07:00
Zooko O'Whielacronx
3605354a95
fix several bugs and warnings -- thanks, pyflakes
2007-12-03 15:42:35 -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
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
Brian Warner
63233ecf37
consolidate dirnode/filenode-creation code into Client
2007-11-09 02:54:51 -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
530085df4a
test_mutable: remove dead code
2007-11-06 18:56:39 -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
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
a431411418
test_mutable.py: hush pyflakes
2007-11-06 01:32:39 -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
95a3da92fe
test_mutable: hush pyflakes warning
2007-11-05 00:41:53 -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
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
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
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