]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commit
added offloaded key generation
authorrobk-tahoe <robk-tahoe@allmydata.com>
Wed, 2 Apr 2008 01:45:13 +0000 (18:45 -0700)
committerrobk-tahoe <robk-tahoe@allmydata.com>
Wed, 2 Apr 2008 01:45:13 +0000 (18:45 -0700)
commit5578559b8566b7dc67439449bb503c34c38324ff
tree2669869460743e148f10f5304955bd9001f1bb41
parentd6c66f99c01efd3edbd5b177e7348a159d155c2e
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.
src/allmydata/client.py
src/allmydata/dirnode.py
src/allmydata/interfaces.py
src/allmydata/key_generator.py [new file with mode: 0644]
src/allmydata/mutable.py
src/allmydata/scripts/keygen.py [new file with mode: 0644]
src/allmydata/scripts/runner.py
src/allmydata/test/common.py
src/allmydata/test/test_mutable.py