tahoe-lafs/tahoe-lafs.git
13 years agodoc: add entry in known_issues.rst about the issue which allows unauthorized deletion...
Zooko O'Whielacronx [Mon, 12 Sep 2011 22:31:35 +0000 (15:31 -0700)]
doc: add entry in known_issues.rst about the issue which allows unauthorized deletion of shares
ref. #1528

13 years agostorage: more paranoid handling of bounds and palimpsests in mutable share files
Zooko O'Whielacronx [Mon, 12 Sep 2011 22:26:55 +0000 (15:26 -0700)]
storage: more paranoid handling of bounds and palimpsests in mutable share files
* storage server ignores requests to extend shares by sending a new_length
* storage server fills exposed holes (created by sending a write vector whose offset begins after the end of the current data) with 0 to avoid "palimpsest" exposure of previous contents
* storage server zeroes out lease info at the old location when moving it to a new location
ref. #1528

13 years agostorage: test that the storage server ignores requests to extend shares by sending...
Zooko O'Whielacronx [Mon, 12 Sep 2011 22:25:54 +0000 (15:25 -0700)]
storage: test that the storage server ignores requests to extend shares by sending a new_length, and that the storage server fills exposed holes with 0 to avoid "palimpsest" exposure of previous contents
ref. #1528

13 years agoimmutable: prevent clients from reading past the end of share data, which would allow...
Zooko O'Whielacronx [Mon, 12 Sep 2011 22:24:58 +0000 (15:24 -0700)]
immutable: prevent clients from reading past the end of share data, which would allow them to learn the cancellation secret
Declare explicitly that we prevent this problem in the server's version dict.
fixes #1528 (there are two patches that are each a sufficient fix to #1528 and this is one of them)

13 years agostorage: remove the storage server's "remote_cancel_lease" function
Zooko O'Whielacronx [Mon, 12 Sep 2011 22:23:31 +0000 (15:23 -0700)]
storage: remove the storage server's "remote_cancel_lease" function
We're removing this function because it is currently unused, because it is dangerous, and because the bug described in #1528 leaks the cancellation secret, which allows anyone who knows a file's storage index to abuse this function to delete shares of that file.
fixes #1528 (there are two patches that are each a sufficient fix to #1528 and this is one of them)

13 years agostorage: test that the storage server does *not* have a "remote_cancel_lease" function
Zooko O'Whielacronx [Mon, 12 Sep 2011 22:23:24 +0000 (15:23 -0700)]
storage: test that the storage server does *not* have a "remote_cancel_lease" function
We're removing this function because it is currently unused, because it is dangerous, and because the bug described in #1528 leaks the cancellation secret, which allows anyone who knows a file's storage index to abuse this function to delete shares of that file.
ref. #1528

13 years agoimmutable: test whether the server allows clients to read past the end of share data...
Zooko O'Whielacronx [Mon, 12 Sep 2011 22:12:01 +0000 (15:12 -0700)]
immutable: test whether the server allows clients to read past the end of share data, which would allow them to learn the cancellation secret
Also test whether the server explicitly declares that it prevents this problem.
ref #1528

13 years agoRetrieve._activate_enough_peers: rewrite Verify logic
Brian Warner [Mon, 5 Sep 2011 19:36:26 +0000 (12:36 -0700)]
Retrieve._activate_enough_peers: rewrite Verify logic

13 years agoRetrieve: implement/test stopProducing
Brian Warner [Mon, 5 Sep 2011 19:02:42 +0000 (12:02 -0700)]
Retrieve: implement/test stopProducing

13 years agomove DownloadStopped from download.common to interfaces
Brian Warner [Sun, 4 Sep 2011 02:59:06 +0000 (19:59 -0700)]
move DownloadStopped from download.common to interfaces

13 years agoretrieve.py: remove vestigal self._validated_readers
Brian Warner [Mon, 5 Sep 2011 18:54:04 +0000 (11:54 -0700)]
retrieve.py: remove vestigal self._validated_readers

