Commit Graph

924 Commits

Author SHA1 Message Date
Zooko O'Whielacronx
f6451deb74 mutable.py: fix padding/shape-of-input-data to zfec 2007-11-09 18:06:25 -07:00
Zooko O'Whielacronx
3c7f96400d hashutil.py: switch from pycrypto to pycryptopp SHA256 2007-11-09 14:40:13 -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
63233ecf37 consolidate dirnode/filenode-creation code into Client 2007-11-09 02:54:51 -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
a4606d6560 test_system: RSA keys are even more variable than I thought, 2044..2049 2007-11-08 05:04:11 -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
0ad7ff48fa test_system: RSA keys vary in size, expand valid ranges in test 2007-11-08 03:01:13 -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
Zooko O'Whielacronx
f60dc4adfb UNDO: hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256 2007-11-07 18:02:39 -07:00
Zooko O'Whielacronx
11412da436 hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256 2007-11-07 18:02:39 -07:00
Brian Warner
be94960680 mutable: test roundtrip, make it work 2007-11-07 14:19:01 -07:00
Brian Warner
ba43c033fa storage.py: add a little logging (disabled) 2007-11-07 14:14:54 -07:00
Zooko O'Whielacronx
3c222bbe26 setup: print out the version number of pycryptopp in "tahoe --version" 2007-11-07 10:11:56 -07:00
Brian Warner
a46e64b0bb test_system.mutable: make sure we exercise FEC padding 2007-11-06 19:50:33 -07:00
Brian Warner
cc5d35cc07 dump-share: emit SDMF information too 2007-11-06 19:46:31 -07:00
Brian Warner
fdbe692810 add container_size to mutable dump-share output 2007-11-06 19:31:22 -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
ddf4d23bef test_system.mutable: add test coverage for the 'dump-share' debug command 2007-11-06 19:10:49 -07:00
Brian Warner
bc8605ad39 test_system: add early test for mutable slots, currently publish-only 2007-11-06 18:57:11 -07:00
Brian Warner
530085df4a test_mutable: remove dead code 2007-11-06 18:56:39 -07:00
Brian Warner
0b2f62466b debug: add mutable-slot support to 'dump-share' command 2007-11-06 18:55:55 -07:00
Brian Warner
5739126d11 mutable: storage_index is always 16 bytes 2007-11-06 18:54:34 -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
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
e08b091d9f storage: rewrite slot API, now use testv_and_readv_and_writev or readv 2007-11-05 20:17:14 -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
8f21424449 storage: add readv_slots: get data from all shares 2007-11-05 00:37:01 -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
1158c4aae5 test_client: increase test_reloadable inter-run timeout, cygwin was failing 2007-11-01 19:19:08 -07:00
Brian Warner
f1c3ff62c1 mutable: improve NewDirectoryNode test coverage 2007-11-01 18:35:54 -07:00
Brian Warner
d777283e9e implement preliminary log publisher/gatherer
This creates a Referenceable object that will eventually be able to publish
log events to a remote subscriber (at present all it can do is provide
version information). The FURL for this logport is written to 'logport.furl'.

In addition, if a file named 'log_gatherer.furl' is present, the given target
will be contacted and offered access to the logport. This can be used by a
centralized logging agent to subscribe to logs, e.g. from all the nodes in a
centrally-maintained storage grid. (think syslog -r, but with all the
security properties of FURLs, and permitting non-printable strings and
structured data).

