Commit Graph

1021 Commits

Author SHA1 Message Date
Brian Warner
5bdff74e5b web: stop using absolute links (or url.here) in forms and pages, since they break behind proxies. Partially addresses #461 2008-06-17 19:49:40 -07:00
Brian Warner
166e68f2a3 web /statistics : show 0 instead of None for mutable files 2008-06-16 16:37:04 -07:00
robk-tahoe
212c19fc45 webish: re-fix the addSlash issue in directory rendering
having fixed the relevant unit test not to assert incorrect behaviour of
the node when rendering directories, it's now safe to fix the latter.
2008-06-11 15:35:27 -07:00
Brian Warner
4c681847f8 directory.py: revert that addSlash, it causes a test to fail and we don't understand it yet, and we don't need the fix quite yet 2008-06-11 12:59:28 -07:00
robk-tahoe
021a9e370f webish: fix directory url redirection
when rendering a directory in webish, if the url did not correctly include
a trailing slash '/' then the browser will be redirected to a url which 
does.  this causes any relative links (e.g. the 'other representations'
which are links to files relative to the current directory) to be correctly
intrpreted as relative to the directory in question by the browser.

uses twisted's addSlash mechanism, which is designed for this purpose :-)
2008-06-11 12:46:28 -07:00
Zooko O'Whielacronx
65618ba5a2 wapi/wui: add a trailing slash to the targets of hyperlinks of children of the current directory when those targets are directories
This is intended to fix #458 '"other representations" broken in webish ui'.
2008-06-10 19:59:38 -07:00
Brian Warner
0aa6d24d62 web: add test for unicode POST when the name comes from name=, not the filename attribute 2008-06-03 17:09:39 -07:00
Brian Warner
9f5075e83d web: make nickname more visible in the welcome page, closes #361 2008-06-03 15:02:10 -07:00
Brian Warner
9f59ecafbb webish: make /cap/ equivalent to /uri/, accepting both with the same meanings. Closes #428 2008-06-03 14:34:00 -07:00
Brian Warner
32c89a8d59 web: transform FileTooLargeError into a friendlier '413 Request Entity Too Large' error 2008-06-03 00:03:16 -07:00
Brian Warner
3ac4a734e5 web t=json: add 'mutable' key to the information dict 2008-05-20 15:40:49 -07:00
Brian Warner
8dded7819c web: fix JSON output for mutable files 2008-05-20 15:14:19 -07:00
Brian Warner
e323019708 web: handle PUT mutable=true properly 2008-05-20 12:36:02 -07:00
Brian Warner
6b51841ec8 web: even more test coverage 2008-05-20 11:33:14 -07:00
Brian Warner
2eadabbf82 web: improve test coverage, remove some dead code 2008-05-20 11:13:12 -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
f9cd30d9bc webish: complete rewrite, break into smaller pieces, auto-create directories, improve error handling 2008-05-19 12:57:04 -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
1e4b904b1a web status: abbreviate file size in the upload+download summary page 2008-05-07 13:53:58 -07:00
Brian Warner
4b3adb3fcf mutable stats: track mutable bytes published too 2008-04-29 18:20:05 -07:00
Zooko O'Whielacronx
f842656ec2 wui: reorganize the welcome.xhtml page
Jake Edge tried Tahoe out and didn't notice the /status page.  Hopefully with this new organization people like he will see that link more easily.  This also addresses drewp's suggestion that the controls appear above the list of servers instead of below.  (I think that was his suggestion.)  I also reordered the controls.
2008-04-29 15:10:14 -07:00
Brian Warner
186492e620 introducer: only record one announcement per (tubid,service) tuple. Fixes #343. 2008-04-23 15:05:39 -07:00
Brian Warner
9ad6ed3777 web/status: remove trailing whitespace 2008-04-22 11:51:14 -07:00
Brian Warner
8377244c46 mutable status: make the 'total' timing value optional: unit tests fail otherwise 2008-04-21 17:29:12 -07:00
Brian Warner
e8b0f3d3cb mutable status: use google-chart-API to draw server response times for servermap update 2008-04-21 16:16:55 -07:00
Brian Warner
f16f48a909 download status: add time spent paused by the client (when we're serving over a slow HTTP link) 2008-04-21 12:19:17 -07:00
Brian Warner
09dcfeae22 mutable: improve test coverage, fix bug in privkey fetching, add .finished to stats, remove dead code 2008-04-18 19:55:12 -07:00
Brian Warner
e1838ba217 mutable WIP: clean up status handling, shrink the code a lot, improve test coverage 2008-04-17 13:02:22 -07:00
Brian Warner
a1670497a8 mutable WIP: add servermap update status pages 2008-04-16 19:05:41 -07:00
Brian Warner
749c42fa2c mutable WIP: re-enable publish/retrieve status 2008-04-16 17:49:06 -07:00
Brian Warner
b5d19456f4 web/statistics: fix typo that make immutable-download stats missing 2008-04-15 11:20:04 -07:00
Brian Warner
a2dd4d14a6 helper status: include percentage fetched+pushed, add helper-uploads to the upload/download list 2008-04-14 18:36:27 -07:00
Brian Warner
5b8320442a stats: add /statistics web page to show them, add tests 2008-04-14 14:17:08 -07:00
Brian Warner
500934b72f helper stats: fix the /helper_status page, the recent conflict merging missed some uses. Added tests, updated the munin plugins to match 2008-04-14 13:18:53 -07:00
Brian Warner
2c96a32633 helper: add more stats to webapi, at /helper_status 2008-03-27 16:46:08 -07:00
Brian Warner
36f5c025a6 helper: add stats for the gatherer, show some on the webish welcome page 2008-03-27 15:55:32 -07:00
Brian Warner
9b3a32d0b3 add GET /uri/URI/?t=deep-size, to compute the total size of immutable files reachable from a given directory 2008-03-27 11:33:42 -07:00
Brian Warner
04b690ac9e web-status: client methods like list_all_uploads() return Upload instances,
not status instances. Fix this. The symptom was that following a link like
'up-123' that referred to an old operation (no longer in memory) while an
upload was active would get an ugly traceback instead of a "no such resource"
message.
2008-03-26 18:20:07 -07:00
Brian Warner
4531d1e953 introweb.py: add ?t=json, to provide machine-readable subscriber counts 2008-03-25 12:56:12 -07:00
Zooko O'Whielacronx
fc3bd0c987 use added secret to protect convergent encryption
Now upload or encode methods take a required argument named "convergence" which can be either None, indicating no convergent encryption at all, or a string, which is the "added secret" to be mixed in to the content hash key.  If you want traditional convergent encryption behavior, set the added secret to be the empty string.

This patch also renames "content hash key" to "convergent encryption" in a argument names and variable names.  (A different and larger renaming is needed in order to clarify that Tahoe supports immutable files which are not encrypted content-hash-key a.k.a. convergent encryption.)

This patch also changes a few unit tests to use non-convergent encryption, because it doesn't matter for what they are testing and non-convergent encryption is slightly faster.
2008-03-24 09:46:06 -07:00
Brian Warner
75b52cda5c web/status.py: guard against file_size=None, closes #354 2008-03-17 13:31:10 -07:00
Brian Warner
45a1e655c7 introducer: record a timestamp with each announcement, and display it on the introducer's web page 2008-03-11 19:33:19 -07:00
Brian Warner
29e23626ad introducer: record a timestamp with each subscriber, and display it on the introducer's web page 2008-03-11 19:28:37 -07:00
Brian Warner
89be2e1bea introweb: combine announcement and subscriber information to show version+nickname for each client 2008-03-11 19:21:29 -07:00
Brian Warner
fd5a922cad introweb.py: tolerate non-setLocationed client tubs 2008-03-11 18:09:13 -07:00
Brian Warner
3f5abe5cba oops, add introducer.xhtml 2008-03-11 17:41:03 -07:00
Brian Warner
810ba68343 add a webserver for the Introducer, showing service announcements and subscriber lists 2008-03-11 17:36:25 -07:00
Brian Warner
8815b30b9b webish: show storage sizelimit, abbreviate current usage 2008-03-06 21:16:38 -07:00
Brian Warner
3a8bd1b772 webish: add more share information to upload status, including assisted uploads 2008-03-05 19:51:51 -07:00
Brian Warner
dd4a951770 webish: add publish status 2008-03-05 18:41:10 -07:00
Brian Warner
3a331f6822 webish: split out 'unlinked' operations 2008-03-05 15:12:42 -07:00
Brian Warner
4fa622f9b1 webish: this file is too big, start breaking it into pieces, beginning with status 2008-03-05 14:59:56 -07:00
Brian Warner
ec23da28a6 webish: add more mutable-retrieve timing status 2008-03-04 21:04:36 -07:00
Brian Warner
ca1a1762e2 web: status: add 'started' timestamps to all operations 2008-03-04 18:50:44 -07:00
Brian Warner
68fbd89e66 webish: add primitive publish/retrieve status pages 2008-03-04 01:07:44 -07:00
Brian Warner
18eb00d136 webish: download-results: add per-server response times 2008-03-03 20:53:45 -07:00
Brian Warner
886ef22335 webish: download-results: add server_problems 2008-03-03 20:30:35 -07:00
Brian Warner
def910c391 webish download results: add servermap, decrypt time 2008-03-03 20:09:32 -07:00
Brian Warner
2b49605c51 webish: add 'download results', with some basic timing information 2008-03-03 19:19:21 -07:00
Brian Warner
c8e24f0904 webish: make upload timings visible on the recent uploads/downloads status page 2008-03-03 14:48:52 -07:00
Brian Warner
436baa1b19 webish: add per-file upload/download status pages 2008-02-29 23:03:00 -07:00
Brian Warner
1a7651ce82 retain 10 most recent upload/download status objects, show them in /status . Prep for showing individual status objects 2008-02-29 22:19:03 -07:00
Brian Warner
301dd3d489 webish status: distinguish active uploads/downloads from recent ones 2008-02-26 15:35:28 -07:00
Brian Warner
d4bf623b87 current-downloads status: add SI, size, make numsegs 1-based 2008-02-26 15:02:35 -07:00
Brian Warner
b17b7695a4 webish: add /status page to display current uploads/downloads 2008-02-12 15:40:05 -07:00
Brian Warner
3d72d00826 webish: display timestamps 2008-02-11 15:13:18 -07:00
Brian Warner
590b020a44 webish: more upload stats: total encode-and-push rate, already-in-grid existence check time 2008-02-06 02:39:01 -07:00
Brian Warner
652d50d7e0 UploadResults: add more helper timing stats (ciphertext fetch times) 2008-02-06 02:12:35 -07:00
Brian Warner
124fb5ecdf add upload-results timing info for helper uploads. This changes the Helper protocol, and introduces a compatibility break 2008-02-06 01:52:25 -07:00
Brian Warner
93d45abb02 add upload timings and rates to the POST /uri?t=upload results page 2008-02-06 00:41:51 -07:00
Brian Warner
1e4504463c webish: make POST /uri?t=upload deposit you on an 'Upload Results' page 2008-02-05 23:01:37 -07:00
Brian Warner
6afe50e2aa webish: add upload/view-uri forms (not associated with any particular directory) to the welcome page. Document POST /uri?t=upload . 2008-02-05 21:44:40 -07:00
Brian Warner
2f09b03bcc webish: add storage-consumed estimate on welcome page 2008-02-05 20:29:39 -07:00
Brian Warner
4b4eba867b webish: display tahoe import path on the welcome page, to help figure out where the code is coming from 2008-02-05 20:08:49 -07:00
Brian Warner
eb9023ab0e webish: condense display of nickname a little bit 2008-02-05 18:29:28 -07:00
Brian Warner
96e6c78c7a webish: show nickname too 2008-02-05 18:26:05 -07:00
Brian Warner
d146ef7e09 webish: add extra introducer data (version, timestamps) to Welcome page 2008-02-05 17:32:27 -07:00
Brian Warner
8485ff53fc display the Helper FURL and our connection status on the welcome page. Closes #285. 2008-01-28 13:56:22 -07:00
robk-tahoe
6ef4606534 tweak webish to use resource_filename to find css and html files
using sibpath to find web template files relative to source code is functional
when running from source environments, but not especially flexible when running
from bundled built environments.  the more 'orthodox' mechanism, pkg_resources,
in theory at least, knows how to find resource files in various environments.

this makes the 'web' directory in allmydata into an actual allmydata.web module
(since pkg_resources looks for files relative to a named module, and that module
must be importable) and uses pkg_resources.resource_filename to find the files
therein.
2008-01-22 17:44:58 -07:00
Zooko O'Whielacronx
5995d11a3c remove automatic private dir
* rename my_private_dir.cap to root_dir.cap
 * move it into the private subdir
 * change the cmdline argument "--root-uri=[private]" to "--dir-uri=[root]"
2008-01-03 17:02:05 -07:00
Zooko O'Whielacronx
a85a4d71f7 webish: add button to make directories and unit test of it
Unfortunately although it passes the unit tests, it doesn't work, because the unit tests and the implementation use the "encode params into URL" technique but the button uses the "encode params into request body" technique.
2007-12-20 15:31:12 -07:00
Brian Warner
51af1fa2e3 webish: fix overwrite form display 2007-12-05 00:15:13 -07:00
Zooko O'Whielacronx
59d6c3c822 decentralized directories: integration and testing
* use new decentralized directories everywhere instead of old centralized directories
 * provide UI to them through the web server
 * provide UI to them through the CLI
 * update unit tests to simulate decentralized mutable directories in order to test other components that rely on them
 * remove the notion of a "vdrive server" and a client thereof
 * remove the notion of a "public vdrive", which was a directory that was centrally published/subscribed automatically by the tahoe node (you can accomplish this manually by making a directory and posting the URL to it on your web site, for example)
 * add a notion of "wait_for_numpeers" when you need to publish data to peers, which is how many peers should be attached before you start.  The default is 1.
 * add __repr__ for filesystem nodes (note: these reprs contain a few bits of the secret key!)
 * fix a few bugs where we used to equate "mutable" with "not read-only".  Nowadays all directories are mutable, but some might be read-only (to you).
 * fix a few bugs where code wasn't aware of the new general-purpose metadata dict the comes with each filesystem edge
 * sundry fixes to unit tests to adjust to the new directories, e.g. don't assume that every share on disk belongs to a chk file.
2007-12-03 14:52:42 -07:00
Zooko O'Whielacronx
85b972a4c3 WUI: hook up an "overwrite" button on mutable files 2007-11-10 10:53:45 -07:00
Brian Warner
046bda2b47 webish: add checker results and a 'Check' button to the web interface 2007-10-23 17:23:57 -07:00
czooko
d589c385e6 make the anchor text in the WUI be descriptive of the target -- not "Click Here!"! 2007-10-22 16:56:30 -07:00
Brian Warner
5946985c07 add a provisioning utility page which shows necessary storage space and transfer rates for grids of various sizes 2007-08-26 23:44:24 -07:00
Brian Warner
930618fba2 web: oops, forgot to add start.html 2007-08-22 15:08:00 -07:00
Brian Warner
0468448b85 welcome.xhtml: add a link to allmydata.org 2007-07-13 17:15:44 -07:00
robk-org
d65d02fa58 add a 'rename' button to the webish dir view
alongside the 'del' button is now presented a 'rename' button, which takes
the user to a new page, the 't=rename-form' page, which asks ther user for
the new name of the child and ultimately submits a POST request to the dir
for 't=rename' to perform the actual rename i.e. an attach followed by a
delete of children.
2007-07-12 16:53:54 -07:00
Brian Warner
8891544d6c directory.xhtml: oops, missed a comma 2007-07-08 00:44:08 -07:00
Brian Warner
295c3a75c2 directory.xhtml: remove the leftover XML link 2007-07-08 00:33:20 -07:00
Brian Warner
135f08a518 web: remove more dead code 2007-07-07 22:20:03 -07:00
Brian Warner
fb40b55bc3 web: replace welcome-page download-URI form with new version 2007-07-07 22:06:22 -07:00
Brian Warner
9e2ce51de7 web: change title to say 'Tahoe', not tahoe2 2007-07-07 21:30:38 -07:00
Brian Warner
e5482b5254 web: add a 'return to welcome page' link 2007-07-07 21:30:04 -07:00
Brian Warner
b3f0293d50 web: change per-directory forms to match new POST scheme 2007-07-07 20:35:47 -07:00
Brian Warner
7d92b8a123 webish.py: add links to JSON/etc representations of directory contents to the listing 2007-07-07 11:31:07 -07:00
Brian Warner
10a5ff3767 webish: fix ?t=manifest, ?t=xml so they don't throw exceptions, prune directory.xhtml 2007-07-07 11:15:31 -07:00
Brian Warner
6427b44b42 webish: make each link in the directory name an href to that directory 2007-06-29 11:17:18 -07:00
Brian Warner
9ecde0d23e webish: fix link to private_vdrive 2007-06-28 19:07:52 -07:00
Brian Warner
1d86cd161b webish.py: add a web page to display the manifest for any particular directory 2007-06-26 19:55:21 -07:00
Brian Warner
fb02488a8e vdrive: switch to URI:DIR and URI:DIR-RO, providing transitive readonlyness 2007-06-25 13:23:51 -07:00
Brian Warner
2066e8ddfc webish: add option to export/import shared directories (always read-write) 2007-06-15 02:31:23 -07:00
Brian Warner
20dcda4ca7 create a personal (non-shared) vdrive, in addition to the global shared one 2007-06-15 01:33:24 -07:00
Brian Warner
1eba30cd14 webish.py: put the URI in a narrower auto-scrolling box (with CSS) 2007-06-15 01:32:20 -07:00
Brian Warner
48a8c32ed7 webish: display program/library versions on the welcome page 2007-06-11 10:51:11 -07:00
Brian Warner
363ed1264a webish: show vdrive and introducer connectedness separately
Also don't offer a link to the vdrive webpages if we don't have a vdrive.furl
2007-06-09 21:03:57 -07:00
Zooko O'Whielacronx
3872e94da2 rename all "*PBURL*" to "*FURL*"
This breaks backwards compatibility with Tahoe v0.2 -- the first public release of Tahoe.
2007-05-22 14:08:30 -07:00
Zooko O'Whielacronx
9b70d17d4b enable private upload, in which the file is inserted at the grid layer but not at the vdrive layer
This patch is actually by Faried Nawaz, as per ticket #33:

http://allmydata.org/trac/tahoe/ticket/33
2007-05-16 08:40:19 -07:00
Faried Nawaz
2016b846b9 display file size in directory.xhtml 2007-05-04 13:07:32 -07:00
Zooko O'Whielacronx
e0a18d12af globally search and replace "mesh" with "grid" and adjust description of the effect of NAT on the topology 2007-04-30 13:06:09 -07:00
Brian Warner
a3c9ead74f replace 'queen' with 'introducer' in a lot of places, but not all 2007-04-19 17:30:21 -07:00
Brian Warner
60bddba827 webish: add 'my nodeid' to the page 2007-03-29 14:31:55 -07:00
Brian Warner
611178490a fix some python2.5 incompatibilities, and remove an old webish display that suggested we might know about peers but not be connected to them 2007-03-27 17:44:49 -07:00
Brian Warner
25ff9e1f97 complete the Introducer changes, separate out vdrive access, make everything work again 2007-03-27 16:12:11 -07:00
Brian Warner
8e03d19ccc webish: add PBURL to the all-peers table on the welcome page 2007-01-16 21:01:18 -07:00
Brian Warner
3fb37ae246 webish: more verifierid-to-uri transition 2007-01-16 19:55:53 -07:00
Brian Warner
3490378551 move all packages into src/, fix allmydata.Crypto build. Now you must perform a 'setup.py build' before using anything, and you must add the build directory (build/lib.linux-i686-2.4) to your PYTHONPATH before doing anything 2006-12-14 03:39:50 -07:00