13 years agoRetrieve: rewrite flow-control: use a top-level loop() to catch all errors
Brian Warner [Mon, 5 Sep 2011 18:38:44 +0000 (11:38 -0700)]
Retrieve: rewrite flow-control: use a top-level loop() to catch all errors

This ought to close the potential for dropped errors and hanging downloads.
Verify needs to be examined, I may have broken it, although all tests pass.

13 years agoRetrieve: merge _validate_active_prefixes into _add_active_peers
Brian Warner [Mon, 5 Sep 2011 08:31:18 +0000 (01:31 -0700)]
Retrieve: merge _validate_active_prefixes into _add_active_peers

13 years agoRetrieve: remove the initial prefix-is-still-good check
Brian Warner [Mon, 5 Sep 2011 08:26:33 +0000 (01:26 -0700)]
Retrieve: remove the initial prefix-is-still-good check

This check needs to be done with each fetch from the storage server, to
detect when someone has changed the share (i.e. our servermap goes stale).
Doing it just once at the beginning of retrieve isn't enough: a write might
occur after the first segment but before the second, etc.

_try_to_validate_prefix() was not removed: it will be used by the future
check-with-each-fetch code.

test_mutable.Roundtrip.test_corrupt_all_seqnum_late was disabled, since it
fails until this check is brought back. (the corruption it applies only
touches the prefix, not the block data, so the check-less retrieve actually
tolerates it). Don't forget to re-enable it once the check is brought back.

13 years agoMDMFSlotReadProxy: remove the queue
Brian Warner [Mon, 5 Sep 2011 19:04:08 +0000 (12:04 -0700)]
MDMFSlotReadProxy: remove the queue

This is a neat trick to reduce Foolscap overhead, but the need for an
explicit flush() complicates the Retrieve path and makes it prone to
lost-progress bugs.

Also change test_mutable.FakeStorageServer to tolerate multiple reads of the
same share in a row, a limitation exposed by turning off the queue.

13 years agorearrange Retrieve: first step, shouldn't change order of execution
Brian Warner [Sun, 4 Sep 2011 03:21:18 +0000 (20:21 -0700)]
rearrange Retrieve: first step, shouldn't change order of execution

13 years agoCLI: test_cli.py -- remove an unnecessary call in test_mkdir_mutable_type. refs ...
david-sarah [Tue, 6 Sep 2011 18:37:30 +0000 (11:37 -0700)]
CLI: test_cli.py -- remove an unnecessary call in test_mkdir_mutable_type. refs #1527

13 years agoCLI: improve test for 'tahoe mkdir --mutable-type='. refs #1527
david-sarah [Tue, 6 Sep 2011 18:30:20 +0000 (11:30 -0700)]
CLI: improve test for 'tahoe mkdir --mutable-type='. refs #1527

13 years agoCLI: make the --mutable-type option value for 'tahoe put' and 'tahoe mkdir' case...
david-sarah [Mon, 5 Sep 2011 02:09:22 +0000 (19:09 -0700)]
CLI: make the --mutable-type option value for 'tahoe put' and 'tahoe mkdir' case-insensitive, and change --help for these commands accordingly. fixes #1527

13 years agocli: make --mutable-type imply --mutable in 'tahoe put'
Kevan Carstensen [Sat, 3 Sep 2011 19:09:20 +0000 (12:09 -0700)]
cli: make --mutable-type imply --mutable in 'tahoe put'

13 years agoSFTP: add a comment about a subtle interaction between OverwriteableFileConsumer...
david-sarah [Sat, 3 Sep 2011 22:23:04 +0000 (15:23 -0700)]
SFTP: add a comment about a subtle interaction between OverwriteableFileConsumer and GeneralSFTPFile, and test the case it is commenting on.

13 years agoimprove the storage/mutable.py asserts even more
Brian Warner [Thu, 1 Sep 2011 16:05:43 +0000 (09:05 -0700)]
improve the storage/mutable.py asserts even more

