Brian Warner [Thu, 26 Mar 2015 01:23:33 +0000 (18:23 -0700)]
Fix ftp 'ls' to work with current Twisted-15.0.0
refs ticket:2394
It's kind of a hack, but Twisted changed the API and I couldn't find a
cleaner way to detect which form of "permissions" value the Twisted FTP
server wants.
I've manually tested it against 14.0.2 and 15.0.0.
Daira Hopwood [Tue, 31 Mar 2015 16:47:06 +0000 (17:47 +0100)]
Merge pull request #149 from warner/mutable-2034
use more servers for test_mutable.Update, to test #2034 properly
Brian Warner [Thu, 26 Mar 2015 01:49:37 +0000 (18:49 -0700)]
use more servers for test_mutable.Update, to test #2034 properly
Daira Hopwood [Tue, 24 Mar 2015 17:10:00 +0000 (17:10 +0000)]
Add a test, add missing imports. refs #2388
This tests ftpd, but not sftpd. Doing this sort of test on sftpd
requires the creation of a valid pubkey/privkey file pair, which is more
work than I want to do right now.
init_ftp/init_sftp were changed to interpret the configured
accounts.file as relative to the node's basedir, with
abspath_expanduser_unicode(accountfile, base=self.basedir).
This would happen naturally in a real node, since it os.chdir()s
to the basedir before doing anything. But tests don't do that.
Author: Brian Warner <warner@lothar.com>
Author: Daira Hopwood <daira@jacaranda.org>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 3 Mar 2015 20:06:35 +0000 (20:06 +0000)]
Ensure that path parameters to SFTPServer and FTPServer constructors are unicode. refs #2388
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 3 Mar 2015 20:04:57 +0000 (20:04 +0000)]
Add from_utf8_or_none and tests.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 24 Mar 2015 16:44:54 +0000 (16:44 +0000)]
Fix a missing import in test-osx-pkg.py. refs #2393
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 24 Mar 2015 16:42:27 +0000 (16:42 +0000)]
More careful quoting in build-osx-pkg.sh. refs #2393
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 24 Mar 2015 16:41:43 +0000 (16:41 +0000)]
Move computation of Tahoe version from Makefile to build-osx-pkg.sh. refs #2393
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 24 Mar 2015 16:11:30 +0000 (16:11 +0000)]
Merge pull request #146 from warner/versioned-osx-pkg
put a version string in the name of the OS-X .pkg file
Brian Warner [Sat, 21 Mar 2015 21:20:00 +0000 (14:20 -0700)]
create/test/upload tahoe-lafs-VERSION-osx.pkg, not tahoe-lafs-osx.pkg
Closes ticket:2393
Brian Warner [Sat, 21 Mar 2015 21:09:33 +0000 (14:09 -0700)]
move build-osx-pkg out to a separate shell script
Also remove the duplicate test-osx-pkg (i.e. don't run the test as part
of the build, and have the caller do it themselves later).
Brian Warner [Fri, 20 Mar 2015 17:52:48 +0000 (10:52 -0700)]
Makefile: add upload-osx-pkg rule
Brian Warner [Fri, 20 Mar 2015 01:59:16 +0000 (18:59 -0700)]
check_memory.py: announce 32-bit vs 64-bit
Brian Warner [Tue, 17 Mar 2015 18:53:30 +0000 (11:53 -0700)]
Merge branch '2329-2': fix "tahoe cp -r" exception
Brian Warner [Tue, 17 Mar 2015 18:16:06 +0000 (11:16 -0700)]
test_cli_cp.py: hush pyflakes
Brian Warner [Tue, 17 Mar 2015 18:13:57 +0000 (11:13 -0700)]
tahoe_cp: be consistent with "source.basename() is None" testing
Brian Warner [Tue, 17 Mar 2015 18:13:33 +0000 (11:13 -0700)]
tahoe_cp: minor cleanups, no behavior changes
Brian Warner [Tue, 17 Mar 2015 18:11:11 +0000 (11:11 -0700)]
tahoe_cp: make populate(recurse=) more explicit
Brian Warner [Tue, 17 Mar 2015 17:41:01 +0000 (10:41 -0700)]
test_cli_cp: test cleanups
* remove redundant test cases
* add more internal asserts
* clean up set usage
Brian Warner [Tue, 17 Mar 2015 16:59:34 +0000 (09:59 -0700)]
test_cli_cp: improve test cases
Brian Warner [Tue, 10 Mar 2015 16:17:17 +0000 (09:17 -0700)]
improve error message for slash-terminated non-directories
Brian Warner [Wed, 4 Mar 2015 02:20:03 +0000 (18:20 -0800)]
test_cli_cp.py: turn off debug mode, tests now assert for real
Brian Warner [Wed, 4 Mar 2015 02:19:58 +0000 (18:19 -0800)]
tahoe cp: overhaul target assignment, update tests
This substantially changes the internals of "tahoe cp", to behave in
accordance with the scheme developed in ticket:2329. test_cli_cp.py got
a large new test to exercise all the various combinations. This also
changes the set of error messages that "tahoe cp" can produce.
This modifies try_copy(), inserts a new implementation of
copy_things_to_directory() (and supporting methods), and fixes a few
bugs elsewhere.
fixes ticket:2329
Brian Warner [Wed, 4 Mar 2015 02:18:17 +0000 (18:18 -0800)]
tahoe_cp: delete copy_to_directory() code
This code will be replaced in the next commit with an entirely different
approach, and modifying it in a single commit would yield a completely
unreadable diff.
Brian Warner [Wed, 4 Mar 2015 01:51:28 +0000 (17:51 -0800)]
tahoe_cp: simplify some checks, rename some functions
no behavioral changes
Daira Hopwood [Fri, 27 Feb 2015 23:59:18 +0000 (23:59 +0000)]
.travis.yml: emove 'sudo: false' as requested by https://github.com/travis-ci/travis-ci/issues/2389#issuecomment-
76202191
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Brian Warner [Thu, 26 Feb 2015 06:04:25 +0000 (22:04 -0800)]
NEWS.rst: add partial list of changes
Zooko [Tue, 24 Feb 2015 18:11:30 +0000 (18:11 +0000)]
zetuptoolz: print out more context in case of parse_requirements error
Brian Warner [Tue, 24 Feb 2015 10:07:57 +0000 (02:07 -0800)]
tahoe_cp.py: use s.basename() instead of tracking it separately
Brian Warner [Tue, 24 Feb 2015 09:55:53 +0000 (01:55 -0800)]
tahoe_cp.py: store basename in the Source instance
Brian Warner [Mon, 23 Feb 2015 06:31:14 +0000 (22:31 -0800)]
test_cli.py: split the largest test classes out into separate files
That file was getting unruly. No behavioral changes, apart from tests
now having different names.
Daira Hopwood [Thu, 19 Feb 2015 17:41:09 +0000 (17:41 +0000)]
Discourage future readers of iputil.py from using Win32 APIs in preference to route.exe.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 17 Feb 2015 19:11:57 +0000 (19:11 +0000)]
It is Twisted 12.2.0 that starts depending on pywin32 for endpoints, not Twisted 12.3.0.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 17 Feb 2015 19:10:54 +0000 (19:10 +0000)]
Explicitly using "git.cmd" on Windows doesn't always work; use shell=True on Windows instead.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 10 Feb 2015 18:28:09 +0000 (18:28 +0000)]
Merge pull request #142 from tahoe-lafs/754.location-AUTO.2
Allow combining autodetected and statically configured locations
Daira Hopwood [Tue, 10 Feb 2015 18:23:59 +0000 (18:23 +0000)]
Documentation change for AUTO in tub.location. refs #754
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 10 Feb 2015 17:31:10 +0000 (17:31 +0000)]
Allow multiple occurrences of AUTO. refs #754
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Mon, 9 Feb 2015 19:48:06 +0000 (19:48 +0000)]
Add tests for combining autodetected and statically configured locations. refs #754
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Mon, 9 Feb 2015 19:45:31 +0000 (19:45 +0000)]
test_node.py: refactor test_location* to reduce code duplication. refs #754
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Mon, 9 Feb 2015 19:20:42 +0000 (19:20 +0000)]
Only get the local addresses if they are actually used. refs #754
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Mon, 9 Feb 2015 19:18:58 +0000 (19:18 +0000)]
Allow combining autodetected and statically configured locations. fixes #754
Replaces the location 'AUTO' with the autodetected IP/port combination.
Author: Chris Kerr <debdepba@dasganma.tk>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Sat, 7 Feb 2015 02:45:10 +0000 (02:45 +0000)]
.travis.yml: add "sudo: false" option, to attempt to resolve "Connection reset by peer" problems during build.
See https://github.com/travis-ci/travis-ci/issues/2389 .
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 6 Feb 2015 23:59:12 +0000 (23:59 +0000)]
Fix warnings due to bitrot in MANIFEST.in. closes #2380
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 5 Feb 2015 02:22:27 +0000 (02:22 +0000)]
Test the quotemarks=True and quotemarks=False options of quote_local_unicode_path.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 5 Feb 2015 02:13:23 +0000 (02:13 +0000)]
Test the quotemarks=False option of encodingutil.quote_path.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Wed, 4 Feb 2015 17:02:02 +0000 (17:02 +0000)]
Further refine error handling in windows_getenv to correctly handle zero-length environment values. refs #1674
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Brian Warner [Wed, 4 Feb 2015 09:35:44 +0000 (01:35 -0800)]
remove stray trailing whitespace
Brian Warner [Wed, 4 Feb 2015 09:31:46 +0000 (01:31 -0800)]
Merge branch 'pr138': fix long paths on windows
Brian Warner [Wed, 4 Feb 2015 06:09:40 +0000 (22:09 -0800)]
test that web.static= is really treated as a relative path
Also ssh.authorized_keys_file .
Daira Hopwood [Wed, 4 Feb 2015 00:10:21 +0000 (00:10 +0000)]
Quote the default node-directory correctly in help output. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 3 Feb 2015 23:47:31 +0000 (23:47 +0000)]
More robust error handling in windows_getenv. refs #1674
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Brian Warner [Tue, 3 Feb 2015 19:10:36 +0000 (11:10 -0800)]
tahoe_cp.py: clean up unicode handling
Daira Hopwood [Sat, 11 Oct 2014 22:45:13 +0000 (23:45 +0100)]
Changes filename to unicode before placing the file. refs #2027
Author: Mark Berger <mark.berger.j@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Sat, 11 Oct 2014 22:43:23 +0000 (23:43 +0100)]
Adds test_ticket_2027 to test_cli.Cp. refs #2027
Author: Mark Berger <mark.berger.j@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 29 Jan 2015 18:32:05 +0000 (18:32 +0000)]
Fix user-path-expansion on Windows for non-ASCII home directories. refs #1674
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 30 Jan 2015 00:50:18 +0000 (00:50 +0000)]
Change uses of os.path.expanduser and os.path.abspath. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Mon, 25 Aug 2014 18:09:40 +0000 (19:09 +0100)]
Use absolute paths in tahoe cp and tahoe backup. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 30 Jan 2015 00:47:09 +0000 (00:47 +0000)]
Add support in abspath_expanduser_unicode for expanding relative to a base path. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 30 Jan 2015 00:04:11 +0000 (00:04 +0000)]
Quote local paths correctly. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 30 Jan 2015 00:05:14 +0000 (00:05 +0000)]
Use "long" paths prefixed with \\?\ on Windows. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Mon, 25 Aug 2014 17:24:59 +0000 (18:24 +0100)]
fileutil cleanup: delete the unused open_or_create function.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Mark Berger [Tue, 23 Jul 2013 16:53:22 +0000 (12:53 -0400)]
Adds _servers_with_shares to ServermapUpdater
When calculating the query boundary for updates to mutable files,
instead of using servers that used to have shares, use servers we
have added to the servermap. This way the querying process won't finish
until we have finished interacting with the servers that have shares.
This fixes the race condition which sometimes caused the querying process
to finish before the updater was done talking to servers with shares.
Brian Warner [Tue, 27 Jan 2015 06:05:38 +0000 (22:05 -0800)]
Revert "Enable DeprecationWarnings for Travis-CI even on Python 2.7. refs #2366"
This reverts commit
cec7727bf980f62ba5e98d11776edb658860e350.
It caused travis (for py2.7) to fail on these tests:
* allmydata.test.test_runner.BinTahoe.test_version_no_noise
* allmydata.test.test_runner.RunNode.test_client_no_noise
* allmydata.test.test_system.SystemTest.test_filesystem_with_cli_in_subprocess
Daira Hopwood [Thu, 22 Jan 2015 02:49:16 +0000 (02:49 +0000)]
Enable DeprecationWarnings for Travis-CI even on Python 2.7. refs #2366
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 22 Jan 2015 02:29:50 +0000 (02:29 +0000)]
Merge pull request #137 from warner/2312-deprecation
Appease req.setHeader by passing bytes, not ints.
Brian Warner [Wed, 21 Jan 2015 18:31:31 +0000 (10:31 -0800)]
Appease req.setHeader by passing bytes, not ints.
twisted.web.http.Request.setHeader() really wants a "bytes" object, but
we've been passing integers like len(body). Twisted-12.3 started to
complain about this (with a DeprecationWarning), but the warning is
usually silenced because py2.7 disables deprecations by default.
This fixes Tahoe's misbehavior, but others remain (in Nevow, at least).
I plan to set up some tooling to run tests with
PYTHONWARNINGS=default::DeprecationWarning and collect others. We won't
be able to fix the ones that occur outside of Tahoe, but at least we
should be able to fix our own.
refs ticket:2312
Brian Warner [Wed, 21 Jan 2015 01:25:02 +0000 (17:25 -0800)]
Merge branch 'pr136' (WUI accessibility fix #1961)
This closes ticket:1961 .
Brian Warner [Wed, 21 Jan 2015 01:24:27 +0000 (17:24 -0800)]
welcome.xhtml: improve layout by floating the icons to the left.
This uses less vertical space.
Nathan Wilcox [Wed, 21 Jan 2015 00:31:56 +0000 (16:31 -0800)]
Introduce icons with distinct shape for connection status display on the front wui page...
This replaces the status display which was only distinct by color which is a usability issue for color-blind users. This commit includes test coverage by way of pattern matching on rendered templates. The PNG icons are conversions of original SVG source which I've included and placed in the public domain.
Daira Hopwood [Fri, 26 Dec 2014 22:29:42 +0000 (22:29 +0000)]
Latest cryptography depends on enum34.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 20 Jan 2015 18:52:02 +0000 (10:52 -0800)]
dependecy specs: tolerate new PEP440 semantics too
The latest setuptools (version 8) changed the way dependency
specifications ("I can handle libfoo version 2 or 3, but not 4") are
interpreted. The new version follows PEP440, which is simpler but
somewhat less expressive. Tahoe's _auto_deps.py now uses dep-specs which
are correctly parsed by both old and new setuptools.
Fixes ticket:2354.
* Restrict the requirements in _auto_deps.py to work with either the old
or PEP 440 semantics.
* Update check_requirement and tests to take account of changes for PEP
440 compatibility.
* Fix an error message.
* Remove a superfluous TODO.
Daira Hopwood [Thu, 15 Jan 2015 02:44:34 +0000 (02:44 +0000)]
Merge pull request #135 from vu3rdd/182-osx-packaging-7
Makefile: make "build-osx-pkg" build target depend on the "build" target
Ramakrishnan Muthukrishnan [Tue, 13 Jan 2015 09:31:46 +0000 (15:01 +0530)]
Makefile: make "build-osx-pkg" build target depend on the "build" target
Daira Hopwood [Tue, 6 Jan 2015 19:14:47 +0000 (19:14 +0000)]
Update docs for SFTP public key auth. refs #1411
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 6 Jan 2015 19:09:04 +0000 (19:09 +0000)]
Reserve all keytypes starting with "ssh-" in an accounts file, rather than only "ssh-rsa" and "ssh-dsa".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 6 Jan 2015 18:36:50 +0000 (18:36 +0000)]
Add Jean-Paul Calderone to CREDITS. refs #1411
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Tue, 6 Jan 2015 18:10:41 +0000 (18:10 +0000)]
Simplify key checking code by inlining _allowedKey and _correctSignature. refs #1141
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Jean-Paul Calderone [Sun, 4 Jan 2015 14:48:38 +0000 (09:48 -0500)]
Give out FTPAvatarID objects instead.
Jean-Paul Calderone [Sun, 4 Jan 2015 14:44:56 +0000 (09:44 -0500)]
Add the rest of the failure-case tests and a success-case test. Update the implementation to make them pass.
Jean-Paul Calderone [Sun, 4 Jan 2015 13:02:49 +0000 (08:02 -0500)]
Add a test for the bad key case of unauthorized ssh key checking.
Jean-Paul Calderone [Sun, 4 Jan 2015 13:02:23 +0000 (08:02 -0500)]
Add a test for one unauthorized case of ssh key checking.
Daira Hopwood [Tue, 30 Dec 2014 19:56:29 +0000 (19:56 +0000)]
Merge pull request #133 from matthazinski/master
Move UDP listen inside try block
Matt Hazinski [Tue, 30 Dec 2014 01:21:24 +0000 (20:21 -0500)]
Move UDP listen inside try block
Daira Hopwood [Fri, 5 Dec 2014 23:29:07 +0000 (23:29 +0000)]
Fix minor dependencies on "allmydata-tahoe" as appname.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 5 Dec 2014 17:53:13 +0000 (17:53 +0000)]
Makefile: make APPNAME a variable.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 5 Dec 2014 17:52:13 +0000 (17:52 +0000)]
Update obsolete paths in munin plugin comments.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 5 Dec 2014 17:50:59 +0000 (17:50 +0000)]
misc/build_helpers/run_trial.py is no longer used.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Thu, 27 Nov 2014 16:37:25 +0000 (16:37 +0000)]
Work around a Travis-CI configuration change.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Sun, 23 Nov 2014 05:46:33 +0000 (05:46 +0000)]
test_storage_client.py: add test_get_available_space_{old,new}.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Leif Ryge [Sat, 22 Nov 2014 04:30:02 +0000 (04:30 +0000)]
add available-space to VERSION_DEFAULTS
as per warner's suggestion in https://github.com/warner/tahoe-lafs/pull/4
Leif Ryge [Sat, 22 Nov 2014 02:12:36 +0000 (02:12 +0000)]
tests for "Available" column (#648)
thanks to the anonymous author who posted this on trac
Leif Ryge [Thu, 20 Nov 2014 22:46:20 +0000 (22:46 +0000)]
add "Available" column to welcome page (#648)
add get_available_space() to NativeStorageServer
It uses a new 'available-space' key in the server's v1 version dict, or falls
back to 'maximum-immutable-share-size' (which presently always has the same
value but could have a different meaning in the future).
This is a squash merge of
9773555bb87fab71145ad7a0e84785a4e92d11f7
Daira Hopwood [Sun, 23 Nov 2014 03:52:49 +0000 (03:52 +0000)]
Merge pull request #126 from leif/remove-cruft
remove NativeStorageServer's unused min_shares argument
Leif Ryge [Sat, 22 Nov 2014 04:08:45 +0000 (04:08 +0000)]
rm NativeStorageServer's unused min_shares argument
zooko [Fri, 21 Nov 2014 17:46:05 +0000 (17:46 +0000)]
Merge pull request #125 from tahoe-lafs/2340-version-error-reporting-3
2340 version error reporting 3
Daira Hopwood [Fri, 21 Nov 2014 05:00:05 +0000 (05:00 +0000)]
setup.py: look for a tag named after APPNAME, not necessarily "allmydata-tahoe". refs #1146
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 21 Nov 2014 08:38:37 +0000 (08:38 +0000)]
setup.py: set distribution.metadata.version from _version.py if we couldn't find it from git.
This simplifies reporting when we don't have the version. Also print the normalized version. refs #2340
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 21 Nov 2014 07:56:21 +0000 (07:56 +0000)]
setup.py: use constant for _version.py filename.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Daira Hopwood [Fri, 21 Nov 2014 05:14:18 +0000 (05:14 +0000)]
setup.py: improve error reporting when git commands fail. refs #2340
Signed-off-by: Daira Hopwood <daira@jacaranda.org>