tahoe-lafs/tahoe-lafs.git
17 years agoactivate storage size limits in the client. Closes #34.
Brian Warner [Wed, 4 Jul 2007 00:27:07 +0000 (17:27 -0700)]
activate storage size limits in the client. Closes #34.

To use this, write a number like 10MB or 5Gb or 5000000000 to a file
named 'sizelimit' in the client's base directory. The node will not grant
leases for shares that would take it much beyond this many bytes of
storage. Note that metadata is not included in the allocation count until
a restart, so the actual space consumed may grow beyond the limit if
the node is not restarted very frequently and the amount of metadata is
significant.

17 years agostorageserver: implement size limits. No code to enable them yet, though
Brian Warner [Wed, 4 Jul 2007 00:08:02 +0000 (17:08 -0700)]
storageserver: implement size limits. No code to enable them yet, though

17 years agofileutil: add du() function
Brian Warner [Tue, 3 Jul 2007 22:49:45 +0000 (15:49 -0700)]
fileutil: add du() function

17 years agowebish: provide a valid Content-Length header on downloads
Brian Warner [Tue, 3 Jul 2007 22:09:00 +0000 (15:09 -0700)]
webish: provide a valid Content-Length header on downloads

17 years agowebish: improve reporting of web download errors that occur early enough
Brian Warner [Tue, 3 Jul 2007 20:47:37 +0000 (13:47 -0700)]
webish: improve reporting of web download errors that occur early enough

If the error occurs before any data has been sent, we can give a sensible
error message (code 500, stack trace, etc). This will cover most of the error
cases. The ones that aren't covered are when we run out of good peers after
successfully decoding the first segment, either because they go away or
because their shares are corrupt.

17 years agowebish.py: handle errors during download better. Addresses #65.
Brian Warner [Tue, 3 Jul 2007 20:18:14 +0000 (13:18 -0700)]
webish.py: handle errors during download better. Addresses #65.

Previously, exceptions during a web download caused a hang rather than some
kind of exception or error message. This patch improves the situation by
terminating the HTTP download rather than letting it hang forever. The
behavior still isn't ideal, however, because the error can occur too late to
abort the HTTP request cleanly (i.e. with an error code). In fact, the
Content-Type header and response code have already been set by the time any
download errors have been detected, so the browser is committed to displaying
an image or whatever (thus any error message we put into the stream is
unlikely to be displayed in a meaningful way).

17 years agodirnodes.txt: minor edits
Brian Warner [Tue, 3 Jul 2007 20:16:48 +0000 (13:16 -0700)]
dirnodes.txt: minor edits

17 years agotest_util: improve test coverage of allmydata.util.fileutil
Brian Warner [Tue, 3 Jul 2007 18:15:05 +0000 (11:15 -0700)]
test_util: improve test coverage of allmydata.util.fileutil

17 years agodocument our current directory node (dirnode) design
Brian Warner [Tue, 3 Jul 2007 00:32:24 +0000 (17:32 -0700)]
document our current directory node (dirnode) design

17 years agomakefile: pass COVERAGEDIR= properly to the target makefile
Brian Warner [Mon, 2 Jul 2007 22:22:49 +0000 (15:22 -0700)]
makefile: pass COVERAGEDIR= properly to the target makefile

17 years agomakefile: change upload-figleaf target to create a 'current' link
Brian Warner [Mon, 2 Jul 2007 22:10:20 +0000 (15:10 -0700)]
makefile: change upload-figleaf target to create a 'current' link

17 years agorelnotes.txt: reflow to 70-char width
Zooko O'Whielacronx [Thu, 5 Jul 2007 01:59:26 +0000 (18:59 -0700)]
relnotes.txt: reflow to 70-char width

17 years agoTAG allmydata-tahoe-0.4.0 allmydata-tahoe-0.4.0
Zooko O'Whielacronx [Sat, 30 Jun 2007 00:02:54 +0000 (17:02 -0700)]
TAG allmydata-tahoe-0.4.0