13 years agostorage/mutable.py: special characters in struct.foo arguments indicate standard...
wilcoxjg [Thu, 1 Sep 2011 08:41:44 +0000 (01:41 -0700)]
storage/mutable.py: special characters in struct.foo arguments indicate standard as opposed to native sizes, we should be using these characters in these asserts

13 years agodocs/write_coordination.rst: fix formatting and add more specific warning about acces...
david-sarah [Wed, 31 Aug 2011 23:21:48 +0000 (16:21 -0700)]
docs/write_coordination.rst: fix formatting and add more specific warning about access via sshfs.

13 years agotest_mutable.Version: consolidate some tests, reduce runtime from 19s to 15s
Brian Warner [Wed, 31 Aug 2011 05:04:51 +0000 (22:04 -0700)]
test_mutable.Version: consolidate some tests, reduce runtime from 19s to 15s

13 years agomutable/retrieve: handle the case where self._read_length is 0.
Kevan Carstensen [Tue, 30 Aug 2011 21:01:41 +0000 (14:01 -0700)]
mutable/retrieve: handle the case where self._read_length is 0.

Note that the downloader will still fetch a segment for a zero-length
read, which is wasteful. Fixing that isn't specifically required to fix
#1512, but it should probably be fixed before 1.9.

13 years agoNEWS: added summary of all changes since 1.8.2. Needs editing.
Brian Warner [Tue, 30 Aug 2011 16:32:05 +0000 (09:32 -0700)]
NEWS: added summary of all changes since 1.8.2. Needs editing.

13 years agotest_mutable.Update: only upload the files needed for each test. refs #1500
Brian Warner [Mon, 29 Aug 2011 07:27:17 +0000 (00:27 -0700)]
test_mutable.Update: only upload the files needed for each test. refs #1500

This first step shaves 15% off the runtime: from 139s to 119s on my laptop.
It also fixes a couple of places where a Deferred was being dropped, which
would cause two tests to run in parallel and also confuse error reporting.

13 years agoLet Uploader retain History instead of passing it into upload(). Fixes #1079.
Brian Warner [Mon, 29 Aug 2011 06:32:46 +0000 (23:32 -0700)]
Let Uploader retain History instead of passing it into upload(). Fixes #1079.

This consistently records all immutable uploads in the Recent Uploads And
Downloads page, regardless of code path. Previously, certain webapi upload
operations (like PUT /uri/$DIRCAP/newchildname) failed to pass the History
object and were left out.

13 years agoFix mutable publish/retrieve timing status displays. Fixes #1505.
Brian Warner [Sun, 28 Aug 2011 23:22:21 +0000 (16:22 -0700)]
Fix mutable publish/retrieve timing status displays. Fixes #1505.

publish:
* encrypt and encode times are cumulative, not just current-segment

retrieve:
* same for decrypt and decode times
* update "current status" to include segment number
* set status to Finished/Failed when download is complete
* set progress to 1.0 when complete

More improvements to consider:
* progress is currently 0% or 100%: should calculate how many segments are
  involved (remembering retrieve can be less than the whole file) and set it
  to a fraction
* "fetch" time is fuzzy: what we want is to know how much of the delay is not
  our own fault, but since we do decode/decrypt work while waiting for more
  shares, it's not straightforward

13 years agoTeach 'tahoe debug catalog-shares about MDMF. Closes #1507.
Brian Warner [Sun, 28 Aug 2011 08:09:31 +0000 (01:09 -0700)]
Teach 'tahoe debug catalog-shares about MDMF. Closes #1507.

13 years agodebug.py: remove some dead comments
Brian Warner [Sun, 28 Aug 2011 07:45:56 +0000 (00:45 -0700)]
debug.py: remove some dead comments

13 years agohush pyflakes
Brian Warner [Sun, 28 Aug 2011 07:42:54 +0000 (00:42 -0700)]
hush pyflakes

13 years agoMutableFileNode.set_downloader_hints: never depend upon order of dict.values()
Brian Warner [Sun, 28 Aug 2011 07:41:03 +0000 (00:41 -0700)]
MutableFileNode.set_downloader_hints: never depend upon order of dict.values()

