tahoe-lafs/src/allmydata/web
Brian Warner bc21726dfd new introducer: signed extensible dictionary-based messages! refs #466
This introduces new client and server halves to the Introducer (renaming the
old one with a _V1 suffix). Both have fallbacks to accomodate talking to a
different version: the publishing client switches on whether the server's
.get_version() advertises V2 support, the server switches on which
subscription method was invoked by the subscribing client.

The V2 protocol sends a three-tuple of (serialized announcement dictionary,
signature, pubkey) for each announcement. The V2 server dispatches messages
to subscribers according to the service-name, and throws errors for invalid
signatures, but does not otherwise examine the messages. The V2 receiver's
subscription callback will receive a (serverid, ann_dict) pair. The
'serverid' will be equal to the pubkey if all of the following are true:

  the originating client is V2, and was told a privkey to use
  the announcement went through a V2 server
  the signature is valid

If not, 'serverid' will be equal to the tubid portion of the announced FURL,
as was the case for V1 receivers.

Servers will create a keypair if one does not exist yet, stored in
private/server.privkey .

The signed announcement dictionary puts the server FURL in a key named
"anonymous-storage-FURL", which anticipates upcoming Accounting-related
changes in the server advertisements. It also provides a key named
"permutation-seed-base32" to tell clients what permutation seed to use. This
is computed at startup, using tubid if there are existing shares, otherwise
the pubkey, to retain share-order compatibility for existing servers.
2012-03-13 18:24:32 -07:00
..
static tahoe.css: fix #section typo, update welcome.xhtml to match 2012-03-06 18:22:41 -08:00
__init__.py tweak webish to use resource_filename to find css and html files 2008-01-22 17:44:58 -07:00
check_results.py replace IServer.name() with get_name(), and get_longname() 2011-08-01 10:44:28 -07:00
check-and-repair-results.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
check-results.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
common.py misc mutable-type fixes: 2011-10-13 09:32:29 -07:00
deep-check-and-repair-results.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
deep-check-results.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
directory.py webapi: use all-caps "SDMF"/"MDMF" acronyms in t=json response 2011-10-13 09:31:43 -07:00
directory.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
download-status-timeline.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
download-status.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
filenode.py web/filenode.py: rely on Request.notifyFinish. Closes #1366. 2011-10-13 13:12:19 -07:00
helper.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
info.py webapi changes for MDMF 2011-08-06 17:43:48 -07:00
info.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
introducer.xhtml introducer web page: add CSS styling, roughly match client Welcome page 2012-03-06 18:25:05 -08:00
introweb.py new introducer: signed extensible dictionary-based messages! refs #466 2012-03-13 18:24:32 -07:00
literal-check-results.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
manifest.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
map-update-status.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
operations.py Increase ophandle expiration times, per #577 2010-02-20 17:05:12 -08:00
publish-status.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
rename-form.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
retrieve-status.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
root.py Add nickname/nodeid to storage-status web page. Closes #1204. 2012-03-12 19:57:36 -07:00
statistics.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
status.py Rewrite download-status-timeline visualizer ('viz') with d3.js 2011-10-31 23:18:21 -07:00
status.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
storage_status.xhtml Add nickname/nodeid to storage-status web page. Closes #1204. 2012-03-12 19:57:36 -07:00
storage.py Add nickname/nodeid to storage-status web page. Closes #1204. 2012-03-12 19:57:36 -07:00
unlinked.py misc mutable-type fixes: 2011-10-13 09:32:29 -07:00
upload-results.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
upload-status.xhtml Marcus Wanner's favicon patch. fixes #1592 2011-12-17 03:32:01 +00:00
welcome.xhtml Make the link on the Welcome page to 'https://tahoe-lafs.org/', not 'http:'. Includes a test. fixes #1682 2012-03-08 23:17:58 +00:00