17 years agorelnotes.txt: mention the private filesystem
Brian Warner [Sat, 30 Jun 2007 00:01:49 +0000 (17:01 -0700)]
relnotes.txt: mention the private filesystem

17 years agorelnotes.txt reflow column width and editing
Zooko O'Whielacronx [Fri, 29 Jun 2007 23:58:27 +0000 (16:58 -0700)]
relnotes.txt reflow column width and editing

17 years agorelnotes.txt update for v0.4 release
Zooko O'Whielacronx [Fri, 29 Jun 2007 23:58:05 +0000 (16:58 -0700)]
relnotes.txt update for v0.4 release

17 years agorelnotes.txt: formatting for thinner columns
Zooko O'Whielacronx [Fri, 29 Jun 2007 23:55:38 +0000 (16:55 -0700)]
relnotes.txt: formatting for thinner columns

17 years agoroadmap.txt: add mention of decentralized introduction (#68)
Zooko O'Whielacronx [Fri, 29 Jun 2007 23:43:20 +0000 (16:43 -0700)]
roadmap.txt: add mention of decentralized introduction (#68)

17 years agoedit README and require Nevow 0.9.18
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.

17 years agoclarify licence
Zooko O'Whielacronx [Fri, 29 Jun 2007 22:28:15 +0000 (15:28 -0700)]
clarify licence

17 years agowebish: make each link in the directory name an href to that directory
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

17 years agoupdate roadmap.txt a bit
Brian Warner [Fri, 29 Jun 2007 17:43:27 +0000 (10:43 -0700)]
update roadmap.txt a bit

17 years agotest_system: stall for a second while bouncing the client, it might help windows
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

17 years agowebish: fix link to private_vdrive
Brian Warner [Fri, 29 Jun 2007 02:07:52 +0000 (19:07 -0700)]
webish: fix link to private_vdrive

17 years agoclient.py: remove unused import
Brian Warner [Fri, 29 Jun 2007 01:01:00 +0000 (18:01 -0700)]
client.py: remove unused import

17 years agoroadmap: update filesystem/filetree/dirnode items
Brian Warner [Fri, 29 Jun 2007 01:00:30 +0000 (18:00 -0700)]
roadmap: update filesystem/filetree/dirnode items

17 years agoclient.py: remove unused code
Brian Warner [Fri, 29 Jun 2007 00:55:13 +0000 (17:55 -0700)]
client.py: remove unused code

17 years agointerfaces.py: remove some unused 'pass' lines
Brian Warner [Fri, 29 Jun 2007 07:50:00 +0000 (00:50 -0700)]
interfaces.py: remove some unused 'pass' lines

17 years agochange IVirtualDrive.get_node_at_path to accept either a list or a single slash-separ...
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

17 years agotest_system.py: more vdrive coverage
Brian Warner [Thu, 28 Jun 2007 22:05:33 +0000 (15:05 -0700)]
test_system.py: more vdrive coverage

17 years agovdrive: add get_node_at_path(pathlist)
Brian Warner [Thu, 28 Jun 2007 18:00:03 +0000 (11:00 -0700)]
vdrive: add get_node_at_path(pathlist)

17 years agovdrive: make sure we really record global/private root directory uris
Brian Warner [Thu, 28 Jun 2007 17:59:51 +0000 (10:59 -0700)]
vdrive: make sure we really record global/private root directory uris

17 years agoAdd the 'vdrive' service, for clients to access the public/private root dirs.
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.

17 years agowebish.py: add a web page to display the manifest for any particular 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

17 years agodirnode: add build_manifest() and introduce 'refresh capabilities'
Brian Warner [Wed, 27 Jun 2007 02:41:20 +0000 (19:41 -0700)]
dirnode: add build_manifest() and introduce 'refresh capabilities'

17 years agoremove unused/obsoleted workqueue.py
Brian Warner [Wed, 27 Jun 2007 00:25:23 +0000 (17:25 -0700)]
remove unused/obsoleted workqueue.py

17 years agomerge vdrive.py and filetable.py into a single dirnode.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

17 years agomore runner.py test coverage: don't bypass argv parsing
Brian Warner [Tue, 26 Jun 2007 23:51:38 +0000 (16:51 -0700)]
more runner.py test coverage: don't bypass argv parsing

17 years agorunner.py: improve test coverage further: implement --quiet with StringIOs
Brian Warner [Tue, 26 Jun 2007 23:19:18 +0000 (16:19 -0700)]
runner.py: improve test coverage further: implement --quiet with StringIOs

17 years agodump_uri_extension: improve test coverage of runner.py
Brian Warner [Tue, 26 Jun 2007 22:55:00 +0000 (15:55 -0700)]
dump_uri_extension: improve test coverage of runner.py

17 years agoimprove test coverage of runner.py
Brian Warner [Tue, 26 Jun 2007 22:36:46 +0000 (15:36 -0700)]
improve test coverage of runner.py

17 years agowebish: mark read-only directories as such when listing their parent
Brian Warner [Tue, 26 Jun 2007 19:37:00 +0000 (12:37 -0700)]
webish: mark read-only directories as such when listing their parent

17 years agovdrive: protect dirnode contents with an HMAC
Brian Warner [Tue, 26 Jun 2007 19:36:21 +0000 (12:36 -0700)]
vdrive: protect dirnode contents with an HMAC

17 years agoremove old filetree code
Brian Warner [Tue, 26 Jun 2007 03:34:19 +0000 (20:34 -0700)]
remove old filetree code

17 years agovdrive: switch to URI:DIR and URI:DIR-RO, providing transitive readonlyness
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

17 years agomisc/count_dirs.py: dev tool to estimate filetree space consumption
Brian Warner [Sun, 17 Jun 2007 04:55:13 +0000 (21:55 -0700)]
misc/count_dirs.py: dev tool to estimate filetree space consumption

17 years agowebish: log dirname in mkdir
Brian Warner [Fri, 15 Jun 2007 09:48:19 +0000 (02:48 -0700)]
webish: log dirname in mkdir

17 years agowebish: when mounting a shared directory, don't automatically move to it
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

17 years agowebish: add option to export/import shared directories (always read-write)
Brian Warner [Fri, 15 Jun 2007 09:31:23 +0000 (02:31 -0700)]
webish: add option to export/import shared directories (always read-write)

17 years agotest_system.py: match change to /global_vdrive URL
Brian Warner [Fri, 15 Jun 2007 08:38:55 +0000 (01:38 -0700)]
test_system.py: match change to /global_vdrive URL

17 years agocreate a personal (non-shared) vdrive, in addition to the global shared one
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

17 years agowebish: enable deletion of directories
Brian Warner [Fri, 15 Jun 2007 08:32:57 +0000 (01:32 -0700)]
webish: enable deletion of directories

17 years agowebish.py: put the URI in a narrower auto-scrolling box (with CSS)
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)

17 years agorunner.py: add 'dump-directory-node' command
Brian Warner [Fri, 15 Jun 2007 07:47:05 +0000 (00:47 -0700)]
runner.py: add 'dump-directory-node' command

17 years agomake new vdrive work, implement convenience wrapper, passes all tests
Brian Warner [Fri, 15 Jun 2007 07:37:32 +0000 (00:37 -0700)]
make new vdrive work, implement convenience wrapper, passes all tests

17 years agotest_filetable: fix to match new vdrive approach
Brian Warner [Fri, 15 Jun 2007 07:01:01 +0000 (00:01 -0700)]
test_filetable: fix to match new vdrive approach

17 years agomake-version.py invokes darcs as "darcs" instead of "realdarcs"
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.

17 years agoupdate CREDITS file
Zooko O'Whielacronx [Fri, 29 Jun 2007 21:22:30 +0000 (14:22 -0700)]
update CREDITS file

17 years agorevamp vdrive: nodes with furls. tests still fail.
Brian Warner [Fri, 15 Jun 2007 03:14:34 +0000 (20:14 -0700)]
revamp vdrive: nodes with furls. tests still fail.

17 years agofiletable: switch to new approach with anonymous nodes
Brian Warner [Fri, 15 Jun 2007 00:24:56 +0000 (17:24 -0700)]
filetable: switch to new approach with anonymous nodes

17 years agomake-version.py: it is sys.platform, not os.platform
Brian Warner [Wed, 13 Jun 2007 01:06:10 +0000 (18:06 -0700)]
make-version.py: it is sys.platform, not os.platform

17 years agomake make-version.py exec darcs correctly on windows
robk-org [Wed, 13 Jun 2007 00:56:55 +0000 (17:56 -0700)]
make make-version.py exec darcs correctly on windows

17 years agoupload.py: minor refactoring
Brian Warner [Tue, 12 Jun 2007 02:21:51 +0000 (19:21 -0700)]
upload.py: minor refactoring

17 years agoroadmap.txt: update w.r.t. filetree and repairer
Brian Warner [Tue, 12 Jun 2007 01:41:12 +0000 (18:41 -0700)]
roadmap.txt: update w.r.t. filetree and repairer

17 years agoadd 'allmydata-tahoe dump-uri-extension' utility command
Brian Warner [Tue, 12 Jun 2007 01:38:21 +0000 (18:38 -0700)]
add 'allmydata-tahoe dump-uri-extension' utility command

17 years agorefactor URI_extension handlers out of encode/download and into uri.py
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

17 years agowebish: display program/library versions on the welcome page
Brian Warner [Mon, 11 Jun 2007 17:51:11 +0000 (10:51 -0700)]
webish: display program/library versions on the welcome page

17 years agoshebang usr bin env python
Zooko O'Whielacronx [Wed, 13 Jun 2007 01:55:25 +0000 (18:55 -0700)]
shebang usr bin env python

17 years agocatch EnvironmentError from attempt to invoke darcs using subprocess module
Zooko O'Whielacronx [Mon, 11 Jun 2007 18:59:57 +0000 (11:59 -0700)]
catch EnvironmentError from attempt to invoke darcs using subprocess module

17 years agoURI-extension.txt: update docs, we aren't using bencode for this.
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.

17 years agozfec: import latest version.py module from pyutil library
Zooko O'Whielacronx [Wed, 9 May 2007 22:58:40 +0000 (15:58 -0700)]
zfec: import latest version.py module from pyutil library

17 years agozfec: fix bug in in-line doc
Zooko O'Whielacronx [Wed, 9 May 2007 22:58:24 +0000 (15:58 -0700)]
zfec: fix bug in in-line doc

17 years agozfec: tweak licence text
Zooko O'Whielacronx [Wed, 9 May 2007 22:57:53 +0000 (15:57 -0700)]
zfec: tweak licence text

17 years agofix the relnotes.txt -- don't incorrectly attribute a compatibility break to foolscap
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

17 years agosome edits to the README
Zooko O'Whielacronx [Mon, 11 Jun 2007 16:40:54 +0000 (09:40 -0700)]
some edits to the README

17 years agoTAG allmydata-tahoe-0.3.0 allmydata-tahoe-0.3.0
Zooko O'Whielacronx [Mon, 11 Jun 2007 16:22:21 +0000 (09:22 -0700)]
TAG allmydata-tahoe-0.3.0

17 years agoupdate the relnotes.txt for v0.3
Zooko O'Whielacronx [Mon, 11 Jun 2007 16:21:42 +0000 (09:21 -0700)]
update the relnotes.txt for v0.3

17 years agowebish: show vdrive and introducer connectedness separately
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

17 years agorename fileid/verifierid to plaintext_hash/crypttext_hash
Brian Warner [Sun, 10 Jun 2007 03:46:04 +0000 (20:46 -0700)]
rename fileid/verifierid to plaintext_hash/crypttext_hash

17 years agothingA.txt has finally been renamed
Brian Warner [Sun, 10 Jun 2007 03:32:34 +0000 (20:32 -0700)]
thingA.txt has finally been renamed

17 years agoupdate thingA/uri-extension docs
Brian Warner [Sun, 10 Jun 2007 03:31:48 +0000 (20:31 -0700)]
update thingA/uri-extension docs

17 years agohandle uri_extension with a non-bencode serialization scheme
Brian Warner [Fri, 8 Jun 2007 23:17:54 +0000 (16:17 -0700)]
handle uri_extension with a non-bencode serialization scheme

17 years agorename thingA to 'uri extension'
Brian Warner [Fri, 8 Jun 2007 22:59:16 +0000 (15:59 -0700)]
rename thingA to 'uri extension'

17 years agoconsolidate multiple definitions of NotEnoughPeersError
Brian Warner [Fri, 8 Jun 2007 05:20:55 +0000 (22:20 -0700)]
consolidate multiple definitions of NotEnoughPeersError

17 years agoremove several leftover defintions of netstring()
Brian Warner [Fri, 8 Jun 2007 05:13:18 +0000 (22:13 -0700)]
remove several leftover defintions of netstring()

17 years agotest_client.py: improve test coverage a bit
Brian Warner [Fri, 8 Jun 2007 05:09:02 +0000 (22:09 -0700)]
test_client.py: improve test coverage a bit

17 years agodocs/thingA.txt: describe what this does, even if it doesn't yet have a name
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

17 years agomove almost all hashing to SHA256, consolidate into hashutil.py
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).