The old code was calculating the "extension parameters" (a list) from the
downloader hints (a dictionary) with hints.values(), which is not stable, and
would result in corrupted filecaps (with the 'k' and 'segsize' hints
occasionally swapped). The new code always uses [k,segsize].

13 years agolayout.py: fix MDMF share layout documentation
Brian Warner [Sun, 28 Aug 2011 07:39:21 +0000 (00:39 -0700)]
layout.py: fix MDMF share layout documentation

13 years agoteach 'tahoe debug dump-share' about MDMF and offsets. refs #1507
Brian Warner [Sun, 28 Aug 2011 07:38:34 +0000 (00:38 -0700)]
teach 'tahoe debug dump-share' about MDMF and offsets. refs #1507

13 years agotest_mutable.Version.test_debug: use splitlines() to fix buildslaves
Brian Warner [Sun, 28 Aug 2011 06:47:28 +0000 (23:47 -0700)]
test_mutable.Version.test_debug: use splitlines() to fix buildslaves

Any slave running in a directory with spaces in the name was miscounting
shares, causing the test to fail.

13 years agotest_mutable.Version: exercise 'tahoe debug find-shares' on MDMF. refs #1507
Brian Warner [Sun, 28 Aug 2011 00:55:42 +0000 (17:55 -0700)]
test_mutable.Version: exercise 'tahoe debug find-shares' on MDMF. refs #1507

Also changes NoNetworkGrid to put shares in storage/shares/ .

13 years agotest_mutable.py: oops, missed a .todo
Brian Warner [Sun, 28 Aug 2011 00:21:18 +0000 (17:21 -0700)]
test_mutable.py: oops, missed a .todo

13 years agotest_mutable: merge davidsarah's patch with my Version refactorings
Brian Warner [Sat, 27 Aug 2011 23:57:07 +0000 (16:57 -0700)]
test_mutable: merge davidsarah's patch with my Version refactorings

13 years agoMake the immutable/read-only constraint checking for MDMF URIs identical to that...
david-sarah [Tue, 23 Aug 2011 01:27:20 +0000 (18:27 -0700)]
Make the immutable/read-only constraint checking for MDMF URIs identical to that for SSK URIs. refs #393

13 years agoAdditional tests for MDMF URIs and for zero-length files. refs #393
david-sarah [Tue, 23 Aug 2011 01:15:32 +0000 (18:15 -0700)]
Additional tests for MDMF URIs and for zero-length files. refs #393

13 years agoAdditional tests for zero-length partial reads and updates to mutable versions. refs...
david-sarah [Mon, 22 Aug 2011 01:41:11 +0000 (18:41 -0700)]
Additional tests for zero-length partial reads and updates to mutable versions. refs #393

13 years agotest_mutable.Version: factor out some expensive uploads, save 25% runtime
Brian Warner [Sat, 27 Aug 2011 23:27:37 +0000 (16:27 -0700)]
test_mutable.Version: factor out some expensive uploads, save 25% runtime

13 years agoSDMF: update filenode with correct k/N after Retrieve. Fixes #1510.
Brian Warner [Sat, 27 Aug 2011 22:50:31 +0000 (15:50 -0700)]
SDMF: update filenode with correct k/N after Retrieve. Fixes #1510.

Without this, we get a regression when modifying a mutable file that was
created with more shares (larger N) than our current tahoe.cfg . The
modification attempt creates new versions of the (0,1,..,newN-1) shares, but
leaves the old versions of the (newN,..,oldN-1) shares alone (and throws a
assertion error in SDMFSlotWriteProxy.finish_publishing in the process).

The mixed versions that result (some shares with e.g. N=10, some with N=20,
such that both versions are recoverable) cause problems for the Publish code,
even before MDMF landed. Might be related to refs #1390 and refs #1042.

