Zooko O'Whielacronx [Fri, 30 Mar 2007 18:52:43 +0000 (11:52 -0700)]
pyfec: rename and clarify -- "blocks" are the units of input/output of the codec, "shares" are sequences of blocks (used to process arbitrary-length files)
Zooko O'Whielacronx [Sat, 31 Mar 2007 01:01:56 +0000 (18:01 -0700)]
fix BucketWriter to not create a finalhome until it is complete, and to clean up the empty $VERIFIERID dir under incoming/ when it moves the last share out of it
Zooko O'Whielacronx [Sat, 31 Mar 2007 01:01:37 +0000 (18:01 -0700)]
log a running total of how much of your file has been uploaded
Zooko O'Whielacronx [Sat, 31 Mar 2007 01:00:40 +0000 (18:00 -0700)]
assert that only dicts get passed to _got_response()
Zooko O'Whielacronx [Sat, 31 Mar 2007 00:12:07 +0000 (17:12 -0700)]
fix storage server to handle the case that it has no directory at all when someone asks for buckets
Zooko O'Whielacronx [Sat, 31 Mar 2007 00:07:04 +0000 (17:07 -0700)]
fix bug in storage-server: yes, "0" is a number, Mr. storage server
Brian Warner [Fri, 30 Mar 2007 23:55:04 +0000 (16:55 -0700)]
handle foolscap's annoying tendency to turn everything into a sets.Set, which are not interoperable with 2.4's builtin 'set' type
Brian Warner [Fri, 30 Mar 2007 23:50:50 +0000 (16:50 -0700)]
finish making the new encoder/decoder/upload/download work
Zooko O'Whielacronx [Fri, 30 Mar 2007 21:54:33 +0000 (14:54 -0700)]
add unit tests and fix bugs in upload
Brian Warner [Fri, 30 Mar 2007 20:20:01 +0000 (13:20 -0700)]
add new test for doing an encode/decode round trip, and make it almost work
Brian Warner [Fri, 30 Mar 2007 19:36:16 +0000 (12:36 -0700)]
uri.py: share counts are not base32-encoded
Brian Warner [Fri, 30 Mar 2007 19:30:14 +0000 (12:30 -0700)]
upload: change _compute_uri a bit, get infile in a different way
Brian Warner [Fri, 30 Mar 2007 18:53:03 +0000 (11:53 -0700)]
switch upload to use encode_new, fix a few things (but not nearly all of them)
Brian Warner [Fri, 30 Mar 2007 18:32:57 +0000 (11:32 -0700)]
test_encode: make sure encode_new can produce the data it is supposed to
Brian Warner [Fri, 30 Mar 2007 18:32:47 +0000 (11:32 -0700)]
chunk.py: remove unused non-tagged hash code
Brian Warner [Fri, 30 Mar 2007 18:32:13 +0000 (11:32 -0700)]
encode_new: use tagged (sha256) hashes everywhere
Zooko O'Whielacronx [Fri, 30 Mar 2007 19:12:23 +0000 (12:12 -0700)]
import fileutil, some of which came from amdlib.util and some of which came from the pyutil library
Zooko O'Whielacronx [Fri, 30 Mar 2007 17:52:19 +0000 (10:52 -0700)]
finish storage server and write new download
Zooko O'Whielacronx [Fri, 30 Mar 2007 17:52:11 +0000 (10:52 -0700)]
TODOs
Zooko O'Whielacronx [Fri, 30 Mar 2007 03:19:52 +0000 (20:19 -0700)]
new upload and storage server
Zooko O'Whielacronx [Fri, 30 Mar 2007 03:19:38 +0000 (20:19 -0700)]
add TODO
Brian Warner [Fri, 30 Mar 2007 02:49:40 +0000 (19:49 -0700)]
chunk.py: fix a pyflakes warning
Brian Warner [Thu, 29 Mar 2007 21:48:42 +0000 (14:48 -0700)]
update feisty packaging
Brian Warner [Thu, 29 Mar 2007 21:36:15 +0000 (14:36 -0700)]
first attempt at adding debian packaging support for ubuntu 'feisty'
Brian Warner [Thu, 29 Mar 2007 21:32:28 +0000 (14:32 -0700)]
node creation: be willing to utilize a pre-existing (but empty) directory
Brian Warner [Thu, 29 Mar 2007 21:31:55 +0000 (14:31 -0700)]
webish: add 'my nodeid' to the page
Zooko O'Whielacronx [Fri, 30 Mar 2007 01:12:35 +0000 (18:12 -0700)]
change HashTree to use new hashutil convenience methods, thus fixing a security flaw
Zooko O'Whielacronx [Fri, 30 Mar 2007 01:11:30 +0000 (18:11 -0700)]
hashutil: convenience methods for tagged and encoded hashes
In various cases, including Merkle Trees, it is useful to tag and encode the inputs to your secure hashes to prevent security flaws due to ambiguous meanings of hash values.
Zooko O'Whielacronx [Thu, 29 Mar 2007 21:01:28 +0000 (14:01 -0700)]
change #!/usr/bin/python to #!/usr/bin/env python
Note that using "whatever version of python the name 'python' maps to in the current shell environment" is more error-prone that specifying which python you mean, such as by executing "/usr/bin/python setup.py" instead of executing "./setup.py". When you build tahoe (by running "make") it will make a copy of bin/allmydata-tahoe in instdir/bin/allmydata-tahoe with the shebang line rewritten to execute the specific version of python that was used when building instead of to execute "/usr/bin/env python".
However, it seems better that the default for lazy people be "whatever 'python' means currently" instead of "whatever 'python' meant to the manufacturer of your operating system".
Brian Warner [Thu, 29 Mar 2007 19:22:41 +0000 (12:22 -0700)]
debian: add python-nevow to the sid dependencies
Brian Warner [Thu, 29 Mar 2007 19:22:14 +0000 (12:22 -0700)]
debian: add python-twisted, python-nevow, python-pyopenssl to the dapper dependencies
Brian Warner [Thu, 29 Mar 2007 19:16:39 +0000 (12:16 -0700)]
fix the sid debian packaging too
Brian Warner [Thu, 29 Mar 2007 19:07:24 +0000 (12:07 -0700)]
probably fix the debian dapper packaging to include pyfec and crypto.. sid still needs to be fixed
Peter Secor [Thu, 29 Mar 2007 19:02:32 +0000 (12:02 -0700)]
tahoe readme - updated to included all packages and clarify text
Brian Warner [Thu, 29 Mar 2007 18:21:17 +0000 (11:21 -0700)]
test_iputil: remove the test that only works on linux, since we're using the cross-unix 'get_local_addresses_async' anyways. This should allow the tests to pass on OS-X
Brian Warner [Thu, 29 Mar 2007 18:16:29 +0000 (11:16 -0700)]
introducer: add some comments about separating nodeid from tubid
Brian Warner [Wed, 28 Mar 2007 22:31:51 +0000 (15:31 -0700)]
hush pyflakes warnings in codec and test_codec
Brian Warner [Wed, 28 Mar 2007 20:30:17 +0000 (13:30 -0700)]
encode_new.py: rearrange methods into the order in which they should be called
Brian Warner [Wed, 28 Mar 2007 19:52:44 +0000 (12:52 -0700)]
update memory-footprint and share-size docs in ICodecEncoder
Zooko O'Whielacronx [Wed, 28 Mar 2007 22:22:51 +0000 (15:22 -0700)]
pyfec: more thanks to Brian
Brian Warner [Wed, 28 Mar 2007 20:09:53 +0000 (13:09 -0700)]
pyfec: fix another error path, combine the type-level docstring with the (hitherto unlinked) init docstring
Brian Warner [Wed, 28 Mar 2007 19:53:12 +0000 (12:53 -0700)]
pyfec: fix some error-checking, add more unit tests
Brian Warner [Wed, 28 Mar 2007 18:31:31 +0000 (11:31 -0700)]
document a proposed IDecoder interface, still pretty bare-bones
Brian Warner [Wed, 28 Mar 2007 18:24:53 +0000 (11:24 -0700)]
document IEncoder, add Encoder.set_landlords()
Brian Warner [Wed, 28 Mar 2007 18:06:19 +0000 (11:06 -0700)]
encode_new.py: add comments, make variable names more illuminating
Brian Warner [Wed, 28 Mar 2007 17:48:29 +0000 (10:48 -0700)]
added a README explaining how to get started and what library dependencies are needed
Zooko O'Whielacronx [Wed, 28 Mar 2007 07:06:03 +0000 (00:06 -0700)]
remove left-over early encode mechanism
Zooko O'Whielacronx [Wed, 28 Mar 2007 07:05:16 +0000 (00:05 -0700)]
switch to pyfec
Zooko O'Whielacronx [Wed, 28 Mar 2007 06:53:32 +0000 (23:53 -0700)]
pyfec: correctly handle wrongly typed input by raising exception
Zooko O'Whielacronx [Wed, 28 Mar 2007 05:57:15 +0000 (22:57 -0700)]
fix test_codec and test_upload to handle current API
Zooko O'Whielacronx [Wed, 28 Mar 2007 05:56:45 +0000 (22:56 -0700)]
pyfec: fix bug in easyfec
Zooko O'Whielacronx [Wed, 28 Mar 2007 03:14:30 +0000 (20:14 -0700)]
pyfec: add easyfec wrapper which takes a single string and splits it into input shares and pads, then passes it on to the inner fec object
Zooko O'Whielacronx [Wed, 28 Mar 2007 03:14:06 +0000 (20:14 -0700)]
pyfec: add documentation, assertion, licence information
Zooko O'Whielacronx [Wed, 28 Mar 2007 01:18:39 +0000 (18:18 -0700)]
pyfec: add benchmark measurement on my cool new MacBook Pro
Brian Warner [Wed, 28 Mar 2007 05:17:31 +0000 (22:17 -0700)]
update ReplicatingEncoder and decoder to match the current ICodecEncoder/decoder interface
Brian Warner [Wed, 28 Mar 2007 03:14:45 +0000 (20:14 -0700)]
ICodecEncoder: resolve some questions about the API, still more to examine
Brian Warner [Wed, 28 Mar 2007 02:05:09 +0000 (19:05 -0700)]
update the docs on ICodecEncoder and ICodecDecoder
Brian Warner [Wed, 28 Mar 2007 00:44:49 +0000 (17:44 -0700)]
fix some python2.5 incompatibilities, and remove an old webish display that suggested we might know about peers but not be connected to them
Zooko O'Whielacronx [Wed, 28 Mar 2007 00:42:59 +0000 (17:42 -0700)]
add verbosity option to bench
Brian Warner [Wed, 28 Mar 2007 00:16:13 +0000 (17:16 -0700)]
test_introducer: flushEventualQueue at the end of the test run
Brian Warner [Tue, 27 Mar 2007 23:12:11 +0000 (16:12 -0700)]
complete the Introducer changes, separate out vdrive access, make everything work again
Zooko O'Whielacronx [Wed, 7 Mar 2007 07:30:17 +0000 (00:30 -0700)]
add link to mailing list
Peter Secor [Wed, 7 Mar 2007 06:29:08 +0000 (23:29 -0700)]
pyfec repository description of how to download the code via darcs
Zooko O'Whielacronx [Fri, 23 Mar 2007 23:20:26 +0000 (16:20 -0700)]
merge incomplete stuff with other patches
Zooko O'Whielacronx [Fri, 23 Mar 2007 23:15:57 +0000 (16:15 -0700)]
incomplete work to be finished elsewhere
Brian Warner [Fri, 23 Mar 2007 05:22:00 +0000 (22:22 -0700)]
hush a pyflakes warning
Zooko O'Whielacronx [Thu, 22 Mar 2007 21:39:30 +0000 (14:39 -0700)]
separate queen's service of introduction-to-the-network from queen's service of providing-access-to-the-vdrive
Brian Warner [Mon, 12 Mar 2007 23:28:37 +0000 (16:28 -0700)]
more work on a memory-footprint test program
Brian Warner [Fri, 9 Mar 2007 01:12:24 +0000 (18:12 -0700)]
start work on a memory-measuring test tool
Brian Warner [Fri, 9 Mar 2007 00:54:38 +0000 (17:54 -0700)]
add test-pyfec target, not added to the main 'test' target because it adds 20 seconds to the test run
Brian Warner [Fri, 9 Mar 2007 00:30:09 +0000 (17:30 -0700)]
test_system.py: remove the lowered (20s) timeouts, since some buildslaves require more like 30 or 40 seconds to complete the test
Brian Warner [Thu, 8 Mar 2007 23:13:14 +0000 (16:13 -0700)]
test_observer: improve test coverage
Brian Warner [Thu, 8 Mar 2007 22:28:13 +0000 (15:28 -0700)]
Makefile: add an upload-figleaf target, rather than having the buildbot create the rsync command itself
Brian Warner [Thu, 8 Mar 2007 22:12:52 +0000 (15:12 -0700)]
node.py: switch to using get_local_addresses_async, which is slightly more portable (most forms of unix)
Brian Warner [Thu, 8 Mar 2007 22:10:36 +0000 (15:10 -0700)]
rearrange service startup a bit, now Node.startService() returns a Deferred that fires when the tub is actually ready, and there is also a Node.when_tub_ready() hook. This allows get_local_addresses() to be slow and not break everything. Changed all necessary test cases to accomodate this slow startup.
Brian Warner [Thu, 8 Mar 2007 22:09:29 +0000 (15:09 -0700)]
test_observer.py: remove the code that allows observers to run out-of-order, our use of foolscap.eventual removes this error case
Brian Warner [Thu, 8 Mar 2007 22:07:38 +0000 (15:07 -0700)]
add OneShotObserverList from the amdlib tree
Brian Warner [Thu, 8 Mar 2007 03:31:49 +0000 (20:31 -0700)]
control.py: fix get_memory_usage, add a sample client tool
Brian Warner [Thu, 8 Mar 2007 03:03:47 +0000 (20:03 -0700)]
iputil: switch to a scapy-inspired SIOCGIFADDR approach, very linux-specific now
Brian Warner [Thu, 8 Mar 2007 02:29:00 +0000 (19:29 -0700)]
iputil: use the subprocess module instead of os.popen
Brian Warner [Thu, 8 Mar 2007 02:20:27 +0000 (19:20 -0700)]
control: add RIControlClient, fix some pyflakes warnings
Brian Warner [Thu, 8 Mar 2007 02:16:06 +0000 (19:16 -0700)]
add a local foolscap control interface, to upload/download files and check memory usage
Brian Warner [Thu, 8 Mar 2007 01:47:40 +0000 (18:47 -0700)]
iputil: use explicit /sbin/ifconfig, to avoid depending upon PATH
Brian Warner [Thu, 8 Mar 2007 01:43:17 +0000 (18:43 -0700)]
change node startup to put all local addresses in the PBURL, including 127.0.0.1. This should facilitate testing on both connected and disconnected systems.
Brian Warner [Thu, 8 Mar 2007 01:22:30 +0000 (18:22 -0700)]
iputil: add get_local_addresses(), an attempt to enumerate all IPv4 addresses on this host. This is pretty unix-specific for right now (it calls ifconfig)
Brian Warner [Thu, 8 Mar 2007 01:21:42 +0000 (18:21 -0700)]
util.iputil: try to survive not having a global network connection at all
Brian Warner [Tue, 6 Mar 2007 03:57:38 +0000 (20:57 -0700)]
add some questions to allmydata.interfaces
Brian Warner [Tue, 6 Mar 2007 02:46:06 +0000 (19:46 -0700)]
Makefile: update figleaf code to use INSTDIR instead of now-obsolete builddir.py
Brian Warner [Fri, 2 Feb 2007 23:45:45 +0000 (16:45 -0700)]
dummy line to show off buildbot
Brian Warner [Fri, 2 Feb 2007 00:13:01 +0000 (17:13 -0700)]
hush pyflakes warnings
Zooko O'Whielacronx [Thu, 1 Feb 2007 23:30:13 +0000 (16:30 -0700)]
update the use of the encoder API in download.py
Zooko O'Whielacronx [Thu, 1 Feb 2007 23:07:07 +0000 (16:07 -0700)]
fix purely syntactic merge conflict
Zooko O'Whielacronx [Thu, 1 Feb 2007 23:07:00 +0000 (16:07 -0700)]
use pyfec instead of py_ecc for erasure coding and update API to codec
Zooko O'Whielacronx [Thu, 1 Feb 2007 22:55:26 +0000 (15:55 -0700)]
add mathutil.next_power_of_k() and mathutil.ave()
Zooko O'Whielacronx [Thu, 1 Feb 2007 22:49:52 +0000 (15:49 -0700)]
"make clean" recursively runs cleanup in subprojects (pyfec and Crypto)
Zooko O'Whielacronx [Thu, 1 Feb 2007 22:52:35 +0000 (15:52 -0700)]
pyfec: version number bump to v0.99
Zooko O'Whielacronx [Thu, 1 Feb 2007 22:49:15 +0000 (15:49 -0700)]
pyfec: add ACK and TODO
Zooko O'Whielacronx [Thu, 1 Feb 2007 17:37:48 +0000 (10:37 -0700)]
pyfec: add TODO
Zooko O'Whielacronx [Thu, 1 Feb 2007 17:28:46 +0000 (10:28 -0700)]
pyfec: fix typo in unit test
Zooko O'Whielacronx [Thu, 1 Feb 2007 07:03:25 +0000 (00:03 -0700)]
pyfec: fix preconditions and typing, remove unused error-checking, tidy-up naming and documentation