Commit Graph

2620 Commits

Author SHA1 Message Date
david-sarah
546c3d2ed4 SFTP: add test for extension of file opened with FXF_APPEND. 2010-06-10 11:26:47 -07:00
Zooko O'Whielacronx
f19c240ca8 tests: bump up the timeout on this iputil test from 2s to 4s 2010-06-09 07:30:17 -07:00
david-sarah
3c44389440 SFTP: fix most significant memory leak described in #1045 (due to a file being added to all_heisenfiles under more than one direntry when renamed). 2010-06-09 01:00:03 -07:00
david-sarah
5786874d38 test_stringutils.py: Fix test failure on CentOS builder, possibly Python 2.4.3-related. 2010-06-08 23:50:56 -07:00
david-sarah
ffd1c5aca5 Fix for Unicode-related test failures on Zooko's OS X 10.6 machine. 2010-06-08 22:54:48 -07:00
david-sarah
80a89d3931 stringutils.py, sftpd.py: Portability fixes for Python <= 2.5. 2010-06-08 18:33:02 -07:00
david-sarah
32d9deace3 Back out Windows-specific Unicode argument support for v1.7. 2010-06-08 17:08:03 -07:00
david-sarah
4b5927fdb8 SFTP: suppress NoSuchChildError if heisenfile attributes have been updated in setAttrs, in the case where the parent is available. 2010-06-07 23:37:53 -07:00
david-sarah
195b4afa8f SFTP: ignore permissions when opening a file (needed for sshfs interoperability). 2010-06-07 22:57:00 -07:00
david-sarah
a67e745b26 test_web.py: fix pyflakes warnings introduced by byterange patch. 2010-06-07 21:20:12 -07:00
Jeremy Fitzhardinge
63b28d707b 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.
2010-03-09 20:59:13 -07:00
Zooko O'Whielacronx
d13784b649 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. 2010-06-07 20:37:54 -07:00
david-sarah
3c883e6e44 test_cli.py: remove invalid 'test_listdir_unicode_bad' test. 2010-06-07 11:37:30 -07:00
david-sarah
71f8757bd1 check_memory.py: adapt to servers-of-happiness changes. 2010-06-07 18:35:28 -07:00
david-sarah
7092de1b6f Remove the 'tahoe debug consolidate' subcommand. 2010-06-07 11:37:57 -07:00
david-sarah
731e3d68df common_http.py, tahoe_cp.py: Fix an error in calling the superclass constructor in HTTPError and MissingSourceError (introduced by the Unicode fixes). 2010-06-07 10:47:14 -07:00
Zooko O'Whielacronx
faade8b20a tests: drastically increase timeout of this very time-consuming test in honor of François's ARM box 2010-06-07 04:59:29 -07:00
david-sarah
8b014372b1 test_stringutils.py: trivial error in exception message for skipped test. 2010-06-06 23:14:55 -07:00
david-sarah
529c9f673a More Unicode test fixes. 2010-06-06 22:33:58 -07:00
david-sarah
65b6f4e3ce Unicode fixes for platforms with non-native-Unicode filesystems. 2010-06-06 21:32:38 -07:00
david-sarah
80252debcd Unicode fixes. 2010-06-06 18:02:15 -07:00
Zooko O'Whielacronx
5bcca5151e unicode tests: fix missing import 2010-06-04 07:26:30 -07:00
Zooko O'Whielacronx
db8a6f3aa6 unicode: make test_cli test a non-ascii argument, and make the fallback term encoding be locale.getpreferredencoding() 2010-06-04 07:12:51 -07:00
Zooko O'Whielacronx
442008a690 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.
2010-06-04 01:48:40 -07:00
Zooko O'Whielacronx
952f3bf3ef fix flakes 2010-06-04 00:58:45 -07:00
Zooko O'Whielacronx
08058c1073 fix syntax of assertion handling that isn't portable to older versions of Python 2010-06-04 00:58:05 -07:00
Francois Deppierraz
0eb4d83937 test_stringutils.py: Skip test test_listdir_unicode_good if filesystem supports only ASCII filenames 2010-05-21 09:08:39 -07:00
Francois Deppierraz
01da7f06e6 test_stringutils.py: Skip test_listdir_unicode on mocked platform which cannot store non-ASCII filenames 2010-05-21 09:05:59 -07:00
Francois Deppierraz
58e9df9f5a test_stringutils.py: Add a test class for OpenBSD 4.1 with LANG=C 2010-05-21 07:00:53 -07:00
Francois Deppierraz
1aeff62161 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.
2010-05-21 06:58:17 -07:00
Francois Deppierraz
eecaaca6b7 test_stringutils.py: Fix a trivial Python 2.4 syntax incompatibility 2010-05-21 02:33:45 -07:00
Francois Deppierraz
6c70fb7b3c test_cli.py: Fix tests when sys.stdout.encoding=None and refactor this code into functions 2010-05-20 01:44:47 -07:00
Francois Deppierraz
496802420e 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.
2010-05-19 17:43:56 -07:00
Francois Deppierraz
d0ed14e1bb 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.
2010-05-19 17:41:05 -07:00
david-sarah
a2cff856ff Resolve merge conflict for sftpd.py 2010-06-03 11:25:37 -07:00
david-sarah
2dcb62de90 SFTP: possible fix for metadata times being shown as the epoch. 2010-06-02 16:45:14 -07:00
david-sarah
c9984c40e9 SFTP: further improvements to test coverage. 2010-06-02 16:44:22 -07:00
david-sarah
2a791b0d05 SFTP: improve test coverage. Also make creating a directory fail when permissions are read-only (rather than ignoring the permissions). 2010-06-01 21:19:34 -07:00
david-sarah
29a06457d2 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. 2010-06-01 20:26:41 -07:00
david-sarah
db394671e9 SFTP: fix a bug that caused the temporary files underlying EncryptedTemporaryFiles not to be closed. 2010-05-31 22:53:10 -07:00
david-sarah
de95140b7b 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. 2010-05-31 22:11:39 -07:00
david-sarah
9faa02deb5 SFTP: the same bug as in _sync_heisenfiles also occurred in two other places. 2010-05-29 23:01:27 -07:00
david-sarah
cccdd32806 SFTP: another try at fixing the _sync_heisenfiles bug. 2010-05-29 22:52:54 -07:00
david-sarah
51b0d8bde3 SFTP: fix silly bug in _sync_heisenfiles ('f is not ignore' vs 'not (f is ignore)'). 2010-05-29 22:38:07 -07:00
david-sarah
b9d3cf12b8 SFTP: log when a sync completes. 2010-05-29 22:18:40 -07:00
david-sarah
c4a8af4d27 SFTP: fix bug in previous logging patch. 2010-05-29 22:00:00 -07:00
david-sarah
3395a7e154 SFTP: more logging to track down OpenOffice hang. 2010-05-29 21:08:09 -07:00
david-sarah
4be24a89df 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. 2010-05-29 19:55:44 -07:00
david-sarah
8ed28a95e7 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. 2010-05-28 22:05:37 -07:00
david-sarah
e867985539 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. 2010-05-28 21:52:53 -07:00
david-sarah
0b888f8201 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. 2010-05-25 16:02:57 -07:00
david-sarah
a143b1297b SFTP: handle removing a file while it is open. Also some simplifications of the logout handling. 2010-05-25 11:42:10 -07:00
david-sarah
e81ce2bbd2 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. 2010-05-24 20:33:23 -07:00
david-sarah
8f86490d48 SFTP: fix problem with posix-rename code returning a Deferred for the renamed filenode, not for the result of the request (an empty string). 2010-05-24 19:02:09 -07:00
david-sarah
210578da63 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. 2010-05-24 16:04:12 -07:00
david-sarah
549dccd608 SFTP: name of the POSIX rename extension should be 'posix-rename@openssh.com', not 'extposix-rename@openssh.com'. 2010-05-23 19:11:56 -07:00
david-sarah
6e114e44b5 SFTP: avoid race condition where .write could be called on an OverwriteableFileConsumer after it had been closed. 2010-05-23 16:38:30 -07:00
david-sarah
c6b414c815 SFTP: log tracebacks for RAISEd exceptions. 2010-05-23 15:15:35 -07:00
david-sarah
725daee788 SFTP: more logging to investigate behaviour of getAttrs(path). 2010-05-23 13:42:36 -07:00
david-sarah
75357fd2d5 SFTP: fix pyflakes warnings; drop 'noisy' versions of eventually_callback and eventually_errback; robustify conversion of exception messages to UTF-8. 2010-05-23 07:09:05 -07:00
david-sarah
38964fb35a SFTP: fixes and test cases for renaming of open files. 2010-05-22 20:25:49 -07:00
david-sarah
42ecd77f4e SFTP: Increase test_sftp timeout to cater for francois' ARM buildslave. 2010-05-22 12:16:39 -07:00
david-sarah
5974773969 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. 2010-05-21 20:58:36 -07:00
david-sarah
5545a678bf SFTP tests: fix test_openDirectory_and_attrs that was failing in timezones west of UTC. 2010-05-20 11:10:27 -07:00
david-sarah
ce3872d10e SFTP: allow getAttrs to succeed on a file that has been opened for creation but not yet uploaded or linked (part of #1050). 2010-05-19 20:56:13 -07:00
david-sarah
7f9e351bce SFTP: improve logging so that results of requests are (usually) logged. 2010-05-19 17:36:52 -07:00
david-sarah
a62733ed08 SFTP: add tests for more combinations of open flags. 2010-05-18 22:39:33 -07:00
david-sarah
f0945526ce SFTP: allow FXF_WRITE | FXF_TRUNC (#1050). 2010-05-18 21:32:40 -07:00
david-sarah
bde27cab57 SFTP: remove another case where we were logging data. 2010-05-18 18:27:13 -07:00
david-sarah
d8b096a054 SFTP: avoid logging all data passed to callbacks. 2010-05-18 17:06:51 -07:00
david-sarah
819eaa74c1 SFTP: fixes related to reporting of permissions (needed for sshfs). 2010-05-17 22:45:21 -07:00
david-sarah
8d118e28f1 SFTP: change error code returned for ExistingChildError to FX_FAILURE (fixes gvfs with some picky programs such as gedit). 2010-05-17 17:42:05 -07:00
david-sarah
57699fd1eb SFTP: fixed bugs that caused hangs during write (#1037). 2010-05-16 21:42:28 -07:00
david-sarah
5f9c10901b SFTP: work around a probable bug in twisted.conch.ssh.session:loseConnection(). Also some minor error handling cleanups. 2010-05-16 18:26:06 -07:00
david-sarah
6a2b0229f0 SFTP: Support statvfs extensions, avoid logging actual data, and decline shell sessions politely. 2010-05-16 08:43:47 -07:00
david-sarah
31994aaf74 SFTP: fix error in SFTPUserHandler arguments introduced by execCommand patch. 2010-05-15 18:40:45 -07:00
david-sarah
8028bf01bc SFTP: implement execCommand to interoperate with clients that issue a 'df -P -k /' command. Also eliminate use of Zope adaptation. 2010-05-15 18:27:54 -07:00
david-sarah
6ba6c97a7a sftpd.py: 'log.OPERATIONAL' should be just 'OPERATIONAL'. 2010-05-15 08:55:33 -07:00
david-sarah
5ab4a376b7 Attempt to fix #1040 by making SFTPUser implement ISession. 2010-05-14 17:57:19 -07:00
david-sarah
7409d1e019 Eliminate Windows newlines from sftpd.py. 2010-05-14 17:56:56 -07:00
david-sarah
14d0721246 Update SFTP implementation and tests: fix #1038 and switch to foolscap logging; also some code reorganization. 2010-05-13 21:31:13 -07:00
david-sarah
5fdd63d0ad Tests for new SFTP implementation 2010-05-11 23:05:52 -07:00
david-sarah
5248c808ac New SFTP implementation: mutable files, read/write support, streaming download, Unicode filenames, and more 2010-05-11 22:54:07 -07:00
david-sarah
9214dbda50 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. 2010-05-27 12:45:29 -07:00
david-sarah
4556702044 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. 2010-06-03 16:21:05 -07:00
david-sarah
4f58355a0e dirnode.py: Fix bug that caused 'tahoe' fields, 'ctime' and 'mtime' not to be updated when new metadata is present. 2010-06-01 18:46:44 -07:00
david-sarah
53f7d2c7fe 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. 2010-05-31 21:54:28 -07:00
david-sarah
027e7701bd Change doc comments in interfaces.py to take into account unknown nodes. 2010-05-28 10:19:22 -07:00
david-sarah
6d91b1e00e Trivial whitespace changes. 2010-05-27 12:41:14 -07:00
david-sarah
aac94a8d89 Suppress 'integer argument expected, got float' DeprecationWarning everywhere 2010-05-23 15:11:57 -07:00
david-sarah
e706f043f0 Change shouldFail to avoid Unicode errors when converting Failure to str 2010-05-11 23:07:54 -07:00
david-sarah
b8641f8f9b allmydata.org -> tahoe-lafs.org in __init__.py 2010-06-02 23:35:30 -07:00
david-sarah
90e9fe28af Resolve conflict in patch to change imports to absolute. 2010-06-02 22:46:08 -07:00
freestorm77
59a77f82d7 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
2010-05-29 10:25:42 -07:00
Zooko O'Whielacronx
9e2da05837 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.
2010-05-18 22:51:46 -07:00
david-sarah
a80f19a084 Correct harmless indentation errors found by pylint 2010-02-25 23:21:51 -07:00
david-sarah
e76092e16c Change relative imports to absolute 2010-02-26 01:14:33 -07:00
david-sarah
e880fc2ce4 Suppress deprecation warning for twisted.web.error.NoResource when using Twisted >= 9.0.0. 2010-05-16 13:56:25 -07:00
Zooko O'Whielacronx
d4f6d4092c test: show stdout and stderr in case of non-zero exit code from "tahoe" command 2010-05-24 00:33:48 -07:00
Zooko O'Whielacronx
294c0a6279 tests: fix pyflakes warnings in bench_dirnode.py 2010-05-21 13:25:11 -07:00