Commit Graph

5986 Commits

Author SHA1 Message Date
Daira Hopwood
4a0cdce86b Use absolute paths in tahoe cp and tahoe backup. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:47:35 +00:00
Daira Hopwood
21b477f235 Add support in abspath_expanduser_unicode for expanding relative to a base path. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:47:09 +00:00
Daira Hopwood
95f98e1aae Quote local paths correctly. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:05:20 +00:00
Daira Hopwood
c20a3525b7 Use "long" paths prefixed with \\?\ on Windows. refs #2235
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:05:14 +00:00
Daira Hopwood
9a401b760e fileutil cleanup: delete the unused open_or_create function.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-29 18:19:57 +00:00
Mark Berger
db12f1cffb 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.
2015-01-27 00:40:14 -08:00
Brian Warner
118d78a67d Revert "Enable DeprecationWarnings for Travis-CI even on Python 2.7. refs #2366"
This reverts commit cec7727bf9.

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
2015-01-26 22:12:00 -08:00
Daira Hopwood
cec7727bf9 Enable DeprecationWarnings for Travis-CI even on Python 2.7. refs #2366
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-22 02:49:16 +00:00
Daira Hopwood
6f74282688 Merge pull request #137 from warner/2312-deprecation
Appease req.setHeader by passing bytes, not ints.
2015-01-22 02:29:50 +00:00
Brian Warner
38a4acd623 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
2015-01-21 10:31:31 -08:00
Brian Warner
cfec3ef002 Merge branch 'pr136' (WUI accessibility fix #1961)
This closes ticket:1961 .
2015-01-20 17:25:02 -08:00
Brian Warner
3ad18648dd welcome.xhtml: improve layout by floating the icons to the left.
This uses less vertical space.
2015-01-20 17:24:27 -08:00
Nathan Wilcox
e499d84755 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.
2015-01-20 16:41:01 -08:00
Daira Hopwood
e73d76eb1b Latest cryptography depends on enum34.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-20 10:52:07 -08:00
Daira Hopwood
ef455df990 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.
2015-01-20 10:52:02 -08:00
Daira Hopwood
f77f358dc1 Merge pull request #135 from vu3rdd/182-osx-packaging-7
Makefile: make "build-osx-pkg" build target depend on the "build" target
2015-01-15 02:44:34 +00:00
Ramakrishnan Muthukrishnan
c2e415b312 Makefile: make "build-osx-pkg" build target depend on the "build" target 2015-01-13 15:01:46 +05:30
Daira Hopwood
0d935e8589 Update docs for SFTP public key auth. refs #1411
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-06 19:14:47 +00:00
Daira Hopwood
0e9f0da51f 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>
2015-01-06 19:09:04 +00:00
Daira Hopwood
6194ab93be Add Jean-Paul Calderone to CREDITS. refs #1411
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-06 18:36:50 +00:00
Daira Hopwood
6c756ba3e9 Simplify key checking code by inlining _allowedKey and _correctSignature. refs #1141
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-06 18:10:41 +00:00
Jean-Paul Calderone
102d581a90 Give out FTPAvatarID objects instead. 2015-01-04 09:48:38 -05:00
Jean-Paul Calderone
38aee94a3e Add the rest of the failure-case tests and a success-case test. Update the implementation to make them pass. 2015-01-04 09:44:56 -05:00
Jean-Paul Calderone
79a6be565b Add a test for the bad key case of unauthorized ssh key checking. 2015-01-04 08:02:49 -05:00
Jean-Paul Calderone
f3cb2d42d7 Add a test for one unauthorized case of ssh key checking. 2015-01-04 08:02:23 -05:00
Daira Hopwood
f34b5fa317 Merge pull request #133 from matthazinski/master
Move UDP listen inside try block
2014-12-30 19:56:29 +00:00
Matt Hazinski
4a18f03960 Move UDP listen inside try block 2014-12-29 20:21:24 -05:00
Daira Hopwood
e4149496d2 Fix minor dependencies on "allmydata-tahoe" as appname.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-12-05 23:29:07 +00:00
Daira Hopwood
4e3b5b7f48 Makefile: make APPNAME a variable.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-12-05 17:53:13 +00:00
Daira Hopwood
c60958e285 Update obsolete paths in munin plugin comments.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-12-05 17:52:13 +00:00
Daira Hopwood
cf0f64be98 misc/build_helpers/run_trial.py is no longer used.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-12-05 17:50:59 +00:00
Daira Hopwood
4457b97471 Work around a Travis-CI configuration change.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-27 16:37:25 +00:00
Daira Hopwood
c0a2af5d69 test_storage_client.py: add test_get_available_space_{old,new}.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-23 06:03:00 +00:00
Leif Ryge
b9e0d19944 add available-space to VERSION_DEFAULTS
as per warner's suggestion in https://github.com/warner/tahoe-lafs/pull/4
2014-11-23 06:03:00 +00:00
Leif Ryge
336688165e tests for "Available" column (#648)
thanks to the anonymous author who posted this on trac
2014-11-23 06:03:00 +00:00
Leif Ryge
335c2ed06a 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
2014-11-23 06:03:00 +00:00
Daira Hopwood
9c1beac57b Merge pull request #126 from leif/remove-cruft
remove NativeStorageServer's unused min_shares argument
2014-11-23 03:52:49 +00:00
Leif Ryge
bca538ac64 rm NativeStorageServer's unused min_shares argument 2014-11-22 04:08:45 +00:00
zooko
4421e8a84b Merge pull request #125 from tahoe-lafs/2340-version-error-reporting-3
2340 version error reporting 3
2014-11-21 17:46:05 +00:00
Daira Hopwood
e1a3a2001f setup.py: look for a tag named after APPNAME, not necessarily "allmydata-tahoe". refs #1146
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 08:41:45 +00:00
Daira Hopwood
2eeb8ee6f5 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>
2014-11-21 08:38:37 +00:00
Daira Hopwood
b43447003e setup.py: use constant for _version.py filename.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 07:56:21 +00:00
Daira Hopwood
8e0ec757e7 setup.py: improve error reporting when git commands fail. refs #2340
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 05:29:09 +00:00
Brian Warner
5218e87ed1 test-osx-pkg.py: remove unused import 2014-10-26 11:56:57 -07:00
Brian Warner
a5daf73361 Merge branch '1159-notac-4' 2014-10-26 11:56:05 -07:00
Daira Hopwood
fc886a7d02 Improve error reporting and help for start/stop/etc. commands.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-10-21 19:15:32 +01:00
Daira Hopwood
13ae872ace startstop_node.py: rename internal command and twistd plugin class used to start tahoe nodes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-10-21 19:04:14 +01:00
Brian Warner
87a6894e62 'tahoe start': stop using the contents of .tac files
Instead of constructing a sys.argv for 'twistd' that reads the node's
.tac file, we construct arguments that tell twistd to use a special
in-memory-only plugin that creates the desired node instance directly.

We still use the name of the .tac file to decide which kind of instance
to make (Client, IntroducerNode, KeyGenerator, StatsGatherer), but never
actually read the contents of the .tac file. Later improvements could
change this to look inside the tahoe.cfg for a nodetype= directive, etc.

This also makes it easy to have "tahoe start BASEDIR" pass the rest of
its arguments on to twistd, so e.g. "tahoe start BASEDIR --nodaemon
--profile=prof.out" does what you'd expect "twistd --nodaemon
--profile=prof.out" to do. "tahoe run BASEDIR" is thus simply aliased to
"tahoe start BASEDIR --nodaemon". This removes the need to special-case
--profile and --syslog.

I also removed some of the default logging behavior:

 before:
  'tahoe start' = 'twistd --logfile BASEDIR logs/twistd.log'
  'tahoe start --profile' adds '--profile=profiling_results.prof --savestats'
  'tahoe run' = 'twistd --nodaemon --logfile BASEDIR/logs/tahoesvc.log'

 after:
  'tahoe start' = 'twistd --logfile BASEDIR logs/twistd.log'
     unless --logfile, --nodaemon, or --syslog are passed
  'tahoe start --profile' invalid, use 'tahoe start --profile=OUTPUT'
  'tahoe run' = 'twistd --nodaemon'
     so log messages go to stdout

This finally enables 'tahoe run' to work with all node types, including
the key-generator and stats-gatherer.

It gets 'tahoe start' one step closer to accepting --reactor= . To
actually accomplish this will require this file, the enclosing
__init_.py files, and everything they import to avoid importing the
reactor. (if anything imports twisted.internet.reactor before
startstop_node.start() gets to run, then --reactor= comes too late).
That will take a lot of work, and requires lazy-loading of many core
libraries (foolscap.logging in particular), and removing a lot of code
from src/allmydata/__init__.py .
2014-10-21 19:02:25 +01:00
Daira Hopwood
e870bceb9a Merge pull request #122 from tahoe-lafs/182-osx-packaging-6
182 osx packaging 6
2014-10-21 16:11:05 +01:00
Daira Hopwood
f4d40ffcbf misc/build_helpers/test-osx-pkg.py: script to test the OS X pkg.
After extracting the contents of the package, this script looks at the
output of 'tahoe --version-and-path' to see if the modules are installed
and invoked from the right path.

Author: Ramakrishnan Muthukrishnan <ram@leastauthority.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-10-20 17:52:46 +01:00