Commit Graph

2636 Commits

Author SHA1 Message Date
Brian Warner
8e92dfcb50 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 2008-05-19 19:28:50 -07:00
Brian Warner
9662e6d986 test/common: oops, forgot the FakeMutableFileNode.get_readonly fix 2008-05-19 18:52:19 -07:00
Brian Warner
ef929e51f9 web: improve test coverage 2008-05-19 18:38:39 -07:00
Brian Warner
fe8fdfac64 web/filenode: remove unreachable code 2008-05-19 18:38:28 -07:00
Brian Warner
daebb42060 web/directory: fix rw_uri output in t=JSON to reflect mutable files properly 2008-05-19 18:37:28 -07:00
Brian Warner
d0685d42ff web: factor out identical renderHTTP methods 2008-05-19 15:19:25 -07:00
Brian Warner
242b98f750 webish: censor URLs that start with /file and /named too 2008-05-19 14:34:13 -07:00
Brian Warner
fdb4149bad test_web: remove leftover import to hush pyflakes 2008-05-19 14:28:39 -07:00
Brian Warner
b1d2922ea3 test_system: match webapi change, making new files now returns 201 Created, not 200 OK 2008-05-19 14:09:31 -07:00
Brian Warner
40172047a0 filenode: add is_mutable to non-MutableFileNode classes 2008-05-19 13:03:00 -07:00
Brian Warner
f9cd30d9bc webish: complete rewrite, break into smaller pieces, auto-create directories, improve error handling 2008-05-19 12:57:04 -07:00
Brian Warner
b8c0217ad5 test_web: implement API changes from the recent webapi.txt overhaul 2008-05-19 12:56:02 -07:00
Brian Warner
151f69d9b5 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
2008-05-19 12:47:46 -07:00
Brian Warner
869e1ed41a test_web.py: minor cleanups, improved error reporting 2008-05-19 12:33:39 -07:00
Brian Warner
3360fd24fc test_web.py: localdir=/localfile= is going away, so remove the tests that exercise it 2008-05-19 12:32:09 -07:00
Brian Warner
b2f8c22fb8 debug dump-share: print size of encprivkey and signature too 2008-05-19 14:24:41 -07:00
Brian Warner
154dca10a0 servermap.py: add size_of_version(), to retrieve the size of a mutable file version 2008-05-19 14:16:02 -07:00
Peter Secor
7c8267085e native client - Mike updated build to allow for AllmydataTray to stop/start the Manager process 2008-05-19 13:00:29 -07:00
Peter Secor
472133ea18 windows installer - fix quoting on start/stop of Allmydata Manager and update version # 2008-05-19 12:47:31 -07:00
Peter Secor
808c5d6466 windows installer - added startup line for AllmydataManager, removal of the service at uninstall 2008-05-19 12:08:05 -07:00
Peter Secor
0636a85765 windows installer - trying to get the new Allmydata Manager service to start automatically 2008-05-16 18:57:31 -07:00
Peter Secor
494f197f7e 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 2008-05-16 18:12:57 -07:00
Peter Secor
06820cc52b 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 2008-05-16 18:04:05 -07:00
Brian Warner
87c1e8e066 dirnode: add overwrite= to most API calls, defaulting to True. When False, this raises ExistingChildError rather than overwriting an existing child 2008-05-16 16:09:47 -07:00
Brian Warner
1121df6664 testutil.shouldFail: mention the 'which' string in substring failures too 2008-05-16 16:08:38 -07:00
Brian Warner
304abfee32 webish: add /file links, change directory page to use them. This fixes filenames in wget. Closes #221. 2008-05-14 14:32:21 -07:00
Brian Warner
5098297a2b introweb.py: tolerate foolscap>=0.2.6, which changed the internals of .locationHints 2008-05-14 13:55:47 -07:00
Brian Warner
ff0b9e2549 test_mutable.py: test replacing a file that has one new outlier share present: closes #272 2008-05-14 13:10:41 -07:00
Brian Warner
0838f76e0f CLI.txt: document proposed scp:-based CLI syntax 2008-05-09 18:06:29 -07:00
Brian Warner
e2af2decdc docs/CLI.txt: provide an overview of bin/tahoe subcommands 2008-05-09 12:36:19 -07:00
Brian Warner
26187bfc81 use a weakref cache in the client to manage singleton filenodes/dirnodes, to avoid autocollision. Should close #391. 2008-05-08 18:02:55 -07:00
Brian Warner
8f4e409677 check_memory: oops, fix HTTP-based modes: trailing slash in node.url vs no slash 2008-05-08 18:01:31 -07:00
Brian Warner
7323ced8e4 test_dirnode: improve coverage of not-mutable-error a bit 2008-05-08 16:53:35 -07:00
Brian Warner
411f578c19 check_memory: don't use fixed webports, they cause occasional test failures 2008-05-08 16:49:27 -07:00
Brian Warner
fabdc28c06 deep-stats: add file-size histogram 2008-05-08 16:19:42 -07:00
Brian Warner
a1ea3d9b37 test_dirnode: the size of the directories varies, tolerate it as low as 500 bytes 2008-05-08 13:42:42 -07:00
Brian Warner
e6ae7a2c60 dirnode: refactor deep-stats a bit 2008-05-08 13:33:07 -07:00
Brian Warner
6c00a70dbc dirnode: add a deep_stats(), like deep-size but with more information. webish adds t=deeps-size too. 2008-05-08 13:21:14 -07:00
Brian Warner
462ef2a0ac 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 2008-05-08 11:37:30 -07:00
Brian Warner
3cb361e233 dirnode: use the concurrency limiter in t=manifest and t=deep-size, allow 10 retrievals in parallel 2008-05-07 18:36:37 -07:00
Brian Warner
d76cf6f748 limiter: fix bug that ignores the limit= argument 2008-05-07 18:35:53 -07:00
robk-tahoe
abae0345ad 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.
2008-05-07 16:42:20 -07:00
robk-tahoe
8179daee4a tahoefuse: return bogus but useful data to statfs call
previously tahoefuse returned the fs stat for the filesystem the fuse plugin
was running upon (e.g. '/').  this works ok until you need to copy more to
tahoe than the local machine has free disk space, at which point Finder will
refuse to copy 'too much' data.

this changes it so that tahoe always reports 2TiB used of an 8TiB filesystem
this is entirely bogus, but allows copies of up to 2TiB to be initiated.
2008-05-07 16:40:09 -07:00
Brian Warner
15a9f3d01b test_util: improve ConcurrencyLimiter tests 2008-05-07 17:00:47 -07:00
Brian Warner
c7e441309d add a basic concurrency limiter utility 2008-05-07 16:53:30 -07:00
Brian Warner
6f089a45b2 boringfile: add Twisted .egg files 2008-05-07 16:52:48 -07:00
Brian Warner
1e4b904b1a web status: abbreviate file size in the upload+download summary page 2008-05-07 13:53:58 -07:00
Brian Warner
74df0b58b5 munin: add tahoe_cpu_watcher.py, to track the data from misc/cpu-watcher.tac 2008-05-07 13:19:08 -07:00
Brian Warner
79147a3f6a misc/cpu-watcher*: add some tools to monitor CPU usage of arbitrary processes, like tahoe nodes 2008-05-07 12:34:29 -07:00
Zooko O'Whielacronx
c1184f51e4 docs: fix a few stale comments in code 2008-05-07 08:39:03 -07:00