13 years agolayout.py: annotate assertion to figure out 'tahoe backup' failure
Brian Warner [Sat, 27 Aug 2011 19:52:53 +0000 (12:52 -0700)]
layout.py: annotate assertion to figure out 'tahoe backup' failure

13 years agoAdd 'tahoe debug dump-cap' support for MDMF, DIR2-CHK, DIR2-MDMF. refs #1507.
Brian Warner [Sat, 27 Aug 2011 19:50:48 +0000 (12:50 -0700)]
Add 'tahoe debug dump-cap' support for MDMF, DIR2-CHK, DIR2-MDMF. refs #1507.

This also adds tests for all those cases, and fixes an omission in uri.py
that broke parsing of DIR2-MDMF-Verifier and DIR2-CHK-Verifier.

13 years agoMDMF: more writable/writeable consistentifications
Brian Warner [Sat, 27 Aug 2011 19:06:02 +0000 (12:06 -0700)]
MDMF: more writable/writeable consistentifications

13 years agoMDMF: s/Writable/Writeable/g, for consistency with existing SDMF code
Brian Warner [Sat, 27 Aug 2011 18:33:57 +0000 (11:33 -0700)]
MDMF: s/Writable/Writeable/g, for consistency with existing SDMF code

13 years agosetup.cfg: remove no-longer-supported test_mac_diskimage alias. refs #1479
david-sarah [Fri, 26 Aug 2011 23:03:45 +0000 (16:03 -0700)]
setup.cfg: remove no-longer-supported test_mac_diskimage alias. refs #1479

13 years agotest_mutable.Update: increase timeout from 120s to 400s, slaves are failing
Brian Warner [Thu, 25 Aug 2011 23:01:40 +0000 (16:01 -0700)]
test_mutable.Update: increase timeout from 120s to 400s, slaves are failing

13 years agotests: fix check_memory test
Zooko O'Whielacronx [Thu, 25 Aug 2011 20:11:16 +0000 (13:11 -0700)]
tests: fix check_memory test
fixes #1503

13 years agoTAG allmydata-tahoe-1.9.0a1 allmydata-tahoe-1.9.0a1
Brian Warner [Thu, 25 Aug 2011 16:11:22 +0000 (09:11 -0700)]
TAG allmydata-tahoe-1.9.0a1

13 years agotouch NEWS to trigger buildslaves
Brian Warner [Thu, 25 Aug 2011 16:10:26 +0000 (09:10 -0700)]
touch NEWS to trigger buildslaves

13 years agotest_mutable.Update: remove .timeout overrides, otherwise tests ERROR
Brian Warner [Tue, 23 Aug 2011 21:19:04 +0000 (14:19 -0700)]
test_mutable.Update: remove .timeout overrides, otherwise tests ERROR

13 years agoblacklist.py: add read() method too, for completeness
Brian Warner [Thu, 25 Aug 2011 02:19:02 +0000 (19:19 -0700)]
blacklist.py: add read() method too, for completeness

13 years agoImplementation, tests and docs for blacklists. This version allows listing directorie...
david-sarah [Wed, 24 Aug 2011 15:59:28 +0000 (08:59 -0700)]
Implementation, tests and docs for blacklists. This version allows listing directories containing a blacklisted child. Inclusion of blacklist.py fixed. fixes #1425

13 years agomutable/layout.py: fix unused import. refs #393 post-393
david-sarah [Tue, 16 Aug 2011 22:50:43 +0000 (15:50 -0700)]
mutable/layout.py: fix unused import. refs #393

13 years agomutable/retrieve.py: cosmetics and remove a stale comment. refs #393
david-sarah [Tue, 16 Aug 2011 21:46:12 +0000 (14:46 -0700)]
mutable/retrieve.py: cosmetics and remove a stale comment. refs #393

13 years agomutable/filenode.py: don't fetch more segments than necesasry to update the file
Kevan Carstensen [Sat, 13 Aug 2011 21:00:05 +0000 (14:00 -0700)]
mutable/filenode.py: don't fetch more segments than necesasry to update the file

