Brian Warner [Wed, 5 Dec 2007 00:38:31 +0000 (17:38 -0700)]
uri.py: improve test coverage
Brian Warner [Wed, 5 Dec 2007 00:00:58 +0000 (17:00 -0700)]
remove most (maybe all?) traces of old Dirnode class. Yay for negative code days.
Brian Warner [Tue, 4 Dec 2007 22:55:27 +0000 (15:55 -0700)]
improve test coverage on FileNode.check
Brian Warner [Tue, 4 Dec 2007 21:32:04 +0000 (14:32 -0700)]
test_dirnode.py: obtain full coverage of dirnode.py
Brian Warner [Tue, 4 Dec 2007 18:45:20 +0000 (11:45 -0700)]
rename dirnode2.py to dirnode.py
Brian Warner [Tue, 4 Dec 2007 04:37:54 +0000 (21:37 -0700)]
test_mutable: improve test coverage a bit, add test_filenode.py
Brian Warner [Tue, 4 Dec 2007 01:10:01 +0000 (18:10 -0700)]
remove PyCrypto, now we only use pycrypto++
Brian Warner [Tue, 4 Dec 2007 00:27:46 +0000 (17:27 -0700)]
use AES from pycryptopp instead of pycrypto, also truncate the keys slightly differently
Brian Warner [Tue, 4 Dec 2007 00:10:02 +0000 (17:10 -0700)]
remove leftover defer.setDebugging(), to speed up tests from 200s to 83s
Zooko O'Whielacronx [Mon, 3 Dec 2007 22:42:35 +0000 (15:42 -0700)]
fix several bugs and warnings -- thanks, pyflakes
nejucomo [Tue, 20 Nov 2007 08:21:50 +0000 (01:21 -0700)]
A hastily written single-threaded read-only fuse client.
Zooko O'Whielacronx [Mon, 3 Dec 2007 22:29:04 +0000 (15:29 -0700)]
merge patch to integrate decentralized directories with "introducer_and_vdrive.py: use logpublisher too"
Brian Warner [Tue, 20 Nov 2007 21:22:26 +0000 (14:22 -0700)]
introducer_and_vdrive.py: use logpublisher too
Brian Warner [Tue, 20 Nov 2007 06:00:29 +0000 (23:00 -0700)]
encode.py: trivial whitespace change
Zooko O'Whielacronx [Mon, 3 Dec 2007 22:27:21 +0000 (15:27 -0700)]
merge patch to integrate decentralized directories with patch "download: use hierarchical logging"
Brian Warner [Tue, 20 Nov 2007 02:33:41 +0000 (19:33 -0700)]
more hierarchical logging: download/upload/encode
Brian Warner [Tue, 20 Nov 2007 02:07:10 +0000 (19:07 -0700)]
download: use hierarchical logging
Brian Warner [Tue, 20 Nov 2007 01:37:00 +0000 (18:37 -0700)]
logging: only test log.err when Twisted is new enough to let us ignore the generated errors
Zooko O'Whielacronx [Mon, 3 Dec 2007 22:25:14 +0000 (15:25 -0700)]
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"
Brian Warner [Tue, 20 Nov 2007 01:23:18 +0000 (18:23 -0700)]
hierarchical logging: add numbered messages and parent= args
Brian Warner [Mon, 19 Nov 2007 20:04:50 +0000 (13:04 -0700)]
debian: add Depends: on python-pycryptopp, now that it's been packaged
Brian Warner [Mon, 19 Nov 2007 03:41:26 +0000 (20:41 -0700)]
test_client: stall 2.0s between shutdown and restart, trying to fix cygwin
Brian Warner [Mon, 19 Nov 2007 01:32:04 +0000 (18:32 -0700)]
logtool: add 'gather' and 'dump' modes
Brian Warner [Mon, 19 Nov 2007 01:30:55 +0000 (18:30 -0700)]
logtool: rename get-logs.py to logtool.py
Brian Warner [Sat, 17 Nov 2007 03:14:46 +0000 (20:14 -0700)]
logpublisher: hush pyflakes warning
Brian Warner [Sat, 17 Nov 2007 03:07:50 +0000 (20:07 -0700)]
logpublisher: implement subscribe/publish for log, add a sample client
Brian Warner [Sat, 17 Nov 2007 00:12:33 +0000 (17:12 -0700)]
mutable: fix control flow to allow good+bad shares from a peer. Fixes #211.
Brian Warner [Fri, 16 Nov 2007 23:12:38 +0000 (16:12 -0700)]
node.py: try to fix rlimit-setting again
Brian Warner [Fri, 16 Nov 2007 06:09:02 +0000 (23:09 -0700)]
node.py: try rlimit fix again
Brian Warner [Fri, 16 Nov 2007 06:06:44 +0000 (23:06 -0700)]
node.py: try to fix RLIMIT_NOFILE on solaris too
Brian Warner [Fri, 16 Nov 2007 05:53:55 +0000 (22:53 -0700)]
node.py: raise RLIMIT_NOFILE on bsd/cygwin to more than 256
Brian Warner [Thu, 15 Nov 2007 21:55:00 +0000 (14:55 -0700)]
test_mutable: workaround: use more peers to avoid random test failures.
The underlying issue is recorded in #211: one corrupt share in a query
response will cause us to ignore the remaining shares in that response, even
if they are good. In our tests (with N=10 but only 5 peers), this can leave
us with too few shares to recover the file.
The temporary workaround is to use 10 peers, to make sure we never get
multiple shares per response. The real fix will be to fix the control flow.
This fixes #209.
Brian Warner [Thu, 15 Nov 2007 21:22:56 +0000 (14:22 -0700)]
mutable: add more logging to retrieval process
Brian Warner [Thu, 15 Nov 2007 20:40:49 +0000 (13:40 -0700)]
provisioning: add more options for num-servers and server-dBA
Brian Warner [Wed, 14 Nov 2007 22:26:46 +0000 (15:26 -0700)]
mutable: validate share_hash_chain for each inbound share
Zooko O'Whielacronx [Mon, 3 Dec 2007 22:21:14 +0000 (15:21 -0700)]
merge patch to integrate decentralized directories with patch to handle bad hashes
Brian Warner [Wed, 14 Nov 2007 06:08:15 +0000 (23:08 -0700)]
mutable: handle bad hashes, improve test coverage, rearrange slightly to facilitate these
Brian Warner [Tue, 13 Nov 2007 21:24:49 +0000 (14:24 -0700)]
README: advise 'make clean' before 'make build-deps' (after update), otherwise old versions of the dependent libaries can be used in preference to the newer one
Brian Warner [Tue, 13 Nov 2007 20:54:51 +0000 (13:54 -0700)]
docs/subtree1.svg: make the page smaller
Zooko O'Whielacronx [Mon, 3 Dec 2007 21:52:42 +0000 (14:52 -0700)]
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.
Zooko O'Whielacronx [Thu, 29 Nov 2007 21:47:35 +0000 (14:47 -0700)]
unit tests: bump up a timeout which I encountered when running on a very slow machine
Zooko O'Whielacronx [Tue, 20 Nov 2007 20:39:22 +0000 (13:39 -0700)]
setup: README: warn against Python 2.4.1, recommend easy_install, link to easy_install download page, edit for clarity
Zooko O'Whielacronx [Tue, 20 Nov 2007 07:07:44 +0000 (00:07 -0700)]
setup: make dependency failures more helpful (thanks to Priyanka)
Zooko O'Whielacronx [Tue, 20 Nov 2007 06:08:53 +0000 (23:08 -0700)]
setup: README: a few clarifications thanks to Priyanka
Zooko O'Whielacronx [Mon, 19 Nov 2007 22:55:17 +0000 (15:55 -0700)]
setup: pycryptopp: upgrade from v0.2.7 to v0.2.8
Zooko O'Whielacronx [Mon, 19 Nov 2007 22:07:11 +0000 (15:07 -0700)]
setup: pycryptopp: upgrade from v0.2.6 to v0.2.7 (adds AES)
Zooko O'Whielacronx [Mon, 19 Nov 2007 21:07:28 +0000 (14:07 -0700)]
remove tahoe_put-web2ish.py
It isn't currently used, and I don't remember what part of its behavior was so much better than tahoe_put.py, and Brian has subsequently improved tahoe_put.py.
Zooko O'Whielacronx [Wed, 14 Nov 2007 03:16:59 +0000 (20:16 -0700)]
setup: pass INCLUDE_DIRS and LIBRARY_DIRS variables, if any to setup.py from Makefile
Zooko O'Whielacronx [Sat, 10 Nov 2007 23:37:18 +0000 (16:37 -0700)]
IMutableFileNode is a subtype of IFileNode
I'm not 100% sure that this is correct, but it looks reasonable, it passes unit
tests (although note that unit tests are currently not covering the new mutable
files very well), and it makes the "view JSON" link on a directory work instead
of raising an assertion error.
Zooko O'Whielacronx [Sat, 10 Nov 2007 23:07:05 +0000 (16:07 -0700)]
don't provide the "overwrite" button if the file is readonly to you
Zooko O'Whielacronx [Sat, 10 Nov 2007 17:53:45 +0000 (10:53 -0700)]
WUI: hook up an "overwrite" button on mutable files
Zooko O'Whielacronx [Sat, 10 Nov 2007 01:21:12 +0000 (18:21 -0700)]
remove parts of pycrypto that we are no longer going to use: SHA256 and RSA
Zooko O'Whielacronx [Sat, 10 Nov 2007 01:15:00 +0000 (18:15 -0700)]
setup: require pycryptopp >= 0.2.6
Zooko O'Whielacronx [Sat, 10 Nov 2007 01:14:36 +0000 (18:14 -0700)]
setup: upgrade bundled pycryptopp from v0.2.5 to v0.2.6
Zooko O'Whielacronx [Sat, 10 Nov 2007 01:06:25 +0000 (18:06 -0700)]
mutable.py: fix padding/shape-of-input-data to zfec
Zooko O'Whielacronx [Sat, 10 Nov 2007 01:04:19 +0000 (18:04 -0700)]
setup: automatically discover files to include in packages
(Because they are python packages or because they are registered under darcs revision control.)
Zooko O'Whielacronx [Fri, 9 Nov 2007 21:58:03 +0000 (14:58 -0700)]
setup: continue running setup.py even if ez_setup.py can't be imported
Zooko O'Whielacronx [Fri, 9 Nov 2007 21:40:13 +0000 (14:40 -0700)]
hashutil.py: switch from pycrypto to pycryptopp SHA256
Zooko O'Whielacronx [Fri, 9 Nov 2007 20:13:39 +0000 (13:13 -0700)]
setup: fix formatting of error messages from makefile
Brian Warner [Fri, 9 Nov 2007 11:05:07 +0000 (04:05 -0700)]
docs/webapi.txt: document the POST t=upload&mutable=on command used to create mutable files
Brian Warner [Fri, 9 Nov 2007 10:54:27 +0000 (03:54 -0700)]
webish: add preliminary mutable file support: upload, download, listings, JSON, URI, RO-URI. No replace yet.
Brian Warner [Fri, 9 Nov 2007 09:54:51 +0000 (02:54 -0700)]
consolidate dirnode/filenode-creation code into Client
Brian Warner [Thu, 8 Nov 2007 11:30:37 +0000 (04:30 -0700)]
mutable: cheap padding hack to make zfec tolerate short files
Zooko O'Whielacronx [Fri, 9 Nov 2007 20:03:15 +0000 (13:03 -0700)]
setup: require pycryptopp >= v0.2.5
Zooko O'Whielacronx [Fri, 9 Nov 2007 20:02:49 +0000 (13:02 -0700)]
setup: upgrade the bundled pycryptopp tarball from pycryptopp v0.2.3 to pycryptopp v0.2.5
Brian Warner [Thu, 8 Nov 2007 21:02:36 +0000 (14:02 -0700)]
mutable: verify incoming share signatures during Publish, it's not that expensive and it's a good idea
Brian Warner [Thu, 8 Nov 2007 12:04:11 +0000 (05:04 -0700)]
test_system: RSA keys are even more variable than I thought, 2044..2049
Brian Warner [Thu, 8 Nov 2007 11:31:00 +0000 (04:31 -0700)]
mutable: add basic test coverage of new-dirnodes-using-mutable-files
Brian Warner [Thu, 8 Nov 2007 11:07:33 +0000 (04:07 -0700)]
mutable: fix multiple-versions-interfering-with-each-other bug. replace() tests now pass.
Brian Warner [Thu, 8 Nov 2007 10:01:13 +0000 (03:01 -0700)]
test_system: RSA keys vary in size, expand valid ranges in test
Brian Warner [Thu, 8 Nov 2007 09:46:27 +0000 (02:46 -0700)]
mutable: grab encprivkey when necessary during publish, fix test_mutable
Brian Warner [Thu, 8 Nov 2007 09:08:42 +0000 (02:08 -0700)]
docs/configuration.txt: expand the 'sizelimit' docs
Brian Warner [Thu, 8 Nov 2007 04:01:39 +0000 (21:01 -0700)]
mutable: rearrange order of Publish to allow replace() to work. Doesn't work yet. Also test_mutable is disabled for a while.
Brian Warner [Thu, 8 Nov 2007 02:50:46 +0000 (19:50 -0700)]
Makefile: check-deps: check for pycryptopp
Brian Warner [Thu, 8 Nov 2007 00:52:09 +0000 (17:52 -0700)]
mutable: fix usage of NeedMoreDataError
Brian Warner [Thu, 8 Nov 2007 00:51:35 +0000 (17:51 -0700)]
mutable: wire in RSA for real, using pycryptopp
Brian Warner [Thu, 8 Nov 2007 00:45:45 +0000 (17:45 -0700)]
mutable: make error handling more robust
Zooko O'Whielacronx [Thu, 8 Nov 2007 01:02:39 +0000 (18:02 -0700)]
UNDO: hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256
Zooko O'Whielacronx [Thu, 8 Nov 2007 01:02:39 +0000 (18:02 -0700)]
hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256
Zooko O'Whielacronx [Thu, 8 Nov 2007 00:55:18 +0000 (17:55 -0700)]
setup: tell setuptools that we depend on pycryptopp >= 0.2.3
Zooko O'Whielacronx [Thu, 8 Nov 2007 00:54:46 +0000 (17:54 -0700)]
setup: upgrade to pycryptopp v0.2.3
Brian Warner [Wed, 7 Nov 2007 21:19:01 +0000 (14:19 -0700)]
mutable: test roundtrip, make it work
Brian Warner [Wed, 7 Nov 2007 21:14:54 +0000 (14:14 -0700)]
storage.py: add a little logging (disabled)
Zooko O'Whielacronx [Wed, 7 Nov 2007 17:11:56 +0000 (10:11 -0700)]
setup: print out the version number of pycryptopp in "tahoe --version"
Zooko O'Whielacronx [Wed, 7 Nov 2007 17:01:07 +0000 (10:01 -0700)]
CREDITS: more credit to nejucomo since we accepted a doc patch
Zooko O'Whielacronx [Wed, 7 Nov 2007 17:00:57 +0000 (10:00 -0700)]
README: fix whitespace
Zooko O'Whielacronx [Wed, 7 Nov 2007 17:00:13 +0000 (10:00 -0700)]
setup: add Crypto++ and pycryptopp to dependencies
Crypto++ is a new manual dependency (boo hoo), and pycryptopp is a new automatic dependency.
Zooko O'Whielacronx [Wed, 7 Nov 2007 16:59:51 +0000 (09:59 -0700)]
setup: add misc/dependencies/pycryptopp-0.2.1.tar.gz
nejucomo [Mon, 5 Nov 2007 08:46:42 +0000 (01:46 -0700)]
Add "sizelimit" to configuration doc.
Brian Warner [Wed, 7 Nov 2007 02:50:33 +0000 (19:50 -0700)]
test_system.mutable: make sure we exercise FEC padding
Brian Warner [Wed, 7 Nov 2007 02:46:31 +0000 (19:46 -0700)]
dump-share: emit SDMF information too
Brian Warner [Wed, 7 Nov 2007 02:31:22 +0000 (19:31 -0700)]
add container_size to mutable dump-share output
Brian Warner [Wed, 7 Nov 2007 02:27:06 +0000 (19:27 -0700)]
mutable: stub out pubkey creation until we wire in pycryptopp properly
Brian Warner [Wed, 7 Nov 2007 02:10:49 +0000 (19:10 -0700)]
test_system.mutable: add test coverage for the 'dump-share' debug command
Brian Warner [Wed, 7 Nov 2007 01:57:11 +0000 (18:57 -0700)]
test_system: add early test for mutable slots, currently publish-only
Brian Warner [Wed, 7 Nov 2007 01:56:39 +0000 (18:56 -0700)]
test_mutable: remove dead code
Brian Warner [Wed, 7 Nov 2007 01:55:55 +0000 (18:55 -0700)]
debug: add mutable-slot support to 'dump-share' command
Brian Warner [Wed, 7 Nov 2007 01:54:34 +0000 (18:54 -0700)]
mutable: storage_index is always 16 bytes
Brian Warner [Wed, 7 Nov 2007 01:53:34 +0000 (18:53 -0700)]
mutable: fix use of storage API
Brian Warner [Wed, 7 Nov 2007 01:49:59 +0000 (18:49 -0700)]
stabilize on 20-byte nodeids everywhere, printed with foolscap's base32