1 patch for repository zooko@tahoe-lafs.org:/home/source/darcs/tahoe-lafs/trunk: Thu Jun 21 23:52:54 ADT 2012 zooko@zooko.com * backup: remove tests of how backup performs when sqlite is not importable -- that is no longer a supported option New patches: [backup: remove tests of how backup performs when sqlite is not importable -- that is no longer a supported option zooko@zooko.com**20120622025254 Ignore-this: 6c2463873c91cc01a920724c981f3987 ] { hunk ./src/allmydata/test/test_cli.py 2401 self.basedir = "cli/Backup/backup" self.set_up_grid() - # is the backupdb available? If so, we test that a second backup does - # not create new directories. - hush = StringIO() - have_bdb = backupdb.get_backupdb(os.path.join(self.basedir, "dbtest"), - hush) - # create a small local directory with a couple of files source = os.path.join(self.basedir, "home") fileutil.make_dirs(os.path.join(source, "empty")) hunk ./src/allmydata/test/test_cli.py 2418 d = self.do_cli("create-alias", "tahoe") - if not have_bdb: - d.addCallback(lambda res: self.do_cli("backup", source, "tahoe:backups")) - def _should_complain((rc, out, err)): - self.failUnless("I was unable to import a python sqlite library" in err, err) - d.addCallback(_should_complain) - d.addCallback(self.stall, 1.1) # make sure the backups get distinct timestamps - d.addCallback(lambda res: do_backup()) def _check0((rc, out, err)): self.failUnlessReallyEqual(err, "") hunk ./src/allmydata/test/test_cli.py 2478 # available self.failUnlessReallyEqual(err, "") self.failUnlessReallyEqual(rc, 0) - if have_bdb: - fu, fr, fs, dc, dr, ds = self.count_output(out) - # foo.txt, bar.txt, blah.txt - self.failUnlessReallyEqual(fu, 0) - self.failUnlessReallyEqual(fr, 3) - self.failUnlessReallyEqual(fs, 0) - # empty, home, home/parent, home/parent/subdir - self.failUnlessReallyEqual(dc, 0) - self.failUnlessReallyEqual(dr, 4) - self.failUnlessReallyEqual(ds, 0) + fu, fr, fs, dc, dr, ds = self.count_output(out) + # foo.txt, bar.txt, blah.txt + self.failUnlessReallyEqual(fu, 0) + self.failUnlessReallyEqual(fr, 3) + self.failUnlessReallyEqual(fs, 0) + # empty, home, home/parent, home/parent/subdir + self.failUnlessReallyEqual(dc, 0) + self.failUnlessReallyEqual(dr, 4) + self.failUnlessReallyEqual(ds, 0) d.addCallback(_check4a) hunk ./src/allmydata/test/test_cli.py 2489 - if have_bdb: - # sneak into the backupdb, crank back the "last checked" - # timestamp to force a check on all files - def _reset_last_checked(res): - dbfile = os.path.join(self.get_clientdir(), - "private", "backupdb.sqlite") - self.failUnless(os.path.exists(dbfile), dbfile) - bdb = backupdb.get_backupdb(dbfile) - bdb.cursor.execute("UPDATE last_upload SET last_checked=0") - bdb.cursor.execute("UPDATE directories SET last_checked=0") - bdb.connection.commit() + # sneak into the backupdb, crank back the "last checked" + # timestamp to force a check on all files + def _reset_last_checked(res): + dbfile = os.path.join(self.get_clientdir(), + "private", "backupdb.sqlite") + self.failUnless(os.path.exists(dbfile), dbfile) + bdb = backupdb.get_backupdb(dbfile) + bdb.cursor.execute("UPDATE last_upload SET last_checked=0") + bdb.cursor.execute("UPDATE directories SET last_checked=0") + bdb.connection.commit() hunk ./src/allmydata/test/test_cli.py 2500 - d.addCallback(_reset_last_checked) + d.addCallback(_reset_last_checked) hunk ./src/allmydata/test/test_cli.py 2502 - d.addCallback(self.stall, 1.1) - d.addCallback(lambda res: do_backup(verbose=True)) - def _check4b((rc, out, err)): - # we should check all files, and re-use all of them. None of - # the directories should have been changed, so we should - # re-use all of them too. - self.failUnlessReallyEqual(err, "") - self.failUnlessReallyEqual(rc, 0) - fu, fr, fs, dc, dr, ds = self.count_output(out) - fchecked, dchecked = self.count_output2(out) - self.failUnlessReallyEqual(fchecked, 3) - self.failUnlessReallyEqual(fu, 0) - self.failUnlessReallyEqual(fr, 3) - self.failUnlessReallyEqual(fs, 0) - self.failUnlessReallyEqual(dchecked, 4) - self.failUnlessReallyEqual(dc, 0) - self.failUnlessReallyEqual(dr, 4) - self.failUnlessReallyEqual(ds, 0) - d.addCallback(_check4b) + d.addCallback(self.stall, 1.1) + d.addCallback(lambda res: do_backup(verbose=True)) + def _check4b((rc, out, err)): + # we should check all files, and re-use all of them. None of + # the directories should have been changed, so we should + # re-use all of them too. + self.failUnlessReallyEqual(err, "") + self.failUnlessReallyEqual(rc, 0) + fu, fr, fs, dc, dr, ds = self.count_output(out) + fchecked, dchecked = self.count_output2(out) + self.failUnlessReallyEqual(fchecked, 3) + self.failUnlessReallyEqual(fu, 0) + self.failUnlessReallyEqual(fr, 3) + self.failUnlessReallyEqual(fs, 0) + self.failUnlessReallyEqual(dchecked, 4) + self.failUnlessReallyEqual(dc, 0) + self.failUnlessReallyEqual(dr, 4) + self.failUnlessReallyEqual(ds, 0) + d.addCallback(_check4b) d.addCallback(lambda res: self.do_cli("ls", "tahoe:backups/Archives")) def _check5((rc, out, err)): hunk ./src/allmydata/test/test_cli.py 2528 self.failUnlessReallyEqual(rc, 0) self.new_archives = out.split() expected_new = 2 - if have_bdb: - expected_new += 1 + expected_new += 1 self.failUnlessReallyEqual(len(self.new_archives), expected_new, out) # the original backup should still be the oldest (i.e. sorts # alphabetically towards the beginning) hunk ./src/allmydata/test/test_cli.py 2554 # and upload the rest. None of the directories can be reused. self.failUnlessReallyEqual(err, "") self.failUnlessReallyEqual(rc, 0) - if have_bdb: - fu, fr, fs, dc, dr, ds = self.count_output(out) - # new foo.txt, surprise file, subfile, empty - self.failUnlessReallyEqual(fu, 4) - # old bar.txt - self.failUnlessReallyEqual(fr, 1) - self.failUnlessReallyEqual(fs, 0) - # home, parent, subdir, blah.txt, surprisedir - self.failUnlessReallyEqual(dc, 5) - self.failUnlessReallyEqual(dr, 0) - self.failUnlessReallyEqual(ds, 0) + fu, fr, fs, dc, dr, ds = self.count_output(out) + # new foo.txt, surprise file, subfile, empty + self.failUnlessReallyEqual(fu, 4) + # old bar.txt + self.failUnlessReallyEqual(fr, 1) + self.failUnlessReallyEqual(fs, 0) + # home, parent, subdir, blah.txt, surprisedir + self.failUnlessReallyEqual(dc, 5) + self.failUnlessReallyEqual(dr, 0) + self.failUnlessReallyEqual(ds, 0) d.addCallback(_check5a) d.addCallback(lambda res: self.do_cli("ls", "tahoe:backups/Archives")) def _check6((rc, out, err)): hunk ./src/allmydata/test/test_cli.py 2571 self.failUnlessReallyEqual(rc, 0) self.new_archives = out.split() expected_new = 3 - if have_bdb: - expected_new += 1 + expected_new += 1 self.failUnlessReallyEqual(len(self.new_archives), expected_new) self.failUnlessReallyEqual(sorted(self.new_archives)[0], self.old_archives[0]) } Context: [mutable: fix shape of 'verinfo' tuple returned from MDMFSlotWriteProxy.get_verinfo(). fixes #1669 david-sarah@jacaranda.org**20120621205221 Ignore-this: 15d177d234e2db2945de17ff95051188 ] [Tests for ref #1669. Also refactor the existing tests to reduce duplicated code and to fix a cut-and-paste error that caused one case (successful SDMF repair) to go untested. david-sarah@jacaranda.org**20120621204627 Ignore-this: f77c29ee0cc32469e922712a49879ec2 ] [Add assertions to make sure that set_default_encoding_parameters is always called, rather than using hardcoded 3/7/10 defaults. Also update affected tests. Note that this by itself cannot fix the bug mentioned in ticket:1212#comment:41, but it might make it easier to reproduce. refs #1212 david-sarah@jacaranda.org**20120619020504 Ignore-this: 396ff33265981774936851b9970d5dfe ] [Fix a bug in mutable publish that could cause an IndexError when a writer is removed in Publish._connection_problem. This version uses DictOfSets as suggested by warner. fixes #1749 david-sarah@jacaranda.org**20120615034437 Ignore-this: 367a37d0fff03c5339296a854ea23e35 ] [docs/frontends/FTP-and-SFTP.rst: listing of directories containing mutable files (but not reading/writing mutable files) is fixed for FTP. Also remove the orphaned trac link to #1688. refs #680 david-sarah@jacaranda.org**20120618002454 Ignore-this: 54a6b44c148c2eda99515f2d54998d39 ] [docs: remove mention of #1588 from docs/frontends/FTP-and-SFTP.rst, since it is fixed zooko@zooko.com**20120617031404 Ignore-this: 99a67ce4680c4ad66e4fe6159e226b80 ] [test_system.py: wait for the Helper connection properly before uploading Brian Warner **20120612061930 Ignore-this: e34a2cce7250e15000bf7a4c2798ccd2 ] [test_system.py: clean up control flow, reduce use of stall() Brian Warner **20120612012235 Ignore-this: e1bf1aa9bc981df34cd8e0dafce40041 The _upload_resumable() test interrupts a Helper upload partway through (by shutting down the Helper), then restarts the Helper and resumes the upload. The control flow is kind of tricky: to do anything "partway through" requires adding a hook to the Uploadable. The previous flow depended upon a (fragile) call to self.stall(), which waits a fixed number of seconds. This removes one of those stall() calls (the remainder is in test/common.py and I'll try removing it in a subsequent revision). It also removes some now-redundant wait_for_connections() calls, since bounce_client() doesn't fire its Deferred until the client has finished coming back up (and uses wait_for_connections() internally to do so). ] [Since DeprecationWarning about twisted.internet.interfaces.IFinishableConsumer is suppressed globally, it doesn't need to be suppressed during import. refs #1295 david-sarah@jacaranda.org**20120614213315 Ignore-this: 2a0cded7cab6052e348a3af6d46d0d7a ] [misc/coding_tools/check-interfaces.py: clean-ups (warnings about Windows-specific modules and error stream handling). david-sarah@jacaranda.org**20120614212829 Ignore-this: 2033d237517525bfdf998a597bc13d13 ] [Suppress DeprecationWarning about twisted.internet.interfaces.IFinishableConsumer. This also unifies the handling of DeprecationWarnings that need to be suppressed globally. refs #1295 david-sarah@jacaranda.org**20120614212308 Ignore-this: 44ef1c807f0ffd64712755c82d03a19 ] [test/common.py: fix race condition waiting for the helper connection Brian Warner **20120614191835 Ignore-this: c2fa3608dec9b1337ae557bd34874d97 The wait_for_connections() method, which is used at the start of test_system to make sure that all the clients are connected to all the servers, did not also wait for clients to be connected to their Helpers. Every once in a while, the helper connection would take a bit longer, and then test_system.SystemTest.test_filesystem._test_web._got_welcome_helper would fail, because we'd check for a helper connection before it was ready. The fix is to modify wait_for_connections's polling predicate to look for helper connections (if configured) as well as the regular introducer- and server- connections. Tested by temporarily adding a large (30s) delay to the connectTo() call in Uploader.startService, simulating a long helper connection-establishment delay. This makes the test fail consistently. Then I fixed wait_for_connections(), and the test passed (slowly). Then I removed the delay. Closes #1467 ] [offloaded.py: don't drop the Deferred Brian Warner **20120612011602 Ignore-this: fc71d431d616fbbb37946d6d75193485 There was one corner case (where the client disconnects at just the wrong time) that could have dropped a Deferred, leading to an Unhandled Error. Clean up the control flow to avoid this case. ] [test_system.py: fix minor typo Brian Warner **20120612011636 Ignore-this: a7fe88527daa9e6556f9c42d7b7f752e ] [Clarify documentation of RIStorageServer.slot_testv_and_readv_and_writev. fixes #1744 david-sarah@jacaranda.org**20120613165135 Ignore-this: d0fca05f06dd9998140d1031bebf8620 ] [Added docs/specifications/backends/raic.rst for ticket #1760 Brian Warner **20120610193236 Ignore-this: 23eb716a368c0e442d8ce4a5bfa95959 ] [Fix text in Publish Status results. Closes #1762. Brian Warner **20120608222146 Ignore-this: 69690fc03c93e81e1d66efe77940745f ] [docs/quickstart.rst: fix rst warning. david-sarah@jacaranda.org**20120601210104 Ignore-this: c98d18e2eb028011936ebffd855bf0ea ] [Restore --rterrors option to 'setup.py test' and 'setup.py trial' to keep buildbots happy. refs #1699 david-sarah@jacaranda.org**20120531222307 Ignore-this: 62b8798fa0b50441df64f50ed5f9a117 ] [Change 'setup.py test' and 'setup.py trial' to pass --rterrors to trial by default. Suppress using --no-rterrors. Also pass --until-failure/-u to trial. fixes #1699 david-sarah@jacaranda.org**20120531220000 Ignore-this: 78bdfcfb1142ed260197996a3c1b22b1 ] [test_web.py: fix memory leak when run with --until-failure Brian Warner **20120522223949 Ignore-this: 17161fd0629fd86d4112220b13e10094 The Fake*Node classes in test/common.py were accumulating share data in a class-level dictionary, which persisted from one test run to the next. As a result, running test_web.py over and over (with trial's --until-failure feature) made this dictionary grow without bound, eventually running out of memory. This fix moves that dictionary into the FakeClient built fresh for each test, so it doesn't build up. It does the same thing for "file_types", which was much smaller but still lived at the class level. Closes #1729 ] [docs/frontends/FTP-and-SFTP.rst: remove outdated allmydata.com reference. fixes #1743 david-sarah@jacaranda.org**20120518225618 Ignore-this: a1e38e3f1d2138abd9d32087aeb71b3 ] [misc/build_helpers/check-interfaces.py: avoid spurious warnings about ignored exceptions on shutdown. Also make the check function able to write errors to an arbitrary stream. david-sarah@jacaranda.org**20120518021252 Ignore-this: 7d6b03286d7b1b4a726ff06f2c07f8c6 ] [dictutil.DictOfSets: remove .union() method, it was misleading Brian Warner **20120516235509 Ignore-this: ede3d11bf6de0d01f57b8bd85ff2da22 Unlike set.union(), which returns a new set, DictOfSets.union() modified the DictOfSets in-place. The name collision bit me when I changed some code from using DictOfSets to a normal set, and expected that set.union() would modify the set in-place. Since there was only one user of DictOfSets.union, I figured it was safer to just get rid of it. ] [immutable repairer: populate servers-responding properly Brian Warner **20120516235509 Ignore-this: d840f7dc056fa7efeaad1dd3f1c707c6 If a server did not respond to the pre-repair filecheck, but did respond to the repair, that server was not correctly added to the RepairResults.data["servers-responding"] list. (This resulted from a buggy usage of DictOfSets.union() in filenode.py). In addition, servers to which filecheck queries were sent, but did not respond, were incorrectly added to the servers-responding list anyawys. (This resulted from code in the checker.py not paying attention to the 'responded' flag). The first bug was neatly masked by the second: it's pretty rare to have a server suddenly start responding in the one-second window between a filecheck and a subsequent repair, and if the server was around for the filecheck, you'd never notice the problem. I only spotted the smelly code while I was changing it for IServer cleanup purposes. I added coverage to test_repairer.py for this. Trying to get that test to fail before fixing the first bug is what led me to discover the second bug. I also had to update test_corrupt_file_verno, since it was incorrectly asserting that 10 servers responded, when in fact one of them throws an error (but the second bug was causing it to be reported anyways). ] [Update my (davidsarah) gpg fingerprint in CREDITS. Mwahaha! :-) david-sarah@jacaranda.org**20120516231526 Ignore-this: e65336db38ff2227e3d2cce8a31aa397 ] [Improve a comment in __init__.py. david-sarah@jacaranda.org**20120514163431 Ignore-this: bbdce3d50dce46e497eba71f9146079e ] [Suppress the PowmInsecureWarning from PyCrypto. refs #1586 david-sarah@jacaranda.org**20120514032352 Ignore-this: 9cfd6936bc31e320d1ea9d52a495dbaa ] [test_web: improve shouldFail2() error reporting Brian Warner **20120509211837 Ignore-this: 2ab6738d46fead5b49496ba379fd1d98 ] [Change capitalization of WUI and introducer welcome page headings; add test for introducer welcome page. Also fix a typo in a CSS class name. fixes #1708 david-sarah@jacaranda.org**20120405235723 Ignore-this: 9b0055847a793528a028679847ab493c ] [Make the link on the Welcome page to 'https://tahoe-lafs.org/', not 'http:'. Includes a test. fixes #1682 david-sarah@jacaranda.org**20120308231758 Ignore-this: b639c3da453b95ee7edca8090ea1b9aa ] [Add nickname/nodeid to storage-status web page. Closes #1204. Brian Warner **20120313025736 Ignore-this: 78e533e06c390221edd66c45ec96e34a Also add tahoe.css to the page, to make it look slightly prettier. ] [introducer web page: add CSS styling, roughly match client Welcome page Brian Warner **20120307022505 Ignore-this: bfc450f394578a3463f31acc1019862 Also add /static and the top-level /tahoe.css -type stuff to the introducer's web server. ] [Tests for ref #1592. david-sarah@jacaranda.org**20111217043130 Ignore-this: a6713500ebe2d686581c6743b8a88f60 ] [test_web.py cleanup: use failUnlessIn/failIfIn in preference to 'in' operator. david-sarah@jacaranda.org**20111217042710 Ignore-this: c351f4b1d162eca545ba657dc3c70c19 ] [Marcus Wanner's favicon patch. fixes #1592 david-sarah@jacaranda.org**20111217033201 Ignore-this: 3528c920379fe0d157441dafe9a7c5a8 ] [1585-webui.darcs.patch Marcus Wanner **20111117214923 Ignore-this: 23cf2a06c545be5f821c071d652178ee ] [Rewrite download-status-timeline visualizer ('viz') with d3.js Brian Warner **20111101061821 Ignore-this: 6149b027bbae52c559ef5a8167240cab * use d3.js v2.4.6 * add a "toggle misc events" button, to get hash/bitmap-checking details * only draw data that's on screen, for speed * add fragment-arg to fetch timeline data.json from somewhere else ] [test/common.py: remove ununsed 'is_bad' mechanism Brian Warner **20120404191103 Ignore-this: 15b5d8d66e8ee902831b8171a9069763 This was a premature feature addition to the mock filenode, and gets in the way of the IServer refactoring I'm trying to do. Best to remove it now and re-introduce it in a better form later when it's actually needed. ] [make IServer instances retain identity in copy() and deepcopy() Brian Warner **20120404181409 Ignore-this: ff39267d0e967cc76591ba5166f63fc7 ] [move IServer from storage_client.py to interfaces.py Brian Warner **20120404181359 Ignore-this: 7713ad62faa2841659ce5ed287d0837b ] [servermap.py: oops, fix _done() condition, good catch by davidsarah Brian Warner **20120401221034 Ignore-this: a5b0f61d83606ebf3493917e69ad4edf ] [Mutable repair: use new MODE_REPAIR to query all servers *and* get privkey Brian Warner **20120331183902 Ignore-this: e518c5372afe27331e09f8d70c63764d This fixes bug #1689. Repair was using MODE_READ to build the servermap, which doesn't try hard enough to grab the privkey, and also doesn't guarantee sending queries to all servers. This patch adds a new MODE_REPAIR which does both, and does a separate, distinct mapupdate to start wth repair cycle, instead of relying upon the (MODE_CHECK) mapupdate leftover from the filecheck that triggered the repair. ] [Fix mutable status (mapupdate/retrieve/publish) to use serverids, not tubids Brian Warner **20120318000135 Ignore-this: 79354457b77fe2d8534fc0b792b6eb0c This still leaves immutable-publish results incorrectly using tubids instead of serverids. That will need some more work, since it might change the Helper interface. ] [retrieve.py: unconditionally check share-hash-tree. Fixes #1654. Brian Warner **20120112213553 Ignore-this: 7ddc903a382b52bc014262b3b4099165 Add Kevan's unit test, update known_issues.rst ] [mutable/retrieve.py: clean up control flow to avoid dropping errors Brian Warner **20120108221248 Ignore-this: 4e991bdf6399439d2cee3d743814a327 * replace DeferredList with gatherResults, simplify result handling * use BadShareError to signal recoverable problems in either fetch or validate, catch after _validate_block * _validate_block is thus not responsible for noticing fetch problems * rename _validation_or_decoding_failed() to _handle_bad_share() * _get_needed_hashes() returns two Deferreds, instead of a hard-to-unpack DeferredList ] [mutable: don't tell server about corruption unless it's really CorruptShareError Brian Warner **20120108221245 Ignore-this: 90da01af1008477c45d333a0f74f1c5b ] [test_mutable: don't use 75 shares (slow), now that the bug is fixed Brian Warner **20111228223819 Ignore-this: 930f1a24ebe9ed2ab25e4b2a16e36352 I missed this part of Kevan's fix-1628.darcs.2.patch . ] [mutable publish: fix not-enough-shares detection. Refs #1628. Brian Warner **20111228055018 Ignore-this: 23db08d8d630268e208e1755509adf92 This should match the "fix-1628.darcs.2.patch" attachment on that ticket. ] [mutable publish: track multiple servers-per-share. Fixes some of #1628. Brian Warner **20111228053358 Ignore-this: 6e8cb92e70273b81098f73ebf23164bd The remaining work is to write additional tests. src/allmydata/test/no_network.py: This supports tests in which servers leave the grid only to return with their shares intact at a later time. src/allmydata/test/test_mutable.py: The UCWEs in the incident reports associated with #1628 all seem to be associated with shares that the servermap knows about, but which aren't accounted for during the publish process for whatever reason. Specifically, it looks like the publisher is only capable of keeping track of a single storage server for a given share. This makes the repair process worse than it was pre-MDMF at updating all of the shares of a particular file to the newest version, and can also cause spurious UCWEs. This test simulates such a layout and fails if an UCWE is thrown. We need to write another test to ensure that all copies of a share are updated to the latest version (or alter this test to do that), so that the test suite doesn't pass unless both regressions are fixed. We want the publisher to follow the existing share placement when uploading a new version of a mutable file, and we don't want this test to pass unless it does. src/allmydata/mutable/publish.py: Before this commit, the publisher only kept track of a single writer for each share. This is insufficient to handle updates in which a single share may live on multiple servers. In the best case, an update will only update one of the existing shares instead of all of them. In some cases, the update will encounter the existing shares when publishing some other share, interpret it as a sign of an uncoordinated update, and fail. Keeping track of all of the writers helps ensure that all existing shares are updated, and helps avoid spurious uncoordinated write errors. ] [IServer refactoring: pass IServer instances around, instead of peerids Brian Warner **20111101040319 Ignore-this: 35e4698a0273a0311fe0ccedcc7881b5 refs #1363 This collapses 88 small incremental changes (each of which passes all tests) into one big patch. The development process for the long path started with adding some temporary scaffolding, changing one method at a time, then removing the scaffolding. The individual pieces are as follows, in reverse chronological order (the first patch is at the end of this comment): commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a Author: Brian Warner Date: Tue Oct 4 16:05:00 2011 -0400 immutable/downloader/status.py: correct comment src/allmydata/immutable/downloader/status.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889 Author: Brian Warner Date: Tue Oct 4 15:46:20 2011 -0400 remove temporary ServerMap._storage_broker src/allmydata/mutable/checker.py | 2 +- src/allmydata/mutable/filenode.py | 2 +- src/allmydata/mutable/publish.py | 2 +- src/allmydata/mutable/servermap.py | 5 ++--- src/allmydata/test/test_mutable.py | 8 ++++---- 5 files changed, 9 insertions(+), 10 deletions(-) commit d703096b41632c47d76414b12672e076a422ff5c Author: Brian Warner Date: Tue Oct 4 15:37:05 2011 -0400 remove temporary storage_broker.get_server_for_id() src/allmydata/storage_client.py | 3 --- src/allmydata/test/no_network.py | 13 ------------- 2 files changed, 0 insertions(+), 16 deletions(-) commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1 Author: Brian Warner Date: Tue Oct 4 12:50:06 2011 -0400 API of Retrieve._try_to_validate_privkey(), trying to remove reader.server src/allmydata/mutable/retrieve.py | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4 Author: Brian Warner Date: Tue Oct 4 12:48:08 2011 -0400 API of Retrieve._validate_block(), trying to remove reader.server src/allmydata/mutable/retrieve.py | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) commit 572d5070761861a2190349d1ed8d85dbc25698a5 Author: Brian Warner Date: Tue Oct 4 12:36:58 2011 -0400 API of Retrieve._mark_bad_share(), trying to remove reader.server src/allmydata/mutable/retrieve.py | 21 +++++++++------------ 1 files changed, 9 insertions(+), 12 deletions(-) commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89 Author: Brian Warner Date: Tue Oct 4 12:06:13 2011 -0400 remove now-unused get_rref_for_serverid() src/allmydata/mutable/servermap.py | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7 Author: Brian Warner Date: Tue Oct 4 12:03:09 2011 -0400 Retrieve: stop adding .serverid attributes to readers src/allmydata/mutable/retrieve.py | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef Author: Brian Warner Date: Tue Oct 4 12:03:34 2011 -0400 return value of Retrieve(verify=True) src/allmydata/mutable/checker.py | 11 ++++++----- src/allmydata/mutable/retrieve.py | 3 +-- 2 files changed, 7 insertions(+), 7 deletions(-) commit e9ab7978c384e1f677cb7779dc449b1044face82 Author: Brian Warner Date: Tue Oct 4 11:54:23 2011 -0400 Retrieve._bad_shares (but not return value, used by Verifier) src/allmydata/mutable/retrieve.py | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9 Author: Brian Warner Date: Tue Oct 4 11:51:23 2011 -0400 Publish: stop adding .serverid attributes to writers src/allmydata/mutable/publish.py | 9 ++------- 1 files changed, 2 insertions(+), 7 deletions(-) commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a Author: Brian Warner Date: Tue Oct 4 11:56:33 2011 -0400 API of get_write_enabler() src/allmydata/mutable/filenode.py | 7 ++++--- src/allmydata/mutable/publish.py | 4 ++-- src/allmydata/test/no_network.py | 3 +++ 3 files changed, 9 insertions(+), 5 deletions(-) commit 9196a5c6590fdbfd660325ea8358b345887d3db0 Author: Brian Warner Date: Tue Oct 4 11:46:24 2011 -0400 API of get_(renewal|cancel)_secret() src/allmydata/mutable/filenode.py | 14 ++++++++------ src/allmydata/mutable/publish.py | 8 ++++---- src/allmydata/mutable/servermap.py | 5 ++--- 3 files changed, 14 insertions(+), 13 deletions(-) commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5 Author: Brian Warner Date: Tue Oct 4 11:41:52 2011 -0400 API of CorruptShareError. Also comment out some related+unused test_web.py code src/allmydata/mutable/common.py | 13 +++++-------- src/allmydata/mutable/retrieve.py | 10 +++++----- src/allmydata/mutable/servermap.py | 8 +++----- src/allmydata/test/common.py | 13 ++++++++----- 4 files changed, 21 insertions(+), 23 deletions(-) commit 2c1c314046b620c16f1e66d030c150d768b7d01e Author: Brian Warner Date: Tue Oct 4 12:01:46 2011 -0400 API of ServerMap.mark_bad_share() src/allmydata/mutable/publish.py | 2 +- src/allmydata/mutable/retrieve.py | 6 +++--- src/allmydata/mutable/servermap.py | 6 ++---- src/allmydata/test/test_mutable.py | 3 +-- 4 files changed, 7 insertions(+), 10 deletions(-) commit 1bed349030779fd0c378ae4e821384f953c6f6ff Author: Brian Warner Date: Tue Oct 4 11:11:17 2011 -0400 API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix src/allmydata/mutable/servermap.py | 7 ++----- src/allmydata/test/test_mutable.py | 6 +++--- 2 files changed, 5 insertions(+), 8 deletions(-) commit 2d32e448677d6b818692e801045d4115b29abf21 Author: Brian Warner Date: Tue Oct 4 11:07:10 2011 -0400 API of ServerMap.all_servers_for_version() src/allmydata/mutable/servermap.py | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 48f3204d1889c3e7179578125c4bdef515af3d6a Author: Brian Warner Date: Tue Oct 4 11:04:50 2011 -0400 internals of ServerMap methods that use make_versionmap(), remove temp copy src/allmydata/mutable/servermap.py | 28 +++++++++---------------- 1 files changed, 10 insertions(+), 18 deletions(-) commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548 Author: Brian Warner Date: Tue Oct 4 11:01:28 2011 -0400 API of ServerMap.make_versionmap() src/allmydata/mutable/checker.py | 4 ++-- src/allmydata/mutable/retrieve.py | 5 ++--- src/allmydata/mutable/servermap.py | 4 ++-- src/allmydata/test/test_mutable.py | 7 ++++--- 4 files changed, 10 insertions(+), 10 deletions(-) commit b6882ece49afb4c507d118af2db346fa329209dc Author: Brian Warner Date: Tue Oct 4 10:53:38 2011 -0400 make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use src/allmydata/mutable/servermap.py | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-) commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151 Author: Brian Warner Date: Tue Oct 4 00:45:58 2011 -0400 API of RetrieveStatus.add_problem() src/allmydata/mutable/retrieve.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 4976d29ffae565a048851601c29013bbae2976d8 Author: Brian Warner Date: Tue Oct 4 00:45:05 2011 -0400 API of RetrieveStatus.add_fetch_timing() src/allmydata/mutable/retrieve.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit d057d3bbba72663ee148a8b916bc2d52be2e3982 Author: Brian Warner Date: Tue Oct 4 00:44:04 2011 -0400 API of Retrieve.notify_server_corruption() src/allmydata/mutable/retrieve.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 8a2a81e46671c860610e0e96d6add1a57551f22d Author: Brian Warner Date: Tue Oct 4 00:42:32 2011 -0400 remove unused _outstanding_queries src/allmydata/mutable/retrieve.py | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 56d12cc9968d03ccd53764455c671122c4f391d1 Author: Brian Warner Date: Tue Oct 4 00:40:57 2011 -0400 change Retrieve.remaining_sharemap src/allmydata/mutable/retrieve.py | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281 Author: Brian Warner Date: Tue Oct 4 10:40:18 2011 -0400 accessor for PublishStatus._problems src/allmydata/mutable/publish.py | 4 +++- src/allmydata/web/status.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741 Author: Brian Warner Date: Tue Oct 4 10:36:39 2011 -0400 accessor for RetrieveStatus._problems src/allmydata/mutable/retrieve.py | 8 ++++++-- src/allmydata/web/status.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) commit ca7dea81f03801b1c7353fc00ecba689268109cf Author: Brian Warner Date: Tue Oct 4 00:35:32 2011 -0400 add .server to "reader", so we can get at it later src/allmydata/mutable/retrieve.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 6ef516e24908ec195af084a7550d1921a5e983b0 Author: Brian Warner Date: Tue Oct 4 00:32:32 2011 -0400 temporarily give Retrieve a _storage_broker, so it can map serverids to servers src/allmydata/mutable/checker.py | 3 ++- src/allmydata/mutable/filenode.py | 6 ++++-- src/allmydata/mutable/retrieve.py | 5 +++-- src/allmydata/test/test_mutable.py | 4 ++-- 4 files changed, 11 insertions(+), 7 deletions(-) commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9 Author: Brian Warner Date: Tue Oct 4 00:21:51 2011 -0400 mutable/retrieve.py: s/peer/server/ src/allmydata/mutable/retrieve.py | 82 +++++++++++++------------- src/allmydata/test/test_mutable.py | 6 +- 2 files changed, 44 insertions(+), 44 deletions(-) commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc Author: Brian Warner Date: Tue Oct 4 00:16:01 2011 -0400 web.status.PublishStatusPage: add comment, I think .problems isn't exercised src/allmydata/web/status.py | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 311466dd8c931bbba40d590ade867704282e7f1a Author: Brian Warner Date: Mon Oct 3 23:48:16 2011 -0400 API of PublishStatus.add_per_server_time() src/allmydata/mutable/publish.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 2df5faa1b6cbfbaded520d2320305a62fe961118 Author: Brian Warner Date: Mon Oct 3 23:46:37 2011 -0400 more simplifications src/allmydata/mutable/publish.py | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) commit 6ac4544a3da385f2aad9392f906b90192f4f919a Author: Brian Warner Date: Mon Oct 3 23:44:08 2011 -0400 API of ServerMap.version_on_server() src/allmydata/mutable/publish.py | 2 +- src/allmydata/mutable/servermap.py | 4 ++-- src/allmydata/test/test_mutable.py | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) commit 3e187e322511072e4683329df6b2c6c733a66dba Author: Brian Warner Date: Tue Oct 4 00:16:32 2011 -0400 API of ServerMap.make_sharemap() src/allmydata/mutable/servermap.py | 4 ++-- src/allmydata/test/test_mutable.py | 7 ++++--- src/allmydata/web/status.py | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) commit 318feed8437bdd8d4943c6569d38f7b54b6313cc Author: Brian Warner Date: Mon Oct 3 23:36:19 2011 -0400 small cleanups src/allmydata/mutable/publish.py | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit bd459ed5714e1db5a7163935c54b7b0b56db8349 Author: Brian Warner Date: Mon Oct 3 23:33:39 2011 -0400 API of ServerMap.add_new_share() src/allmydata/mutable/publish.py | 4 ++-- src/allmydata/mutable/servermap.py | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef Author: Brian Warner Date: Mon Oct 3 23:30:26 2011 -0400 API of ServerMap.get_bad_shares() src/allmydata/mutable/publish.py | 3 +-- src/allmydata/mutable/servermap.py | 9 ++++----- 2 files changed, 5 insertions(+), 7 deletions(-) commit 965074a47b3ce1431cb46d9a233840afcf9105f5 Author: Brian Warner Date: Mon Oct 3 23:26:58 2011 -0400 more small cleanups src/allmydata/mutable/publish.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 38020da34f034f8889947dd3dc05e087ffff7106 Author: Brian Warner Date: Mon Oct 3 23:18:47 2011 -0400 change Publish.bad_share_checkstrings src/allmydata/mutable/publish.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304 Author: Brian Warner Date: Mon Oct 3 23:16:31 2011 -0400 change internals of Publish.update_goal() src/allmydata/mutable/publish.py | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527 Author: Brian Warner Date: Mon Oct 3 23:11:42 2011 -0400 get rid of Publish.connections src/allmydata/mutable/publish.py | 27 +++++---------------------- 1 files changed, 5 insertions(+), 22 deletions(-) commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037 Author: Brian Warner Date: Mon Oct 3 23:05:32 2011 -0400 change Publish.bad_servers src/allmydata/mutable/publish.py | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit b85a934bef315a06bcfe00c9c12a3627fed2b918 Author: Brian Warner Date: Mon Oct 3 23:03:07 2011 -0400 Publish.bad_servers: fix bug, this should be a set of serverids, not writers src/allmydata/mutable/publish.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 605ea15ec15ed671513819003ccd211cdb9761e0 Author: Brian Warner Date: Mon Oct 3 23:00:21 2011 -0400 change .placed src/allmydata/mutable/publish.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e Author: Brian Warner Date: Mon Oct 3 22:59:22 2011 -0400 temporarily stash IServer as .server on the "writer" object src/allmydata/mutable/publish.py | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36 Author: Brian Warner Date: Mon Oct 3 22:48:18 2011 -0400 change Publish.goal and API of log_goal() to use IServer, not serverid src/allmydata/mutable/publish.py | 48 ++++++++++++++-------------- 1 files changed, 24 insertions(+), 24 deletions(-) commit 75f20616558e4900b8b1f685dd99aa838de6d452 Author: Brian Warner Date: Mon Oct 3 15:27:02 2011 -0400 API of ServerMap.get_known_shares() src/allmydata/mutable/publish.py | 16 ++++++++++------ src/allmydata/mutable/servermap.py | 7 ++----- 2 files changed, 12 insertions(+), 11 deletions(-) commit 1c38c9d37bb08221b4418762234b1a62397b3b4b Author: Brian Warner Date: Mon Oct 3 15:20:29 2011 -0400 Publish.full_serverlist src/allmydata/mutable/publish.py | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1 Author: Brian Warner Date: Mon Oct 3 15:12:31 2011 -0400 API of ServerMap.all_servers() src/allmydata/mutable/servermap.py | 19 ++++++------------- 1 files changed, 6 insertions(+), 13 deletions(-) commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98 Author: Brian Warner Date: Mon Oct 3 15:10:18 2011 -0400 remove ServerMap.connections, set_rref_for_serverid() src/allmydata/mutable/servermap.py | 11 +---------- 1 files changed, 1 insertions(+), 10 deletions(-) commit 4df52db2f80eb12eefa5d57103c24893cde89553 Author: Brian Warner Date: Mon Oct 3 15:04:06 2011 -0400 API of ServerMap.mark_server_reachable() src/allmydata/mutable/servermap.py | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-) commit 69c715bde77944dc25181b3dbbeb042c816f9a1b Author: Brian Warner Date: Mon Oct 3 15:03:21 2011 -0400 API of ServerMap.mark_server_unreachable() src/allmydata/mutable/servermap.py | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-) commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa Author: Brian Warner Date: Mon Oct 3 15:02:03 2011 -0400 API of status.set_privkey_from() src/allmydata/mutable/servermap.py | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6 Author: Brian Warner Date: Mon Oct 3 15:01:15 2011 -0400 API of status.add_per_server_time() src/allmydata/mutable/servermap.py | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8 Author: Brian Warner Date: Mon Oct 3 14:59:02 2011 -0400 remove unused .versionmap src/allmydata/mutable/servermap.py | 7 ------- 1 files changed, 0 insertions(+), 7 deletions(-) commit 2816562e090d2294179db3588dafcca18de1bc2b Author: Brian Warner Date: Mon Oct 3 14:57:51 2011 -0400 remove serverid from all log messages. Also one unused lambda. src/allmydata/mutable/servermap.py | 30 +++++++++++++------------- 1 files changed, 15 insertions(+), 15 deletions(-) commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f Author: Brian Warner Date: Mon Oct 3 14:54:30 2011 -0400 removed unused _readers src/allmydata/mutable/servermap.py | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817 Author: Brian Warner Date: Mon Oct 3 14:54:16 2011 -0400 remove unused _sharemap src/allmydata/mutable/servermap.py | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 3f072e55cf1d0700f9fffe23f8f3a475725df588 Author: Brian Warner Date: Mon Oct 3 14:49:03 2011 -0400 _must_query src/allmydata/mutable/servermap.py | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b Author: Brian Warner Date: Mon Oct 3 14:48:05 2011 -0400 _queries_outstanding src/allmydata/mutable/servermap.py | 16 +++++++--------- 1 files changed, 7 insertions(+), 9 deletions(-) commit 7743759f98ac2c07926b2fdbd80bf52dfab33085 Author: Brian Warner Date: Mon Oct 3 14:46:17 2011 -0400 _empty_servers src/allmydata/mutable/servermap.py | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d Author: Brian Warner Date: Mon Oct 3 14:45:39 2011 -0400 _good_servers src/allmydata/mutable/servermap.py | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4 Author: Brian Warner Date: Mon Oct 3 14:44:59 2011 -0400 _bad_servers src/allmydata/mutable/servermap.py | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65 Author: Brian Warner Date: Mon Oct 3 14:41:54 2011 -0400 API of _try_to_set_pubkey() src/allmydata/mutable/servermap.py | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) commit 0481ea70042ba3575f15eac7fd0780f8ece580cc Author: Brian Warner Date: Mon Oct 3 14:35:02 2011 -0400 API of notify_server_corruption() src/allmydata/mutable/servermap.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit bea9cba18fb3b9c11bb22f18356a263ecec7351e Author: Brian Warner Date: Mon Oct 3 14:34:09 2011 -0400 API of _got_signature_one_share() src/allmydata/mutable/servermap.py | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) commit 1520123583cf78650706e114b15bb5b0ac1f4a14 Author: Brian Warner Date: Mon Oct 3 14:32:33 2011 -0400 API of _try_to_validate_privkey() src/allmydata/mutable/servermap.py | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e Author: Brian Warner Date: Mon Oct 3 14:31:48 2011 -0400 API and internals of _add_lease_failed() src/allmydata/mutable/servermap.py | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit 3843dba367e3c19e176a622ab853cb51d2472ddf Author: Brian Warner Date: Mon Oct 3 14:30:37 2011 -0400 API of _privkey_query_failed() src/allmydata/mutable/servermap.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 2219a710e1633cd57d0ca0786490de87b3e19ba7 Author: Brian Warner Date: Mon Oct 3 14:29:43 2011 -0400 fix bug in call to _privkey_query_failed, unrelated to refactoring src/allmydata/mutable/servermap.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ae615bec7d0d1b269710b6902797b12f9592ad62 Author: Brian Warner Date: Mon Oct 3 14:27:17 2011 -0400 API of _got_corrupt_share() src/allmydata/mutable/servermap.py | 17 +++++++++-------- 1 files changed, 9 insertions(+), 8 deletions(-) commit cb51c95a6f4e077278157a77dab060c8c1ad7a81 Author: Brian Warner Date: Mon Oct 3 14:23:16 2011 -0400 API of _got_results() src/allmydata/mutable/servermap.py | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) commit bac9154fe0af18f226999a58ffc2362d8cf4b802 Author: Brian Warner Date: Mon Oct 3 14:19:19 2011 -0400 API of _query_failed() src/allmydata/mutable/servermap.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12 Author: Brian Warner Date: Mon Oct 3 14:17:20 2011 -0400 API of _do_read() src/allmydata/mutable/servermap.py | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) commit e7e9e338f28d004aa4d423d11c65f1e271ac7322 Author: Brian Warner Date: Mon Oct 3 14:20:21 2011 -0400 API of _do_query() src/allmydata/mutable/servermap.py | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) commit 330625b9dac4cdbe72a11464a893065b9aeed453 Author: Brian Warner Date: Mon Oct 3 14:43:05 2011 -0400 next step: first batch of updates to ServermapUpdater updates: most method-local variables in update() API of _build_initial_querylist() API of _send_initial_requests() .full_serverlist .extra_servers src/allmydata/mutable/servermap.py | 39 ++++++++++++++------------ 1 files changed, 21 insertions(+), 18 deletions(-) commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9 Author: Brian Warner Date: Mon Oct 3 15:07:00 2011 -0400 internal change: index _bad_shares with IServer src/allmydata/mutable/servermap.py | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) commit 16d4e6fa82a9907dbdc92094213387c6a4164e41 Author: Brian Warner Date: Mon Oct 3 18:20:47 2011 +0100 internal change: index _known_shares with IServer instead of serverid callers are unchanged src/allmydata/mutable/servermap.py | 42 +++++++++++++++---------- 1 files changed, 25 insertions(+), 17 deletions(-) commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176 Author: Brian Warner Date: Mon Oct 3 18:11:43 2011 +0100 accessors and name cleanup for servermap.Servermap.last_update_mode/time src/allmydata/mutable/filenode.py | 6 +++--- src/allmydata/mutable/publish.py | 4 ++-- src/allmydata/mutable/servermap.py | 17 +++++++++++------ 3 files changed, 16 insertions(+), 11 deletions(-) commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0 Author: Brian Warner Date: Mon Oct 3 18:11:14 2011 +0100 accessors and name cleanup for servermap.Servermap.problems src/allmydata/mutable/servermap.py | 21 +++++++++++++-------- src/allmydata/test/test_mutable.py | 6 +++--- 2 files changed, 16 insertions(+), 11 deletions(-) commit 348f57988f79389db0aab7672e6eaa9a6d8e3219 Author: Brian Warner Date: Mon Oct 3 18:10:41 2011 +0100 accessors and name cleanup for servermap.Servermap.bad_shares src/allmydata/mutable/publish.py | 2 +- src/allmydata/mutable/servermap.py | 30 ++++++++++++++----------- 2 files changed, 18 insertions(+), 14 deletions(-) commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e Author: Brian Warner Date: Mon Oct 3 18:10:05 2011 +0100 accessors and name cleanup for servermap.Servermap.servermap . src/allmydata/mutable/publish.py | 14 +++++---- src/allmydata/mutable/servermap.py | 38 ++++++++++++++----------- 2 files changed, 29 insertions(+), 23 deletions(-) commit b8b8dc38287a91dbdf494426ac801d9381ce5841 Author: Brian Warner Date: Mon Oct 3 18:08:02 2011 +0100 fix reachable_servers src/allmydata/mutable/checker.py | 3 ++- src/allmydata/mutable/publish.py | 4 +++- src/allmydata/mutable/servermap.py | 12 ++++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) commit cb0cfd1adfefad357c187aaaf690c3df68b622bc Author: Brian Warner Date: Mon Oct 3 18:06:03 2011 +0100 fix Servermap.unreachable_servers src/allmydata/mutable/servermap.py | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) commit 2d9ea79b94bd4db674d40386fda90825785ac495 Author: Brian Warner Date: Mon Oct 3 18:03:48 2011 +0100 give ServerMap a StorageFarmBroker, temporary this makes it possible for the ServerMap to accept bare serverids and still build data structures with IServers src/allmydata/mutable/checker.py | 2 +- src/allmydata/mutable/filenode.py | 2 +- src/allmydata/mutable/publish.py | 2 +- src/allmydata/mutable/servermap.py | 5 +++-- src/allmydata/test/test_mutable.py | 8 ++++---- 5 files changed, 10 insertions(+), 9 deletions(-) commit 718d1aeff6fded893f65397806d22ece928b0dd4 Author: Brian Warner Date: Mon Oct 3 13:43:30 2011 -0400 add StorageFarmBroker.get_server_for_id(), temporary helper This will go away once we're passing IServers everywhere. src/allmydata/storage_client.py | 2 ++ src/allmydata/test/no_network.py | 13 +++++++++++++ 2 files changed, 15 insertions(+), 0 deletions(-) commit ece20231d7fda0d503704842a4aa068dfbc2e54e Author: Brian Warner Date: Sun Oct 2 01:11:50 2011 +0100 add proper accessors for Servermap.connections, to make refactoring easier src/allmydata/mutable/publish.py | 6 +++--- src/allmydata/mutable/retrieve.py | 10 +++++----- src/allmydata/mutable/servermap.py | 17 +++++++++++------ 3 files changed, 19 insertions(+), 14 deletions(-) commit 3b943d6bf302ff702668081a612fc4fe2604cf9c Author: Brian Warner Date: Fri Sep 23 10:34:30 2011 -0700 mutable/servermap.py and neighbors: s/peer/server/ src/allmydata/mutable/checker.py | 22 +- src/allmydata/mutable/publish.py | 204 +++++++------- src/allmydata/mutable/servermap.py | 402 +++++++++++++------------- src/allmydata/test/test_mutable.py | 18 +- 4 files changed, 323 insertions(+), 323 deletions(-) IServer refactoring: pass IServer instances around, instead of peerids refs #1363 This collapses 88 small incremental changes (each of which passes all tests) into one big patch. The development process for the long path started with adding some temporary scaffolding, changing one method at a time, then removing the scaffolding. The individual pieces are as follows, in reverse chronological order (the first patch is at the end of this comment): commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a Author: Brian Warner Date: Tue Oct 4 16:05:00 2011 -0400 immutable/downloader/status.py: correct comment src/allmydata/immutable/downloader/status.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889 Author: Brian Warner Date: Tue Oct 4 15:46:20 2011 -0400 remove temporary ServerMap._storage_broker src/allmydata/mutable/checker.py | 2 +- src/allmydata/mutable/filenode.py | 2 +- src/allmydata/mutable/publish.py | 2 +- src/allmydata/mutable/servermap.py | 5 ++--- src/allmydata/test/test_mutable.py | 8 ++++---- 5 files changed, 9 insertions(+), 10 deletions(-) commit d703096b41632c47d76414b12672e076a422ff5c Author: Brian Warner Date: Tue Oct 4 15:37:05 2011 -0400 remove temporary storage_broker.get_server_for_id() src/allmydata/storage_client.py | 3 --- src/allmydata/test/no_network.py | 13 ------------- 2 files changed, 0 insertions(+), 16 deletions(-) commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1 Author: Brian Warner Date: Tue Oct 4 12:50:06 2011 -0400 API of Retrieve._try_to_validate_privkey(), trying to remove reader.server src/allmydata/mutable/retrieve.py | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4 Author: Brian Warner Date: Tue Oct 4 12:48:08 2011 -0400 API of Retrieve._validate_block(), trying to remove reader.server src/allmydata/mutable/retrieve.py | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) commit 572d5070761861a2190349d1ed8d85dbc25698a5 Author: Brian Warner Date: Tue Oct 4 12:36:58 2011 -0400 API of Retrieve._mark_bad_share(), trying to remove reader.server src/allmydata/mutable/retrieve.py | 21 +++++++++------------ 1 files changed, 9 insertions(+), 12 deletions(-) commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89 Author: Brian Warner Date: Tue Oct 4 12:06:13 2011 -0400 remove now-unused get_rref_for_serverid() src/allmydata/mutable/servermap.py | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7 Author: Brian Warner Date: Tue Oct 4 12:03:09 2011 -0400 Retrieve: stop adding .serverid attributes to readers src/allmydata/mutable/retrieve.py | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef Author: Brian Warner Date: Tue Oct 4 12:03:34 2011 -0400 return value of Retrieve(verify=True) src/allmydata/mutable/checker.py | 11 ++++++----- src/allmydata/mutable/retrieve.py | 3 +-- 2 files changed, 7 insertions(+), 7 deletions(-) commit e9ab7978c384e1f677cb7779dc449b1044face82 Author: Brian Warner Date: Tue Oct 4 11:54:23 2011 -0400 Retrieve._bad_shares (but not return value, used by Verifier) src/allmydata/mutable/retrieve.py | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9 Author: Brian Warner Date: Tue Oct 4 11:51:23 2011 -0400 Publish: stop adding .serverid attributes to writers src/allmydata/mutable/publish.py | 9 ++------- 1 files changed, 2 insertions(+), 7 deletions(-) commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a Author: Brian Warner Date: Tue Oct 4 11:56:33 2011 -0400 API of get_write_enabler() src/allmydata/mutable/filenode.py | 7 ++++--- src/allmydata/mutable/publish.py | 4 ++-- src/allmydata/test/no_network.py | 3 +++ 3 files changed, 9 insertions(+), 5 deletions(-) commit 9196a5c6590fdbfd660325ea8358b345887d3db0 Author: Brian Warner Date: Tue Oct 4 11:46:24 2011 -0400 API of get_(renewal|cancel)_secret() src/allmydata/mutable/filenode.py | 14 ++++++++------ src/allmydata/mutable/publish.py | 8 ++++---- src/allmydata/mutable/servermap.py | 5 ++--- 3 files changed, 14 insertions(+), 13 deletions(-) commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5 Author: Brian Warner Date: Tue Oct 4 11:41:52 2011 -0400 API of CorruptShareError. Also comment out some related+unused test_web.py code src/allmydata/mutable/common.py | 13 +++++-------- src/allmydata/mutable/retrieve.py | 10 +++++----- src/allmydata/mutable/servermap.py | 8 +++----- src/allmydata/test/common.py | 13 ++++++++----- 4 files changed, 21 insertions(+), 23 deletions(-) commit 2c1c314046b620c16f1e66d030c150d768b7d01e Author: Brian Warner Date: Tue Oct 4 12:01:46 2011 -0400 API of ServerMap.mark_bad_share() src/allmydata/mutable/publish.py | 2 +- src/allmydata/mutable/retrieve.py | 6 +++--- src/allmydata/mutable/servermap.py | 6 ++---- src/allmydata/test/test_mutable.py | 3 +-- 4 files changed, 7 insertions(+), 10 deletions(-) commit 1bed349030779fd0c378ae4e821384f953c6f6ff Author: Brian Warner Date: Tue Oct 4 11:11:17 2011 -0400 API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix src/allmydata/mutable/servermap.py | 7 ++----- src/allmydata/test/test_mutable.py | 6 +++--- 2 files changed, 5 insertions(+), 8 deletions(-) commit 2d32e448677d6b818692e801045d4115b29abf21 Author: Brian Warner Date: Tue Oct 4 11:07:10 2011 -0400 API of ServerMap.all_servers_for_version() src/allmydata/mutable/servermap.py | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 48f3204d1889c3e7179578125c4bdef515af3d6a Author: Brian Warner Date: Tue Oct 4 11:04:50 2011 -0400 internals of ServerMap methods that use make_versionmap(), remove temp copy src/allmydata/mutable/servermap.py | 28 +++++++++---------------- 1 files changed, 10 insertions(+), 18 deletions(-) commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548 Author: Brian Warner Date: Tue Oct 4 11:01:28 2011 -0400 API of ServerMap.make_versionmap() src/allmydata/mutable/checker.py | 4 ++-- src/allmydata/mutable/retrieve.py | 5 ++--- src/allmydata/mutable/servermap.py | 4 ++-- src/allmydata/test/test_mutable.py | 7 ++++--- 4 files changed, 10 insertions(+), 10 deletions(-) commit b6882ece49afb4c507d118af2db346fa329209dc Author: Brian Warner Date: Tue Oct 4 10:53:38 2011 -0400 make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use src/allmydata/mutable/servermap.py | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-) commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151 Author: Brian Warner Date: Tue Oct 4 00:45:58 2011 -0400 API of RetrieveStatus.add_problem() src/allmydata/mutable/retrieve.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 4976d29ffae565a048851601c29013bbae2976d8 Author: Brian Warner Date: Tue Oct 4 00:45:05 2011 -0400 API of RetrieveStatus.add_fetch_timing() src/allmydata/mutable/retrieve.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit d057d3bbba72663ee148a8b916bc2d52be2e3982 Author: Brian Warner Date: Tue Oct 4 00:44:04 2011 -0400 API of Retrieve.notify_server_corruption() src/allmydata/mutable/retrieve.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 8a2a81e46671c860610e0e96d6add1a57551f22d Author: Brian Warner Date: Tue Oct 4 00:42:32 2011 -0400 remove unused _outstanding_queries src/allmydata/mutable/retrieve.py | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 56d12cc9968d03ccd53764455c671122c4f391d1 Author: Brian Warner Date: Tue Oct 4 00:40:57 2011 -0400 change Retrieve.remaining_sharemap src/allmydata/mutable/retrieve.py | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281 Author: Brian Warner Date: Tue Oct 4 10:40:18 2011 -0400 accessor for PublishStatus._problems src/allmydata/mutable/publish.py | 4 +++- src/allmydata/web/status.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741 Author: Brian Warner Date: Tue Oct 4 10:36:39 2011 -0400 accessor for RetrieveStatus._problems src/allmydata/mutable/retrieve.py | 8 ++++++-- src/allmydata/web/status.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) commit ca7dea81f03801b1c7353fc00ecba689268109cf Author: Brian Warner Date: Tue Oct 4 00:35:32 2011 -0400 add .server to "reader", so we can get at it later src/allmydata/mutable/retrieve.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 6ef516e24908ec195af084a7550d1921a5e983b0 Author: Brian Warner Date: Tue Oct 4 00:32:32 2011 -0400 temporarily give Retrieve a _storage_broker, so it can map serverids to servers src/allmydata/mutable/checker.py | 3 ++- src/allmydata/mutable/filenode.py | 6 ++++-- src/allmydata/mutable/retrieve.py | 5 +++-- src/allmydata/test/test_mutable.py | 4 ++-- 4 files changed, 11 insertions(+), 7 deletions(-) commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9 Author: Brian Warner Date: Tue Oct 4 00:21:51 2011 -0400 mutable/retrieve.py: s/peer/server/ src/allmydata/mutable/retrieve.py | 82 +++++++++++++------------- src/allmydata/test/test_mutable.py | 6 +- 2 files changed, 44 insertions(+), 44 deletions(-) commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc Author: Brian Warner Date: Tue Oct 4 00:16:01 2011 -0400 web.status.PublishStatusPage: add comment, I think .problems isn't exercised src/allmydata/web/status.py | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 311466dd8c931bbba40d590ade867704282e7f1a Author: Brian Warner Date: Mon Oct 3 23:48:16 2011 -0400 API of PublishStatus.add_per_server_time() src/allmydata/mutable/publish.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 2df5faa1b6cbfbaded520d2320305a62fe961118 Author: Brian Warner Date: Mon Oct 3 23:46:37 2011 -0400 more simplifications src/allmydata/mutable/publish.py | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) commit 6ac4544a3da385f2aad9392f906b90192f4f919a Author: Brian Warner Date: Mon Oct 3 23:44:08 2011 -0400 API of ServerMap.version_on_server() src/allmydata/mutable/publish.py | 2 +- src/allmydata/mutable/servermap.py | 4 ++-- src/allmydata/test/test_mutable.py | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) commit 3e187e322511072e4683329df6b2c6c733a66dba Author: Brian Warner Date: Tue Oct 4 00:16:32 2011 -0400 API of ServerMap.make_sharemap() src/allmydata/mutable/servermap.py | 4 ++-- src/allmydata/test/test_mutable.py | 7 ++++--- src/allmydata/web/status.py | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) commit 318feed8437bdd8d4943c6569d38f7b54b6313cc Author: Brian Warner Date: Mon Oct 3 23:36:19 2011 -0400 small cleanups src/allmydata/mutable/publish.py | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit bd459ed5714e1db5a7163935c54b7b0b56db8349 Author: Brian Warner Date: Mon Oct 3 23:33:39 2011 -0400 API of ServerMap.add_new_share() src/allmydata/mutable/publish.py | 4 ++-- src/allmydata/mutable/servermap.py | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef Author: Brian Warner Date: Mon Oct 3 23:30:26 2011 -0400 API of ServerMap.get_bad_shares() src/allmydata/mutable/publish.py | 3 +-- src/allmydata/mutable/servermap.py | 9 ++++----- 2 files changed, 5 insertions(+), 7 deletions(-) commit 965074a47b3ce1431cb46d9a233840afcf9105f5 Author: Brian Warner Date: Mon Oct 3 23:26:58 2011 -0400 more small cleanups src/allmydata/mutable/publish.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 38020da34f034f8889947dd3dc05e087ffff7106 Author: Brian Warner Date: Mon Oct 3 23:18:47 2011 -0400 change Publish.bad_share_checkstrings src/allmydata/mutable/publish.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304 Author: Brian Warner Date: Mon Oct 3 23:16:31 2011 -0400 change internals of Publish.update_goal() src/allmydata/mutable/publish.py | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527 Author: Brian Warner Date: Mon Oct 3 23:11:42 2011 -0400 get rid of Publish.connections src/allmydata/mutable/publish.py | 27 +++++---------------------- 1 files changed, 5 insertions(+), 22 deletions(-) commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037 Author: Brian Warner Date: Mon Oct 3 23:05:32 2011 -0400 change Publish.bad_servers src/allmydata/mutable/publish.py | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit b85a934bef315a06bcfe00c9c12a3627fed2b918 Author: Brian Warner Date: Mon Oct 3 23:03:07 2011 -0400 Publish.bad_servers: fix bug, this should be a set of serverids, not writers src/allmydata/mutable/publish.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 605ea15ec15ed671513819003ccd211cdb9761e0 Author: Brian Warner Date: Mon Oct 3 23:00:21 2011 -0400 change .placed src/allmydata/mutable/publish.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e Author: Brian Warner Date: Mon Oct 3 22:59:22 2011 -0400 temporarily stash IServer as .server on the "writer" object src/allmydata/mutable/publish.py | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36 Author: Brian Warner Date: Mon Oct 3 22:48:18 2011 -0400 change Publish.goal and API of log_goal() to use IServer, not serverid src/allmydata/mutable/publish.py | 48 ++++++++++++++-------------- 1 files changed, 24 insertions(+), 24 deletions(-) commit 75f20616558e4900b8b1f685dd99aa838de6d452 Author: Brian Warner Date: Mon Oct 3 15:27:02 2011 -0400 API of ServerMap.get_known_shares() src/allmydata/mutable/publish.py | 16 ++++++++++------ src/allmydata/mutable/servermap.py | 7 ++----- 2 files changed, 12 insertions(+), 11 deletions(-) commit 1c38c9d37bb08221b4418762234b1a62397b3b4b Author: Brian Warner Date: Mon Oct 3 15:20:29 2011 -0400 Publish.full_serverlist src/allmydata/mutable/publish.py | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1 Author: Brian Warner Date: Mon Oct 3 15:12:31 2011 -0400 API of ServerMap.all_servers() src/allmydata/mutable/servermap.py | 19 ++++++------------- 1 files changed, 6 insertions(+), 13 deletions(-) commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98 Author: Brian Warner Date: Mon Oct 3 15:10:18 2011 -0400 remove ServerMap.connections, set_rref_for_serverid() src/allmydata/mutable/servermap.py | 11 +---------- 1 files changed, 1 insertions(+), 10 deletions(-) commit 4df52db2f80eb12eefa5d57103c24893cde89553 Author: Brian Warner Date: Mon Oct 3 15:04:06 2011 -0400 API of ServerMap.mark_server_reachable() src/allmydata/mutable/servermap.py | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-) commit 69c715bde77944dc25181b3dbbeb042c816f9a1b Author: Brian Warner Date: Mon Oct 3 15:03:21 2011 -0400 API of ServerMap.mark_server_unreachable() src/allmydata/mutable/servermap.py | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-) commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa Author: Brian Warner Date: Mon Oct 3 15:02:03 2011 -0400 API of status.set_privkey_from() src/allmydata/mutable/servermap.py | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6 Author: Brian Warner Date: Mon Oct 3 15:01:15 2011 -0400 API of status.add_per_server_time() src/allmydata/mutable/servermap.py | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8 Author: Brian Warner Date: Mon Oct 3 14:59:02 2011 -0400 remove unused .versionmap src/allmydata/mutable/servermap.py | 7 ------- 1 files changed, 0 insertions(+), 7 deletions(-) commit 2816562e090d2294179db3588dafcca18de1bc2b Author: Brian Warner Date: Mon Oct 3 14:57:51 2011 -0400 remove serverid from all log messages. Also one unused lambda. src/allmydata/mutable/servermap.py | 30 +++++++++++++------------- 1 files changed, 15 insertions(+), 15 deletions(-) commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f Author: Brian Warner Date: Mon Oct 3 14:54:30 2011 -0400 removed unused _readers src/allmydata/mutable/servermap.py | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817 Author: Brian Warner Date: Mon Oct 3 14:54:16 2011 -0400 remove unused _sharemap src/allmydata/mutable/servermap.py | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 3f072e55cf1d0700f9fffe23f8f3a475725df588 Author: Brian Warner Date: Mon Oct 3 14:49:03 2011 -0400 _must_query src/allmydata/mutable/servermap.py | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b Author: Brian Warner Date: Mon Oct 3 14:48:05 2011 -0400 _queries_outstanding src/allmydata/mutable/servermap.py | 16 +++++++--------- 1 files changed, 7 insertions(+), 9 deletions(-) commit 7743759f98ac2c07926b2fdbd80bf52dfab33085 Author: Brian Warner Date: Mon Oct 3 14:46:17 2011 -0400 _empty_servers src/allmydata/mutable/servermap.py | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d Author: Brian Warner Date: Mon Oct 3 14:45:39 2011 -0400 _good_servers src/allmydata/mutable/servermap.py | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4 Author: Brian Warner Date: Mon Oct 3 14:44:59 2011 -0400 _bad_servers src/allmydata/mutable/servermap.py | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65 Author: Brian Warner Date: Mon Oct 3 14:41:54 2011 -0400 API of _try_to_set_pubkey() src/allmydata/mutable/servermap.py | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) commit 0481ea70042ba3575f15eac7fd0780f8ece580cc Author: Brian Warner Date: Mon Oct 3 14:35:02 2011 -0400 API of notify_server_corruption() src/allmydata/mutable/servermap.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit bea9cba18fb3b9c11bb22f18356a263ecec7351e Author: Brian Warner Date: Mon Oct 3 14:34:09 2011 -0400 API of _got_signature_one_share() src/allmydata/mutable/servermap.py | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) commit 1520123583cf78650706e114b15bb5b0ac1f4a14 Author: Brian Warner Date: Mon Oct 3 14:32:33 2011 -0400 API of _try_to_validate_privkey() src/allmydata/mutable/servermap.py | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e Author: Brian Warner Date: Mon Oct 3 14:31:48 2011 -0400 API and internals of _add_lease_failed() src/allmydata/mutable/servermap.py | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit 3843dba367e3c19e176a622ab853cb51d2472ddf Author: Brian Warner Date: Mon Oct 3 14:30:37 2011 -0400 API of _privkey_query_failed() src/allmydata/mutable/servermap.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 2219a710e1633cd57d0ca0786490de87b3e19ba7 Author: Brian Warner Date: Mon Oct 3 14:29:43 2011 -0400 fix bug in call to _privkey_query_failed, unrelated to refactoring src/allmydata/mutable/servermap.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ae615bec7d0d1b269710b6902797b12f9592ad62 Author: Brian Warner Date: Mon Oct 3 14:27:17 2011 -0400 API of _got_corrupt_share() src/allmydata/mutable/servermap.py | 17 +++++++++-------- 1 files changed, 9 insertions(+), 8 deletions(-) commit cb51c95a6f4e077278157a77dab060c8c1ad7a81 Author: Brian Warner Date: Mon Oct 3 14:23:16 2011 -0400 API of _got_results() src/allmydata/mutable/servermap.py | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) commit bac9154fe0af18f226999a58ffc2362d8cf4b802 Author: Brian Warner Date: Mon Oct 3 14:19:19 2011 -0400 API of _query_failed() src/allmydata/mutable/servermap.py | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12 Author: Brian Warner Date: Mon Oct 3 14:17:20 2011 -0400 API of _do_read() src/allmydata/mutable/servermap.py | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) commit e7e9e338f28d004aa4d423d11c65f1e271ac7322 Author: Brian Warner Date: Mon Oct 3 14:20:21 2011 -0400 API of _do_query() src/allmydata/mutable/servermap.py | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) commit 330625b9dac4cdbe72a11464a893065b9aeed453 Author: Brian Warner Date: Mon Oct 3 14:43:05 2011 -0400 next step: first batch of updates to ServermapUpdater updates: most method-local variables in update() API of _build_initial_querylist() API of _send_initial_requests() .full_serverlist .extra_servers src/allmydata/mutable/servermap.py | 39 ++++++++++++++------------ 1 files changed, 21 insertions(+), 18 deletions(-) commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9 Author: Brian Warner Date: Mon Oct 3 15:07:00 2011 -0400 internal change: index _bad_shares with IServer src/allmydata/mutable/servermap.py | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) commit 16d4e6fa82a9907dbdc92094213387c6a4164e41 Author: Brian Warner Date: Mon Oct 3 18:20:47 2011 +0100 internal change: index _known_shares with IServer instead of serverid callers are unchanged src/allmydata/mutable/servermap.py | 42 +++++++++++++++---------- 1 files changed, 25 insertions(+), 17 deletions(-) commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176 Author: Brian Warner Date: Mon Oct 3 18:11:43 2011 +0100 accessors and name cleanup for servermap.Servermap.last_update_mode/time src/allmydata/mutable/filenode.py | 6 +++--- src/allmydata/mutable/publish.py | 4 ++-- src/allmydata/mutable/servermap.py | 17 +++++++++++------ 3 files changed, 16 insertions(+), 11 deletions(-) commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0 Author: Brian Warner Date: Mon Oct 3 18:11:14 2011 +0100 accessors and name cleanup for servermap.Servermap.problems src/allmydata/mutable/servermap.py | 21 +++++++++++++-------- src/allmydata/test/test_mutable.py | 6 +++--- 2 files changed, 16 insertions(+), 11 deletions(-) commit 348f57988f79389db0aab7672e6eaa9a6d8e3219 Author: Brian Warner Date: Mon Oct 3 18:10:41 2011 +0100 accessors and name cleanup for servermap.Servermap.bad_shares src/allmydata/mutable/publish.py | 2 +- src/allmydata/mutable/servermap.py | 30 ++++++++++++++----------- 2 files changed, 18 insertions(+), 14 deletions(-) commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e Author: Brian Warner Date: Mon Oct 3 18:10:05 2011 +0100 accessors and name cleanup for servermap.Servermap.servermap . src/allmydata/mutable/publish.py | 14 +++++---- src/allmydata/mutable/servermap.py | 38 ++++++++++++++----------- 2 files changed, 29 insertions(+), 23 deletions(-) commit b8b8dc38287a91dbdf494426ac801d9381ce5841 Author: Brian Warner Date: Mon Oct 3 18:08:02 2011 +0100 fix reachable_servers src/allmydata/mutable/checker.py | 3 ++- src/allmydata/mutable/publish.py | 4 +++- src/allmydata/mutable/servermap.py | 12 ++++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) commit cb0cfd1adfefad357c187aaaf690c3df68b622bc Author: Brian Warner Date: Mon Oct 3 18:06:03 2011 +0100 fix Servermap.unreachable_servers src/allmydata/mutable/servermap.py | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) commit 2d9ea79b94bd4db674d40386fda90825785ac495 Author: Brian Warner Date: Mon Oct 3 18:03:48 2011 +0100 give ServerMap a StorageFarmBroker, temporary this makes it possible for the ServerMap to accept bare serverids and still build data structures with IServers src/allmydata/mutable/checker.py | 2 +- src/allmydata/mutable/filenode.py | 2 +- src/allmydata/mutable/publish.py | 2 +- src/allmydata/mutable/servermap.py | 5 +++-- src/allmydata/test/test_mutable.py | 8 ++++---- 5 files changed, 10 insertions(+), 9 deletions(-) commit 718d1aeff6fded893f65397806d22ece928b0dd4 Author: Brian Warner Date: Mon Oct 3 13:43:30 2011 -0400 add StorageFarmBroker.get_server_for_id(), temporary helper This will go away once we're passing IServers everywhere. src/allmydata/storage_client.py | 2 ++ src/allmydata/test/no_network.py | 13 +++++++++++++ 2 files changed, 15 insertions(+), 0 deletions(-) commit ece20231d7fda0d503704842a4aa068dfbc2e54e Author: Brian Warner Date: Sun Oct 2 01:11:50 2011 +0100 add proper accessors for Servermap.connections, to make refactoring easier src/allmydata/mutable/publish.py | 6 +++--- src/allmydata/mutable/retrieve.py | 10 +++++----- src/allmydata/mutable/servermap.py | 17 +++++++++++------ 3 files changed, 19 insertions(+), 14 deletions(-) commit 3b943d6bf302ff702668081a612fc4fe2604cf9c Author: Brian Warner Date: Fri Sep 23 10:34:30 2011 -0700 mutable/servermap.py and neighbors: s/peer/server/ src/allmydata/mutable/checker.py | 22 +- src/allmydata/mutable/publish.py | 204 +++++++------- src/allmydata/mutable/servermap.py | 402 +++++++++++++------------- src/allmydata/test/test_mutable.py | 18 +- 4 files changed, 323 insertions(+), 323 deletions(-) ] [Clarify an ambiguity about which version number is meant in quickstart.rst. david-sarah@jacaranda.org**20120514002637 Ignore-this: afac742bcfb4aba9021b07e7505d4de0 ] [performance.rst: small updates, mention (lack of) MDMF Brian Warner **20120513210739 Ignore-this: 8c8beb98b6be5f6b4697cf507798957f refs #1398 ] [CREDITS: add amiller, zooko, rearrange a bit Brian Warner **20120513173217 Ignore-this: 4db3b71cdaf52e1596532ac9133186ae ] [Doc updates and cosmetic fixes for #1115 patch. Brian Warner **20120513081550 Ignore-this: 87721ec10d0aee1124f2f24bdaea3007 Removes the caveat from webapi.txt about count-good-share-hosts being wrong. This series should close #1115. ] [Fixed an error in previous commit where an empty servermap would throw an exception in 'count-good-share-hosts'. Augmented unit test. Brian Warner **20120513075930 Ignore-this: 8c8937b3b3e15c63d9386628493f394e Signed-off-by: Andrew Miller ] [Added tests for count-good-share-hosts under check and repair conditions. Patched the incorrect computation in immutable/filenode.py Brian Warner **20120513075930 Ignore-this: 6a77a5058adf18bca0a3517a77cf6190 Signed-off-by: Andrew Miller Fixed missing import statements Signed-off-by: Andrew Miller ] [test_web: fix use of headers= that's been wrong for a while Brian Warner **20120513074512 Ignore-this: 681e1ac6eafd23a0babfe8f182e3ca8 ] [test-dont-use-too-old-dep.py: fix tarfile timestamps Brian Warner **20120513063403 Ignore-this: b7acb8e369d768e072f3658b2de9af03 It turns out that TarFile.addfile() doesn't provide a reasonable default timestamp, resulting in files dated to 1970 (they're probably wearing bell-bottoms and listening to disco too). Then, when the bdist_egg command tries to create a *zip*file with those files, it explodes because zipfiles cannot handle timestamps before 1980 (it prefers boomboxes and jackets with straps on the shoulders, thank you very much). This puts a modern time.time() on the members of the tarfile, allowing future cryptocoderarchaeologists the opportunity to make fun of fashion trends from the user's chosen era, rather than an artificially older one. refs #1342 ] [modify build_helpers files Brian Warner **20120513034724 Ignore-this: 7f02472b3fbc2bfba4c02acce7d728e7 Should close #1342. This makes the actual changes to the two test files (separated from the 'rename' patch to avoid VC complications). ] [rename build_helpers files Brian Warner **20120513034701 Ignore-this: c1e7257dc66d0d35dcbc830fbe04ab9b This is from the darcs patch for #1342, which failed to apply on my darcs tree, so I'm landing it from git. I'm landing the rename-files part separately from the modify-those-files part to avoid VC complications. ] [webapi: remove undocumented t=mkdir-p operation Brian Warner **20120513021943 Ignore-this: 10bc56cc8bef468881fc7dd5a586bdf9 Closes #380 ] [CREDITS: lebek zooko@zooko.com**20120503173033 Ignore-this: 6c0ff786ce67697f7af7b861593992e3 ] [Make sure that foolscap.logging.log.setLogDir is called with a str (not unicode) path, v2. Includes test. fixes #1725 david-sarah@jacaranda.org**20120429022844 Ignore-this: 1e94ed0c092c5c93c0a4031f8b8df092 ] [Updated webapi.rst to list /cap as a synonym for /uri Brian Warner **20120417184111 Ignore-this: c7dfb12987d883c94948f3fede254fe4 ] [Adding jg71 to CREDITS markus reichelt **20120414140107 Ignore-this: b69a4c4b5248a7092c550de395192afb ] [Fix for ticket #1662 Brian Warner **20120410183314 Ignore-this: b2164418fb1a24cef2bddf1ec3c42eed ] [docs/frontends/drop-upload.rst: document more known issues and link to new ticket for an existing one. david-sarah@jacaranda.org**20120406043946 Ignore-this: 72e0a821961fb9137bb6f53742e4ba43 ] [checker.py: minor simplifications Brian Warner **20120404190531 Ignore-this: 170f3e70dccd61c1ddb6ea6995ad09ca ] [Rename web CheckResults to -Renderer, to avoid confusion. Closes #1705. Brian Warner **20120403030451 Ignore-this: 4c3e20d804e70a27d2464f770aec0c2c This avoids the name collision between the actual results objects (defined in allmydata.check_results) and the code that renders these objects into HTML (defined in allmydata.web.check_results). Only the web-side objects were renamed. ] [webapi.rst: de-tabify Brian Warner **20120402233205 Ignore-this: 6436168d9073b12e95ff410239bf133f ] [doc: cross-link known_issues.rst and cautions.rst with one another zooko@zooko.com**20120401214039 Ignore-this: 3873f8807826cb21761cfe65a93955f8 ] [docs: FTP-and-SFTP.rst: recommend SFTP zooko@zooko.com**20120401212002 Ignore-this: 6459edd6dd0a62a82d3adc62c5656c63 Add an explicit recommendation of SFTP over FTP. Separate the known issues of FTP from SFTP. List "SFTP" first in all lists of the two. Use unicode bullet points and prepend a utf-8 BOM. Use out-of-line rst hyperlinks. ] [interfaces.py: ensure that NoSuchChildError can be converted to str even when it is for a non-ASCII name. fixes #1483 david-sarah@jacaranda.org**20110814225959 Ignore-this: d0069952ac7f5a13bdf5e957c7ae78a8 ] [misc/build_helpers/show-tool-versions.py: s/print_stderr/print_stdout/ david-sarah@jacaranda.org**20120401022826 Ignore-this: c69d01081308a8144c9fdb34c4ab40b0 ] [bin/tahoe-script.template: fix the error message that is displayed when a runner script cannot be found. fixes #1488 david-sarah@jacaranda.org**20110817222651 Ignore-this: b92c562e4da9adf63e642512c96eee89 ] [docs: quickstart: edits zooko@zooko.com**20120401015717 Ignore-this: cb56a1ffedb20d687133ad2ecfd7f8f7 • use out-of-line links to avoid a warning from rst2html --verbose (fixes #1704) • reflow to 77 fill-column and prepend utf-8 BOM (fixes #1703) • recommend Python 2.7 (fixes #1702) • remove link to wiki:AdvancedInstall (fixes #1701) ] [Spelling error in a comment. david-sarah@jacaranda.org**20120401013655 Ignore-this: 3a5a30be4be27bcfb1fecfd22ccf5327 ] [test_node.py: test that we tolerate a UTF-8 BOM at the start of tahoe.cfg, and can read UTF-8 option values. refs #1470 david-sarah@jacaranda.org**20110808180552 Ignore-this: b4dd630857d192c02acaa6d8b163d5ca ] [node.py: tolerate a UTF-8 BOM at the start of tahoe.cfg. fixes #1470 david-sarah@jacaranda.org**20110808180204 Ignore-this: 9c859adce5668d7315d0d6e2ed9ddca7 ] [mutable/layout.py: improve confusing documentation of layout. fixes #1534 david-sarah@jacaranda.org**20110914143947 Ignore-this: c5fbd3809ee3f7fc2b46cd23dad6b1c0 ] [setup: show-tool-versions: report cl only on windows, report buildslave, git, openssl, and lzip, but not 7za zooko@zooko.com**20120401005925 Ignore-this: 2f8d90893271d2f1c2d1185f95d95e86 ] [Document PYTHONPATH problem when running flogtool. refs #1693 david-sarah@jacaranda.org**20120331223934 Ignore-this: 3edb13077119aaee76c1dcc46370e62 ] [Add test for bug #1689: repairing empty file hits no-privkey assertion Brian Warner **20120331183902 Ignore-this: e84ead8eb2bfee9c65285b7f9a3a9237 ] [FTP-and-SFTP.rst: there were two more instances of 'rootcap'. Also made the wording tweak from ticket:1487#comment:4 . fixes #1487 david-sarah@jacaranda.org**20120331023247 Ignore-this: 9ce9c37d9aa2b9629b14a001989d51b0 ] [test_ftp.py: fix a couple of unused imports. refs #1668 david-sarah@jacaranda.org**20120331021725 Ignore-this: fc4f24fbc707efe86de9f35b782384ce ] [FTP-and-SFTP.rst: directories containing mutable files should now be listable via FTP. refs #680 david-sarah@jacaranda.org**20120331013730 Ignore-this: 78e507bd857623e78b32dd0e4da3c59 ] [ftpd file `size' attribute must be an integer Peter Le Bek **20120322131806 Ignore-this: bcf0047f19226e8dc00cb4995584761a ] [unit test for ftpd LIST Peter Le Bek **20120330234139 Ignore-this: dfbb45a030be9840858df6047f21666c ] [fix ftpd mtime retrieval Peter Le Bek **20120330234119 Ignore-this: 873cf8d1c28817d7e64565dda43a2ecb ] [Cosmetic formatting in docs. david-sarah@jacaranda.org**20120322220534 Ignore-this: 2e3ddb170f45035c4655ce25aaa09977 ] [Put SFTP before FTP in various docs. fixes #1692 david-sarah@jacaranda.org**20120322220453 Ignore-this: 6759fbe5d58a965120b55cf3c1578970 ] [Correct a link to frontends/drop-upload.rst. fixes #1690 david-sarah@jacaranda.org**20120322220118 Ignore-this: dafc6205151545e8095f908dd57c213 ] [Fix a missing comma in the last patch. refs #1295 david-sarah@jacaranda.org**20120314235040 Ignore-this: 34327ffeabed65759ad511760f925e47 ] [Temporarily suppress the DeprecationWarning about IFinishableConsumer; it's irritating, but not in a way that is likely to make me fix the underlying issue (#1525) any sooner :-). refs #1295 david-sarah@jacaranda.org**20120314234729 Ignore-this: 2ab43c7893ed305a9d40023ec176d179 ] [Update find_links URLs in setup.cfg to https://tahoe-lafs.org. This is not just a doc change; look out for compatibility problems. david-sarah@jacaranda.org**20120313203041 Ignore-this: fd18113695c2a524972c389e8b52e2e8 ] [Minor updates to URLs. david-sarah@jacaranda.org**20120313202853 Ignore-this: 2e5719e8cf19d7be73fbcba98dc1e5dd ] [Update more links from http: to https: in documentation and comments. david-sarah@jacaranda.org**20120313202654 Ignore-this: 2c11cef35639b101412c024896256529 ] [Update copyright notices. refs #1686 david-sarah@jacaranda.org**20120313205057 Ignore-this: a6a4904001412248c4164f002b52f79a ] [Update various references to allmydata.org or http://tahoe-lafs.org in comments, to https://tahoe-lafs.org. refs #1682 david-sarah@jacaranda.org**20120308231719 Ignore-this: a71d00ea46af0a44e5c957df56d02adf ] [Suppress a warning from win32eventreactor on Windows (patch v2). fixes #1681 david-sarah@jacaranda.org**20120227190317 Ignore-this: c7efe1065d45a00caf182a1de812f4bb ] [add some quick tests of the introducer/web improvements Brian Warner **20120312193536 Ignore-this: 9e31f368b1dfa586ab6e3f17707d9ec ] [tahoe.css: fix #section typo, update welcome.xhtml to match Brian Warner **20120307022241 Ignore-this: 4e8a8382234aad017b093f8896b329d6 The "#section" declaration (which matches id="section") should have been ".section" (which matches class="section"). The welcome page has a feature that I actually liked: the little "This Client" sidebar sits just to the right of the start of the Controls block. Fixing .section broke that (the clear:both introduces a gap, forcing the Controls block to start strictly below the bottom of the This Client block). So I also removed class="section" from the Controls block to allow them to share the horizontal space again. ] [provisioning.py: update disk sizes and usage numbers Brian Warner **20120213155708 Ignore-this: e47ee282bfba4beb2598b227add5250a ] [configuration.rst: another attempt to fix formatting of sample tahoe.cfg. david-sarah@jacaranda.org**20120131000949 Ignore-this: bb67b6c9bb191a1335eaadfe9594fa4f ] [configuration.rst: remove the obsolete sizelimit option from the sample tahoe.cfg. Also fix the RST formatting of blank lines in the file. david-sarah@jacaranda.org**20120131000643 Ignore-this: 9c5327edf031d8578c19383d950b17b9 ] [Add a Python 3 blocker to setup.py, to display a better error message when it is run under Python 3. david-sarah@jacaranda.org**20120127015525 Ignore-this: 5f032794ecc8cd6c512a7ab9efffed2 ] [Ensure that verification proceeds and stops when appropriate. Brian Warner **20120124205209 Ignore-this: 88278bbd6a3b33cf3b286feaa162ad02 The removed assertions are appropriate for a download that seeks to return plaintext to a caller; if we don't have at least k active remote shares, then we can't hope to do that. They're not appropriate for a verification operation; a user can try to verify a file that has fewer than k shares available, so that shouldn't be treated as an error. Instead, we proceed with fewer than k shares, and ensure that we terminate the download if we have no shares at all and we're verifying. ] [Add test_verify_mdmf_all_bad_sharedata Brian Warner **20120124205209 Ignore-this: 52acb4f0256af764acb038f7c8344367 test_verify_mdmf_all_bad_sharedata tests for the regression described in ticket 1648. In particular, it will trigger the misplaced assertion in the share activation code. It also tests to make sure that verification continues with fewer than k shares. ] [Added clarification on how interface= works Brian Warner **20120124203821 Ignore-this: 57f86d178c8e4f3c62d15bf99dec7d0d ] [FTP-and-SFTP.rst: minor edits Brian Warner **20120124203654 Ignore-this: ec21fadb85cf7b3192d32b02c03c3656 ] [Updated accounts.url directive per warner's suggestions Brian Warner **20120124203126 Ignore-this: 9297ec6406e11d4e1fe24ba3a06725e3 ] [Added information on accounts.url directive Brian Warner **20120124203126 Ignore-this: 6d6142418eabdad789a2fc68f26b3ba1 ] [docs: an extra newline to separate utf-8 BOF from comment for the sake of trac's rst renderer zooko@zooko.com**20120122212002 Ignore-this: 5c6d0dbfa1430681fa00494937537956 ] [docs: a newline between the utf-8 BOF and the comment in order to prevent trac from misrendering the comment zooko@zooko.com**20120122211856 Ignore-this: 5e92cb88ba46b82227338522b834b90d sheesh ] [docs: a comment to inform the (human) reader about encoding and to prevent someone from moving the title up to where it will interact with the utf-8 BOM and cause trac to mis-render the title zooko@zooko.com**20120122211731 Ignore-this: f7912a13ffba60408ec901a9586ce8a4 ] [docs: insert another newline between utf-8 BOF and title zooko@zooko.com**20120122211427 Ignore-this: 1b3861ef7d4531acfa61fac31e14fe98 ] [docs: insert newline after utf-8 BOF and before restructuredtext title zooko@zooko.com**20120122182127 Ignore-this: f947afe5bdfc9f44ba9bf7f0e585da7c ] [docs: remove utf-8 "BOM" which confuses trac's rst renderer zooko@zooko.com**20120122140052 Ignore-this: ba58c59a314f23c65de5443bd7b6ffcb ] [docs: try again to change RestructuredText titles to a format that trac will render zooko@zooko.com**20120122135613 Ignore-this: 588bbb627a95cd8317c809567cfa3e78 ] [docs: backdoors.rst: fix title formatting zooko@zooko.com**20120122135125 Ignore-this: 5bf980c1a8703ee353cd747ae343176a ] [docs: backdoors.rst: stop using embedded URIs and tweak title so that trac will render it correctly; reflow to fill-column 77; M-x whitespace-cleanup zooko@zooko.com**20120122134319 Ignore-this: e1b5b3d2809040cfd7f13bb88ee8313d ] [update release process: git, not darcs, etc Brian Warner **20120113071257 Ignore-this: 2eaa1f0e93dc545989bb1e62b2446e1e ] [prepare to Org-ify how_to_make_a_tahoe-lafs_release: rename the file Brian Warner **20120113070153 Ignore-this: d9bb83dfd6c3b4c0ca0efd2adacdf63c ] [.gitignore: ignore generated test-coverage files too Brian Warner **20120113065629 Ignore-this: 4411c7d620f5865b8c4dedef7e5a8c33 ] [merge relnotes, quickstart.rst from 1.9.1 release Brian Warner **20120112232420 Ignore-this: 6b535bb1a3bd5ea87ee12cc6b17eeb5c ] [.gitignore: also ignore tahoe-deps and .tgz, to fix 'make tarballs' Brian Warner **20120112210925 Ignore-this: e8a7d942f123ee6bf4f2966ddc2742a3 Otherwise, the get-version-from-git code thinks the tree is dirty, and creates SUMO tarballs with -dirty in the name. ] [Makefile: fix 'make-version' to use git-or-darcs, not just darcs Brian Warner **20120112210654 Ignore-this: ae32660458b5ab036ab98f0d1cf4e414 ] [_auto_deps.py: don't allow pycrypto 2.0.1. fixes #1631 david-sarah@jacaranda.org**20120110195758 Ignore-this: de409a745c93a78b095dc72edd13a15d ] [MANIFEST.in: make git-based 'setup.py sdist' match darcs Brian Warner **20120109234637 Ignore-this: 92bf7d679e9d5696994efe39c40ae216 Previously, tarballs generated from a git tree were lacking a lot of important non-code files, like docs/ ] [restore .gitignore, stop .darcs-boringfile it warner@lothar.com**20120109025243 Ignore-this: b37efcdab8662fe85660d68e3662b4b9 ] [remove setuptools_darcs.egg warner@lothar.com**20120108225545 Ignore-this: 39711cf7a9856acd5a136038d58ca5ff ] [fix bundled data under git, remove setuptools_darcs Brian Warner **20120108221250 Ignore-this: ebfc0b267961523edd7e26c761b2554f This uses explicitly enumerated packages= and package_data= arguments to setup(), rather than relying upon the convenient (but darcs-specific) functions which would determine these values by asking the revision-control system. Note that darcsver is still used, when building from a darcs tree. ] [mutable/layout.py: raise BadShareError instead of assert() Brian Warner **20120108221247 Ignore-this: 129891a807315f657b80576025135df8 ] [mutable: simplify Retrieve._process_segment() to use a gatherDeferred Brian Warner **20120108221244 Ignore-this: cfc7a56414889d02bffd747f1abad8ef ] [Retrieve.decode(): simplify setup of DeferredList-like argument Brian Warner **20120108221240 Ignore-this: c92d377bf4d65251240e59c8db5452af make it more obviously match the expectations of _decode_blocks() and _maybe_decode_and_decrypt_segment() ] [mutable: add comments about the tricky DeferredList structures in retrieve Brian Warner **20120108221238 Ignore-this: da47db692fbdf11a3ce01a952a60d1a0 ] [add test-git-ignore.py, to port the 'clean' buildbot test to git Brian Warner **20120108221232 Ignore-this: 442efa1eacc27b7ae2690645ed997894 add .gitignore to match .darcs-boringfile, mostly ] [Use a private/drop_upload_dircap file instead of the [drop_upload]upload.dircap option in tahoe.cfg. Fail if the upload.dircap option is used, or options are missing. Also updates tests and docs. fixes #1593 david-sarah@jacaranda.org**20111120232426 Ignore-this: d4ea9154e98902c5de055b6de23c48f9 ] [docs: how_to_make_a_tahoe-lafs_release.rst add Google+ page to publicity list, change to cute unicode checkboxes zooko@zooko.com**20111226151905 Ignore-this: c7c1e67761df48fa11c0dad1847c2d8 ] [doc: about.rst: use unicode emdash, use non-embedded URIs, add clarificaiton of when a file gets its mutable-or-immutable nature zooko@zooko.com**20111206171908 Ignore-this: 61bc3f1582c68dcc9867da964fc9bb3a embedded URIs, although documented here: http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#embedded-uris generate messages like this from rst2html --verbose: quickstart.rst:3: (INFO/1) Duplicate explicit target name: "the tahoe-dev mailing list". Also this patch prepends a "utf-8 BOM" to the beginning of the file. ] [minor cleanup: remove trailing spaces in misc/ Brian Warner **20111218201841 Ignore-this: 69a8904c17d8fd930442d00e24b7b188 ] [setup.py: stop putting pyutil.version_class/etc in _version.py Brian Warner **20111205055049 Ignore-this: 926fa9a8a34a04f24ee6e006423e9c1 allmydata.__version__ can just be a string, it doesn't need to be an instance of some fancy NormalizedVersion class. Everything inside Tahoe uses str(__version__) anyways. Also add .dev0 when a git tree is dirty. Closes #1466 ] [setup.py: get version from git or darcs Brian Warner **20111205044001 Ignore-this: 5a406b33000446d85edc722298391220 This replaces the setup.cfg aliases that run "darcsver" before each major command with the new "update_version". update_version is defined in setup.py, and tries to get a version string from either darcs or git (or leaves the existing _version.py alone if neither VC metadata is available). Also clean up a tiny typo in verlib.py that messed up syntax hilighting. ] [docs/known_issues.rst: describe when the unauthorized access attack is known to be possible, and fix a link. david-sarah@jacaranda.org**20111118002013 Ignore-this: d89b1f1040a0a7ee0bde893d23612049 ] [more tiny buildbot-testing whitespace changes warner@lothar.com**20111118002041 Ignore-this: e816e2a5ab939e2f7a89ef12b8a157d8 ] [more tiny buildbot-testing whitespace changes warner@lothar.com**20111118001828 Ignore-this: 57bb52cba83ea9a19728ba0a8ffadb69 ] [tiny change to exercise the buildbot hook warner@lothar.com**20111118001511 Ignore-this: 7220b7790b39f19f9721d9e93b755030 ] [Strengthen description of unauthorized access attack in known_issues.rst. david-sarah@jacaranda.org**20111118000030 Ignore-this: e2f68f621fe666b6201542623aa4d182 ] [remove remaining uses of nevow's "formless" module Brian Warner **20111117225423 Ignore-this: a128dea91a1c63b3bbefa34729344d69 We're slowly moving away from Nevow, and marcusw's previous patch removed uses of the formless CSS file, so now we can stop testing that nevow can find that file, and remove the lingering unused "import formless" call. ] [Remove duplicate tahoe_css links from manifest.xhtml and rename-form.xhtml Brian Warner **20111116224225 Ignore-this: 12024fff17964607799928928b9aadf3 They were probably meant to be links to webform_css, but we aren't really using Nevow's form-generation code anyways, so they can just be removed. Thanks to 'marcusw' for the catch. ] [iputil: handle openbsd5 (just like openbsd4) Brian Warner **20111115220423 Ignore-this: 64b28bd2fd06eb5230ea41d91540dd05 Patch by 'sickness'. Closes #1584 ] [Makefile count-lines: let it work on OS-X (-l not --lines), add XXX Brian Warner **20111109184227 Ignore-this: 204ace1dadc9ed27543c62965b4e6757 OS-X's simple-minded /usr/bin/wc doesn't understand --lines, but everyone understands -l . ] [setup.py: umask=022 for 'sdist', to avoid depending on environment Brian Warner **20111109183632 Ignore-this: acd5db88ba8f1972d618b14f9e5b803c The new tarball-building buildslave had a bogus umask set, causing the 1.9.0 tarballs to be non-other-user-readable (go-rwx), which is a hassle for packaging. (The umask was correct on the old buildslave, but it was moved to a new host shortly before the release). This should make sure tarballs are correct despite the host's setting. Note to others: processes run under twistd get umask=077 unless you arrange otherwise. ] [_auto_deps.py: blacklist PyCrypto 2.4. david-sarah@jacaranda.org**20111105022457 Ignore-this: 876cb24bc71589e735f48bf449cad81e ] [check-miscaptures.py: report the number of files that were not analysed due to syntax errors (and don't count them in the number of suspicious captures). refs #1555 david-sarah@jacaranda.org**20111009050301 Ignore-this: 62ee03f4b8a96c292e75c097ad87d52e ] [check-miscaptures.py: handle corner cases around default arguments correctly. Also make a minor optimization when there are no assigned variables to consider. refs #1555 david-sarah@jacaranda.org**20111009045023 Ignore-this: f49ece515620081da1d745ae6da19d21 ] [check-miscaptures.py: Python doesn't really have declarations; report the topmost assignment. refs #1555 david-sarah@jacaranda.org**20111009044800 Ignore-this: 4905c9dfe7726f433333e216a6760a4b ] [check-miscaptures.py: handle destructuring function arguments correctly. refs #1555 david-sarah@jacaranda.org**20111009044710 Ignore-this: f9de7d95e94446507a206c88d3f98a23 ] [check-miscaptures.py: check while loops and list comprehensions as well as for loops. Also fix a pyflakes warning. refs #1555 david-sarah@jacaranda.org**20111009044022 Ignore-this: 6526e4e315ca6461b1fbc2da5568e444 ] [Add misc/coding_tools/check-miscaptures.py to detect incorrect captures of variables declared in a for loop, and a 'make check-miscaptures' Makefile target to run it. (It is also run by 'make code-checks'.) This is a rewritten version that reports much fewer false positives, by determining captured variables more accurately. fixes #1555 david-sarah@jacaranda.org**20111007074121 Ignore-this: 51318e9678d132c374ea557ab955e79e ] [Fix pyflakes warnings in misc/ directories other than misc/build_helpers. refs #1557 david-sarah@jacaranda.org**20111007033031 Ignore-this: 7daf5862469732d8cabc355266622b74 ] [Makefile: include misc/ directories other than misc/build_helpers in SOURCES. refs #1557 david-sarah@jacaranda.org**20111007032958 Ignore-this: 31376ec01401df7972e83341dc65aa05 ] [show-tool-versions: tolerate missing setuptools Brian Warner **20111101080010 Ignore-this: 72d4e440565273992beb4f010cbca699 ] [show-tool-versions.py: condense output, hide file-not-found exceptions Brian Warner **20111101074532 Ignore-this: a15381a76077ef46a74a4ac40c9ae956 ] [relnotes.txt: fix footnotes Brian Warner **20111101071935 Ignore-this: 668c1bd8618e21beed9bc6b23f048189 ] [TAG allmydata-tahoe-1.9.0 warner@lothar.com**20111031052301 Ignore-this: cf598210dd1f314a1a121bf29a3d5918 ] Patch bundle hash: b55a53bbf5f01064ce8a4419090b9bd72f52eac3