Commit Graph

2429 Commits

Author SHA1 Message Date
robk-tahoe
ccda06b061 key_generator: added a unit test
implemented a unit test of basic KeyGenService functionality,
fixed a bug in the timing of pool refreshes
2008-04-03 13:01:43 -07:00
Peter Secor
d49a82996a native client - MikeB's updates to do delayed caching (introduces write delays if cache gets big), status indicator if uploading files on Windows (flashing system tray icon) 2008-04-03 13:39:46 -07:00
Brian Warner
06dae8fd67 trial_figleaf.py: make our figleaf code compatible with both Twisted-8.x and Twisted-2.5.x 2008-04-02 17:48:55 -07:00
robk-tahoe
5578559b85 added offloaded key generation
this adds a new service to pre-generate RSA key pairs.  This allows
the expensive (i.e. slow) key generation to be placed into a process
outside the node, so that the node's reactor will not block when it
needs a key pair, but instead can retrieve them from a pool of already
generated key pairs in the key-generator service.

it adds a tahoe create-key-generator command which initialises an 
empty dir with a tahoe-key-generator.tac file which can then be run
via twistd.  it stashes its .pem and portnum for furl stability and
writes the furl of the key gen service to key_generator.furl, also
printing it to stdout.

by placing a key_generator.furl file into the nodes config directory
(e.g. ~/.tahoe) a node will attempt to connect to such a service, and
will use that when creating mutable files (i.e. directories) whenever
possible.  if the keygen service is unavailable, it will perform the
key generation locally instead, as before.
2008-04-01 18:45:13 -07:00
Zooko O'Whielacronx
d6c66f99c0 setup: rename GNUmakefile to Makefile
It's evil and wrong to call something a "Makefile" when it contains code that can't be interpreted by POSIX make and requires GNU make.
But everyone else is doing it.  ;-)
2008-04-01 12:36:09 -07:00
Brian Warner
f9e261d939 introducer.py: accelerate reconnection after being offline. Closes #374.
When we establish any new connection, reset the delays on all the other
Reconnectors. This will trigger a new batch of connection attempts. The idea
is to detect when we (the client) have been offline for a while, and to
connect to all servers when we get back online. By accelerating the timers
inside the Reconnectors, we try to avoid spending a long time in a
partially-connected state (which increases the chances of causing problems
with mutable files, by not updating all the shares that we ought to).
2008-03-31 15:28:45 -07:00
Brian Warner
fb51a60993 munin plugins: add 'graph_category tahoe' 2008-03-28 16:18:30 -07:00
Brian Warner
5da9f42cf8 add munin/tahoe-rootdir-space 2008-03-28 16:18:09 -07:00
Brian Warner
da6ab9f522 munin/tahoe-introstats.py: put this graph in the 'tahoe' category 2008-03-28 14:51:37 -07:00
Peter Secor
3d9c4bcb2f native client - removed unused file (used to be for elevating privileges) and changed installer to start up the AllmydataTray executable directly 2008-03-28 12:25:08 -07:00
Peter Secor
a2b27135db native client - changing way the executables ask for elevated privileges 2008-03-27 23:41:07 -07:00
Brian Warner
d6be5116f5 storage: emit log messages on bucket allocate/read and mutable writev 2008-03-27 17:33:58 -07:00
Zooko O'Whielacronx
eb4a7b5b0c docs: fix anchor text of hyperlink to tarball 2008-03-27 19:01:29 -07:00
Brian Warner
6b416fc28c helper: add another munin plugin 2008-03-27 16:50:30 -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
Peter Secor
c04c2799bf native client - updated to auto mount drive at start as well as when the drive is opened 2008-03-26 21:26:31 -07:00
Peter Secor
f50b173028 native client - updated to automatically create a Backup directory, temp directory cleanup, automatic mounting and unmounting of the drive when starting and stopping the service, lots of Vista backup error fixes 2008-03-26 21:05:30 -07:00
Brian Warner
3f5fed0bd4 node.py: make twistd.pid world-readable, so stats-gathering tools (specifically memory-measuring munin plugins) can see it 2008-03-26 18:37:54 -07:00
Brian Warner
1ad847d4b2 boodlegrid.tac: update sound samples 2008-03-26 18:22:07 -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
ccce37bb4a misc/boodlegrid.tac: tool to monitor a grid through its flogports 2008-03-26 16:09:34 -07:00
Zooko O'Whielacronx
5aa7986497 setup: remove bundled setuptools-0.6c7 2008-03-26 12:13:21 -07:00
Zooko O'Whielacronx
d7cf033049 setup: require setuptools >= v0.6c8 2008-03-26 12:13:02 -07:00
Zooko O'Whielacronx
3e4b3f49b7 setup: bundle setuptools-0.6c8, we need a bugfix in it 2008-03-26 12:12:34 -07:00
Zooko O'Whielacronx
4efbd09f48 setup: merge in changes to ez_setup.py from the upstream setuptools project 2008-03-26 12:11:28 -07:00
Zooko O'Whielacronx
39272a1b6d setup: simplify makefile's path manipulation now that we rely on setup.py develop 2008-03-26 10:00:33 -07:00
zandr
f4d51ea366 tahoe-nodememory.py: change category to Tahoe 2008-03-25 18:42:11 -07:00
Zooko O'Whielacronx
f91d937925 docs: link to the 1.0.0 tarball in docs/install.html 2008-03-25 20:22:29 -07:00
Zooko O'Whielacronx
f1a11e7c5a TAG allmydata-tahoe-1.0.0 2008-03-25 18:29:04 -07:00
Zooko O'Whielacronx
ef151670dd docs: update relnotes.txt for Tahoe v1.0! 2008-03-25 18:28:00 -07:00
zandr
5245140a1c Copy amd-nodememory munin plugin over to tahoe and point at correct pidfile 2008-03-25 17:50:04 -07:00
Peter Secor
85895511f3 native client - updated to fix windows vista backup rproblems, edit word documents directly on the drive, requeue files that failed to upload from the node to the helper 2008-03-25 17:00:59 -07:00
Brian Warner
490f815e8f add a munin plugin to display introducer stats 2008-03-25 13:15:52 -07:00
Brian Warner
4531d1e953 introweb.py: add ?t=json, to provide machine-readable subscriber counts 2008-03-25 12:56:12 -07:00
Brian Warner
4b46f1cd53 encode.py: also record the size, along with plaintext_hash and SI 2008-03-24 19:08:15 -07:00
Brian Warner
15ef9f624d encode: log a plaintext hash and SI for each upload. This will allow the log gatherer to correlate the two, to better measure the benefits of convergence 2008-03-24 18:55:37 -07:00
robk-tahoe
7f14b93341 confwiz: set a convergence domain based on root_dir upon config
when the confwiz configures a node (i.e. typically once on mac, once per
install on windows) in addition to writing the root_dir.cap retrieved from
the native_client backend into a config file, it additionally writes a hash
thereof into the 'convergence' config file.