13 years agotest/test_mutable: test for incorrect div_ceil equations trac-5200
Kevan Carstensen [Sat, 13 Aug 2011 18:39:36 +0000 (11:39 -0700)]
test/test_mutable: test for incorrect div_ceil equations

13 years agomutable/retrieve.py: use floor division to calculate segment boundaries, don't fetch...
Kevan Carstensen [Sat, 13 Aug 2011 18:38:33 +0000 (11:38 -0700)]
mutable/retrieve.py: use floor division to calculate segment boundaries, don't fetch more segments than necessary

13 years agomdmf: clean up boolean expressions, correct typos, remove self._paused, and don't...
Kevan Carstensen [Sat, 13 Aug 2011 18:37:10 +0000 (11:37 -0700)]
mdmf: clean up boolean expressions, correct typos, remove self._paused, and don't unconditionally initialize block hash trees, asll as suggested by davidsarahs' review comments

13 years agonow that tests pass with full-size keys, return test-keys to normal (522bit)
Brian Warner [Thu, 11 Aug 2011 17:54:18 +0000 (10:54 -0700)]
now that tests pass with full-size keys, return test-keys to normal (522bit)

13 years agofix SHARE_HASH_CHAIN_SIZE computation
Brian Warner [Thu, 11 Aug 2011 17:53:50 +0000 (10:53 -0700)]
fix SHARE_HASH_CHAIN_SIZE computation

13 years agoMore idiomatic resolution of the conflict between ticket393-MDMF-2 and trunk. refs...
david-sarah [Wed, 10 Aug 2011 20:29:42 +0000 (13:29 -0700)]
More idiomatic resolution of the conflict between ticket393-MDMF-2 and trunk. refs #393

13 years agoReplace the hard-coded 522-bit RSA key size used for tests with a TEST_RSA_KEY_SIZE...
david-sarah [Wed, 10 Aug 2011 20:23:10 +0000 (13:23 -0700)]
Replace the hard-coded 522-bit RSA key size used for tests with a TEST_RSA_KEY_SIZE constant defined in test/common.py (part 2). refs #393

13 years agoReplace the hard-coded 522-bit RSA key size used for tests with a TEST_RSA_KEY_SIZE...
david-sarah [Wed, 10 Aug 2011 20:22:43 +0000 (13:22 -0700)]
Replace the hard-coded 522-bit RSA key size used for tests with a TEST_RSA_KEY_SIZE constant defined in test/common.py (part 1). refs #393

13 years agomerge some minor conflicts in test code from the 393-2 branch and trunk
Zooko O'Whielacronx [Wed, 10 Aug 2011 17:21:39 +0000 (10:21 -0700)]
merge some minor conflicts in test code from the 393-2 branch and trunk

13 years agodoc: eliminate the phrase "rootcap" from doc/frontends/FTP-and-SFTP.rst
Zooko O'Whielacronx [Tue, 9 Aug 2011 13:26:01 +0000 (06:26 -0700)]
doc: eliminate the phrase "rootcap" from doc/frontends/FTP-and-SFTP.rst
Two different people have asked me for help, saying they couldn't figure out what a "rootcap" is. Hopefully just calling it a "cap" will make it easier for them to find out from the other docs what it is.

13 years agotest_web.py: fix a test failure dependent on whether simplejson.loads returns a unico...
david-sarah [Mon, 8 Aug 2011 21:39:25 +0000 (14:39 -0700)]
test_web.py: fix a test failure dependent on whether simplejson.loads returns a unicode or str object.

13 years agoimmutable/filenode: fix pyflakes warnings
Kevan Carstensen [Sun, 7 Aug 2011 00:45:14 +0000 (17:45 -0700)]
immutable/filenode: fix pyflakes warnings

13 years agotest: fix assorted tests broken by MDMF changes
Kevan Carstensen [Sun, 7 Aug 2011 00:44:59 +0000 (17:44 -0700)]
test: fix assorted tests broken by MDMF changes