Once this framework matures a bit, it will be moved into Foolscap.
2007-11-01 17:29:15 -07:00
Brian Warner
97f4d8c524 Client.tub_ready: upcall to Node 2007-11-01 17:27:12 -07:00
Brian Warner
36921fedb3 mutable: implement most remaining dirnode methods. No tests yet. 2007-11-01 16:57:58 -07:00
Brian Warner
57373c9889 bencode.py: reencode as UTF-8 2007-11-01 15:42:57 -07:00
Brian Warner
4423bc7510 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:35 -07:00
Brian Warner
c63b43bdbc trailing-whitespace eradication, no functional changes 2007-11-01 15:34:31 -07:00
Brian Warner
f714c5915a trailing-whitespace eradication, no functional changes 2007-11-01 15:34:28 -07:00
Brian Warner
f425ee3600 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:21 -07:00
Brian Warner
6849647856 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:18 -07:00
Brian Warner
4eab5bb50d trailing-whitespace eradication, no functional changes 2007-11-01 15:34:12 -07:00
Brian Warner
e304c74f8f trailing-whitespace eradication, no functional changes 2007-11-01 15:34:07 -07:00
Brian Warner
a037049188 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:01 -07:00
Brian Warner
516ce89a1e trailing-whitespace eradication, no functional changes 2007-11-01 15:33:47 -07:00
Brian Warner
9cd3eaec1e trailing-whitespace eradication, no functional changes 2007-11-01 15:33:41 -07:00
Brian Warner
ef546da72b trailing-whitespace eradication, no functional changes 2007-11-01 15:29:31 -07:00
Brian Warner
8d000aa1ec trailing-whitespace eradication, no functional changes 2007-11-01 15:29:28 -07:00
Brian Warner
8390d83322 trailing-whitespace eradication, no functional changes 2007-11-01 15:29:17 -07:00
Brian Warner
8465e99fe4 trailing-whitespace eradication, no functional changes 2007-11-01 15:29:12 -07:00
Brian Warner
3425cd9202 trailing-whitespace eradication, no functional changes 2007-11-01 15:29:03 -07:00
Brian Warner
433802f5ca trailing-whitespace eradication, no functional changes 2007-11-01 15:28:58 -07:00
Brian Warner
bf29cb38ed trailing-whitespace eradication, no functional changes 2007-11-01 15:28:54 -07:00
Brian Warner
f192ffc18d trailing-whitespace eradication, no functional changes 2007-11-01 15:28:50 -07:00
Brian Warner
fb59627faa trailing-whitespace eradication, no functional changes 2007-11-01 15:25:20 -07:00
Brian Warner
5e974ede20 trailing-whitespace eradication, no functional changes 2007-11-01 15:25:16 -07:00
Brian Warner
164da05ead trailing-whitespace eradication, no functional changes 2007-11-01 15:25:12 -07:00
Brian Warner
284b3e77e0 trailing-whitespace eradication, no functional changes 2007-11-01 15:25:09 -07:00
Brian Warner
1889af0e61 trailing-whitespace eradication, no functional changes 2007-11-01 15:25:04 -07:00
Brian Warner
20af973272 trailing-whitespace eradication, no functional changes 2007-11-01 15:25:00 -07:00
Brian Warner
f4946bc22e trailing-whitespace eradication, no functional changes 2007-11-01 15:22:57 -07:00
Brian Warner
828e2734e6 trailing-whitespace eradication, no functional changes 2007-11-01 15:22:47 -07:00
Brian Warner
d06d4f302f trailing-whitespace eradication, no functional changes 2007-11-01 15:22:41 -07:00
Brian Warner
1e76e9267b trailing-whitespace eradication, no functional changes 2007-11-01 15:22:38 -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
Brian Warner
fb3eddafdb move NotMutableError from dirnode.py into interfaces.py 2007-11-01 15:03:07 -07:00
Brian Warner
bcf84c1238 storage.py: fix tests, timestamps get updated when leases are renewed 2007-10-31 12:31:33 -07:00
Brian Warner
70e7961088 storage.py: more test coverage, make sure leases survive resizing 2007-10-31 12:07:47 -07:00
Brian Warner
948e6b34dd storage.py: improve test coverage even more 2007-10-31 01:44:01 -07:00
Brian Warner
4bd739435f storage.py: more mutable-slot coverage, renewing/cancelling leases 2007-10-31 01:31:56 -07:00
Brian Warner
f9a72e0e75 test_node.py: more coverage of Node.log 2007-10-31 00:56:59 -07:00
Brian Warner
22e3487b9e test_node.py: improve test coverage of node.py 2007-10-31 00:54:42 -07:00
Brian Warner
256ef1bf53 mutable slots: add some test coverage for lease-addition 2007-10-31 00:38:30 -07:00
Brian Warner
68d3d62002 mutable slots: finish up basic coding on server-side containers, add some tests. Remove all caching from MutableShareFile. 2007-10-31 00:10:40 -07:00
Brian Warner
b24c2925e8 checkpointing mutable-file work. Storage layer is 80% in place. 2007-10-30 19:47:36 -07:00
Brian Warner
b257f905a0 webish.py: handle asynchronous checker results.
Thanks to robk for pointing out that Nevow will accept a Deferred almost
everywhere. In this case, we just pass a Deferred into ctx.fillSlots(). One
quirk: nevow doesn't evaluate all rows of the table in parallel: using a slow
Deferred in a slot in one row seems to stall the next row until that one has
fired, probably to simplify the flattening of the HTML.
2007-10-30 17:00:37 -07:00
Brian Warner
5491339912 'tahoe stop': use SIGKILL, clean up twistd.pid ourselves, wait forever 2007-10-29 11:43:35 -07:00
Brian Warner
3d0ed4b0a9 checker.checker_results_for: ignore uris of 'None' 2007-10-26 18:38:37 -07:00
Brian Warner
42bd2bcf8e webish: tolerate not having a checker, since some unit tests don't make one 2007-10-23 17:35:31 -07:00
Brian Warner
046bda2b47 webish: add checker results and a 'Check' button to the web interface 2007-10-23 17:23:57 -07:00