Jeremy Fitzhardinge [Wed, 10 Mar 2010 03:59:13 +0000 (20:59 -0700)]
Improve HTTP/1.1 byterange handling
Fix parsing of a Range: header to support:
- multiple ranges (parsed, but not returned)
- suffix byte ranges ("-2139")
- correct handling of incorrectly formatted range headers
(correct behaviour is to ignore the header and return the full
file)
- return appropriate error for ranges outside the file
Multiple ranges are parsed, but only the first range is returned.
Returning multiple ranges requires using the multipart/byterange
content type.
Zooko O'Whielacronx [Tue, 8 Jun 2010 03:37:54 +0000 (20:37 -0700)]
tests: bump up the timeout on these tests; MM's buildslave is sometimes extremely slow on tests, but it will complete them if given enough time. MM is working on making that buildslave more predictable in how long it takes to run tests.
david-sarah [Mon, 7 Jun 2010 18:37:30 +0000 (11:37 -0700)]
test_cli.py: remove invalid 'test_listdir_unicode_bad' test.
david-sarah [Tue, 8 Jun 2010 01:35:28 +0000 (18:35 -0700)]
check_memory.py: adapt to servers-of-happiness changes.
david-sarah [Tue, 8 Jun 2010 00:45:23 +0000 (17:45 -0700)]
show-tool-versions.py: platform.linux_distribution() is not always available
david-sarah [Tue, 8 Jun 2010 00:38:29 +0000 (17:38 -0700)]
show-tool-versions.py: show platform.linux_distribution()
david-sarah [Mon, 7 Jun 2010 18:37:57 +0000 (11:37 -0700)]
Remove the 'tahoe debug consolidate' subcommand.
david-sarah [Mon, 7 Jun 2010 17:47:14 +0000 (10:47 -0700)]
common_http.py, tahoe_cp.py: Fix an error in calling the superclass constructor in HTTPError and MissingSourceError (introduced by the Unicode fixes).
Zooko O'Whielacronx [Mon, 7 Jun 2010 11:59:29 +0000 (04:59 -0700)]
tests: drastically increase timeout of this very time-consuming test in honor of François's ARM box
Zooko O'Whielacronx [Mon, 7 Jun 2010 06:23:29 +0000 (23:23 -0700)]
setup: update authorship, datestamp, licensing, and add special exceptions to allow combination with Eclipse- and QPL- licensed code
david-sarah [Mon, 7 Jun 2010 06:16:00 +0000 (23:16 -0700)]
FTP-and-SFTP.txt: minor technical correction to doc for 'no-write' flag.
david-sarah [Mon, 7 Jun 2010 06:14:55 +0000 (23:14 -0700)]
test_stringutils.py: trivial error in exception message for skipped test.
david-sarah [Mon, 7 Jun 2010 05:33:58 +0000 (22:33 -0700)]
More Unicode test fixes.
david-sarah [Mon, 7 Jun 2010 04:32:38 +0000 (21:32 -0700)]
Unicode fixes for platforms with non-native-Unicode filesystems.
david-sarah [Mon, 7 Jun 2010 01:02:15 +0000 (18:02 -0700)]
Unicode fixes.
Zooko O'Whielacronx [Mon, 7 Jun 2010 05:16:18 +0000 (22:16 -0700)]
setup: organize misc/ scripts and tools and remove obsolete ones
This is for ticket #1068.
david-sarah [Sun, 6 Jun 2010 22:11:27 +0000 (15:11 -0700)]
quickstart.html: link to snapshots page, sorted with most recent first.
david-sarah [Sun, 6 Jun 2010 22:03:01 +0000 (15:03 -0700)]
quickstart.html: We haven't released 1.7beta yet.
Zooko O'Whielacronx [Sun, 6 Jun 2010 17:57:17 +0000 (10:57 -0700)]
setup: loosen the Desert Island test to allow it to check the network for new packages as long as it doesn't actually download any
(You can look but don't touch.)
david-sarah [Sat, 5 Jun 2010 03:17:13 +0000 (20:17 -0700)]
Raise Python version requirement to 2.4.4 for non-UCS-2 builds, to avoid a critical Python security bug.
Zooko O'Whielacronx [Sat, 5 Jun 2010 16:29:32 +0000 (09:29 -0700)]
setup: have the buildbots print out locale.getpreferredencoding(), locale.getdefaultlocale(), locale.getlocale(), and os.path.supports_unicode_filenames
Even though that latter one is completely useless, I'm curious.
Zooko O'Whielacronx [Fri, 4 Jun 2010 14:26:30 +0000 (07:26 -0700)]
unicode tests: fix missing import
Zooko O'Whielacronx [Fri, 4 Jun 2010 14:12:51 +0000 (07:12 -0700)]
unicode: make test_cli test a non-ascii argument, and make the fallback term encoding be locale.getpreferredencoding()
Zooko O'Whielacronx [Fri, 4 Jun 2010 08:48:40 +0000 (01:48 -0700)]
unicode: always decode json manifest as utf-8 then encode for stdout
pyflakes pointed out that the exception handler fallback called an un-imported function, showing that the fallback wasn't being exercised.
I'm not 100% sure that this patch is right and would appreciate François or someone reviewing it.
Zooko O'Whielacronx [Fri, 4 Jun 2010 07:58:45 +0000 (00:58 -0700)]
fix flakes
Zooko O'Whielacronx [Fri, 4 Jun 2010 07:58:05 +0000 (00:58 -0700)]
fix syntax of assertion handling that isn't portable to older versions of Python
Francois Deppierraz [Fri, 21 May 2010 16:08:39 +0000 (09:08 -0700)]
test_stringutils.py: Skip test test_listdir_unicode_good if filesystem supports only ASCII filenames
Francois Deppierraz [Fri, 21 May 2010 16:05:59 +0000 (09:05 -0700)]
test_stringutils.py: Skip test_listdir_unicode on mocked platform which cannot store non-ASCII filenames
Francois Deppierraz [Fri, 21 May 2010 14:00:53 +0000 (07:00 -0700)]
test_stringutils.py: Add a test class for OpenBSD 4.1 with LANG=C
Francois Deppierraz [Fri, 21 May 2010 13:58:17 +0000 (06:58 -0700)]
test_stringutils.py: Mock the open() call in test_open_unicode
This test ensure that open(a_unicode_string) is used on Unicode platforms
(Windows or MacOS X) and that open(a_correctly_encoded_bytestring) on other
platforms such as Unix.
Francois Deppierraz [Fri, 21 May 2010 09:33:45 +0000 (02:33 -0700)]
test_stringutils.py: Fix a trivial Python 2.4 syntax incompatibility
Francois Deppierraz [Thu, 20 May 2010 08:44:47 +0000 (01:44 -0700)]
test_cli.py: Fix tests when sys.stdout.encoding=None and refactor this code into functions
Francois Deppierraz [Thu, 20 May 2010 00:43:56 +0000 (17:43 -0700)]
Fix handling of correctly encoded unicode filenames (#534)
Tahoe CLI commands working on local files, for instance 'tahoe cp' or 'tahoe
backup', have been improved to correctly handle filenames containing non-ASCII
characters.
In the case where Tahoe encounters a filename which cannot be decoded using the
system encoding, an error will be returned and the operation will fail. Under
Linux, this typically happens when the filesystem contains filenames encoded
with another encoding, for instance latin1, than the system locale, for
instance UTF-8. In such case, you'll need to fix your system with tools such
as 'convmv' before using Tahoe CLI.
All CLI commands have been improved to support non-ASCII parameters such as
filenames and aliases on all supported Operating Systems except Windows as of
now.
Francois Deppierraz [Thu, 20 May 2010 00:41:05 +0000 (17:41 -0700)]
stringutils.py: Unicode helper functions + associated tests
This file contains a bunch of helper functions which converts
unicode string from and to argv, filenames and stdout.
Francois Deppierraz [Wed, 19 May 2010 23:33:25 +0000 (16:33 -0700)]
Add dependency on Michael Foord's mock library
david-sarah [Thu, 3 Jun 2010 18:25:37 +0000 (11:25 -0700)]
Resolve merge conflict for sftpd.py
david-sarah [Wed, 2 Jun 2010 23:45:14 +0000 (16:45 -0700)]
SFTP: possible fix for metadata times being shown as the epoch.
david-sarah [Wed, 2 Jun 2010 23:44:22 +0000 (16:44 -0700)]
SFTP: further improvements to test coverage.
david-sarah [Wed, 2 Jun 2010 04:19:34 +0000 (21:19 -0700)]
SFTP: improve test coverage. Also make creating a directory fail when permissions are read-only (rather than ignoring the permissions).
david-sarah [Wed, 2 Jun 2010 03:26:41 +0000 (20:26 -0700)]
dirnode.py: fix a bug in the no-write change for Adder, and improve test coverage. Add a 'metadata' argument to create_subdirectory, with documentation. Also update some comments in test_dirnode.py made stale by the ctime/mtime change.
david-sarah [Tue, 1 Jun 2010 05:53:10 +0000 (22:53 -0700)]
SFTP: fix a bug that caused the temporary files underlying EncryptedTemporaryFiles not to be closed.
david-sarah [Tue, 1 Jun 2010 05:11:39 +0000 (22:11 -0700)]
SFTP: changes for #1063 ('no-write' field) including comment:1 (clearing owner write permission diminishes to a read cap). Includes documentation changes, but not tests for the new behaviour.
david-sarah [Sun, 30 May 2010 06:01:27 +0000 (23:01 -0700)]
SFTP: the same bug as in _sync_heisenfiles also occurred in two other places.
david-sarah [Sun, 30 May 2010 05:52:54 +0000 (22:52 -0700)]
SFTP: another try at fixing the _sync_heisenfiles bug.
david-sarah [Sun, 30 May 2010 05:38:07 +0000 (22:38 -0700)]
SFTP: fix silly bug in _sync_heisenfiles ('f is not ignore' vs 'not (f is ignore)').
david-sarah [Sun, 30 May 2010 05:18:40 +0000 (22:18 -0700)]
SFTP: log when a sync completes.
david-sarah [Sun, 30 May 2010 05:00:00 +0000 (22:00 -0700)]
SFTP: fix bug in previous logging patch.
david-sarah [Sun, 30 May 2010 04:08:09 +0000 (21:08 -0700)]
SFTP: more logging to track down OpenOffice hang.
david-sarah [Sun, 30 May 2010 02:55:44 +0000 (19:55 -0700)]
SFTP: avoid blocking close on a heisenfile that has been abandoned or never changed. Also, improve the logging to help track down a case where OpenOffice hangs on opening a file with FXF_READ|FXF_WRITE.
david-sarah [Sat, 29 May 2010 05:05:37 +0000 (22:05 -0700)]
Move suppression of DeprecationWarning about BaseException.message from sftpd.py to main __init__.py. Also, remove the global suppression of the 'integer argument expected, got float' warning, which turned out to be a bug.
david-sarah [Sat, 29 May 2010 04:52:53 +0000 (21:52 -0700)]
SFTP: cater to clients that assume a file is created as soon as they have made an open request; also, fix some race conditions associated with closing a file at about the same time as renaming or removing it.
david-sarah [Tue, 25 May 2010 23:02:57 +0000 (16:02 -0700)]
SFTP: 'sync' any open files at a direntry before opening any new file at that direntry. This works around the sshfs misbehaviour of returning success to clients immediately on close.
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.