13 years agouri: add MDMF and MDMF directory caps, add extension hint support
Kevan Carstensen [Sun, 7 Aug 2011 00:44:36 +0000 (17:44 -0700)]
uri: add MDMF and MDMF directory caps, add extension hint support

13 years agotest/test_mutable: tests for MDMF
Kevan Carstensen [Sun, 7 Aug 2011 00:44:14 +0000 (17:44 -0700)]
test/test_mutable: tests for MDMF

These are their own patch because they cut across a lot of the changes
I've made in implementing MDMF in such a way as to make it difficult to
split them up into the other patches.

13 years agowebapi changes for MDMF
Kevan Carstensen [Sun, 7 Aug 2011 00:43:48 +0000 (17:43 -0700)]
webapi changes for MDMF

    - Learn how to create MDMF files and directories through the
      mutable-type argument.
    - Operate with the interface changes associated with MDMF and #993.
    - Learn how to do partial updates of mutable files.

13 years agomutable/servermap: Rework the servermap to work with MDMF mutable files
Kevan Carstensen [Sun, 7 Aug 2011 00:42:59 +0000 (17:42 -0700)]
mutable/servermap: Rework the servermap to work with MDMF mutable files

13 years agodirnode: teach dirnode to make MDMF directories
Kevan Carstensen [Sun, 7 Aug 2011 00:42:24 +0000 (17:42 -0700)]
dirnode: teach dirnode to make MDMF directories

13 years agoFix some test failures caused by #393 patch.
david-sarah [Tue, 2 Aug 2011 03:28:10 +0000 (20:28 -0700)]
Fix some test failures caused by #393 patch.

13 years agodocs: amend configuration, webapi documentation to talk about MDMF
Kevan Carstensen [Tue, 2 Aug 2011 02:20:56 +0000 (19:20 -0700)]
docs: amend configuration, webapi documentation to talk about MDMF

13 years agocli: teach CLI how to create MDMF mutable files
Kevan Carstensen [Tue, 2 Aug 2011 02:16:13 +0000 (19:16 -0700)]
cli: teach CLI how to create MDMF mutable files

Specifically, 'tahoe mkdir' and 'tahoe put' now take a --mutable-type
argument.

13 years agofrontends/sftpd: Resolve incompatibilities between SFTP frontend and MDMF changes
Kevan Carstensen [Tue, 2 Aug 2011 02:12:07 +0000 (19:12 -0700)]
frontends/sftpd: Resolve incompatibilities between SFTP frontend and MDMF changes

13 years agomutable/layout: Define MDMF share format, write tools for working with MDMF share...
Kevan Carstensen [Tue, 2 Aug 2011 02:11:20 +0000 (19:11 -0700)]
mutable/layout: Define MDMF share format, write tools for working with MDMF share format

The changes in layout.py are mostly concerned with the MDMF share
format. In particular, we define read and write proxy objects used by
retrieval, publishing, and other code to write and read the MDMF share
format. We create equivalent proxies for SDMF objects so that these
objects can be suitably general.

13 years agoimmutable/filenode: implement unified filenode interface
Kevan Carstensen [Tue, 2 Aug 2011 02:09:05 +0000 (19:09 -0700)]
immutable/filenode: implement unified filenode interface

13 years agoimmutable/literal.py: Implement interface changes in literal nodes.
Kevan Carstensen [Tue, 2 Aug 2011 02:08:14 +0000 (19:08 -0700)]
immutable/literal.py: Implement interface changes in literal nodes.

13 years agotest/common: Alter common test code to work with MDMF.
Kevan Carstensen [Tue, 2 Aug 2011 01:56:43 +0000 (18:56 -0700)]
test/common: Alter common test code to work with MDMF.

This mostly has to do with making the test code implement the new
unified filenode interfaces.

13 years agomutable: train checker and repairer to work with MDMF mutable files
Kevan Carstensen [Tue, 2 Aug 2011 01:51:40 +0000 (18:51 -0700)]
mutable: train checker and repairer to work with MDMF mutable files