this causes uploads from this node to use a consistent 'convergence' hashing
value matching any other nodes with the same configured root_dir, i.e. for
the most part other systems installed and configured on the same account.
2008-03-24 15:47:12 -07:00
robk-tahoe
d25d3065d1 mutable: revise a couple of error messages
at brian and zooko's suggestion, reword an error message encountered when
multiple writers are racing to make overlapping changes to a directory
2008-03-24 15:46:28 -07:00
Brian Warner
1869d7c29b upload.py: remove spurious trailing quotes that confuse syntax-highlighting 2008-03-24 15:51:19 -07:00
Brian Warner
1e097766c9 disable plaintext hashes in shares, but leave a switch to turn it back on 2008-03-24 13:39:51 -07:00
Brian Warner
7b21054c33 UNDO: upload: stop putting plaintext and ciphertext hashes in shares.
This removes the guess-partial-information attack vector, and reduces
the amount of overhead that we consume with each file. It also introduces
a forwards-compability break: older versions of the code (before the
previous download-time "make hashes optional" patch) will be unable
to read files uploaded by this version, as they will complain about the
missing hashes. This patch is experimental, and is being pushed into
trunk to obtain test coverage. We may undo it before releasing 1.0.
2008-03-23 15:35:54 -07:00
Zooko O'Whielacronx
3b7b1932a9 CREDITS: add Paul Gerhardt, who submitted a small patch for make check-deps to be more newbie-friendly 2008-03-25 11:47:39 -07:00
Zooko O'Whielacronx
4c21a7e0ef setup: don't echo "signal-error" to stdout when testing for errors
This patch is thanks to Paul Gerhardt.
2008-03-25 11:45:55 -07:00
Zooko O'Whielacronx
29b844efaf docs: document the private/convergence configuration file 2008-03-25 11:22:41 -07:00
Zooko O'Whielacronx
dfdbb95648 fix check-memory to use new upload API (which requires a "convergence" argument), and change it to measure convergence instead of random-key, since convergence is the use case we care about more 2008-03-24 15:28:04 -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
7996131a0a upload: stop putting plaintext and ciphertext hashes in shares.
This removes the guess-partial-information attack vector, and reduces
the amount of overhead that we consume with each file. It also introduces
a forwards-compability break: older versions of the code (before the
previous download-time "make hashes optional" patch) will be unable
to read files uploaded by this version, as they will complain about the
missing hashes. This patch is experimental, and is being pushed into
trunk to obtain test coverage. We may undo it before releasing 1.0.
2008-03-23 15:35:54 -07:00
Brian Warner
553367d567 download: make plaintext and ciphertext hashes in the UEB optional.
Removing the plaintext hashes can help with the guess-partial-information
attack. This does not affect compatibility, but if and when we actually
remove any hashes from the share, that will introduce a 
forwards-compatibility break: tahoe-0.9 will not be able to read such files.
2008-03-23 14:46:49 -07:00