david-sarah [Tue, 25 May 2010 18:42:10 +0000 (11:42 -0700)]
SFTP: handle removing a file while it is open. Also some simplifications of the logout handling.
david-sarah [Tue, 25 May 2010 03:33:23 +0000 (20:33 -0700)]
SFTP: a posix-rename response should actually return an FXP_STATUS reply, not an FXP_EXTENDED_REPLY as Twisted Conch assumes. Work around this by raising an SFTPError with code FX_OK.
david-sarah [Tue, 25 May 2010 02:02:09 +0000 (19:02 -0700)]
SFTP: fix problem with posix-rename code returning a Deferred for the renamed filenode, not for the result of the request (an empty string).
david-sarah [Mon, 24 May 2010 23:04:12 +0000 (16:04 -0700)]
SFTP: fix time handling to make sure floats are not passed into twisted.conch, and to print times in the future less ambiguously in directory listings.
david-sarah [Mon, 24 May 2010 02:11:56 +0000 (19:11 -0700)]
SFTP: name of the POSIX rename extension should be 'posix-rename@openssh.com', not 'extposix-rename@openssh.com'.
david-sarah [Sun, 23 May 2010 23:38:30 +0000 (16:38 -0700)]
SFTP: avoid race condition where .write could be called on an OverwriteableFileConsumer after it had been closed.
david-sarah [Sun, 23 May 2010 22:15:35 +0000 (15:15 -0700)]
SFTP: log tracebacks for RAISEd exceptions.
david-sarah [Sun, 23 May 2010 20:42:36 +0000 (13:42 -0700)]
SFTP: more logging to investigate behaviour of getAttrs(path).
david-sarah [Sun, 23 May 2010 14:09:05 +0000 (07:09 -0700)]
SFTP: fix pyflakes warnings; drop 'noisy' versions of eventually_callback and eventually_errback; robustify conversion of exception messages to UTF-8.
david-sarah [Sun, 23 May 2010 03:25:49 +0000 (20:25 -0700)]
SFTP: fixes and test cases for renaming of open files.
david-sarah [Sat, 22 May 2010 19:16:39 +0000 (12:16 -0700)]
SFTP: Increase test_sftp timeout to cater for francois' ARM buildslave.
david-sarah [Sat, 22 May 2010 03:58:36 +0000 (20:58 -0700)]
SFTP: Fix error in support for getAttrs on an open file, to index open files by directory entry rather than path. Extend that support to renaming open files. Also, implement the extposix-rename@openssh.org extension, and some other minor refactoring.
david-sarah [Thu, 20 May 2010 18:10:27 +0000 (11:10 -0700)]
SFTP tests: fix test_openDirectory_and_attrs that was failing in timezones west of UTC.
david-sarah [Thu, 20 May 2010 03:56:13 +0000 (20:56 -0700)]
SFTP: allow getAttrs to succeed on a file that has been opened for creation but not yet uploaded or linked (part of #1050).
david-sarah [Thu, 20 May 2010 00:36:52 +0000 (17:36 -0700)]
SFTP: improve logging so that results of requests are (usually) logged.
david-sarah [Wed, 19 May 2010 05:39:33 +0000 (22:39 -0700)]
SFTP: add tests for more combinations of open flags.
david-sarah [Wed, 19 May 2010 04:32:40 +0000 (21:32 -0700)]
SFTP: allow FXF_WRITE | FXF_TRUNC (#1050).
david-sarah [Wed, 19 May 2010 01:27:13 +0000 (18:27 -0700)]
SFTP: remove another case where we were logging data.
david-sarah [Wed, 19 May 2010 00:06:51 +0000 (17:06 -0700)]
SFTP: avoid logging all data passed to callbacks.
david-sarah [Tue, 18 May 2010 05:45:21 +0000 (22:45 -0700)]
SFTP: fixes related to reporting of permissions (needed for sshfs).
david-sarah [Tue, 18 May 2010 00:42:05 +0000 (17:42 -0700)]
SFTP: change error code returned for ExistingChildError to FX_FAILURE (fixes gvfs with some picky programs such as gedit).
david-sarah [Mon, 17 May 2010 04:42:28 +0000 (21:42 -0700)]
SFTP: fixed bugs that caused hangs during write (#1037).
david-sarah [Mon, 17 May 2010 01:26:06 +0000 (18:26 -0700)]
SFTP: work around a probable bug in twisted.conch.ssh.session:loseConnection(). Also some minor error handling cleanups.
david-sarah [Sun, 16 May 2010 15:43:47 +0000 (08:43 -0700)]
SFTP: Support statvfs extensions, avoid logging actual data, and decline shell sessions politely.
david-sarah [Sun, 16 May 2010 01:40:45 +0000 (18:40 -0700)]
SFTP: fix error in SFTPUserHandler arguments introduced by execCommand patch.
david-sarah [Sun, 16 May 2010 01:27:54 +0000 (18:27 -0700)]
SFTP: implement execCommand to interoperate with clients that issue a 'df -P -k /' command. Also eliminate use of Zope adaptation.
david-sarah [Sat, 15 May 2010 15:55:33 +0000 (08:55 -0700)]
sftpd.py: 'log.OPERATIONAL' should be just 'OPERATIONAL'.
david-sarah [Sat, 15 May 2010 00:57:19 +0000 (17:57 -0700)]
Attempt to fix #1040 by making SFTPUser implement ISession.
david-sarah [Sat, 15 May 2010 00:56:56 +0000 (17:56 -0700)]
Eliminate Windows newlines from sftpd.py.
david-sarah [Fri, 14 May 2010 04:31:13 +0000 (21:31 -0700)]
Update SFTP implementation and tests: fix #1038 and switch to foolscap logging; also some code reorganization.
david-sarah [Wed, 12 May 2010 06:05:52 +0000 (23:05 -0700)]
Tests for new SFTP implementation
david-sarah [Wed, 12 May 2010 05:54:07 +0000 (22:54 -0700)]
New SFTP implementation: mutable files, read/write support, streaming download, Unicode filenames, and more
Zooko O'Whielacronx [Fri, 4 Jun 2010 05:12:50 +0000 (22:12 -0700)]
setup: adjust make clean target to ignore our bundled build tools
Zooko O'Whielacronx [Fri, 4 Jun 2010 04:46:48 +0000 (21:46 -0700)]
setup: bundle a copy of setuptools_trial as an unzipped egg in the base dir of the Tahoe-LAFS source tree
This is to work-around this Distribute issue:
http://bitbucket.org/tarek/distribute/issue/55/revision-control-plugin-automatically-installed-as-a-build-dependency-is-not-present-when-another-build-dependency-is-being
Zooko O'Whielacronx [Fri, 4 Jun 2010 04:41:46 +0000 (21:41 -0700)]
setup: bundle a copy of darcsver in unzipped egg form in the root of the Tahoe-LAFS source tree
This is to work-around this Distribute issue:
http://bitbucket.org/tarek/distribute/issue/55/revision-control-plugin-automatically-installed-as-a-build-dependency-is-not-present-when-another-build-dependency-is-being
david-sarah [Fri, 4 Jun 2010 03:24:13 +0000 (20:24 -0700)]
quickstart.html: warn against installing Python at a path containing spaces.
Zooko O'Whielacronx [Fri, 4 Jun 2010 02:52:04 +0000 (19:52 -0700)]
setup: undo the previous patch to quote the executable in scripts
The problem isn't in the script, it is in the cli.exe script that is built by setuptools. This might be related to
http://bugs.python.org/issue6792
and
http://bugs.python.org/setuptools/issue2
Or it might be a separate issue involving the launcher.c code e.g. http://tahoe-lafs.org/trac/zetuptoolz/browser/launcher.c?rev=576#L210 and its handling of the interpreter name.
Zooko O'Whielacronx [Fri, 4 Jun 2010 02:08:36 +0000 (19:08 -0700)]
setup: put quotes around the path to executable in case it has spaces in it, when building a tahoe.exe for win32
david-sarah [Thu, 27 May 2010 19:45:29 +0000 (12:45 -0700)]
Add must_exist, must_be_directory, and must_be_file arguments to DirectoryNode.delete. This will be used to fixes a minor condition in the SFTP frontend.
david-sarah [Thu, 3 Jun 2010 23:21:05 +0000 (16:21 -0700)]
Fix test failures in test_web caused by changes to web page titles in #1062. Also, change a 'target' field to '_blank' instead of 'blank' in welcome.xhtml.
Francois Deppierraz [Fri, 21 May 2010 09:43:13 +0000 (02:43 -0700)]
misc/show-tool-versions.py: Display additional Python interpreter encoding informations (stdout, stdin and filesystem)
david-sarah [Wed, 2 Jun 2010 01:46:44 +0000 (18:46 -0700)]
dirnode.py: Fix bug that caused 'tahoe' fields, 'ctime' and 'mtime' not to be updated when new metadata is present.
david-sarah [Tue, 1 Jun 2010 04:54:28 +0000 (21:54 -0700)]
dirnode.py: Fix #1034 (MetadataSetter does not enforce restriction on setting 'tahoe' subkeys), and expose the metadata updater for use by SFTP. Also, support diminishing a child cap to read-only if 'no-write' is set in the metadata.
david-sarah [Fri, 28 May 2010 17:19:22 +0000 (10:19 -0700)]
Change doc comments in interfaces.py to take into account unknown nodes.
david-sarah [Thu, 27 May 2010 19:41:14 +0000 (12:41 -0700)]
Trivial whitespace changes.
david-sarah [Sun, 23 May 2010 22:11:57 +0000 (15:11 -0700)]
Suppress 'integer argument expected, got float' DeprecationWarning everywhere
david-sarah [Wed, 12 May 2010 06:07:54 +0000 (23:07 -0700)]
Change shouldFail to avoid Unicode errors when converting Failure to str
david-sarah [Thu, 20 May 2010 18:14:37 +0000 (11:14 -0700)]
SFTP: relax pyasn1 version dependency to >= 0.0.8a.
david-sarah [Sun, 16 May 2010 19:37:10 +0000 (12:37 -0700)]
SFTP: add pyasn1 as dependency, needed if we are using Twisted >= 9.0.0.
david-sarah [Thu, 3 Jun 2010 06:35:30 +0000 (23:35 -0700)]
allmydata.org -> tahoe-lafs.org in __init__.py
david-sarah [Thu, 3 Jun 2010 06:24:21 +0000 (23:24 -0700)]
small change to CREDITS
david-sarah [Thu, 3 Jun 2010 05:46:08 +0000 (22:46 -0700)]
Resolve conflict in patch to change imports to absolute.
david-sarah [Thu, 3 Jun 2010 05:44:58 +0000 (22:44 -0700)]
Minor documentation tweaks.
freestorm77 [Sat, 29 May 2010 17:25:42 +0000 (10:25 -0700)]
title_rename_xhtml.dpatch.txt
- Renamed xhtml Title from "Allmydata - Tahoe" to "Tahoe-LAFS"
- Renamed Tahoe to Tahoe-LAFS in page content
- Changed Tahoe-LAFS home page link to http://tahoe-lafs.org (added target="blank")
- Deleted commented css script in info.xhtml
Zooko O'Whielacronx [Wed, 19 May 2010 05:51:46 +0000 (22:51 -0700)]
tests: refactor test_web.py to have less duplication of literal caps-from-the-future
This is a prelude to a patch which will add tests of caps from the future which have non-ascii chars in them.
freestorm77 [Sat, 24 Apr 2010 11:46:15 +0000 (04:46 -0700)]
doc_reformat_stats.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
**END OF DESCRIPTION***
Place the long patch description above the ***END OF DESCRIPTION*** marker.
The first line of this file will be the patch name.
This patch contains the following changes:
M ./docs/stats.txt -2 +2
freestorm77 [Sat, 24 Apr 2010 11:44:44 +0000 (04:44 -0700)]
doc_reformat_performance.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
freestorm77 [Sat, 24 Apr 2010 11:43:16 +0000 (04:43 -0700)]
doc_refomat_logging.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
freestorm77 [Sat, 24 Apr 2010 11:41:18 +0000 (04:41 -0700)]
doc_reformat_known_issues.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
freestorm77 [Sat, 24 Apr 2010 12:06:49 +0000 (05:06 -0700)]
doc_reformat_helper.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
freestorm77 [Sat, 24 Apr 2010 12:08:30 +0000 (05:08 -0700)]
doc_reformat_garbage-collection.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
freestorm77 [Sat, 24 Apr 2010 12:13:34 +0000 (05:13 -0700)]
doc_reformat_FTP-and-SFTP.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
freestorm77 [Sat, 24 Apr 2010 12:05:37 +0000 (05:05 -0700)]
doc_reformat_debian.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
freestorm77 [Sat, 24 Apr 2010 10:49:03 +0000 (03:49 -0700)]
doc_reformat_configuration.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
freestorm77 [Sat, 24 Apr 2010 12:15:12 +0000 (05:15 -0700)]
doc_reformat_CLI.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
freestorm77 [Sat, 24 Apr 2010 12:04:16 +0000 (05:04 -0700)]
doc_reformat_backupdb.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
freestorm77 [Sat, 24 Apr 2010 12:01:33 +0000 (05:01 -0700)]
doc_reformat_architecture.txt
- Added heading format begining and ending by "=="
- Added Index
- Added Title
Note: No change are made in paragraphs content
david-sarah [Fri, 26 Feb 2010 06:21:51 +0000 (23:21 -0700)]
Correct harmless indentation errors found by pylint
david-sarah [Fri, 26 Feb 2010 08:14:33 +0000 (01:14 -0700)]
Change relative imports to absolute
david-sarah [Tue, 25 May 2010 00:44:44 +0000 (17:44 -0700)]
Document reason for the trialcoverage version requirement being 0.3.3.
david-sarah [Mon, 24 May 2010 23:37:07 +0000 (16:37 -0700)]
Downgrade version requirement for trialcoverage to 0.3.3 (from 0.3.10), to avoid needing to compile coveragepy on Windows.
david-sarah [Sun, 16 May 2010 20:56:25 +0000 (13:56 -0700)]
Suppress deprecation warning for twisted.web.error.NoResource when using Twisted >= 9.0.0.
Zooko O'Whielacronx [Mon, 24 May 2010 08:18:29 +0000 (01:18 -0700)]
docs: CREDITS for Jeremy Visser
Zooko O'Whielacronx [Mon, 24 May 2010 07:33:48 +0000 (00:33 -0700)]
test: show stdout and stderr in case of non-zero exit code from "tahoe" command
Zooko O'Whielacronx [Sun, 23 May 2010 20:52:28 +0000 (13:52 -0700)]
setup: upgrade bundled zetuptoolz to zetuptoolz-0.6c15dev and make it unpacked and directly loaded by setup.py
Also fix the relevant "make clean" target behavior.
Zooko O'Whielacronx [Sun, 23 May 2010 20:51:20 +0000 (13:51 -0700)]
setup: remove bundled zipfile egg of setuptools
We're about to replace it with bundled unpacked source code of setuptools, which is much nicer for debugging and evolving under revision control.
Zooko O'Whielacronx [Sat, 22 May 2010 22:15:39 +0000 (15:15 -0700)]
setup: remove bundled copy of setuptools_trial-0.5.2.tar
Hopefully it will get installed automatically as needed and we won't bundle it anymore.
Zooko O'Whielacronx [Sat, 22 May 2010 01:53:33 +0000 (18:53 -0700)]
setup: remove bundled setuptools_darcs-1.2.8.tar
This version of setuptools_darcs had a bug when used on Windows which has been fixed in setuptools_darcs-1.2.9. Hopefully we will not need to bundle a copy of setuptools_darcs-1.2.9 in with Tahoe-LAFS and can instead rely on it to be downloaded from PyPI or bundled in the "tahoe deps" separate tarball.
Zooko O'Whielacronx [Fri, 21 May 2010 20:25:11 +0000 (13:25 -0700)]
tests: fix pyflakes warnings in bench_dirnode.py
Zooko O'Whielacronx [Fri, 21 May 2010 12:22:26 +0000 (05:22 -0700)]
setup: if the string '--reporter=bwverbose-coverage' appears on sys.argv then you need trialcoverage
Zooko O'Whielacronx [Fri, 21 May 2010 12:20:52 +0000 (05:20 -0700)]
tests: don't let bench_dirnode.py do stuff and have side-effects at import time (unless __name__ == '__main__')
Zooko O'Whielacronx [Thu, 20 May 2010 13:45:26 +0000 (06:45 -0700)]
tests: increase timeout to give François's ARM buildslave a chance to complete the tests
freestorm77 [Mon, 10 May 2010 23:28:29 +0000 (16:28 -0700)]
run_trial.darcspath
Zooko O'Whielacronx [Tue, 18 May 2010 17:42:40 +0000 (10:42 -0700)]
docs: line-wrap README.txt
Kevan Carstensen [Sat, 15 May 2010 18:43:44 +0000 (11:43 -0700)]
Hush pyflakes warnings
Zooko O'Whielacronx [Sun, 16 May 2010 05:01:22 +0000 (22:01 -0700)]
setup: new improved misc/show-tool-versions.py
Kevan Carstensen [Sat, 15 May 2010 03:29:13 +0000 (20:29 -0700)]
Improve code coverage of the Tahoe2PeerSelector tests.
Kevan Carstensen [Fri, 14 May 2010 20:35:16 +0000 (13:35 -0700)]
Remove a comment that no longer makes sense.
Zooko O'Whielacronx [Fri, 14 May 2010 04:34:58 +0000 (21:34 -0700)]
docs: update docs/architecture.txt to more fully and correctly explain the upload procedure
Kevan Carstensen [Fri, 14 May 2010 00:49:17 +0000 (17:49 -0700)]
Fix up the behavior of #778, per reviewers' comments
- Make some important utility functions clearer and more thoroughly
documented.
- Assert in upload.servers_of_happiness that the buckets attributes
of PeerTrackers passed to it are mutually disjoint.
- Get rid of some silly non-Pythonisms that I didn't see when I first
wrote these patches.
- Make sure that should_add_server returns true when queried about a
shnum that it doesn't know about yet.
- Change Tahoe2PeerSelector.preexisting_shares to map a shareid to a set
of peerids, alter dependencies to deal with that.
- Remove upload.should_add_servers, because it is no longer necessary
- Move upload.shares_of_happiness and upload.shares_by_server to a utility
file.
- Change some points in Tahoe2PeerSelector.
- Compute servers_of_happiness using a bipartite matching algorithm that
we know is optimal instead of an ad-hoc greedy algorithm that isn't.
- Change servers_of_happiness to just take a sharemap as an argument,
change its callers to merge existing_shares and used_peers before
calling it.
- Change an error message in the encoder to be more appropriate for
servers of happiness.
- Clarify the wording of an error message in immutable/upload.py
- Refactor a happiness failure message to happinessutil.py, and make
immutable/upload.py and immutable/encode.py use it.
- Move the word "only" as far to the right as possible in failure
messages.
- Use a better definition of progress during peer selection.
- Do read-only peer share detection queries in parallel, not sequentially.
- Clean up logging semantics; print the query statistics whenever an
upload is unsuccessful, not just in one case.
Kevan Carstensen [Wed, 30 Dec 2009 22:03:44 +0000 (15:03 -0700)]
Alter the error message when an upload fails, per some comments in #778.
When I first implemented #778, I just altered the error messages to refer to
servers where they referred to shares. The resulting error messages weren't
very good. These are a bit better.
Kevan Carstensen [Sat, 5 Dec 2009 05:30:37 +0000 (22:30 -0700)]
Change "UploadHappinessError" to "UploadUnhappinessError"
Kevan Carstensen [Mon, 23 Nov 2009 01:24:05 +0000 (18:24 -0700)]
Alter the error message returned when peer selection fails
The Tahoe2PeerSelector returned either NoSharesError or NotEnoughSharesError
for a variety of error conditions that weren't informatively described by them.
This patch creates a new error, UploadHappinessError, replaces uses of
NoSharesError and NotEnoughSharesError with it, and alters the error message
raised with the errors to be more in line with the new servers_of_happiness
behavior. See ticket #834 for more information.
Kevan Carstensen [Wed, 18 Nov 2009 02:45:42 +0000 (19:45 -0700)]
Eliminate overcounting iof servers_of_happiness in Tahoe2PeerSelector; also reorganize some things.
Kevan Carstensen [Mon, 16 Nov 2009 22:24:59 +0000 (15:24 -0700)]
Change stray "shares_of_happiness" to "servers_of_happiness"
Kevan Carstensen [Mon, 16 Nov 2009 20:28:05 +0000 (13:28 -0700)]
Alter Tahoe2PeerSelector to make sure that it recognizes existing shares on readonly servers, fixing an issue in #778
Kevan Carstensen [Wed, 4 Nov 2009 12:12:22 +0000 (05:12 -0700)]
Alter 'immutable/encode.py' and 'immutable/upload.py' to use servers_of_happiness instead of shares_of_happiness.
Kevan Carstensen [Wed, 4 Nov 2009 04:32:41 +0000 (21:32 -0700)]
Alter the signature of set_shareholders in IEncoder to add a 'servermap' parameter, which gives IEncoders enough information to perform a sane check for servers_of_happiness.
Kevan Carstensen [Thu, 24 Sep 2009 04:19:32 +0000 (21:19 -0700)]
Alter CiphertextDownloader to work with servers_of_happiness
Kevan Carstensen [Fri, 14 May 2010 01:25:42 +0000 (18:25 -0700)]
Revisions of the #778 tests, per reviewers' comments
- Fix comments and confusing naming.
- Add tests for the new error messages suggested by David-Sarah
and Zooko.
- Alter existing tests for new error messages.
- Make sure that the tests continue to work with the trunk.
- Add a test for a mutual disjointedness assertion that I added to
upload.servers_of_happiness.
- Fix the comments to correctly reflect read-onlyness
- Add a test for an edge case in should_add_server
- Add an assertion to make sure that share redistribution works as it
should
- Alter tests to work with revised servers_of_happiness semantics
- Remove tests for should_add_server, since that function no longer exists.
- Alter tests to know about merge_peers, and to use it before calling
servers_of_happiness.
- Add tests for merge_peers.
- Add Zooko's puzzles to the tests.
- Edit encoding tests to expect the new kind of failure message.
- Edit tests to expect error messages with the word "only" moved as far
to the right as possible.
- Extended and cleaned up some helper functions.
- Changed some tests to call more appropriate helper functions.
- Added a test for the failing redistribution algorithm
- Added a test for the progress message
- Added a test for the upper bound on readonly peer share discovery.