Brian Warner [Wed, 4 Jun 2008 00:09:39 +0000 (17:09 -0700)]
web: add test for unicode POST when the name comes from name=, not the filename attribute
Brian Warner [Tue, 3 Jun 2008 22:02:10 +0000 (15:02 -0700)]
web: make nickname more visible in the welcome page, closes #361
Brian Warner [Tue, 3 Jun 2008 21:34:00 +0000 (14:34 -0700)]
webish: make /cap/ equivalent to /uri/, accepting both with the same meanings. Closes #428
Brian Warner [Tue, 3 Jun 2008 07:03:16 +0000 (00:03 -0700)]
web: transform FileTooLargeError into a friendlier '413 Request Entity Too Large' error
Brian Warner [Tue, 3 Jun 2008 07:02:10 +0000 (00:02 -0700)]
mutable/publish.py: raise FileTooLargeError instead of an ugly assertion when the SDMF restrictions are exceeded
Brian Warner [Tue, 3 Jun 2008 07:01:15 +0000 (00:01 -0700)]
move FileTooLargeError out to a common location
Brian Warner [Tue, 3 Jun 2008 06:07:02 +0000 (23:07 -0700)]
docs: move files that are about future plans into docs/proposed/, to clearly separate them from descriptions of the present codebase
Brian Warner [Tue, 3 Jun 2008 06:03:21 +0000 (23:03 -0700)]
docs: update webapi.txt with write-coordination issues, add TODO note to recovery section of mutable.txt
Brian Warner [Tue, 3 Jun 2008 05:27:02 +0000 (22:27 -0700)]
move roadmap.txt into Trac, in the form of several tickets (in the 444 to 451 range)
Brian Warner [Tue, 3 Jun 2008 02:58:27 +0000 (19:58 -0700)]
docs/file-encoding.txt: move this over from the wiki
nejucomo [Sun, 1 Jun 2008 03:16:05 +0000 (20:16 -0700)]
fuse_a: runtests.py: The current ubuntu python-fuse ignores the -f option and always forks, so this updates runtests to use fusermount for clean shutdown.
nejucomo [Sun, 1 Jun 2008 02:22:18 +0000 (19:22 -0700)]
fuse_a: logging: Make logging a bit cleaner, and make it log to the correct location!
nejucomo [Sun, 1 Jun 2008 02:21:42 +0000 (19:21 -0700)]
fuse_a: Update todo/wishlist comments in tahoe_fuse.py to reflect my intent.
nejucomo [Sun, 1 Jun 2008 02:21:17 +0000 (19:21 -0700)]
fuse_a: runtests: Add some TODOs and FIXMEs in the comments.
nejucomo [Sun, 1 Jun 2008 02:06:00 +0000 (19:06 -0700)]
fuse_a: Add more explanation to the failure message when simplejson cannot be imported.
nejucomo [Sun, 1 Jun 2008 02:05:41 +0000 (19:05 -0700)]
fuse_a: Fix a bug in test cleanup code.
nejucomo [Sun, 1 Jun 2008 02:03:51 +0000 (19:03 -0700)]
fuse_a: Remove unused webport files...
This prevents the third client from failing to start due to a port
collision with the second client. The first client, which is used for
testing has a random high port written to webport, and thus does not
interfere.
nejucomo [Sat, 31 May 2008 07:42:02 +0000 (00:42 -0700)]
fuse_a: Fix the expected path in runtests.py.
Brian Warner [Tue, 3 Jun 2008 02:21:39 +0000 (19:21 -0700)]
docs/file-encoding: update some of the stale diagrams to reflect current code
Brian Warner [Tue, 3 Jun 2008 01:43:31 +0000 (18:43 -0700)]
docs/historical: move 'tahoe2' from wiki into source tree
Brian Warner [Tue, 3 Jun 2008 01:38:32 +0000 (18:38 -0700)]
move historical docs from wiki pages into the source tree, clearly marked as historical
Brian Warner [Tue, 3 Jun 2008 01:00:16 +0000 (18:00 -0700)]
docs/using.html: update CLI section to reflect the new alias: scheme. Closes #431
Brian Warner [Tue, 3 Jun 2008 00:55:54 +0000 (17:55 -0700)]
CLI: make 'tahoe webopen' use the 'tahoe:' alias properly, instead of the old --dir-cap option
Brian Warner [Tue, 3 Jun 2008 00:54:56 +0000 (17:54 -0700)]
CLI: improve docs w.r.t. aliases, add examples to 'tahoe put' and 'tahoe get' help output. Addresses part of #431
Brian Warner [Mon, 2 Jun 2008 23:57:01 +0000 (16:57 -0700)]
Don't allow uploads of large files (about 12GiB or larger), since they're doomed to be corrupted. Closes #439
Peter Secor [Mon, 2 Jun 2008 22:18:16 +0000 (15:18 -0700)]
windows installer - changing version number for latest release 3.0.3
Brian Warner [Fri, 30 May 2008 01:51:11 +0000 (18:51 -0700)]
architecture.txt: explain the introducer SPOF and why it really isn't that bad. Closes #323.
Peter Secor [Fri, 30 May 2008 00:37:48 +0000 (17:37 -0700)]
windows client - changes to have property for changing cache size and allow you to change an account
Brian Warner [Wed, 28 May 2008 23:20:13 +0000 (16:20 -0700)]
docs/backupdb.txt: preliminary sketch of our plans for the duplicate-upload-avoidance database
Brian Warner [Wed, 28 May 2008 18:33:54 +0000 (11:33 -0700)]
misc/munin/tahoe_spacetime.py: add a munin plugin to estimate how much time remains before you run out of space
Brian Warner [Wed, 28 May 2008 04:17:20 +0000 (21:17 -0700)]
misc/delete-old-helper.sh: simple script to delete old+abandoned helper files
Brian Warner [Thu, 22 May 2008 01:40:49 +0000 (18:40 -0700)]
test_system: even more 'cp -r' coverage
Brian Warner [Thu, 22 May 2008 01:36:25 +0000 (18:36 -0700)]
test_system.py: improve 'cp -r' coverage: exercise copy from tahoe to local disk
Brian Warner [Thu, 22 May 2008 00:55:32 +0000 (17:55 -0700)]
CLI: remove the '-r' shortcut for --dir-cap, to make it available for cp -r
Brian Warner [Thu, 22 May 2008 00:35:21 +0000 (17:35 -0700)]
tahoe_cp: rewrite, make --recursive work
Brian Warner [Thu, 22 May 2008 00:34:52 +0000 (17:34 -0700)]
tahoe_ls: improve error message when the target is missing
Brian Warner [Thu, 22 May 2008 00:31:19 +0000 (17:31 -0700)]
scripts/common_http.py: add comment about why we need .seek
Brian Warner [Wed, 21 May 2008 19:09:13 +0000 (12:09 -0700)]
tahoe_cp.py: fix pyflakes complaint
Brian Warner [Wed, 21 May 2008 18:49:22 +0000 (11:49 -0700)]
cli: initial implementation of 'cp -r', probably doesn't work yet
Brian Warner [Wed, 21 May 2008 16:43:49 +0000 (09:43 -0700)]
util.dictutil: move DictOfSets out to a separate utility module
Brian Warner [Tue, 20 May 2008 23:56:03 +0000 (16:56 -0700)]
CLI: implement the easy part of cp (no -r, only two arguments)
Brian Warner [Tue, 20 May 2008 22:40:49 +0000 (15:40 -0700)]
web t=json: add 'mutable' key to the information dict
Brian Warner [Tue, 20 May 2008 22:21:46 +0000 (15:21 -0700)]
test_web: improve test coverage of web.common utility code
Brian Warner [Tue, 20 May 2008 22:14:19 +0000 (15:14 -0700)]
web: fix JSON output for mutable files
Brian Warner [Tue, 20 May 2008 21:36:04 +0000 (14:36 -0700)]
CLI: add 'list-aliases', factor out get_aliases
Brian Warner [Tue, 20 May 2008 20:30:31 +0000 (13:30 -0700)]
CLI: add 'ln', just like move but without the delete
Brian Warner [Tue, 20 May 2008 20:20:48 +0000 (13:20 -0700)]
test_system.py: remove dead code
Brian Warner [Tue, 20 May 2008 20:07:50 +0000 (13:07 -0700)]
tahoe_ls: improve output formatting
Brian Warner [Tue, 20 May 2008 19:49:47 +0000 (12:49 -0700)]
CLI mv: if we can't created the new child, don't delete the old one
Brian Warner [Tue, 20 May 2008 19:49:11 +0000 (12:49 -0700)]
CLI ls: add --readonly-uri to display readonly URIs for all children
Brian Warner [Tue, 20 May 2008 19:36:55 +0000 (12:36 -0700)]
CLI: add put --mutable, enhance ls to show mutable vs immutable as rw/r-
Brian Warner [Tue, 20 May 2008 19:36:02 +0000 (12:36 -0700)]
web: handle PUT mutable=true properly
Brian Warner [Tue, 20 May 2008 18:47:43 +0000 (11:47 -0700)]
test_web: add HEAD coverage
Brian Warner [Tue, 20 May 2008 18:35:47 +0000 (11:35 -0700)]
web: more mutable-file coverage
Brian Warner [Tue, 20 May 2008 18:33:14 +0000 (11:33 -0700)]
web: even more test coverage
Brian Warner [Tue, 20 May 2008 18:13:12 +0000 (11:13 -0700)]
web: improve test coverage, remove some dead code
Brian Warner [Tue, 20 May 2008 06:28:52 +0000 (23:28 -0700)]
test_web/test_system: improve test coverage
Brian Warner [Tue, 20 May 2008 03:24:12 +0000 (20:24 -0700)]
test_system: fix windows test failure, open files with binary mode
Brian Warner [Tue, 20 May 2008 02:28:50 +0000 (19:28 -0700)]
overhaul CLI: not quite complete but it works a lot better than it used to. The new scheme uses 'tahoe add-alias' and rsync/scp-style 'alias:foo/bar.txt' arguments
Brian Warner [Tue, 20 May 2008 01:52:19 +0000 (18:52 -0700)]
test/common: oops, forgot the FakeMutableFileNode.get_readonly fix
Brian Warner [Tue, 20 May 2008 01:38:39 +0000 (18:38 -0700)]
web: improve test coverage
Brian Warner [Tue, 20 May 2008 01:38:28 +0000 (18:38 -0700)]
web/filenode: remove unreachable code
Brian Warner [Tue, 20 May 2008 01:37:28 +0000 (18:37 -0700)]
web/directory: fix rw_uri output in t=JSON to reflect mutable files properly
Brian Warner [Mon, 19 May 2008 22:19:25 +0000 (15:19 -0700)]
web: factor out identical renderHTTP methods
Brian Warner [Mon, 19 May 2008 21:34:13 +0000 (14:34 -0700)]
webish: censor URLs that start with /file and /named too
Brian Warner [Mon, 19 May 2008 21:28:39 +0000 (14:28 -0700)]
test_web: remove leftover import to hush pyflakes
Brian Warner [Mon, 19 May 2008 21:09:31 +0000 (14:09 -0700)]
test_system: match webapi change, making new files now returns 201 Created, not 200 OK
Brian Warner [Mon, 19 May 2008 20:03:00 +0000 (13:03 -0700)]
filenode: add is_mutable to non-MutableFileNode classes
Brian Warner [Mon, 19 May 2008 19:57:04 +0000 (12:57 -0700)]
webish: complete rewrite, break into smaller pieces, auto-create directories, improve error handling
Brian Warner [Mon, 19 May 2008 19:56:02 +0000 (12:56 -0700)]
test_web: implement API changes from the recent webapi.txt overhaul
Brian Warner [Mon, 19 May 2008 19:47:46 +0000 (12:47 -0700)]
webapi.txt: overhaul documentation. API changes are as follows:
* download/upload localdir=/localfile= has been removed. This sort of ambient
authority was unsafe to expose over the web (CSRF), and at some point
soon we'll have 'cp -r' in the CLI to replace it.
* GET save=filename -> GET filename=filename&save=true
* GET t=download removed
* side-effect causing operations now use POST where appropriate, not PUT
* to create multiple directories, either use
* POST /uri/DIRCAP/parent?t=mkdir&name=child (more form/browser oriented)
* POST /uri/DIRCAP/parent/child?t=mkdir (more machine oriented)
The t=mkdir-p form is still accepted, but not preferred (since it leaks
the child name queryarg into the logs)
* use PUT /uri/MUTABLEFILECAP or PUT /uri/DIRCAP/child (on a mutable file) to
replace its contents, or POST /same?t=upload from forms
* response bodies and codes are better specified than before
Brian Warner [Mon, 19 May 2008 19:33:39 +0000 (12:33 -0700)]
test_web.py: minor cleanups, improved error reporting
Brian Warner [Mon, 19 May 2008 19:32:09 +0000 (12:32 -0700)]
test_web.py: localdir=/localfile= is going away, so remove the tests that exercise it
Brian Warner [Mon, 19 May 2008 21:24:41 +0000 (14:24 -0700)]
debug dump-share: print size of encprivkey and signature too
Brian Warner [Mon, 19 May 2008 21:16:02 +0000 (14:16 -0700)]
servermap.py: add size_of_version(), to retrieve the size of a mutable file version
Peter Secor [Mon, 19 May 2008 20:00:29 +0000 (13:00 -0700)]
native client - Mike updated build to allow for AllmydataTray to stop/start the Manager process
Peter Secor [Mon, 19 May 2008 19:47:31 +0000 (12:47 -0700)]
windows installer - fix quoting on start/stop of Allmydata Manager and update version #
Peter Secor [Mon, 19 May 2008 19:08:05 +0000 (12:08 -0700)]
windows installer - added startup line for AllmydataManager, removal of the service at uninstall
Peter Secor [Sat, 17 May 2008 01:57:31 +0000 (18:57 -0700)]
windows installer - trying to get the new Allmydata Manager service to start automatically
Peter Secor [Sat, 17 May 2008 01:12:57 +0000 (18:12 -0700)]
windows installer - changed to update for Mikes recent changes to add AllmydataManager which uses a named pipe to avoid some permissions issues on Vista and fixes some netowkr problems
Peter Secor [Sat, 17 May 2008 01:04:05 +0000 (18:04 -0700)]
native client - Mikes changes to have a manager to start/stop services with a named pipe, limit the size of the logfile to 5mb, install the loopback adapter, still need to make changes to the installer to automatically start them up
Brian Warner [Fri, 16 May 2008 23:09:47 +0000 (16:09 -0700)]
dirnode: add overwrite= to most API calls, defaulting to True. When False, this raises ExistingChildError rather than overwriting an existing child
Brian Warner [Fri, 16 May 2008 23:08:38 +0000 (16:08 -0700)]
testutil.shouldFail: mention the 'which' string in substring failures too
Brian Warner [Wed, 14 May 2008 21:32:21 +0000 (14:32 -0700)]
webish: add /file links, change directory page to use them. This fixes filenames in wget. Closes #221.
Brian Warner [Wed, 14 May 2008 20:55:47 +0000 (13:55 -0700)]
introweb.py: tolerate foolscap>=0.2.6, which changed the internals of .locationHints
Brian Warner [Wed, 14 May 2008 20:10:41 +0000 (13:10 -0700)]
test_mutable.py: test replacing a file that has one new outlier share present: closes #272
Brian Warner [Sat, 10 May 2008 01:06:29 +0000 (18:06 -0700)]
CLI.txt: document proposed scp:-based CLI syntax
Brian Warner [Fri, 9 May 2008 19:36:19 +0000 (12:36 -0700)]
docs/CLI.txt: provide an overview of bin/tahoe subcommands
Brian Warner [Fri, 9 May 2008 01:02:55 +0000 (18:02 -0700)]
use a weakref cache in the client to manage singleton filenodes/dirnodes, to avoid autocollision. Should close #391.
Brian Warner [Fri, 9 May 2008 01:01:31 +0000 (18:01 -0700)]
check_memory: oops, fix HTTP-based modes: trailing slash in node.url vs no slash
Brian Warner [Thu, 8 May 2008 23:53:35 +0000 (16:53 -0700)]
test_dirnode: improve coverage of not-mutable-error a bit
Brian Warner [Thu, 8 May 2008 23:49:27 +0000 (16:49 -0700)]
check_memory: don't use fixed webports, they cause occasional test failures
Brian Warner [Thu, 8 May 2008 23:19:42 +0000 (16:19 -0700)]
deep-stats: add file-size histogram
Brian Warner [Thu, 8 May 2008 20:42:42 +0000 (13:42 -0700)]
test_dirnode: the size of the directories varies, tolerate it as low as 500 bytes
Brian Warner [Thu, 8 May 2008 20:33:07 +0000 (13:33 -0700)]
dirnode: refactor deep-stats a bit
Brian Warner [Thu, 8 May 2008 20:21:14 +0000 (13:21 -0700)]
dirnode: add a deep_stats(), like deep-size but with more information. webish adds t=deeps-size too.
Brian Warner [Thu, 8 May 2008 18:37:30 +0000 (11:37 -0700)]
run a stats provider even if there's no gatherer, since the HTTP /statistics page is then useful. Only run the once-per-second load-monitor if there is a gatherer configured
Brian Warner [Thu, 8 May 2008 01:36:37 +0000 (18:36 -0700)]
dirnode: use the concurrency limiter in t=manifest and t=deep-size, allow 10 retrievals in parallel
Brian Warner [Thu, 8 May 2008 01:35:53 +0000 (18:35 -0700)]
limiter: fix bug that ignores the limit= argument
robk-tahoe [Wed, 7 May 2008 23:42:20 +0000 (16:42 -0700)]
tahoefuse: fix typo which could cause data corruption
a typo in the 'flags2mode' code would wind up passing the O_APPEND
flag into the os open() call, which would cause the file to be opened
in 'strict append' mode, i.e. all writes extend the file, regardless of
calls to seek.
this causes a problem for tahoefuse in that the seek() calls made to
filehandles open through fuse would be ignored when write()s occurred.
this was evidenced by corruption seen when using rsync. it turns out
that rsync actually makes overlapping writes in some cases, i.e. even
when writing a new fresh file out, it still doesn't write a simple
contiguous span of data, but will make writes overlapping data already
written. this is probably related to the way it manages data blocks
internally for rolling checksums etc. at any rate, this bug would
thus cause rsync in those cases to write a chunk of duplicate data
into the file - leading to tahoe securely and reliably storing the
wrong data.
fixing this, so that non-append file opens do not pass O_APPEND seems
to eliminate this problem.