Zooko O'Whielacronx [Wed, 12 Nov 2008 22:25:03 +0000 (15:25 -0700)]
setup: remove pkg_resources.require() from create_node.py and add it to runner.py
Brian correctly points out that the latter is an entry point.
Zooko O'Whielacronx [Mon, 5 Jan 1970 15:04:22 +0000 (08:04 -0700)]
docs: fix cutnpasto in source:docs/logging.txt
Zooko O'Whielacronx [Mon, 5 Jan 1970 11:10:55 +0000 (04:10 -0700)]
tests: fix comment
Zooko O'Whielacronx [Mon, 5 Jan 1970 11:00:58 +0000 (04:00 -0700)]
tests: add tahoe_cp to the list of scripts that we don't actually have tests for yet
Zooko O'Whielacronx [Fri, 2 Jan 1970 00:50:05 +0000 (17:50 -0700)]
setup: the .tac files created by create_node.py call pkg_resources.require() so that they can load tahoe and twisted packages which were installed with setuptools multi-version mode
Also the create_node.py script itself uses pkg_resources.require() for the same reason.
Brian Warner [Fri, 7 Nov 2008 05:51:17 +0000 (22:51 -0700)]
web/info: don't let an unrecoverable file break the page (show ? instead of a size)
Brian Warner [Fri, 7 Nov 2008 05:35:47 +0000 (22:35 -0700)]
checker: add is_recoverable() to checker results, make our stub immutable-verifier not throw an exception on unrecoverable files, add tests
Brian Warner [Fri, 7 Nov 2008 04:54:52 +0000 (21:54 -0700)]
monitor: update interface definition: get_status() can return a Failure
Brian Warner [Fri, 7 Nov 2008 04:53:09 +0000 (21:53 -0700)]
web/operations.py: if the operation failed, render the Failure
Peter Secor [Thu, 6 Nov 2008 23:03:10 +0000 (16:03 -0700)]
undoing test change for native_client.php
Brian Warner [Thu, 6 Nov 2008 23:35:17 +0000 (16:35 -0700)]
NEWS: more minor edits
Brian Warner [Thu, 6 Nov 2008 23:33:56 +0000 (16:33 -0700)]
NEWS: minor edits
Brian Warner [Thu, 6 Nov 2008 02:41:53 +0000 (19:41 -0700)]
NEWS: mention SFTP server
Brian Warner [Thu, 6 Nov 2008 02:34:42 +0000 (19:34 -0700)]
client.py: oops, update FTP/SFTP config names to match current docs
Brian Warner [Thu, 6 Nov 2008 02:32:24 +0000 (19:32 -0700)]
remove duplicate+old docs/NEWS. The top-level NEWS file is the canonical one.
Brian Warner [Thu, 6 Nov 2008 02:25:58 +0000 (19:25 -0700)]
SFTP/FTP: merge user/account code, merge docs
Brian Warner [Thu, 6 Nov 2008 00:30:50 +0000 (17:30 -0700)]
docs: move webapi/ftp/sftp into a new frontends/ directory
Brian Warner [Wed, 5 Nov 2008 21:07:33 +0000 (14:07 -0700)]
ftp/sftp: move to a new frontends/ directory in preparation for factoring out password-auth component
Brian Warner [Wed, 5 Nov 2008 20:45:11 +0000 (13:45 -0700)]
sftpd: minor debug-logging tweak
Peter Secor [Wed, 5 Nov 2008 02:18:30 +0000 (19:18 -0700)]
confwiz.py - trying out a new configuration site
Brian Warner [Wed, 5 Nov 2008 01:01:04 +0000 (18:01 -0700)]
ftpd: include an (unused) avatar logout callback
Brian Warner [Wed, 5 Nov 2008 01:00:22 +0000 (18:00 -0700)]
#531: implement an SFTP frontend. Mostly works, still lots of debug messages. Still needs tests and auth-by-pubkey in accounts.file
Brian Warner [Wed, 5 Nov 2008 00:58:40 +0000 (17:58 -0700)]
docs/ftp.txt: correct Twisted dependency: we don't need VFS, we can use a release, as long as you apply the patch
Zooko O'Whielacronx [Wed, 5 Nov 2008 01:03:06 +0000 (18:03 -0700)]
shebang: replace "/usr/bin/python" with "/usr/bin/env python"
Zooko O'Whielacronx [Wed, 5 Nov 2008 01:01:30 +0000 (18:01 -0700)]
misc/fixshebangs.py
Zooko O'Whielacronx [Wed, 5 Nov 2008 00:47:15 +0000 (17:47 -0700)]
util: copy in pyutil.fileutil.ReopenableNamedTemporaryFile
Brian Warner [Tue, 4 Nov 2008 22:29:19 +0000 (15:29 -0700)]
immutable: tolerate filenode.read() with a size= that's too big, rather than hanging
Zooko O'Whielacronx [Tue, 4 Nov 2008 20:55:50 +0000 (13:55 -0700)]
util: copy in nummedobj from pyutil
Zooko O'Whielacronx [Tue, 4 Nov 2008 20:53:27 +0000 (13:53 -0700)]
util: copy in dictutil from pyutil
booker [Mon, 3 Nov 2008 22:36:47 +0000 (15:36 -0700)]
rollback change... move allmydatacontextmenu registration to installer.tmpl in tahoe-w32-client\installer
booker [Mon, 3 Nov 2008 21:00:27 +0000 (14:00 -0700)]
register the AllmydataContextMenu.dll for the context menu handler file sharing shell extension
Brian Warner [Thu, 30 Oct 2008 21:54:47 +0000 (14:54 -0700)]
debug catalog-shares: tolerate even more errors on bad files/directories
Brian Warner [Thu, 30 Oct 2008 21:36:04 +0000 (14:36 -0700)]
NEWS: update with all user-visible changes since the last update
Brian Warner [Thu, 30 Oct 2008 20:39:09 +0000 (13:39 -0700)]
#527: expire the cached files that are used to support Range: headers, every hour, when the file is unused and older than an hour
Brian Warner [Thu, 30 Oct 2008 20:01:20 +0000 (13:01 -0700)]
util/cachedir.py: add a cache-directory manager class, which expires+deletes unused files after a while
Brian Warner [Thu, 30 Oct 2008 19:32:04 +0000 (12:32 -0700)]
test_cli: try to fix windows again
Brian Warner [Thu, 30 Oct 2008 19:06:51 +0000 (12:06 -0700)]
debug/test_cli: fix error handling for catalog-shares, to make the test stop failing on windows
Brian Warner [Thu, 30 Oct 2008 01:09:17 +0000 (18:09 -0700)]
web: add 'Repair' button to checker results when they indicate unhealthyness. Also add the object's uri to the CheckerResults instance.
Brian Warner [Thu, 30 Oct 2008 00:13:36 +0000 (17:13 -0700)]
create_node.py: add 'web.static = public_html' to the initial tahoe.cfg
Brian Warner [Wed, 29 Oct 2008 22:34:31 +0000 (15:34 -0700)]
webapi: serve the /static URL tree from /public_html (configurable)
Brian Warner [Wed, 29 Oct 2008 22:10:10 +0000 (15:10 -0700)]
catalog-shares command: tolerate errors, log them to stderr, handle v2-immutable shares
Brian Warner [Wed, 29 Oct 2008 05:00:15 +0000 (22:00 -0700)]
test_web.py: one more line of test coverage
Brian Warner [Wed, 29 Oct 2008 04:57:44 +0000 (21:57 -0700)]
test_web: improve test coverage of PUT DIRURL t=uri replace=false
Brian Warner [Wed, 29 Oct 2008 04:54:46 +0000 (21:54 -0700)]
web: test (and fix) PUT DIRURL t=uri, which replaces a directory in-place with some other cap
Brian Warner [Wed, 29 Oct 2008 04:54:06 +0000 (21:54 -0700)]
web/directory.py: slight shuffle to improve test coverage
Brian Warner [Wed, 29 Oct 2008 04:43:35 +0000 (21:43 -0700)]
test_client.py: improve test coverage a bit
Brian Warner [Wed, 29 Oct 2008 04:35:58 +0000 (21:35 -0700)]
node.py: remove unused old_log() function
Brian Warner [Wed, 29 Oct 2008 04:34:20 +0000 (21:34 -0700)]
node.py: remove support for the old BASEDIR/authorized_keys.PORT file
Brian Warner [Wed, 29 Oct 2008 04:28:31 +0000 (21:28 -0700)]
move testutil into test/common_util.py, since it doesn't count as 'code under test' for our pyflakes numbers
Brian Warner [Wed, 29 Oct 2008 04:15:48 +0000 (21:15 -0700)]
util: move PollMixin to a separate file (pollmixin.py), so testutil can be moved into test/
Brian Warner [Wed, 29 Oct 2008 04:03:59 +0000 (21:03 -0700)]
control.py: removed unused testutil.PollMixin
Brian Warner [Wed, 29 Oct 2008 01:17:20 +0000 (18:17 -0700)]
web/filenode: oops, fix test failures, not everything has a storage index
Brian Warner [Wed, 29 Oct 2008 01:01:03 +0000 (18:01 -0700)]
web/filenode: add Accept-Ranges and ETag (for immutable files) headers to GET responses
Brian Warner [Wed, 29 Oct 2008 00:56:18 +0000 (17:56 -0700)]
#527: respond to GETs with early ranges quickly, without waiting for the whole file to download. Fixes the alacrity problems with the earlier code. Still needs cache expiration.
Brian Warner [Tue, 28 Oct 2008 20:41:04 +0000 (13:41 -0700)]
#527: support HTTP 'Range:' requests, using a cachefile. Adds filenode.read(consumer, offset, size) method. Still needs: cache expiration, reduced alacrity.
Brian Warner [Tue, 28 Oct 2008 20:36:46 +0000 (13:36 -0700)]
iputil.py: avoid a DNS lookup at startup (which may timeout tests when run on a partially-offline host) by using 198.41.0.4 instead of A.ROOT-SERVERS.NET
Brian Warner [Mon, 27 Oct 2008 20:34:49 +0000 (13:34 -0700)]
interfaces.py: promote immutable.encode.NotEnoughSharesError.. it isn't just for immutable files any more
Brian Warner [Mon, 27 Oct 2008 20:20:46 +0000 (13:20 -0700)]
interfaces.IMutableFileNode.download_best_version(): fix return value
Brian Warner [Mon, 27 Oct 2008 20:15:25 +0000 (13:15 -0700)]
dirnode lookup: use distinct NoSuchChildError instead of the generic KeyError when a child can't be found
Brian Warner [Sun, 26 Oct 2008 02:46:33 +0000 (19:46 -0700)]
storage: don't use colons in the corruption-advisory filename, since windows can't tolerate them
Brian Warner [Fri, 24 Oct 2008 20:21:28 +0000 (13:21 -0700)]
mutable: call remove_advise_corrupt_share when we see share corruption in mapupdate/download/check, tolerate servers that do not implement it
Brian Warner [Fri, 24 Oct 2008 18:52:48 +0000 (11:52 -0700)]
storage: add remote_advise_corrupt_share, for clients to tell storage servers about share corruption that they've discovered. The server logs the report.
Brian Warner [Fri, 24 Oct 2008 04:00:24 +0000 (21:00 -0700)]
mutable/servermap.py: fix needs_merge(), it was incorrectly claiming that mixed shares with distinct seqnums needed a merge, causing repair(force=False) to fail
Brian Warner [Fri, 24 Oct 2008 02:17:59 +0000 (19:17 -0700)]
test_web.test_POST_DIRURL_deepcheck: confirm that /operations/HANDLE/ works with or without the slash
Brian Warner [Fri, 24 Oct 2008 00:17:17 +0000 (17:17 -0700)]
web/checker_results.py: remove dead code
Brian Warner [Fri, 24 Oct 2008 00:11:18 +0000 (17:11 -0700)]
test_web: more test coverage
Brian Warner [Thu, 23 Oct 2008 23:32:36 +0000 (16:32 -0700)]
webapi: fix t=rename from==to, it used to delete the file
Brian Warner [Thu, 23 Oct 2008 23:32:02 +0000 (16:32 -0700)]
test_system: update test to match web checker results
Brian Warner [Thu, 23 Oct 2008 23:03:59 +0000 (16:03 -0700)]
webapi deep-check: show the root as <root>, rather than an empty path string
Brian Warner [Thu, 23 Oct 2008 23:03:19 +0000 (16:03 -0700)]
mutable/checker: announce the mapupdate op on the 'recent uploads+downloads' page
Brian Warner [Thu, 23 Oct 2008 23:02:35 +0000 (16:02 -0700)]
scripts/create_node.py: remove empty-string defaults for --introducer= and --nickname=
Brian Warner [Thu, 23 Oct 2008 23:00:31 +0000 (16:00 -0700)]
deep-check: add webapi links to detailed per-file/dir results
Brian Warner [Thu, 23 Oct 2008 22:59:36 +0000 (15:59 -0700)]
interface.py: fix typo
Brian Warner [Thu, 23 Oct 2008 22:56:58 +0000 (15:56 -0700)]
webapi: make the /operations/ 't=status' qualifier optional, remove it from examples
Zooko O'Whielacronx [Sat, 25 Oct 2008 15:28:58 +0000 (08:28 -0700)]
setup: require the latest version of the setuptools bootstrap egg
Zooko O'Whielacronx [Sat, 25 Oct 2008 15:28:39 +0000 (08:28 -0700)]
setup: include _pkgutil.py in setuptools bootstrap egg so that it will work on Python 2.4
Zooko O'Whielacronx [Sat, 25 Oct 2008 13:50:42 +0000 (06:50 -0700)]
setup: pretend the tahoe requires twisted to set up, so that twisted will be there for nevow
Zooko O'Whielacronx [Sat, 25 Oct 2008 13:49:59 +0000 (06:49 -0700)]
setup: require the SVN snapshot of setuptools to build
Zooko O'Whielacronx [Sat, 25 Oct 2008 13:49:47 +0000 (06:49 -0700)]
setup: remove old bundled setuptools-0.6c9
Zooko O'Whielacronx [Sat, 25 Oct 2008 13:48:37 +0000 (06:48 -0700)]
setup: bundle an SVN snapshot of setuptools instead of the most recent stable release of setuptools
This SVN snapshot fixes a problem that prevents the setting up of nevow:
http://bugs.python.org/setuptools/issue20
Zooko O'Whielacronx [Sat, 25 Oct 2008 13:47:39 +0000 (06:47 -0700)]
setup: reorder dependencies to be sort of increasing order of how much they depend on other stuff
Not that the order makes any different to how it gets installed, as far as I can tell.
Zooko O'Whielacronx [Thu, 23 Oct 2008 21:36:58 +0000 (14:36 -0700)]
docs: add a note that when you make a new tahoe release, you should send the announcement to fuse-devel@lists.sourceforge.net
Brian Warner [Wed, 22 Oct 2008 17:10:56 +0000 (10:10 -0700)]
web/info.py: fix 'Check This Object' link, for files it was checking the parent directory by mistake
Brian Warner [Wed, 22 Oct 2008 16:48:42 +0000 (09:48 -0700)]
#514: add meta-refresh=60 tag to t=status page for incomplete operations
Brian Warner [Wed, 22 Oct 2008 08:50:54 +0000 (01:50 -0700)]
test_dirnode.py: oops, missed a Monitor(), unbreak tests
Brian Warner [Wed, 22 Oct 2008 08:42:37 +0000 (01:42 -0700)]
immutable/filenode.py: add TODO note about the #514 monitor to check(), rather than going through the checker/verifier code and adding it, since Zooko is currently working on that code
Brian Warner [Wed, 22 Oct 2008 08:38:18 +0000 (01:38 -0700)]
more #514: pass a Monitor to all checker operations, make mutable-checker honor the cancel flag
Brian Warner [Wed, 22 Oct 2008 07:55:52 +0000 (00:55 -0700)]
dirnode.py: check for cancel during deep-traverse operations, and don't initiate any new ones if we've been cancelled. Gets us closer to #514.
Brian Warner [Wed, 22 Oct 2008 05:13:54 +0000 (22:13 -0700)]
more #514 log-webop status/cancel: add handle-expiration, test coverage
Brian Warner [Wed, 22 Oct 2008 00:53:31 +0000 (17:53 -0700)]
webapi.txt: improve t=deep-size output docs
Brian Warner [Wed, 22 Oct 2008 00:52:56 +0000 (17:52 -0700)]
#514: improve test coverage
Brian Warner [Wed, 22 Oct 2008 00:03:07 +0000 (17:03 -0700)]
Change deep-size/stats/check/manifest to a start+poll model instead of a single long-running synchronous operation. No cancel or handle-expiration yet. #514.
Zooko O'Whielacronx [Tue, 30 Sep 2008 20:05:02 +0000 (13:05 -0700)]
setup: change ez_setup.py to install setuptools-0.6c9
Zooko O'Whielacronx [Tue, 30 Sep 2008 20:04:48 +0000 (13:04 -0700)]
setup: bundle setuptools-0.6c9
Zooko O'Whielacronx [Tue, 30 Sep 2008 20:03:36 +0000 (13:03 -0700)]
setup: remove bundled setuptools-0.6c8
Zooko O'Whielacronx [Tue, 21 Oct 2008 16:32:00 +0000 (09:32 -0700)]
setup: remove the developer note about doing without GNU make (the GNU make requirement is about to hurt Peter if he tries to follow this doc, by the way)
add classifiers showing with which versions of Python it is known to work.
robk-tahoe [Tue, 21 Oct 2008 00:29:02 +0000 (17:29 -0700)]
* fuse/runtests: added --catch-up-pause option
On linux, write tests are failing because data written to fuse isn't showing
up in tahoe by the time it's checked. it's not clear where this is originating,
since the fuse implementation [should be] waiting for completion of tahoe
operations before returning from its calls. This adds an option to control the
duration of a pause between the fuse write and the check of tahoe, which is by
default set to 2s on linux, which - somewhat inexplicably - seems to 'fix' the
problem, in as far as it allows tests to complete.
robk-tahoe [Tue, 21 Oct 2008 00:01:59 +0000 (17:01 -0700)]
fuse/runtests: include length in drepr() output
robk-tahoe [Mon, 20 Oct 2008 23:52:35 +0000 (16:52 -0700)]
fuse/runtests: make exceptions in 'read_in_random_order' into TestFailures
robk-tahoe [Mon, 20 Oct 2008 23:33:33 +0000 (16:33 -0700)]
fuse/blackmatch: added asynchronous (background) file download
previously, upon opening a file for reading, the open() call would block
while the entire file was retrieved from tahoe into the cache directory.
This change adds a DownloaderWithReadQueue class, and associated plumbing,
such that an open() will return promptly with the download initiated 'in
the background'. Subsequent read() operations will block until enough
data has been downloaded to satisfy that request. This provides a behaviour
similar to streaming, i.e. the client application will be able to read
data from the fuse interface while the remainder of the file is still being
downloaded.