17 years agotest_encode.py: even more testing of merkle trees, getting fairly comprehensive now
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

17 years agoadd tests for bad/inconsistent plaintext/crypttext merkle tree hashes
Brian Warner [Fri, 8 Jun 2007 02:32:29 +0000 (19:32 -0700)]
add tests for bad/inconsistent plaintext/crypttext merkle tree hashes

17 years agotest_encode.py: further refactoring of send_and_recover
Brian Warner [Fri, 8 Jun 2007 01:36:25 +0000 (18:36 -0700)]
test_encode.py: further refactoring of send_and_recover

17 years agotest_encode.py: refactor send_and_recover a bit
Brian Warner [Fri, 8 Jun 2007 01:24:26 +0000 (18:24 -0700)]
test_encode.py: refactor send_and_recover a bit

17 years agoclient.py: allow operation without vdrive.furl, for storage-only no-UI nodes
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

17 years agoclient.py: use persistent FURLs for our Node, to reduce spurious connection attempts...
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)

17 years agoencode.py: hush pyflakes warnings
Brian Warner [Thu, 7 Jun 2007 20:18:55 +0000 (13:18 -0700)]
encode.py: hush pyflakes warnings

17 years agoencode/download: reduce memory footprint by deleting large intermediate buffers as...
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

17 years agoencode.py: fix generation of plaintext/crypttext merkle trees
Brian Warner [Thu, 7 Jun 2007 20:14:14 +0000 (13:14 -0700)]
encode.py: fix generation of plaintext/crypttext merkle trees

17 years agohashtree.BadHashError: mention which leaf caused the problem
Brian Warner [Thu, 7 Jun 2007 19:38:22 +0000 (12:38 -0700)]
hashtree.BadHashError: mention which leaf caused the problem

17 years agoiputil.get_local_ip_for: tolerate running on a disconnected host
Brian Warner [Fri, 8 Jun 2007 02:23:33 +0000 (19:23 -0700)]
iputil.get_local_ip_for: tolerate running on a disconnected host

17 years agofetch plaintext/crypttext merkle trees during download, but don't check the segments...
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