Zooko O'Whielacronx [Wed, 6 Oct 2010 05:11:47 +0000 (22:11 -0700)]
docs: add statement on our refusal to insert backdoors
Zooko O'Whielacronx [Tue, 5 Oct 2010 18:23:50 +0000 (11:23 -0700)]
setup: add --multi-version to the "setup.py develop" command-line
fixes #530. I earlier tried this twice (see #530 for history) and then twice rolled it back due to some problems that arose. However, I didn't write down what the problems were in enough detail on the ticket that I can tell today whether those problems are still issues, so here goes the third attempt. (I did write down on the ticket that it would not create site.py or .pth files in the target directory with --multi-version mode, but I didn't explain why *that* was a problem.)
Zooko O'Whielacronx [Mon, 6 Sep 2010 05:57:14 +0000 (22:57 -0700)]
setup: use execfile to access _auto_deps.py in its proper location of src/allmydata/ instead of copying it into place when setup.py is executed
Zooko O'Whielacronx [Fri, 3 Sep 2010 14:47:12 +0000 (07:47 -0700)]
trivial: M-x whitespace-cleanup
Zooko O'Whielacronx [Thu, 30 Sep 2010 15:37:08 +0000 (08:37 -0700)]
minor: remove unused interface declaration, change allmydata.org to tahoe-lafs.org in email address, fix wording in relnotes.txt
Kevan Carstensen [Mon, 27 Sep 2010 20:01:02 +0000 (13:01 -0700)]
immutable/repairer.py: don't use the default happiness setting when repairing
david-sarah [Fri, 24 Sep 2010 19:12:07 +0000 (12:12 -0700)]
NEWS: note dependency updates to pycryptopp and pycrypto.
Zooko O'Whielacronx [Fri, 24 Sep 2010 02:16:31 +0000 (19:16 -0700)]
TAG allmydata-tahoe-1.8.0
Zooko O'Whielacronx [Fri, 24 Sep 2010 02:15:52 +0000 (19:15 -0700)]
docs: timestamp the 1.8.0 release
Zooko O'Whielacronx [Fri, 24 Sep 2010 02:08:51 +0000 (19:08 -0700)]
docs: update quickstart.html to include "In Case Of Trouble" and to mention Python 2.7
Zooko O'Whielacronx [Fri, 24 Sep 2010 02:02:45 +0000 (19:02 -0700)]
docs: mention default values of K, H, and M
Zooko O'Whielacronx [Thu, 23 Sep 2010 07:23:25 +0000 (00:23 -0700)]
setup: add flappclient to the set of tools reported on by show-tool-versions
Zooko O'Whielacronx [Wed, 22 Sep 2010 07:08:08 +0000 (00:08 -0700)]
setup: raise minimum required version of pycryptopp, even on non-x86/amd64 platforms, to v0.5.14 of pycryptopp
Zooko O'Whielacronx [Tue, 21 Sep 2010 14:03:44 +0000 (07:03 -0700)]
setup: allow an older version of pycryptopp if we are not on x86 or amd64 architecture (which are the architectures on which older versions of Crypto++ had bugs in asm implementations of AES and SHA-256)
Zooko O'Whielacronx [Tue, 21 Sep 2010 07:32:58 +0000 (00:32 -0700)]
setup: force the bundled version of darcsver to take precedence over any other version of darcsver
Zooko O'Whielacronx [Tue, 21 Sep 2010 07:30:46 +0000 (00:30 -0700)]
setup: upgrade bundled copy of darcsver to v1.6.3
Zooko O'Whielacronx [Mon, 20 Sep 2010 22:54:15 +0000 (15:54 -0700)]
setup: format the output of show-tool-versions for better human-readability
david-sarah [Sun, 19 Sep 2010 05:03:35 +0000 (22:03 -0700)]
relnotes.txt and docs/quickstart.html for 1.8.0 release
david-sarah [Sun, 19 Sep 2010 04:57:43 +0000 (21:57 -0700)]
_auto_deps.py: require pycrypto >= 0.5.20 (fixes bugs in SHA-256 and AES)
david-sarah [Sun, 19 Sep 2010 04:44:12 +0000 (21:44 -0700)]
NEWS, docs/known_issues.txt for 1.8.0 release
Zooko O'Whielacronx [Sun, 19 Sep 2010 01:16:36 +0000 (18:16 -0700)]
docs: a few simple updates to links and naming, and also recommend torsocks instead of the old, unmaintained tsocks, for use with Tor
Zooko O'Whielacronx [Sun, 19 Sep 2010 01:15:54 +0000 (18:15 -0700)]
setup: make show-tool-versions report entire verbose exception stack traces when it fails to find a Python package
Zooko O'Whielacronx [Sat, 18 Sep 2010 22:04:10 +0000 (15:04 -0700)]
setup: add information about setuptools_darcs and darcsver to the show-tool-versions output
david-sarah [Tue, 14 Sep 2010 04:04:56 +0000 (21:04 -0700)]
docs/quickstart.html: note dependency on python development files, e.g. on Ubuntu
Zooko O'Whielacronx [Sun, 12 Sep 2010 06:22:25 +0000 (23:22 -0700)]
TAG allmydata-tahoe-1.8.0c4
Zooko O'Whielacronx [Sun, 12 Sep 2010 06:14:23 +0000 (23:14 -0700)]
docs: update relnotes.txt, NEWS, and quickstart.html for the 1.8.0c4 release
Zooko O'Whielacronx [Sat, 11 Sep 2010 04:14:42 +0000 (21:14 -0700)]
misc: add docstring to bench_spans.py telling how to run it
ref #1182
david-sarah [Sun, 12 Sep 2010 00:32:51 +0000 (17:32 -0700)]
test_download.py: simplify and possibly fix test_lost_servers; refs #1197
david-sarah [Sat, 11 Sep 2010 22:19:13 +0000 (15:19 -0700)]
test_runner.py: fix spurious failures of test_path on case-insensitive filesystems, and restore the check that the version is not 'unknown'.
david-sarah [Sat, 11 Sep 2010 00:31:47 +0000 (17:31 -0700)]
docs/frontends/webapi.txt: document that the meaning of the 'healthy' field may change in future to reflect servers-of-happiness; refs #614
david-sarah [Sat, 11 Sep 2010 00:25:48 +0000 (17:25 -0700)]
docs/frontends/webapi.txt: note that 'count-good-share-hosts' is computed incorrectly; refs #1115
david-sarah [Fri, 10 Sep 2010 19:54:22 +0000 (12:54 -0700)]
docs/frontends/FTP-and-SFTP.txt: docs/performance.txt, architecture.txt: updates taking into account new downloader (revised). refs #798
david-sarah [Fri, 10 Sep 2010 19:32:34 +0000 (12:32 -0700)]
docs/frontends/FTP-and-SFTP.txt: warn users about connecting to the FTP and SFTP servers remotely. Fixes #1192
Zooko O'Whielacronx [Fri, 10 Sep 2010 15:41:35 +0000 (08:41 -0700)]
test: make tests stop relying on pyutil version class accepting the string 'unknown' for its version, and make them forward-compatible with the future Python Rational Version Numbering standard
Zooko O'Whielacronx [Fri, 10 Sep 2010 06:14:11 +0000 (23:14 -0700)]
setup: copy in this fix from zetuptoolz and the accompanying new version number of zetuptoolz: http://tahoe-lafs.org/trac/zetuptoolz/ticket/1
Brian Warner [Fri, 10 Sep 2010 04:30:38 +0000 (21:30 -0700)]
immutable download: have the finder inform its share consumer "no more shares" in a subsequent tick, thus avoiding accidentally telling it "no more shares" now and then telling it "here's another share" in a subsequent tick
fixes #1191
Patch by Brian. This patch description was actually written by Zooko, but I forged Brian's name on the "author" field so that he would get credit for this patch in revision control history.
Zooko O'Whielacronx [Thu, 9 Sep 2010 04:16:54 +0000 (21:16 -0700)]
immutable downloader: add a test specifically of whether the finder sometimes announces "no more shares ever" and then announces a newly found share
(The current code fails this test, ref #1191.)
marc.doudiet [Fri, 13 Aug 2010 14:08:53 +0000 (07:08 -0700)]
docs/frontends/FTP-and-SFTP.txt : ftpd and sftpd doesn't listen on loopback interface only
Zooko O'Whielacronx [Sat, 4 Sep 2010 04:15:15 +0000 (21:15 -0700)]
tests: assign the storage servers to a fixed order which triggers a bug in new downloader every time this test is run (formerly this test would detect the bug in new-downloader only sporadically)
If you are investigating the bug in new-downloader, one way to investigate might be to change this ordering to a different fixed order (e.g. rotate by 4 instead of rotate by 5) and observe how the behavior of new-downloader differs in that case.
Zooko O'Whielacronx [Thu, 2 Sep 2010 21:21:40 +0000 (14:21 -0700)]
TAG allmydata-tahoe-1.8.0c3
Zooko O'Whielacronx [Thu, 2 Sep 2010 21:21:11 +0000 (14:21 -0700)]
docs: update relnotes.txt for v1.8.0c3
Zooko O'Whielacronx [Thu, 2 Sep 2010 16:15:41 +0000 (09:15 -0700)]
download status: fix bug from me committing the wrong one of François's #1172 patches, fixes #1172
francois [Thu, 2 Sep 2010 10:17:28 +0000 (03:17 -0700)]
DownloadStatus: show active immutable downloads in Active Operations, Fix #1172
Zooko O'Whielacronx [Thu, 2 Sep 2010 05:38:01 +0000 (22:38 -0700)]
tests: bump up the allowed number of reads
Kyle's OpenBSD buildslave used 41 reads when doing this test. The fact that I'm blindly bumping this number up to match the observed behavior probably means this isn't a good criterion to be testing for anyway. But perhaps someone else (Brian) could investigate why that run on Kyle's OpenBSD box took four more reads than we expected, and whether the fact that it took 41 reads to do this operation is indicative of an actual problem.
Brian Warner [Wed, 1 Sep 2010 01:37:02 +0000 (18:37 -0700)]
SegmentFetcher: use new diversity-seeking share-selection algorithm, and
deliver all shares at once instead of feeding them out one-at-a-time.
Also fix distribution of real-number-of-segments information: now all
CommonShares (not just the ones used for the first segment) get a
correctly-sized hashtree. Previously, the late ones might not, which would
make them crash and get dropped (causing the download to fail if the initial
set were insufficient, perhaps because one of their servers went away).
Update tests, add some TODO notes, improve variable names and comments.
Improve logging: add logparents, set more appropriate levels.
Brian Warner [Wed, 1 Sep 2010 01:35:58 +0000 (18:35 -0700)]
Share: drop received data after each block finishes. Quick fix for the #1170 spans.py complexity bug.
Zooko O'Whielacronx [Sun, 29 Aug 2010 22:27:58 +0000 (15:27 -0700)]
docs: a couple of small edits to CREDITS and how_to_make_a_tahoe-lafs_release.txt
Zooko O'Whielacronx [Thu, 19 Aug 2010 03:06:30 +0000 (20:06 -0700)]
add simulator to explore the trade-offs for hashed-based digital signatures
david-sarah [Sun, 29 Aug 2010 23:00:38 +0000 (16:00 -0700)]
_auto_deps.py: change pycrypto version requirement to avoid https://bugs.launchpad.net/pycrypto/+bug/620253
francois [Sun, 15 Aug 2010 14:19:33 +0000 (07:19 -0700)]
web: refactor rate computation, fixes #1166
Zooko O'Whielacronx [Thu, 19 Aug 2010 02:14:46 +0000 (19:14 -0700)]
docs: update NEWS a bit about New-Downloader
Zooko O'Whielacronx [Thu, 19 Aug 2010 02:14:20 +0000 (19:14 -0700)]
misc: add benchmarking tool for spans
Zooko O'Whielacronx [Sat, 14 Aug 2010 05:41:17 +0000 (22:41 -0700)]
docs: doc of the download status page
ref: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1169#comment:1
Zooko O'Whielacronx [Wed, 11 Aug 2010 07:17:58 +0000 (00:17 -0700)]
docs: NEWS: edit English usage, remove ticket numbers for regressions vs. 1.7.1 that were fixed again before 1.8.0c2
Zooko O'Whielacronx [Wed, 11 Aug 2010 07:13:03 +0000 (00:13 -0700)]
docs: NEWS: more detail about new-downloader
david-sarah [Tue, 10 Aug 2010 07:38:47 +0000 (00:38 -0700)]
TAG allmydata-tahoe-1.8.0c2
david-sarah [Tue, 10 Aug 2010 07:38:32 +0000 (00:38 -0700)]
quickstart.html: update tarball link.
david-sarah [Tue, 10 Aug 2010 06:41:27 +0000 (23:41 -0700)]
webapi.txt: fix grammatical error.
david-sarah [Tue, 10 Aug 2010 06:32:43 +0000 (23:32 -0700)]
relnotes.txt: update revision of NEWS.
david-sarah [Tue, 10 Aug 2010 06:28:51 +0000 (23:28 -0700)]
NEWS, relnotes and known-issues for 1.8.0c2.
Brian Warner [Tue, 10 Aug 2010 06:06:03 +0000 (23:06 -0700)]
DownloadStatus: put real numbers in progress/status rows, not placeholders.
Improve tests.
Brian Warner [Mon, 9 Aug 2010 22:03:42 +0000 (15:03 -0700)]
web download-status: tolerate DYHBs that haven't retired yet. Fixes #1160.
Also add a better unit test for it.
Brian Warner [Mon, 9 Aug 2010 22:49:09 +0000 (15:49 -0700)]
immutable/filenode.py: put off DownloadStatus creation until first read() call
This avoids spamming the "recent uploads and downloads" /status page from
FileNode instances that were created for a directory read but which nobody is
ever going to read from. I also cleaned up the way DownloadStatus instances
are made to only ever do it in the CiphertextFileNode, not in the
higher-level plaintext FileNode. Also fixed DownloadStatus handling of read
size, thanks to David-Sarah for the catch.
Brian Warner [Fri, 6 Aug 2010 07:07:14 +0000 (00:07 -0700)]
Share: hush log entries in the main loop() after the fetch has been completed.
david-sarah [Sun, 8 Aug 2010 18:50:05 +0000 (11:50 -0700)]
test_runner.py: correct and simplify normalization of package directory for case-insensitive filesystems.
david-sarah [Sun, 8 Aug 2010 17:13:40 +0000 (10:13 -0700)]
test_runner.py: make test_path work for test-from-installdir.
david-sarah [Sun, 8 Aug 2010 17:12:35 +0000 (10:12 -0700)]
src/allmydata/__init__.py: make the package paths more accurate when we fail to get them from setuptools.
david-sarah [Sun, 8 Aug 2010 15:43:07 +0000 (08:43 -0700)]
test_runner.py: another try at calculating the rootdir correctly for test-from-egg and test-from-prefixdir.
david-sarah [Sun, 8 Aug 2010 04:28:17 +0000 (21:28 -0700)]
test_runner.py: calculate the location of bin/tahoe correctly for test-from-prefixdir (by copying code from misc/build_helpers/run_trial.py). Also fix the false-positive check for Unicode paths in test_the_right_code, which was causing skips that should have been failures.
david-sarah [Sat, 7 Aug 2010 00:45:46 +0000 (17:45 -0700)]
TAG allmydata-tahoe-1.8.0c1
david-sarah [Sat, 7 Aug 2010 00:42:54 +0000 (17:42 -0700)]
how_to_make_a_tahoe-lafs_release.txt: add step to check that release will report itself as the intended version.
david-sarah [Sat, 7 Aug 2010 00:36:46 +0000 (17:36 -0700)]
relnotes.txt: 1.8.0c1 release
david-sarah [Fri, 6 Aug 2010 23:51:11 +0000 (16:51 -0700)]
NEWS, quickstart.html and known_issues.txt for 1.8.0c1 release.
Brian Warner [Fri, 6 Aug 2010 08:04:50 +0000 (01:04 -0700)]
TAG allmydata-tahoe-1.8.0rc1
Brian Warner [Fri, 6 Aug 2010 08:02:28 +0000 (01:02 -0700)]
update NEWS and other docs in preparation for 1.8.0rc1
in particular, merge the various 1.8.0b1/b2 sections, and remove the
datestamp. NEWS gets updated just before a release, doesn't need to precisely
describe pre-release candidates, and the datestamp gets updated just before
the final release is tagged
Also, I removed the BOM from some files. My toolchain made it hard to retain,
and BOMs in UTF-8 don't make a whole lot of sense anyway. Sorry if that
messes anything up.
Brian Warner [Fri, 6 Aug 2010 07:07:05 +0000 (00:07 -0700)]
downloader.Segmentation: unregisterProducer when asked to stopProducing, this
seems to avoid the #1155 log message which reveals the URI (and filecap).
Also add an [ERROR] marker to the flog entry, since unregisterProducer also
makes interrupted downloads appear "200 OK"; this makes it more obvious that
the download did not complete.
david-sarah [Fri, 6 Aug 2010 05:24:15 +0000 (22:24 -0700)]
TAG allmydata-tahoe-1.8.0b2
david-sarah [Fri, 6 Aug 2010 04:08:23 +0000 (21:08 -0700)]
relnotes.txt and docs/known_issues.txt for 1.8.0beta2.
david-sarah [Fri, 6 Aug 2010 05:00:51 +0000 (22:00 -0700)]
test_util.py: use SHA-256 from pycryptopp instead of MD5 from hashlib (for uses in which any hash will do), since hashlib was only added to the stdlib in Python 2.5.
david-sarah [Fri, 6 Aug 2010 04:26:01 +0000 (21:26 -0700)]
test_runner.py: increase timeout to cater for Francois' ARM buildslave.
david-sarah [Fri, 6 Aug 2010 04:16:16 +0000 (21:16 -0700)]
test_util.py: remove use of 'a if p else b' syntax that requires Python 2.5.
david-sarah [Fri, 6 Aug 2010 03:51:12 +0000 (20:51 -0700)]
NEWS and docs/quickstart.html for 1.8.0beta2.
david-sarah [Fri, 6 Aug 2010 00:24:35 +0000 (17:24 -0700)]
docs/quickstart.html: remove link to tahoe-lafs-ticket798-1.8.0b.zip, due to appname regression. refs #1159
Brian Warner [Thu, 5 Aug 2010 18:41:08 +0000 (11:41 -0700)]
test_download.DownloadTest.test_simultaneous_goodguess: enable some disabled
checks that used to fail but work now.
Brian Warner [Thu, 5 Aug 2010 18:45:49 +0000 (11:45 -0700)]
DownloadNode: fix lost-progress in fetch_failed, tolerate cancel when no segment-fetch is active. Fixes #1154.
The lost-progress bug occurred when two simultanous read() calls fetched
different segments, and the first one failed (due to corruption, or the other
bugs in #1154): the second read() would never complete. While in this state,
cancelling the second read by having its consumer call stopProducing) would
trigger the cancel-intolerance bug. Finally, in downloader.node.Cancel,
prevent late cancels by adding an 'active' flag
Brian Warner [Thu, 5 Aug 2010 17:46:18 +0000 (10:46 -0700)]
util/spans.py: __nonzero__ cannot return a long either. for #1154
david-sarah [Thu, 5 Aug 2010 02:26:12 +0000 (19:26 -0700)]
test_storage.py: change skip note for test_large_share to say that Windows doesn't support sparse files. refs #569
Brian Warner [Wed, 4 Aug 2010 18:45:49 +0000 (11:45 -0700)]
One fix for bug #1154: webapi GETs with a 'Range' header broke new-downloader.
The Range header causes n.read() to be called with an offset= of type 'long',
which eventually got used in a Spans/DataSpans object's __len__ method.
Apparently python doesn't permit __len__() to return longs, only ints.
Rewrote Spans/DataSpans to use s.len() instead of len(s) aka s.__len__() .
Added a test in test_download. Note that test_web didn't catch this because
it uses mock FileNodes for speed: it's probably time to rewrite that.
There is still an unresolved error-recovery problem in #1154, so I'm not
closing the ticket quite yet.
Brian Warner [Wed, 4 Aug 2010 17:55:55 +0000 (10:55 -0700)]
test_download: minor cleanup
Brian Warner [Wed, 4 Aug 2010 07:28:14 +0000 (00:28 -0700)]
fetcher.py: improve comments
Brian Warner [Wed, 4 Aug 2010 07:28:08 +0000 (00:28 -0700)]
lazily create DownloadNode upon first read()/get_segment()
Brian Warner [Wed, 4 Aug 2010 07:28:00 +0000 (00:28 -0700)]
test_hung_server: update comments, remove dead "stage_4_d" code
Brian Warner [Wed, 4 Aug 2010 07:27:52 +0000 (00:27 -0700)]
copy the rest of David-Sarah's changes to make my tree match 1.8.0beta
Brian Warner [Wed, 4 Aug 2010 07:27:41 +0000 (00:27 -0700)]
ShareFinder: add 10s OVERDUE timer, send new requests to replace overdue ones
The fixed 10-second timer will eventually be replaced with a per-server
value, calculated based on observed response times.
test_hung_server.py: enhance to exercise DYHB=OVERDUE state. Split existing
mutable+immutable tests into two pieces for clarity. Reenabled several tests.
Deleted the now-obsolete "test_failover_during_stage_4".
Brian Warner [Wed, 4 Aug 2010 07:27:10 +0000 (00:27 -0700)]
Rewrite immutable downloader (#798). This patch adds and updates unit tests.
Brian Warner [Wed, 4 Aug 2010 07:27:02 +0000 (00:27 -0700)]
Rewrite immutable downloader (#798). This patch includes higher-level
integration into the NodeMaker, and updates the web-status display to handle
the new download events.
Brian Warner [Wed, 4 Aug 2010 07:26:39 +0000 (00:26 -0700)]
Rewrite immutable downloader (#798). This patch rearranges the rest of src/allmydata/immutable/ .
Brian Warner [Wed, 4 Aug 2010 07:26:29 +0000 (00:26 -0700)]
Rewrite immutable downloader (#798). This patch adds the new downloader itself.
Brian Warner [Wed, 4 Aug 2010 07:26:12 +0000 (00:26 -0700)]
util/observer.py: add EventStreamObserver
Brian Warner [Wed, 4 Aug 2010 07:26:00 +0000 (00:26 -0700)]
Add a byte-spans utility class, like perl's Set::IntSpan for .newsrc files.
Also a data-spans class, which records a byte (instead of a bit) for each
index.