13 years agonodemaker: teach nodemaker about MDMF caps
Kevan Carstensen [Tue, 2 Aug 2011 01:49:26 +0000 (18:49 -0700)]
nodemaker: teach nodemaker about MDMF caps

13 years agoclient: teach client how to create and work with MDMF files
Kevan Carstensen [Tue, 2 Aug 2011 01:48:11 +0000 (18:48 -0700)]
client: teach client how to create and work with MDMF files

13 years agomutable/filenode: Modify mutable filenodes for use with MDMF
Kevan Carstensen [Tue, 2 Aug 2011 01:45:01 +0000 (18:45 -0700)]
mutable/filenode: Modify mutable filenodes for use with MDMF

In particular:
    - Break MutableFileNode and MutableFileVersion into distinct classes.
    - Implement the interface modifications made for MDMF.
    - Be aware of MDMF caps.
    - Learn how to create and work with MDMF files.

13 years agonodemaker: teach nodemaker how to create MDMF mutable files
Kevan Carstensen [Tue, 2 Aug 2011 01:42:58 +0000 (18:42 -0700)]
nodemaker: teach nodemaker how to create MDMF mutable files

13 years agointerfaces: change interfaces to work with MDMF
Kevan Carstensen [Tue, 2 Aug 2011 01:41:19 +0000 (18:41 -0700)]
interfaces: change interfaces to work with MDMF

A lot of this work concerns #993, in that it unifies (to an extent) the
interfaces of mutable and immutable files.

13 years agomutable/publish: teach the publisher how to publish MDMF mutable files
Kevan Carstensen [Tue, 2 Aug 2011 01:39:31 +0000 (18:39 -0700)]
mutable/publish: teach the publisher how to publish MDMF mutable files

Like the downloader, the publisher needs some substantial changes to handle multiple segment mutable files.

13 years agomutable/retrieve: rework the mutable downloader to handle multiple-segment files
Kevan Carstensen [Tue, 2 Aug 2011 01:35:24 +0000 (18:35 -0700)]
mutable/retrieve: rework the mutable downloader to handle multiple-segment files

The downloader needs substantial reworking to handle multiple segment
mutable files, which it needs to handle for MDMF.

13 years agoFix repeated 'the' in license text. pre-393
david-sarah [Fri, 19 Aug 2011 20:48:36 +0000 (13:48 -0700)]
Fix repeated 'the' in license text.

13 years agoRemove Non-Profit Open Software License from the set of 'added permission' licenses...
david-sarah [Fri, 19 Aug 2011 20:47:42 +0000 (13:47 -0700)]
Remove Non-Profit Open Software License from the set of 'added permission' licenses. Although it actually does qualify as an Open Source license (because it allows relicensing under plain OSL), its wording is unclear and could easily be misunderstood, and it contributes to incompatible license proliferation.

13 years agodocs: change links that pointed to COPYING.TGPPL.html to point to COPYING.TGPPL.rst...
Zooko O'Whielacronx [Fri, 19 Aug 2011 06:01:42 +0000 (23:01 -0700)]
docs: change links that pointed to COPYING.TGPPL.html to point to COPYING.TGPPL.rst instead

13 years agodocs: formatting: reflow to fill-column 77
Zooko O'Whielacronx [Fri, 19 Aug 2011 06:01:10 +0000 (23:01 -0700)]
docs: formatting: reflow to fill-column 77

13 years agodocs: formatting: M-x whitespace-cleanup
Zooko O'Whielacronx [Fri, 19 Aug 2011 06:00:41 +0000 (23:00 -0700)]
docs: formatting: M-x whitespace-cleanup

13 years agolicensing: add to the list of licenses that we grant the added permission for
Zooko O'Whielacronx [Fri, 19 Aug 2011 05:46:56 +0000 (22:46 -0700)]
licensing: add to the list of licenses that we grant the added permission for
Added: most of the ones listed on the FSF's "List of Free Software, GPL Incompatible Licenses", plus the Non-Profit Open Software License.