Zooko O'Whielacronx [Fri, 29 Jun 2007 23:43:20 +0000 (16:43 -0700)]
roadmap.txt: add mention of decentralized introduction (#68)
Zooko O'Whielacronx [Fri, 29 Jun 2007 22:33:38 +0000 (15:33 -0700)]
edit README and require Nevow 0.9.18
If anybody out there is running with Nevow < v0.9.18 and wants to vouch for it, then we can relax that requirement.
Zooko O'Whielacronx [Fri, 29 Jun 2007 22:28:15 +0000 (15:28 -0700)]
clarify licence
Brian Warner [Fri, 29 Jun 2007 18:17:18 +0000 (11:17 -0700)]
webish: make each link in the directory name an href to that directory
Brian Warner [Fri, 29 Jun 2007 17:43:27 +0000 (10:43 -0700)]
update roadmap.txt a bit
Brian Warner [Fri, 29 Jun 2007 02:20:28 +0000 (19:20 -0700)]
test_system: stall for a second while bouncing the client, it might help windows
Brian Warner [Fri, 29 Jun 2007 02:07:52 +0000 (19:07 -0700)]
webish: fix link to private_vdrive
Brian Warner [Fri, 29 Jun 2007 01:01:00 +0000 (18:01 -0700)]
client.py: remove unused import
Brian Warner [Fri, 29 Jun 2007 01:00:30 +0000 (18:00 -0700)]
roadmap: update filesystem/filetree/dirnode items
Brian Warner [Fri, 29 Jun 2007 00:55:13 +0000 (17:55 -0700)]
client.py: remove unused code
Brian Warner [Fri, 29 Jun 2007 07:50:00 +0000 (00:50 -0700)]
interfaces.py: remove some unused 'pass' lines
Brian Warner [Fri, 29 Jun 2007 00:46:14 +0000 (17:46 -0700)]
change IVirtualDrive.get_node_at_path to accept either a list or a single slash-separated string
Brian Warner [Thu, 28 Jun 2007 22:05:33 +0000 (15:05 -0700)]
test_system.py: more vdrive coverage
Brian Warner [Thu, 28 Jun 2007 18:00:03 +0000 (11:00 -0700)]
vdrive: add get_node_at_path(pathlist)
Brian Warner [Thu, 28 Jun 2007 17:59:51 +0000 (10:59 -0700)]
vdrive: make sure we really record global/private root directory uris
Brian Warner [Thu, 28 Jun 2007 00:11:06 +0000 (17:11 -0700)]
Add the 'vdrive' service, for clients to access the public/private root dirs.
These allow client-side code to conveniently retrieve the IDirectoryNode
instances for both the global shared public root directory, and the per-user
private root directory.
Brian Warner [Wed, 27 Jun 2007 02:55:21 +0000 (19:55 -0700)]
webish.py: add a web page to display the manifest for any particular directory
Brian Warner [Wed, 27 Jun 2007 02:41:20 +0000 (19:41 -0700)]
dirnode: add build_manifest() and introduce 'refresh capabilities'
Brian Warner [Wed, 27 Jun 2007 00:25:23 +0000 (17:25 -0700)]
remove unused/obsoleted workqueue.py
Brian Warner [Wed, 27 Jun 2007 00:16:58 +0000 (17:16 -0700)]
merge vdrive.py and filetable.py into a single dirnode.py
Brian Warner [Tue, 26 Jun 2007 23:51:38 +0000 (16:51 -0700)]
more runner.py test coverage: don't bypass argv parsing
Brian Warner [Tue, 26 Jun 2007 23:19:18 +0000 (16:19 -0700)]
runner.py: improve test coverage further: implement --quiet with StringIOs
Brian Warner [Tue, 26 Jun 2007 22:55:00 +0000 (15:55 -0700)]
dump_uri_extension: improve test coverage of runner.py
Brian Warner [Tue, 26 Jun 2007 22:36:46 +0000 (15:36 -0700)]
improve test coverage of runner.py
Brian Warner [Tue, 26 Jun 2007 19:37:00 +0000 (12:37 -0700)]
webish: mark read-only directories as such when listing their parent
Brian Warner [Tue, 26 Jun 2007 19:36:21 +0000 (12:36 -0700)]
vdrive: protect dirnode contents with an HMAC
Brian Warner [Tue, 26 Jun 2007 03:34:19 +0000 (20:34 -0700)]
remove old filetree code
Brian Warner [Mon, 25 Jun 2007 20:23:51 +0000 (13:23 -0700)]
vdrive: switch to URI:DIR and URI:DIR-RO, providing transitive readonlyness
Brian Warner [Sun, 17 Jun 2007 04:55:13 +0000 (21:55 -0700)]
misc/count_dirs.py: dev tool to estimate filetree space consumption
Brian Warner [Fri, 15 Jun 2007 09:48:19 +0000 (02:48 -0700)]
webish: log dirname in mkdir
Brian Warner [Fri, 15 Jun 2007 09:34:24 +0000 (02:34 -0700)]
webish: when mounting a shared directory, don't automatically move to it
Brian Warner [Fri, 15 Jun 2007 09:31:23 +0000 (02:31 -0700)]
webish: add option to export/import shared directories (always read-write)
Brian Warner [Fri, 15 Jun 2007 08:38:55 +0000 (01:38 -0700)]
test_system.py: match change to /global_vdrive URL
Brian Warner [Fri, 15 Jun 2007 08:33:24 +0000 (01:33 -0700)]
create a personal (non-shared) vdrive, in addition to the global shared one
Brian Warner [Fri, 15 Jun 2007 08:32:57 +0000 (01:32 -0700)]
webish: enable deletion of directories
Brian Warner [Fri, 15 Jun 2007 08:32:20 +0000 (01:32 -0700)]
webish.py: put the URI in a narrower auto-scrolling box (with CSS)
Brian Warner [Fri, 15 Jun 2007 07:47:05 +0000 (00:47 -0700)]
runner.py: add 'dump-directory-node' command
Brian Warner [Fri, 15 Jun 2007 07:37:32 +0000 (00:37 -0700)]
make new vdrive work, implement convenience wrapper, passes all tests
Brian Warner [Fri, 15 Jun 2007 07:01:01 +0000 (00:01 -0700)]
test_filetable: fix to match new vdrive approach
Zooko O'Whielacronx [Fri, 29 Jun 2007 21:22:50 +0000 (14:22 -0700)]
make-version.py invokes darcs as "darcs" instead of "realdarcs"
Some other people might use the official Windows build of darcs, and people who use my cygwin wrapper for darcs will be compatible with this patch as long as they use the latest version of the wrapper.
Zooko O'Whielacronx [Fri, 29 Jun 2007 21:22:30 +0000 (14:22 -0700)]
update CREDITS file
Brian Warner [Fri, 15 Jun 2007 03:14:34 +0000 (20:14 -0700)]
revamp vdrive: nodes with furls. tests still fail.
Brian Warner [Fri, 15 Jun 2007 00:24:56 +0000 (17:24 -0700)]
filetable: switch to new approach with anonymous nodes
Brian Warner [Wed, 13 Jun 2007 01:06:10 +0000 (18:06 -0700)]
make-version.py: it is sys.platform, not os.platform
robk-org [Wed, 13 Jun 2007 00:56:55 +0000 (17:56 -0700)]
make make-version.py exec darcs correctly on windows
Brian Warner [Tue, 12 Jun 2007 02:21:51 +0000 (19:21 -0700)]
upload.py: minor refactoring
Brian Warner [Tue, 12 Jun 2007 01:41:12 +0000 (18:41 -0700)]
roadmap.txt: update w.r.t. filetree and repairer
Brian Warner [Tue, 12 Jun 2007 01:38:21 +0000 (18:38 -0700)]
add 'allmydata-tahoe dump-uri-extension' utility command
Brian Warner [Tue, 12 Jun 2007 01:25:18 +0000 (18:25 -0700)]
refactor URI_extension handlers out of encode/download and into uri.py
Brian Warner [Mon, 11 Jun 2007 17:51:11 +0000 (10:51 -0700)]
webish: display program/library versions on the welcome page
Zooko O'Whielacronx [Wed, 13 Jun 2007 01:55:25 +0000 (18:55 -0700)]
shebang usr bin env python
Zooko O'Whielacronx [Mon, 11 Jun 2007 18:59:57 +0000 (11:59 -0700)]
catch EnvironmentError from attempt to invoke darcs using subprocess module
Brian Warner [Tue, 12 Jun 2007 00:02:50 +0000 (17:02 -0700)]
URI-extension.txt: update docs, we aren't using bencode for this.
Zooko O'Whielacronx [Wed, 9 May 2007 22:58:40 +0000 (15:58 -0700)]
zfec: import latest version.py module from pyutil library
Zooko O'Whielacronx [Wed, 9 May 2007 22:58:24 +0000 (15:58 -0700)]
zfec: fix bug in in-line doc
Zooko O'Whielacronx [Wed, 9 May 2007 22:57:53 +0000 (15:57 -0700)]
zfec: tweak licence text
Zooko O'Whielacronx [Mon, 11 Jun 2007 17:20:14 +0000 (10:20 -0700)]
fix the relnotes.txt -- don't incorrectly attribute a compatibility break to foolscap
Zooko O'Whielacronx [Mon, 11 Jun 2007 16:40:54 +0000 (09:40 -0700)]
some edits to the README
Zooko O'Whielacronx [Mon, 11 Jun 2007 16:22:21 +0000 (09:22 -0700)]
TAG allmydata-tahoe-0.3.0
Zooko O'Whielacronx [Mon, 11 Jun 2007 16:21:42 +0000 (09:21 -0700)]
update the relnotes.txt for v0.3
Brian Warner [Sun, 10 Jun 2007 04:03:57 +0000 (21:03 -0700)]
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
Brian Warner [Sun, 10 Jun 2007 03:46:04 +0000 (20:46 -0700)]
rename fileid/verifierid to plaintext_hash/crypttext_hash
Brian Warner [Sun, 10 Jun 2007 03:32:34 +0000 (20:32 -0700)]
thingA.txt has finally been renamed
Brian Warner [Sun, 10 Jun 2007 03:31:48 +0000 (20:31 -0700)]
update thingA/uri-extension docs
Brian Warner [Fri, 8 Jun 2007 23:17:54 +0000 (16:17 -0700)]
handle uri_extension with a non-bencode serialization scheme
Brian Warner [Fri, 8 Jun 2007 22:59:16 +0000 (15:59 -0700)]
rename thingA to 'uri extension'
Brian Warner [Fri, 8 Jun 2007 05:20:55 +0000 (22:20 -0700)]
consolidate multiple definitions of NotEnoughPeersError
Brian Warner [Fri, 8 Jun 2007 05:13:18 +0000 (22:13 -0700)]
remove several leftover defintions of netstring()
Brian Warner [Fri, 8 Jun 2007 05:09:02 +0000 (22:09 -0700)]
test_client.py: improve test coverage a bit
Brian Warner [Fri, 8 Jun 2007 04:50:58 +0000 (21:50 -0700)]
docs/thingA.txt: describe what this does, even if it doesn't yet have a name
Brian Warner [Fri, 8 Jun 2007 04:47:21 +0000 (21:47 -0700)]
move almost all hashing to SHA256, consolidate into hashutil.py
The only SHA-1 hash that remains is used in the permutation of nodeids,
where we need to decide if we care about performance or long-term security.
I suspect that we could use a much weaker hash (and faster) hash for
this purpose. In the long run, we'll be doing thousands of such hashes
for each file uploaded or downloaded (one per known peer).
Brian Warner [Fri, 8 Jun 2007 04:24:39 +0000 (21:24 -0700)]
test_encode.py: even more testing of merkle trees, getting fairly comprehensive now
Brian Warner [Fri, 8 Jun 2007 02:32:29 +0000 (19:32 -0700)]
add tests for bad/inconsistent plaintext/crypttext merkle tree hashes
Brian Warner [Fri, 8 Jun 2007 01:36:25 +0000 (18:36 -0700)]
test_encode.py: further refactoring of send_and_recover
Brian Warner [Fri, 8 Jun 2007 01:24:26 +0000 (18:24 -0700)]
test_encode.py: refactor send_and_recover a bit
Brian Warner [Fri, 8 Jun 2007 00:55:49 +0000 (17:55 -0700)]
client.py: allow operation without vdrive.furl, for storage-only no-UI nodes
Brian Warner [Thu, 7 Jun 2007 22:32:21 +0000 (15:32 -0700)]
client.py: use persistent FURLs for our Node, to reduce spurious connection attempts (#26)
Brian Warner [Thu, 7 Jun 2007 20:18:55 +0000 (13:18 -0700)]
encode.py: hush pyflakes warnings
Brian Warner [Thu, 7 Jun 2007 20:15:58 +0000 (13:15 -0700)]
encode/download: reduce memory footprint by deleting large intermediate buffers as soon as possible, improve hash tree usage
Brian Warner [Thu, 7 Jun 2007 20:14:14 +0000 (13:14 -0700)]
encode.py: fix generation of plaintext/crypttext merkle trees
Brian Warner [Thu, 7 Jun 2007 19:38:22 +0000 (12:38 -0700)]
hashtree.BadHashError: mention which leaf caused the problem
Brian Warner [Fri, 8 Jun 2007 02:23:33 +0000 (19:23 -0700)]
iputil.get_local_ip_for: tolerate running on a disconnected host
Brian Warner [Thu, 7 Jun 2007 07:15:41 +0000 (00:15 -0700)]
fetch plaintext/crypttext merkle trees during download, but don't check the segments against them yet
Brian Warner [Thu, 7 Jun 2007 06:50:02 +0000 (23:50 -0700)]
download.py: refactor get-thingA-from-somebody to reuse the logic for other things
Brian Warner [Thu, 7 Jun 2007 09:56:16 +0000 (02:56 -0700)]
encode.py: fix pyflakes warning
Brian Warner [Thu, 7 Jun 2007 02:40:20 +0000 (19:40 -0700)]
encode: add plaintext/crypttext merkle trees to the shares, and the thingA block. Still needs tests and download-side verification.
Brian Warner [Wed, 6 Jun 2007 21:06:57 +0000 (14:06 -0700)]
runner.py: allow --multiple to enable starting/stopping/creating multiple nodes at once
robk-org [Tue, 5 Jun 2007 01:48:53 +0000 (18:48 -0700)]
log a prominent warning message in the case that the introducer cannot be reached
robk-org [Tue, 5 Jun 2007 01:46:37 +0000 (18:46 -0700)]
catch failures in startService() and abort process
robk-org [Tue, 5 Jun 2007 01:45:40 +0000 (18:45 -0700)]
add a missing up-call in introducer.startService()
robk-org [Wed, 6 Jun 2007 19:49:03 +0000 (12:49 -0700)]
change the 'ez_setup.py' script to have distinct desired & minimum required versions of setuptools
and change zfec/setup.py's invocation of ez_setup to require 0.6a9 (which happens to be the default
version installed by apt-get on dapper machines) while leaving the default (desired) version at 0.6c5
Brian Warner [Wed, 6 Jun 2007 19:40:16 +0000 (12:40 -0700)]
encode.py: clean up handling of lost peers during upload, add some logging
Brian Warner [Wed, 6 Jun 2007 18:37:19 +0000 (11:37 -0700)]
runner.py: allow all directory-using commands (create/start/stop) to accept argv[-1] as well as --basedir
Brian Warner [Wed, 6 Jun 2007 18:36:48 +0000 (11:36 -0700)]
bin/allmydata-tahoe: also update PYTHONPATH so that child processes (like twistd) will work
Brian Warner [Wed, 6 Jun 2007 18:24:00 +0000 (11:24 -0700)]
bin/allmydata-tahoe: add a sys.path-modifying preamble to make it easy to run from source
Brian Warner [Wed, 6 Jun 2007 17:32:40 +0000 (10:32 -0700)]
encode: tolerate lost peers, as long as we still get enough shares out. Closes #17.
Brian Warner [Wed, 6 Jun 2007 16:49:42 +0000 (09:49 -0700)]
roadmap.txt: minor cleanups
Brian Warner [Wed, 6 Jun 2007 16:49:18 +0000 (09:49 -0700)]
README: mention strports-ness of NODE/webport, closes #55
Brian Warner [Sat, 2 Jun 2007 01:48:01 +0000 (18:48 -0700)]
move validation data to thingA, URI has storage_index plus thingA hash
This (compatibility-breaking) change moves much of the validation data and
encoding parameters out of the URI and into the so-called "thingA" block
(which will get a better name as soon as we find one we're comfortable with).
The URI retains the "storage_index" (a generalized term for the role that
we're currently using the verifierid for, the unique index for each file
that gets used by storage servers to decide which shares to return), the
decryption key, the needed_shares/total_shares counts (since they affect
peer selection), and the hash of the thingA block.
This shortens the URI and lets us add more kinds of validation data without
growing the URI (like plaintext merkle trees, to enable strong incremental
plaintext validation), at the cost of maybe 150 bytes of alacrity. Each
storage server holds an identical copy of the thingA block.
This is an incompatible change: new messages have been added to the storage
server interface, and the URI format has changed drastically.
Brian Warner [Fri, 1 Jun 2007 01:32:21 +0000 (18:32 -0700)]
node.py: multi-class exception calls need parentheses