Ticket #1746: fix-1746.darcs.patch

File fix-1746.darcs.patch, 105.8 KB (added by davidsarah, at 2012-05-20T15:38:00Z)

Catch exceptions from CLI in order to prevent the Ubuntu crash monolog from triggering. refs #1746

Line 
11 patch for repository tahoe-lafs.org:/home/source/darcs/tahoe-lafs/trunk:
2
3Sun May 20 16:35:29 BST 2012  david-sarah@jacaranda.org
4  * Catch exceptions from CLI in order to prevent the Ubuntu crash monolog from triggering. refs #1746
5
6New patches:
7
8[Catch exceptions from CLI in order to prevent the Ubuntu crash monolog from triggering. refs #1746
9david-sarah@jacaranda.org**20120520153529
10 Ignore-this: 1621a76cb85fbb97c241b140557e6d5c
11] {
12hunk ./src/allmydata/scripts/runner.py 112
13 
14 
15 def run(install_node_control=True):
16-    if sys.platform == "win32":
17-        from allmydata.windows.fixups import initialize
18-        initialize()
19+    try:
20+        if sys.platform == "win32":
21+            from allmydata.windows.fixups import initialize
22+            initialize()
23+
24+        rc = runner(sys.argv[1:], install_node_control=install_node_control)
25+    except Exception:
26+        import traceback
27+        traceback.print_exc()
28+        rc = 1
29 
30hunk ./src/allmydata/scripts/runner.py 123
31-    rc = runner(sys.argv[1:], install_node_control=install_node_control)
32     sys.exit(rc)
33}
34
35Context:
36
37[docs/frontends/FTP-and-SFTP.rst: remove outdated allmydata.com reference. fixes #1743
38david-sarah@jacaranda.org**20120518225618
39 Ignore-this: a1e38e3f1d2138abd9d32087aeb71b3
40]
41[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.
42david-sarah@jacaranda.org**20120518021252
43 Ignore-this: 7d6b03286d7b1b4a726ff06f2c07f8c6
44]
45[dictutil.DictOfSets: remove .union() method, it was misleading
46Brian Warner <warner@lothar.com>**20120516235509
47 Ignore-this: ede3d11bf6de0d01f57b8bd85ff2da22
48 
49 Unlike set.union(), which returns a new set, DictOfSets.union() modified
50 the DictOfSets in-place. The name collision bit me when I changed some
51 code from using DictOfSets to a normal set, and expected that
52 set.union() would modify the set in-place. Since there was only one user
53 of DictOfSets.union, I figured it was safer to just get rid of it.
54]
55[immutable repairer: populate servers-responding properly
56Brian Warner <warner@lothar.com>**20120516235509
57 Ignore-this: d840f7dc056fa7efeaad1dd3f1c707c6
58 
59 If a server did not respond to the pre-repair filecheck, but did respond
60 to the repair, that server was not correctly added to the
61 RepairResults.data["servers-responding"] list. (This resulted from a
62 buggy usage of DictOfSets.union() in filenode.py).
63 
64 In addition, servers to which filecheck queries were sent, but did not
65 respond, were incorrectly added to the servers-responding list
66 anyawys. (This resulted from code in the checker.py not paying attention
67 to the 'responded' flag).
68 
69 The first bug was neatly masked by the second: it's pretty rare to have
70 a server suddenly start responding in the one-second window between a
71 filecheck and a subsequent repair, and if the server was around for the
72 filecheck, you'd never notice the problem. I only spotted the smelly
73 code while I was changing it for IServer cleanup purposes.
74 
75 I added coverage to test_repairer.py for this. Trying to get that test
76 to fail before fixing the first bug is what led me to discover the
77 second bug. I also had to update test_corrupt_file_verno, since it was
78 incorrectly asserting that 10 servers responded, when in fact one of
79 them throws an error (but the second bug was causing it to be reported
80 anyways).
81]
82[Update my (davidsarah) gpg fingerprint in CREDITS. Mwahaha! :-)
83david-sarah@jacaranda.org**20120516231526
84 Ignore-this: e65336db38ff2227e3d2cce8a31aa397
85]
86[fileutil.py: use try/finally to close file in write_atomically.
87david-sarah@jacaranda.org**20120516230839
88 Ignore-this: 6bd8cfcedc26ec03acf72334fe0e1ce6
89]
90[write node.url and portnum files atomically, to fix race in test_runner
91Brian Warner <warner@lothar.com>**20120514220314
92 Ignore-this: 57eea88ec0efef779769632d43329362
93 
94 Previously, test_runner sometimes fails because the _node_has_started()
95 poller fires after the portnum file has been opened, but before it has
96 actually been filled, allowing the test process to observe an empty file,
97 which flunks the test.
98 
99 This adds a new fileutil.write_atomically() function (using the usual
100 write-to-.tmp-then-rename approach), and uses it for both node.url and
101 client.port . These files are written a bit before the node is really up and
102 running, but they're late enough for test_runner's purposes, which is to know
103 when it's safe to read client.port and use 'tahoe restart' (and therefore
104 SIGINT) to restart the node.
105 
106 The current node/client code doesn't offer any better "are you really done
107 with startup" indicator.. the ideal approach would be to either watch the
108 logfile, or connect to its flogport, but both are a hassle. Changing the node
109 to write out a new "all done" file would be intrusive for regular
110 operations.
111]
112[Change logging.rst to address warner's review comment. refs #1693
113david-sarah@jacaranda.org**20120516221329
114 Ignore-this: d578a002b5a0fa117b51981346168148
115]
116[Since we now require Python 2.5, we can use os.SEEK_END.
117david-sarah@jacaranda.org**20120516213948
118 Ignore-this: cd9ecbb0c48d79cc7acc5bd27cb99d50
119]
120[Simplifications resulting from requiring Python 2.5 and therefore being able to use sqlite3 from the standard library. This also drops sqlite3 from the set of versions and paths we report.
121david-sarah@jacaranda.org**20120516024725
122 Ignore-this: c9161f1a95caa85a638aee893361f2cf
123]
124[Require Python 2.5.
125david-sarah@jacaranda.org**20120516024149
126 Ignore-this: 640715ce841a7a3af92027810baf9e3
127]
128[Improve a comment in __init__.py.
129david-sarah@jacaranda.org**20120514163431
130 Ignore-this: bbdce3d50dce46e497eba71f9146079e
131]
132[Suppress the PowmInsecureWarning from PyCrypto. refs #1586
133david-sarah@jacaranda.org**20120514032352
134 Ignore-this: 9cfd6936bc31e320d1ea9d52a495dbaa
135]
136[Clarify an ambiguity about which version number is meant in quickstart.rst.
137david-sarah@jacaranda.org**20120514002637
138 Ignore-this: afac742bcfb4aba9021b07e7505d4de0
139]
140[performance.rst: small updates, mention (lack of) MDMF
141Brian Warner <warner@lothar.com>**20120513210739
142 Ignore-this: 8c8beb98b6be5f6b4697cf507798957f
143 
144 refs #1398
145]
146[CREDITS: add amiller, zooko, rearrange a bit
147Brian Warner <warner@lothar.com>**20120513173217
148 Ignore-this: 4db3b71cdaf52e1596532ac9133186ae
149]
150[Doc updates and cosmetic fixes for #1115 patch.
151Brian Warner <warner@lothar.com>**20120513081550
152 Ignore-this: 87721ec10d0aee1124f2f24bdaea3007
153 
154 Removes the caveat from webapi.txt about count-good-share-hosts being wrong.
155 
156 This series should close #1115.
157]
158[Fixed an error in previous commit where an empty servermap would throw an exception in 'count-good-share-hosts'. Augmented unit test.
159Brian Warner <warner@lothar.com>**20120513075930
160 Ignore-this: 8c8937b3b3e15c63d9386628493f394e
161 
162 Signed-off-by: Andrew Miller <amiller@dappervision.com>
163]
164[Added tests for count-good-share-hosts under check and repair conditions. Patched the incorrect computation in immutable/filenode.py
165Brian Warner <warner@lothar.com>**20120513075930
166 Ignore-this: 6a77a5058adf18bca0a3517a77cf6190
167 
168 Signed-off-by: Andrew Miller <amiller@dappervision.com>
169 
170 Fixed missing import statements
171 
172 Signed-off-by: Andrew Miller <amiller@dappervision.com>
173]
174[test_web: fix use of headers= that's been wrong for a while
175Brian Warner <warner@lothar.com>**20120513074512
176 Ignore-this: 681e1ac6eafd23a0babfe8f182e3ca8
177]
178[webapi: don't allow ETags in t=info or t=rename-form, both are variable
179Brian Warner <warner@lothar.com>**20120513074511
180 Ignore-this: 40387e1534c9a5c202280d604eddfdcc
181 
182 t=info contains randomly-generated ophandles, and t=rename-form contains the
183 name of the child being renamed, so neither is eligible for a
184 short-circuiting ETag. Enhanced test_web to exercise this. Had to improve
185 FakeCHKFileNode slightly to let it participate. Refs #443.
186]
187[test_web: improve ETag tests, add If-None-Match test
188Brian Warner <warner@lothar.com>**20120513074511
189 Ignore-this: 72702e3237430441a4c98a084ae63df4
190]
191[Added unit tests covering #466:comment-15. Refactored the 'etag' behavior for immutable files to respond to all GET '?t=' flags, not just t=None
192Brian Warner <warner@lothar.com>**20120513074511
193 Ignore-this: fc3ba31b5678c08752b60fa3dd77fa83
194 
195 Signed-off-by: Andrew Miller <amiller@dappervision.com>
196]
197[Short circuit GET on ETags match
198Brian Warner <warner@lothar.com>**20120513074511
199 Ignore-this: 33d540fbc702c6b43e30d957107ba0b4
200 
201 When client does a conditional GET/HEAD with If-none-match:, if the condition
202 fails (ie, the client's ETag matches the file's) then we can short-circuit
203 the whole process and immediately return an empty body.
204]
205[Add ETags for immutable directories
206Brian Warner <warner@lothar.com>**20120513074511
207 Ignore-this: b173e8a1219e5fe906d49edc006da993
208 
209 Like immutable files, the ETag is based on the storage index. However, since
210 a directory is a special interpretation of a file, it is distinguished from
211 the file by prepending "DIR:" onto the start of the ETag, and adding
212 -representation on the end (where -representation is the ?t= argument, json,
213 info, etc).
214 
215 It also checks the return of setETag and avoids generating a representation
216 if the client already has it.
217]
218[test-dont-use-too-old-dep.py: fix tarfile timestamps
219Brian Warner <warner@lothar.com>**20120513063403
220 Ignore-this: b7acb8e369d768e072f3658b2de9af03
221 
222 It turns out that TarFile.addfile() doesn't provide a reasonable default
223 timestamp, resulting in files dated to 1970 (they're probably wearing
224 bell-bottoms and listening to disco too). Then, when the bdist_egg command
225 tries to create a *zip*file with those files, it explodes because zipfiles
226 cannot handle timestamps before 1980 (it prefers boomboxes and jackets with
227 straps on the shoulders, thank you very much).
228 
229 This puts a modern time.time() on the members of the tarfile, allowing future
230 cryptocoderarchaeologists the opportunity to make fun of fashion trends from
231 the user's chosen era, rather than an artificially older one.
232 
233 refs #1342
234]
235[Add 'tahoe debug flogtool' command, test for --help, and docs. This version gets the help synopses more correct, and changes the doc to say that this command is added in 1.10.0 rather than 1.9.2. fixes #1693
236david-sarah@jacaranda.org**20120331224122
237 Ignore-this: 9c2bc2f7b684323515690d658060c3fc
238]
239[modify build_helpers files
240Brian Warner <warner@lothar.com>**20120513034724
241 Ignore-this: 7f02472b3fbc2bfba4c02acce7d728e7
242 
243 Should close #1342. This makes the actual changes to the two test
244 files (separated from the 'rename' patch to avoid VC complications).
245]
246[rename build_helpers files
247Brian Warner <warner@lothar.com>**20120513034701
248 Ignore-this: c1e7257dc66d0d35dcbc830fbe04ab9b
249 
250 This is from the darcs patch for #1342, which failed to apply on my darcs
251 tree, so I'm landing it from git. I'm landing the rename-files part
252 separately from the modify-those-files part to avoid VC complications.
253]
254[webapi: remove undocumented t=mkdir-p operation
255Brian Warner <warner@lothar.com>**20120513021943
256 Ignore-this: 10bc56cc8bef468881fc7dd5a586bdf9
257 
258 Closes #380
259]
260[Improve webapi t=move docs.
261Brian Warner <warner@lothar.com>**20120509234653
262 Ignore-this: a9342b5cef162c12efec04e2d21ec777
263]
264[webui: merge 'move' form with 'rename' form
265Brian Warner <warner@lothar.com>**20120509212137
266 Ignore-this: a073958075eb1d041546f68342ec2ba2
267]
268[test_web: improve shouldFail2() error reporting
269Brian Warner <warner@lothar.com>**20120509211837
270 Ignore-this: 2ab6738d46fead5b49496ba379fd1d98
271]
272[webapi 'move'-button cleanups
273Brian Warner <warner@lothar.com>**20120509211827
274 Ignore-this: dc3bfe40150969222923f0abcf0ad691
275 
276 test_web.py: use shouldFail2(), safer than old shouldFail()
277 directory.py: forbid slashes in from_name=, return BAD_REQUEST instead of
278               GONE when trying to move into a non-directory
279]
280[Add unit test for moving a directory
281Brian Warner <warner@lothar.com>**20120509200714
282 Ignore-this: a915d7ddf007abf8b7d69c8e441d21dd
283 
284 My gut tells me this case sould be tested. The rename suite tests it, so
285 move's will too.
286]
287[Change the arbitrary URI support from implied to explicit
288Brian Warner <warner@lothar.com>**20120509200714
289 Ignore-this: 1117c90c8f5ea4e4155d3f0ac50e50d9
290 
291 The move webapi function now takes a target_type argument which lets it
292 know whether the target is a subdirectory name or URI. This is an
293 improvement over the old system in which the move handler tried to guess
294 whether the target was a name or a URI. Also fixed a little docs
295 copypaste problem and tweaked some line wrapping.
296]
297[Adding 'move' button to web UI, closes #1579
298Brian Warner <warner@lothar.com>**20120509200713
299 Ignore-this: d58ce02d31c0683c6859065b8c36f5d6
300 
301 This adds "move file" capability to the web UI's directory display. The
302 support and test framework is heavily based on the similar "rename file"
303 feature. Unit tests and documentation are included. Multiple in-progress
304 versions of this patch may be found in ticket 1579. This version
305 includes arbitrary URI target support and is compatible with the change
306 from tahoe_css to tahoe.css.
307]
308[CREDITS: lebek
309zooko@zooko.com**20120503173033
310 Ignore-this: 6c0ff786ce67697f7af7b861593992e3
311]
312[Make sure that foolscap.logging.log.setLogDir is called with a str (not unicode) path, v2. Includes test. fixes #1725
313david-sarah@jacaranda.org**20120429022844
314 Ignore-this: 1e94ed0c092c5c93c0a4031f8b8df092
315]
316[introweb announcements: show serverid, not tubid
317Brian Warner <warner@lothar.com>**20120424053728
318 Ignore-this: 4de5d89b06f4f067ec23f879582fdfaa
319 
320 'serverid' is the pubkey (for V2 clients), falling back to the tubid (for V1
321 clients). This also required cleaning up the way the index is created for the
322 old V1 introducer.
323]
324[Fix introweb display for mixed V1/V2 clients. Closes #1721.
325Brian Warner <warner@lothar.com>**20120423223053
326 Ignore-this: 766a34730dfce5b2d8c4ee1a411f50fb
327 
328 This significantly cleans up the IntroducerServer web-status renderers.
329 Instead of poking around in the introducer's internals, now the web-status
330 renderers get clean AnnouncementDescriptor and SubscriberDescriptor
331 objects. They are still somewhat foolscap-centric, but will provide a clean
332 abstraction boundary for future improvements.
333 
334 The specific #1721 bug was that old (V1) subscribers were handled by
335 wrapping their RemoteReference in a special WrapV1SubscriberInV2Interface
336 object, but the web-status display was trying to peek inside the object to
337 learn what host+port it was associated with, and the wrapper did not proxy
338 those extra attributes.
339 
340 A test was added to test_introducer to make sure the introweb page renders
341 properly and at least contains the nicknames of both the V1 and V2 clients.
342]
343[Updated webapi.rst to list /cap as a synonym for /uri
344Brian Warner <warner@lothar.com>**20120417184111
345 Ignore-this: c7dfb12987d883c94948f3fede254fe4
346]
347[Adding jg71 to CREDITS
348markus reichelt <mr@mareichelt.com>**20120414140107
349 Ignore-this: b69a4c4b5248a7092c550de395192afb
350]
351[Fix for ticket #1662
352Brian Warner <warner@lothar.com>**20120410183314
353 Ignore-this: b2164418fb1a24cef2bddf1ec3c42eed
354]
355[docs/frontends/drop-upload.rst: document more known issues and link to new ticket for an existing one.
356david-sarah@jacaranda.org**20120406043946
357 Ignore-this: 72e0a821961fb9137bb6f53742e4ba43
358]
359[test/common.py: remove ununsed 'is_bad' mechanism
360Brian Warner <warner@lothar.com>**20120404191103
361 Ignore-this: 15b5d8d66e8ee902831b8171a9069763
362 
363 This was a premature feature addition to the mock filenode, and gets in the
364 way of the IServer refactoring I'm trying to do. Best to remove it now and
365 re-introduce it in a better form later when it's actually needed.
366]
367[checker.py: minor simplifications
368Brian Warner <warner@lothar.com>**20120404190531
369 Ignore-this: 170f3e70dccd61c1ddb6ea6995ad09ca
370]
371[make IServer instances retain identity in copy() and deepcopy()
372Brian Warner <warner@lothar.com>**20120404181409
373 Ignore-this: ff39267d0e967cc76591ba5166f63fc7
374]
375[move IServer from storage_client.py to interfaces.py
376Brian Warner <warner@lothar.com>**20120404181359
377 Ignore-this: 7713ad62faa2841659ce5ed287d0837b
378]
379[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
380david-sarah@jacaranda.org**20120405235723
381 Ignore-this: 9b0055847a793528a028679847ab493c
382]
383[Rename web CheckResults to -Renderer, to avoid confusion. Closes #1705.
384Brian Warner <warner@lothar.com>**20120403030451
385 Ignore-this: 4c3e20d804e70a27d2464f770aec0c2c
386 
387 This avoids the name collision between the actual results
388 objects (defined in allmydata.check_results) and the code that renders
389 these objects into HTML (defined in allmydata.web.check_results). Only
390 the web-side objects were renamed.
391]
392[webapi.rst: de-tabify
393Brian Warner <warner@lothar.com>**20120402233205
394 Ignore-this: 6436168d9073b12e95ff410239bf133f
395]
396[servermap.py: oops, fix _done() condition, good catch by davidsarah
397Brian Warner <warner@lothar.com>**20120401221034
398 Ignore-this: a5b0f61d83606ebf3493917e69ad4edf
399]
400[doc: cross-link known_issues.rst and cautions.rst with one another
401zooko@zooko.com**20120401214039
402 Ignore-this: 3873f8807826cb21761cfe65a93955f8
403]
404[docs: FTP-and-SFTP.rst: recommend SFTP
405zooko@zooko.com**20120401212002
406 Ignore-this: 6459edd6dd0a62a82d3adc62c5656c63
407 
408 Add an explicit recommendation of SFTP over FTP. Separate the known issues of
409 FTP from SFTP. List "SFTP" first in all lists of the two. Use unicode bullet
410 points and prepend a utf-8 BOM. Use out-of-line rst hyperlinks.
411 
412]
413[interfaces.py: ensure that NoSuchChildError can be converted to str even when it is for a non-ASCII name. fixes #1483
414david-sarah@jacaranda.org**20110814225959
415 Ignore-this: d0069952ac7f5a13bdf5e957c7ae78a8
416]
417[misc/build_helpers/show-tool-versions.py: s/print_stderr/print_stdout/
418david-sarah@jacaranda.org**20120401022826
419 Ignore-this: c69d01081308a8144c9fdb34c4ab40b0
420]
421[bin/tahoe-script.template: fix the error message that is displayed when a runner script cannot be found. fixes #1488
422david-sarah@jacaranda.org**20110817222651
423 Ignore-this: b92c562e4da9adf63e642512c96eee89
424]
425[docs: quickstart: edits
426zooko@zooko.com**20120401015717
427 Ignore-this: cb56a1ffedb20d687133ad2ecfd7f8f7
428 
429 • use out-of-line links to avoid a warning from rst2html --verbose (fixes #1704)
430 • reflow to 77 fill-column and prepend utf-8 BOM (fixes #1703)
431 • recommend Python 2.7 (fixes #1702)
432 • remove link to wiki:AdvancedInstall (fixes #1701)
433 
434]
435[Spelling error in a comment.
436david-sarah@jacaranda.org**20120401013655
437 Ignore-this: 3a5a30be4be27bcfb1fecfd22ccf5327
438]
439[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
440david-sarah@jacaranda.org**20110808180552
441 Ignore-this: b4dd630857d192c02acaa6d8b163d5ca
442]
443[node.py: tolerate a UTF-8 BOM at the start of tahoe.cfg. fixes #1470
444david-sarah@jacaranda.org**20110808180204
445 Ignore-this: 9c859adce5668d7315d0d6e2ed9ddca7
446]
447[mutable/layout.py: improve confusing documentation of layout. fixes #1534
448david-sarah@jacaranda.org**20110914143947
449 Ignore-this: c5fbd3809ee3f7fc2b46cd23dad6b1c0
450]
451[setup: show-tool-versions: report cl only on windows, report buildslave, git, openssl, and lzip, but not 7za
452zooko@zooko.com**20120401005925
453 Ignore-this: 2f8d90893271d2f1c2d1185f95d95e86
454]
455[Document PYTHONPATH problem when running flogtool. refs #1693
456david-sarah@jacaranda.org**20120331223934
457 Ignore-this: 3edb13077119aaee76c1dcc46370e62
458]
459[Mutable repair: use new MODE_REPAIR to query all servers *and* get privkey
460Brian Warner <warner@lothar.com>**20120331183902
461 Ignore-this: e518c5372afe27331e09f8d70c63764d
462 
463 This fixes bug #1689. Repair was using MODE_READ to build the servermap,
464 which doesn't try hard enough to grab the privkey, and also doesn't guarantee
465 sending queries to all servers. This patch adds a new MODE_REPAIR which does
466 both, and does a separate, distinct mapupdate to start wth repair cycle,
467 instead of relying upon the (MODE_CHECK) mapupdate leftover from the
468 filecheck that triggered the repair.
469]
470[Add test for bug #1689: repairing empty file hits no-privkey assertion
471Brian Warner <warner@lothar.com>**20120331183902
472 Ignore-this: e84ead8eb2bfee9c65285b7f9a3a9237
473]
474[FTP-and-SFTP.rst: there were two more instances of 'rootcap'. Also made the wording tweak from ticket:1487#comment:4 . fixes #1487
475david-sarah@jacaranda.org**20120331023247
476 Ignore-this: 9ce9c37d9aa2b9629b14a001989d51b0
477]
478[test_ftp.py: fix a couple of unused imports. refs #1668
479david-sarah@jacaranda.org**20120331021725
480 Ignore-this: fc4f24fbc707efe86de9f35b782384ce
481]
482[FTP-and-SFTP.rst: directories containing mutable files should now be listable via FTP. refs #680
483david-sarah@jacaranda.org**20120331013730
484 Ignore-this: 78e507bd857623e78b32dd0e4da3c59
485]
486[ftpd file `size' attribute must be an integer
487Peter Le Bek <peter@hyperplex.net>**20120322131806
488 Ignore-this: bcf0047f19226e8dc00cb4995584761a
489]
490[unit test for ftpd LIST
491Peter Le Bek <peter@hyperplex.net>**20120330234139
492 Ignore-this: dfbb45a030be9840858df6047f21666c
493]
494[fix ftpd mtime retrieval
495Peter Le Bek <peter@hyperplex.net>**20120330234119
496 Ignore-this: 873cf8d1c28817d7e64565dda43a2ecb
497]
498[test_introducer.SystemTest: fix race condition
499Brian Warner <warner@lothar.com>**20120331002906
500 Ignore-this: d5cec29c09aca766634b6332c798436f
501 
502 SystemTest has a couple of different phases, separated by a poller which
503 waits for everything to be idle (all messages delivered, none in flight). It
504 does this by watching some internal "_debug_outstanding" counters in the
505 server and in each client, and waiting for them to hit zero.
506 
507 Just before the last phase, we replace the server with a new one (to make
508 sure clients re-send their messages properly). Unfortunately, the polling
509 function closed over the variable holding the original server, and didn't see
510 the replacement. It kept polling the old server, and failed to notice the
511 outstanding messages for the new server. The last phase of the test (check3)
512 was started too early, which failed (since some messages had not yet been
513 delivered), and then exploded in a flurry of dirty-reactor errors (because
514 some messages were delivered after test shutdown).
515 
516 This replaces the closed-over-variable with a "self.the_introducer", which
517 seems to fix the race.
518 
519 One additional place to look at in the future: the client
520 announcement-receive path (remote_announce) uses an eventually(). If the
521 message has been received and the eventual-send posted (but not yet executed)
522 when the poller sees it, the poller might erroneously conclude that the
523 client is idle and cause the same problem as above. To fix this, the poller
524 (probably all pollers) could be enhanced to do a flushEventualQueue before
525 querying the are-we-done-yet predicate function.
526]
527[Cosmetic formatting in docs.
528david-sarah@jacaranda.org**20120322220534
529 Ignore-this: 2e3ddb170f45035c4655ce25aaa09977
530]
531[Put SFTP before FTP in various docs. fixes #1692
532david-sarah@jacaranda.org**20120322220453
533 Ignore-this: 6759fbe5d58a965120b55cf3c1578970
534]
535[Correct a link to frontends/drop-upload.rst. fixes #1690
536david-sarah@jacaranda.org**20120322220118
537 Ignore-this: dafc6205151545e8095f908dd57c213
538]
539[Fix mutable status (mapupdate/retrieve/publish) to use serverids, not tubids
540Brian Warner <warner@lothar.com>**20120318000135
541 Ignore-this: 79354457b77fe2d8534fc0b792b6eb0c
542 
543 This still leaves immutable-publish results incorrectly using tubids instead
544 of serverids. That will need some more work, since it might change the Helper
545 interface.
546]
547[IServer.get_name(): remove v0- prefix from displayed server names
548Brian Warner <warner@lothar.com>**20120318000135
549 Ignore-this: f3dc25be3ecca5935a4320ca53b70cad
550 
551 Don't remove the prefix if it isn't there: that avoids the need to fix tests
552 which use a bogus key (usually all-zeros).
553]
554[Fix a missing comma in the last patch. refs #1295
555david-sarah@jacaranda.org**20120314235040
556 Ignore-this: 34327ffeabed65759ad511760f925e47
557]
558[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
559david-sarah@jacaranda.org**20120314234729
560 Ignore-this: 2ab43c7893ed305a9d40023ec176d179
561]
562[minor: hush pyflakes, move pycryptopp dep to unconditional section
563Brian Warner <warner@lothar.com>**20120314062035
564 Ignore-this: 786fae44ad106c7924f8c9644ee0e48d
565 
566 Also change Makefile's "pyflakes" rule to emit less output, so buildbot will
567 count errors properly.
568]
569[Update find_links URLs in setup.cfg to https://tahoe-lafs.org. This is not just a doc change; look out for compatibility problems.
570david-sarah@jacaranda.org**20120313203041
571 Ignore-this: fd18113695c2a524972c389e8b52e2e8
572]
573[Minor updates to URLs.
574david-sarah@jacaranda.org**20120313202853
575 Ignore-this: 2e5719e8cf19d7be73fbcba98dc1e5dd
576]
577[Update more links from http: to https: in documentation and comments.
578david-sarah@jacaranda.org**20120313202654
579 Ignore-this: 2c11cef35639b101412c024896256529
580]
581[new introducer: signed extensible dictionary-based messages! refs #466
582Brian Warner <warner@lothar.com>**20120314012432
583 Ignore-this: e87de488a26c11711cf6978c9fb1175c
584 
585 This introduces new client and server halves to the Introducer (renaming the
586 old one with a _V1 suffix). Both have fallbacks to accomodate talking to a
587 different version: the publishing client switches on whether the server's
588 .get_version() advertises V2 support, the server switches on which
589 subscription method was invoked by the subscribing client.
590 
591 The V2 protocol sends a three-tuple of (serialized announcement dictionary,
592 signature, pubkey) for each announcement. The V2 server dispatches messages
593 to subscribers according to the service-name, and throws errors for invalid
594 signatures, but does not otherwise examine the messages. The V2 receiver's
595 subscription callback will receive a (serverid, ann_dict) pair. The
596 'serverid' will be equal to the pubkey if all of the following are true:
597 
598   the originating client is V2, and was told a privkey to use
599   the announcement went through a V2 server
600   the signature is valid
601 
602 If not, 'serverid' will be equal to the tubid portion of the announced FURL,
603 as was the case for V1 receivers.
604 
605 Servers will create a keypair if one does not exist yet, stored in
606 private/server.privkey .
607 
608 The signed announcement dictionary puts the server FURL in a key named
609 "anonymous-storage-FURL", which anticipates upcoming Accounting-related
610 changes in the server advertisements. It also provides a key named
611 "permutation-seed-base32" to tell clients what permutation seed to use. This
612 is computed at startup, using tubid if there are existing shares, otherwise
613 the pubkey, to retain share-order compatibility for existing servers.
614]
615['tahoe admin generate-keypair/derive-pubkey': add Ed25519 keypair commands
616Brian Warner <warner@lothar.com>**20120314012432
617 Ignore-this: 6dff9c61d97f746de338027b72cf1912
618 
619 Also add parse_privkey/parse_pubkey tools to util.keyutil
620]
621[bump pycryptopp dependency to >=0.6.0, to get ed25519 signatures
622Brian Warner <warner@lothar.com>**20120314012432
623 Ignore-this: 6c1cf12a30567880ab2cc53c4282be11
624 
625 This is for the upcoming #466 signed-introducer code.
626]
627[Update copyright notices. refs #1686
628david-sarah@jacaranda.org**20120313205057
629 Ignore-this: a6a4904001412248c4164f002b52f79a
630]
631[Make the link on the Welcome page to 'https://tahoe-lafs.org/', not 'http:'. Includes a test. fixes #1682
632david-sarah@jacaranda.org**20120308231758
633 Ignore-this: b639c3da453b95ee7edca8090ea1b9aa
634]
635[Update various references to allmydata.org or http://tahoe-lafs.org in comments, to https://tahoe-lafs.org. refs #1682
636david-sarah@jacaranda.org**20120308231719
637 Ignore-this: a71d00ea46af0a44e5c957df56d02adf
638]
639[Suppress a warning from win32eventreactor on Windows (patch v2). fixes #1681
640david-sarah@jacaranda.org**20120227190317
641 Ignore-this: c7efe1065d45a00caf182a1de812f4bb
642]
643[Add nickname/nodeid to storage-status web page. Closes #1204.
644Brian Warner <warner@lothar.com>**20120313025736
645 Ignore-this: 78e533e06c390221edd66c45ec96e34a
646 
647 Also add tahoe.css to the page, to make it look slightly prettier.
648]
649[add some quick tests of the introducer/web improvements
650Brian Warner <warner@lothar.com>**20120312193536
651 Ignore-this: 9e31f368b1dfa586ab6e3f17707d9ec
652]
653[introducer web page: add CSS styling, roughly match client Welcome page
654Brian Warner <warner@lothar.com>**20120307022505
655 Ignore-this: bfc450f394578a3463f31acc1019862
656 
657 Also add /static and the top-level /tahoe.css -type stuff to the introducer's
658 web server.
659]
660[tahoe.css: fix #section typo, update welcome.xhtml to match
661Brian Warner <warner@lothar.com>**20120307022241
662 Ignore-this: 4e8a8382234aad017b093f8896b329d6
663 
664 The "#section" declaration (which matches id="section") should have been
665 ".section" (which matches class="section").
666 
667 The welcome page has a feature that I actually liked: the little "This
668 Client" sidebar sits just to the right of the start of the Controls block.
669 Fixing .section broke that (the clear:both introduces a gap, forcing the
670 Controls block to start strictly below the bottom of the This Client block).
671 So I also removed class="section" from the Controls block to allow them to
672 share the horizontal space again.
673]
674[make provisioning/reliability work in the new location, fix tests
675Brian Warner <warner@lothar.com>**20120216222905
676 Ignore-this: 8a2923a54ca224fe69fe404e819aaaac
677]
678[remove 'provisioning'/'reliability' from WUI, add to misc/operations_helpers
679Brian Warner <warner@lothar.com>**20120216222905
680 Ignore-this: 4090c8ac99f139393d9573b65cbbfe0c
681 
682 Also remove docs related to reliability/provisioning pages
683]
684[provisioning.py: update disk sizes and usage numbers
685Brian Warner <warner@lothar.com>**20120213155708
686 Ignore-this: e47ee282bfba4beb2598b227add5250a
687]
688[configuration.rst: another attempt to fix formatting of sample tahoe.cfg.
689david-sarah@jacaranda.org**20120131000949
690 Ignore-this: bb67b6c9bb191a1335eaadfe9594fa4f
691]
692[configuration.rst: remove the obsolete sizelimit option from the sample tahoe.cfg. Also fix the RST formatting of blank lines in the file.
693david-sarah@jacaranda.org**20120131000643
694 Ignore-this: 9c5327edf031d8578c19383d950b17b9
695]
696[Add a Python 3 blocker to setup.py, to display a better error message when it is run under Python 3.
697david-sarah@jacaranda.org**20120127015525
698 Ignore-this: 5f032794ecc8cd6c512a7ab9efffed2
699]
700[Ensure that verification proceeds and stops when appropriate.
701Brian Warner <warner@lothar.com>**20120124205209
702 Ignore-this: 88278bbd6a3b33cf3b286feaa162ad02
703 
704 The removed assertions are appropriate for a download that seeks to
705 return plaintext to a caller; if we don't have at least k active remote
706 shares, then we can't hope to do that. They're not appropriate for a
707 verification operation; a user can try to verify a file that has fewer
708 than k shares available, so that shouldn't be treated as an error.
709 Instead, we proceed with fewer than k shares, and ensure that we
710 terminate the download if we have no shares at all and we're verifying.
711]
712[Add test_verify_mdmf_all_bad_sharedata
713Brian Warner <warner@lothar.com>**20120124205209
714 Ignore-this: 52acb4f0256af764acb038f7c8344367
715 
716 test_verify_mdmf_all_bad_sharedata tests for the regression described
717 in ticket 1648. In particular, it will trigger the misplaced assertion
718 in the share activation code. It also tests to make sure that
719 verification continues with fewer than k shares.
720]
721[Added clarification on how interface= works
722Brian Warner <warner@lothar.com>**20120124203821
723 Ignore-this: 57f86d178c8e4f3c62d15bf99dec7d0d
724]
725[FTP-and-SFTP.rst: minor edits
726Brian Warner <warner@lothar.com>**20120124203654
727 Ignore-this: ec21fadb85cf7b3192d32b02c03c3656
728]
729[Updated accounts.url directive per warner's suggestions
730Brian Warner <warner@lothar.com>**20120124203126
731 Ignore-this: 9297ec6406e11d4e1fe24ba3a06725e3
732]
733[Added information on accounts.url directive
734Brian Warner <warner@lothar.com>**20120124203126
735 Ignore-this: 6d6142418eabdad789a2fc68f26b3ba1
736]
737[docs: an extra newline to separate utf-8 BOF from comment for the sake of trac's rst renderer
738zooko@zooko.com**20120122212002
739 Ignore-this: 5c6d0dbfa1430681fa00494937537956
740]
741[docs: a newline between the utf-8 BOF and the comment in order to prevent trac from misrendering the comment
742zooko@zooko.com**20120122211856
743 Ignore-this: 5e92cb88ba46b82227338522b834b90d
744 sheesh
745]
746[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
747zooko@zooko.com**20120122211731
748 Ignore-this: f7912a13ffba60408ec901a9586ce8a4
749]
750[docs: insert another newline between utf-8 BOF and title
751zooko@zooko.com**20120122211427
752 Ignore-this: 1b3861ef7d4531acfa61fac31e14fe98
753]
754[docs: insert newline after utf-8 BOF and before restructuredtext title
755zooko@zooko.com**20120122182127
756 Ignore-this: f947afe5bdfc9f44ba9bf7f0e585da7c
757]
758[docs: remove utf-8 "BOM" which confuses trac's rst renderer
759zooko@zooko.com**20120122140052
760 Ignore-this: ba58c59a314f23c65de5443bd7b6ffcb
761]
762[docs: try again to change RestructuredText titles to a format that trac will render
763zooko@zooko.com**20120122135613
764 Ignore-this: 588bbb627a95cd8317c809567cfa3e78
765]
766[docs: backdoors.rst: fix title formatting
767zooko@zooko.com**20120122135125
768 Ignore-this: 5bf980c1a8703ee353cd747ae343176a
769]
770[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
771zooko@zooko.com**20120122134319
772 Ignore-this: e1b5b3d2809040cfd7f13bb88ee8313d
773]
774[update release process: git, not darcs, etc
775Brian Warner <warner@lothar.com>**20120113071257
776 Ignore-this: 2eaa1f0e93dc545989bb1e62b2446e1e
777]
778[prepare to Org-ify how_to_make_a_tahoe-lafs_release: rename the file
779Brian Warner <warner@lothar.com>**20120113070153
780 Ignore-this: d9bb83dfd6c3b4c0ca0efd2adacdf63c
781]
782[.gitignore: ignore generated test-coverage files too
783Brian Warner <warner@lothar.com>**20120113065629
784 Ignore-this: 4411c7d620f5865b8c4dedef7e5a8c33
785]
786[merge relnotes, quickstart.rst from 1.9.1 release
787Brian Warner <warner@lothar.com>**20120112232420
788 Ignore-this: 6b535bb1a3bd5ea87ee12cc6b17eeb5c
789]
790[retrieve.py: unconditionally check share-hash-tree. Fixes #1654.
791Brian Warner <warner@lothar.com>**20120112213553
792 Ignore-this: 7ddc903a382b52bc014262b3b4099165
793 
794 Add Kevan's unit test, update known_issues.rst
795]
796[.gitignore: also ignore tahoe-deps and .tgz, to fix 'make tarballs'
797Brian Warner <warner@lothar.com>**20120112210925
798 Ignore-this: e8a7d942f123ee6bf4f2966ddc2742a3
799 
800 Otherwise, the get-version-from-git code thinks the tree is dirty, and
801 creates SUMO tarballs with -dirty in the name.
802]
803[Makefile: fix 'make-version' to use git-or-darcs, not just darcs
804Brian Warner <warner@lothar.com>**20120112210654
805 Ignore-this: ae32660458b5ab036ab98f0d1cf4e414
806]
807[_auto_deps.py: don't allow pycrypto 2.0.1. fixes #1631
808david-sarah@jacaranda.org**20120110195758
809 Ignore-this: de409a745c93a78b095dc72edd13a15d
810]
811[MANIFEST.in: make git-based 'setup.py sdist' match darcs
812Brian Warner <warner@lothar.com>**20120109234637
813 Ignore-this: 92bf7d679e9d5696994efe39c40ae216
814 
815 Previously, tarballs generated from a git tree were lacking a lot of
816 important non-code files, like docs/
817]
818[restore .gitignore, stop .darcs-boringfile it
819warner@lothar.com**20120109025243
820 Ignore-this: b37efcdab8662fe85660d68e3662b4b9
821]
822[remove setuptools_darcs.egg
823warner@lothar.com**20120108225545
824 Ignore-this: 39711cf7a9856acd5a136038d58ca5ff
825]
826[fix bundled data under git, remove setuptools_darcs
827Brian Warner <warner@lothar.com>**20120108221250
828 Ignore-this: ebfc0b267961523edd7e26c761b2554f
829 
830 This uses explicitly enumerated packages= and package_data= arguments to
831 setup(), rather than relying upon the convenient (but darcs-specific)
832 functions which would determine these values by asking the revision-control
833 system.
834 
835 Note that darcsver is still used, when building from a darcs tree.
836]
837[mutable/retrieve.py: clean up control flow to avoid dropping errors
838Brian Warner <warner@lothar.com>**20120108221248
839 Ignore-this: 4e991bdf6399439d2cee3d743814a327
840 
841 * replace DeferredList with gatherResults, simplify result handling
842 * use BadShareError to signal recoverable problems in either fetch or
843   validate, catch after _validate_block
844 * _validate_block is thus not responsible for noticing fetch problems
845 * rename _validation_or_decoding_failed() to _handle_bad_share()
846 * _get_needed_hashes() returns two Deferreds, instead of a hard-to-unpack
847   DeferredList
848]
849[mutable/layout.py: raise BadShareError instead of assert()
850Brian Warner <warner@lothar.com>**20120108221247
851 Ignore-this: 129891a807315f657b80576025135df8
852]
853[mutable: don't tell server about corruption unless it's really CorruptShareError
854Brian Warner <warner@lothar.com>**20120108221245
855 Ignore-this: 90da01af1008477c45d333a0f74f1c5b
856]
857[mutable: simplify Retrieve._process_segment() to use a gatherDeferred
858Brian Warner <warner@lothar.com>**20120108221244
859 Ignore-this: cfc7a56414889d02bffd747f1abad8ef
860]
861[Retrieve.decode(): simplify setup of DeferredList-like argument
862Brian Warner <warner@lothar.com>**20120108221240
863 Ignore-this: c92d377bf4d65251240e59c8db5452af
864 
865 make it more obviously match the expectations of _decode_blocks() and
866 _maybe_decode_and_decrypt_segment()
867]
868[mutable: add comments about the tricky DeferredList structures in retrieve
869Brian Warner <warner@lothar.com>**20120108221238
870 Ignore-this: da47db692fbdf11a3ce01a952a60d1a0
871]
872[add test-git-ignore.py, to port the 'clean' buildbot test to git
873Brian Warner <warner@lothar.com>**20120108221232
874 Ignore-this: 442efa1eacc27b7ae2690645ed997894
875 
876 add .gitignore to match .darcs-boringfile, mostly
877]
878[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
879david-sarah@jacaranda.org**20111120232426
880 Ignore-this: d4ea9154e98902c5de055b6de23c48f9
881]
882[test_mutable: don't use 75 shares (slow), now that the bug is fixed
883Brian Warner <warner@lothar.com>**20111228223819
884 Ignore-this: 930f1a24ebe9ed2ab25e4b2a16e36352
885 
886 I missed this part of Kevan's fix-1628.darcs.2.patch .
887]
888[mutable publish: fix not-enough-shares detection. Refs #1628.
889Brian Warner <warner@lothar.com>**20111228055018
890 Ignore-this: 23db08d8d630268e208e1755509adf92
891 
892 This should match the "fix-1628.darcs.2.patch" attachment on that ticket.
893]
894[mutable publish: track multiple servers-per-share. Fixes some of #1628.
895Brian Warner <warner@lothar.com>**20111228053358
896 Ignore-this: 6e8cb92e70273b81098f73ebf23164bd
897 
898 The remaining work is to write additional tests.
899 
900 src/allmydata/test/no_network.py:
901 
902  This supports tests in which servers leave the grid only to return with
903  their shares intact at a later time.
904 
905 src/allmydata/test/test_mutable.py:
906 
907  The UCWEs in the incident reports associated with #1628 all seem to be
908  associated with shares that the servermap knows about, but which aren't
909  accounted for during the publish process for whatever reason. Specifically,
910  it looks like the publisher is only capable of keeping track of a single
911  storage server for a given share. This makes the repair process worse than
912  it was pre-MDMF at updating all of the shares of a particular file to the
913  newest version, and can also cause spurious UCWEs. This test simulates such
914  a layout and fails if an UCWE is thrown. We need to write another test to
915  ensure that all copies of a share are updated to the latest version (or
916  alter this test to do that), so that the test suite doesn't pass unless both
917  regressions are fixed.
918 
919  We want the publisher to follow the existing share placement when uploading
920  a new version of a mutable file, and we don't want this test to pass unless
921  it does.
922 
923 src/allmydata/mutable/publish.py:
924 
925  Before this commit, the publisher only kept track of a single writer for
926  each share. This is insufficient to handle updates in which a single share
927  may live on multiple servers. In the best case, an update will only update
928  one of the existing shares instead of all of them. In some cases, the update
929  will encounter the existing shares when publishing some other share,
930  interpret it as a sign of an uncoordinated update, and fail. Keeping track
931  of all of the writers helps ensure that all existing shares are updated, and
932  helps avoid spurious uncoordinated write errors.
933]
934[docs: how_to_make_a_tahoe-lafs_release.rst add Google+ page to publicity list, change to cute unicode checkboxes
935zooko@zooko.com**20111226151905
936 Ignore-this: c7c1e67761df48fa11c0dad1847c2d8
937]
938[doc: about.rst: use unicode emdash, use non-embedded URIs, add clarificaiton of when a file gets its mutable-or-immutable nature
939zooko@zooko.com**20111206171908
940 Ignore-this: 61bc3f1582c68dcc9867da964fc9bb3a
941 embedded URIs, although documented here:
942 http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#embedded-uris
943 generate messages like this from rst2html --verbose:
944 
945 quickstart.rst:3: (INFO/1) Duplicate explicit target name: "the tahoe-dev mailing list".
946 
947 Also this patch prepends a "utf-8 BOM" to the beginning of the file.
948]
949[minor cleanup: remove trailing spaces in misc/
950Brian Warner <warner@lothar.com>**20111218201841
951 Ignore-this: 69a8904c17d8fd930442d00e24b7b188
952]
953[Tests for ref #1592.
954david-sarah@jacaranda.org**20111217043130
955 Ignore-this: a6713500ebe2d686581c6743b8a88f60
956]
957[test_web.py cleanup: use failUnlessIn/failIfIn in preference to 'in' operator.
958david-sarah@jacaranda.org**20111217042710
959 Ignore-this: c351f4b1d162eca545ba657dc3c70c19
960]
961[Marcus Wanner's favicon patch. fixes #1592
962david-sarah@jacaranda.org**20111217033201
963 Ignore-this: 3528c920379fe0d157441dafe9a7c5a8
964]
965[setup.py: stop putting pyutil.version_class/etc in _version.py
966Brian Warner <warner@lothar.com>**20111205055049
967 Ignore-this: 926fa9a8a34a04f24ee6e006423e9c1
968 
969 allmydata.__version__ can just be a string, it doesn't need to be an instance
970 of some fancy NormalizedVersion class. Everything inside Tahoe uses
971 str(__version__) anyways.
972 
973 Also add .dev0 when a git tree is dirty.
974 
975 Closes #1466
976]
977[setup.py: get version from git or darcs
978Brian Warner <warner@lothar.com>**20111205044001
979 Ignore-this: 5a406b33000446d85edc722298391220
980 
981 This replaces the setup.cfg aliases that run "darcsver" before each major
982 command with the new "update_version". update_version is defined in setup.py,
983 and tries to get a version string from either darcs or git (or leaves the
984 existing _version.py alone if neither VC metadata is available).
985 
986 Also clean up a tiny typo in verlib.py that messed up syntax hilighting.
987]
988[docs/known_issues.rst: describe when the unauthorized access attack is known to be possible, and fix a link.
989david-sarah@jacaranda.org**20111118002013
990 Ignore-this: d89b1f1040a0a7ee0bde893d23612049
991]
992[more tiny buildbot-testing whitespace changes
993warner@lothar.com**20111118002041
994 Ignore-this: e816e2a5ab939e2f7a89ef12b8a157d8
995]
996[more tiny buildbot-testing whitespace changes
997warner@lothar.com**20111118001828
998 Ignore-this: 57bb52cba83ea9a19728ba0a8ffadb69
999]
1000[tiny change to exercise the buildbot hook
1001warner@lothar.com**20111118001511
1002 Ignore-this: 7220b7790b39f19f9721d9e93b755030
1003]
1004[Strengthen description of unauthorized access attack in known_issues.rst.
1005david-sarah@jacaranda.org**20111118000030
1006 Ignore-this: e2f68f621fe666b6201542623aa4d182
1007]
1008[remove remaining uses of nevow's "formless" module
1009Brian Warner <warner@lothar.com>**20111117225423
1010 Ignore-this: a128dea91a1c63b3bbefa34729344d69
1011 
1012 We're slowly moving away from Nevow, and marcusw's previous patch removed
1013 uses of the formless CSS file, so now we can stop testing that nevow can find
1014 that file, and remove the lingering unused "import formless" call.
1015]
1016[1585-webui.darcs.patch
1017Marcus Wanner <marcus@wanners.net>**20111117214923
1018 Ignore-this: 23cf2a06c545be5f821c071d652178ee
1019]
1020[Remove duplicate tahoe_css links from manifest.xhtml and rename-form.xhtml
1021Brian Warner <warner@lothar.com>**20111116224225
1022 Ignore-this: 12024fff17964607799928928b9aadf3
1023 
1024 They were probably meant to be links to webform_css, but we aren't really
1025 using Nevow's form-generation code anyways, so they can just be removed.
1026 Thanks to 'marcusw' for the catch.
1027]
1028[iputil: handle openbsd5 (just like openbsd4)
1029Brian Warner <warner@lothar.com>**20111115220423
1030 Ignore-this: 64b28bd2fd06eb5230ea41d91540dd05
1031 
1032 Patch by 'sickness'. Closes #1584
1033]
1034[Makefile count-lines: let it work on OS-X (-l not --lines), add XXX
1035Brian Warner <warner@lothar.com>**20111109184227
1036 Ignore-this: 204ace1dadc9ed27543c62965b4e6757
1037 
1038 OS-X's simple-minded /usr/bin/wc doesn't understand --lines, but everyone
1039 understands -l .
1040]
1041[setup.py: umask=022 for 'sdist', to avoid depending on environment
1042Brian Warner <warner@lothar.com>**20111109183632
1043 Ignore-this: acd5db88ba8f1972d618b14f9e5b803c
1044 
1045 The new tarball-building buildslave had a bogus umask set, causing the 1.9.0
1046 tarballs to be non-other-user-readable (go-rwx), which is a hassle for
1047 packaging. (The umask was correct on the old buildslave, but it was moved to
1048 a new host shortly before the release). This should make sure tarballs are
1049 correct despite the host's setting.
1050 
1051 Note to others: processes run under twistd get umask=077 unless you arrange
1052 otherwise.
1053]
1054[_auto_deps.py: blacklist PyCrypto 2.4.
1055david-sarah@jacaranda.org**20111105022457
1056 Ignore-this: 876cb24bc71589e735f48bf449cad81e
1057]
1058[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
1059david-sarah@jacaranda.org**20111009050301
1060 Ignore-this: 62ee03f4b8a96c292e75c097ad87d52e
1061]
1062[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
1063david-sarah@jacaranda.org**20111009045023
1064 Ignore-this: f49ece515620081da1d745ae6da19d21
1065]
1066[check-miscaptures.py: Python doesn't really have declarations; report the topmost assignment. refs #1555
1067david-sarah@jacaranda.org**20111009044800
1068 Ignore-this: 4905c9dfe7726f433333e216a6760a4b
1069]
1070[check-miscaptures.py: handle destructuring function arguments correctly. refs #1555
1071david-sarah@jacaranda.org**20111009044710
1072 Ignore-this: f9de7d95e94446507a206c88d3f98a23
1073]
1074[check-miscaptures.py: check while loops and list comprehensions as well as for loops. Also fix a pyflakes warning. refs #1555
1075david-sarah@jacaranda.org**20111009044022
1076 Ignore-this: 6526e4e315ca6461b1fbc2da5568e444
1077]
1078[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
1079david-sarah@jacaranda.org**20111007074121
1080 Ignore-this: 51318e9678d132c374ea557ab955e79e
1081]
1082[Fix pyflakes warnings in misc/ directories other than misc/build_helpers. refs #1557
1083david-sarah@jacaranda.org**20111007033031
1084 Ignore-this: 7daf5862469732d8cabc355266622b74
1085]
1086[Makefile: include misc/ directories other than misc/build_helpers in SOURCES. refs #1557
1087david-sarah@jacaranda.org**20111007032958
1088 Ignore-this: 31376ec01401df7972e83341dc65aa05
1089]
1090[show-tool-versions: tolerate missing setuptools
1091Brian Warner <warner@lothar.com>**20111101080010
1092 Ignore-this: 72d4e440565273992beb4f010cbca699
1093]
1094[show-tool-versions.py: condense output, hide file-not-found exceptions
1095Brian Warner <warner@lothar.com>**20111101074532
1096 Ignore-this: a15381a76077ef46a74a4ac40c9ae956
1097]
1098[relnotes.txt: fix footnotes
1099Brian Warner <warner@lothar.com>**20111101071935
1100 Ignore-this: 668c1bd8618e21beed9bc6b23f048189
1101]
1102[Rewrite download-status-timeline visualizer ('viz') with d3.js
1103Brian Warner <warner@lothar.com>**20111101061821
1104 Ignore-this: 6149b027bbae52c559ef5a8167240cab
1105 
1106 * use d3.js v2.4.6
1107 * add a "toggle misc events" button, to get hash/bitmap-checking details
1108 * only draw data that's on screen, for speed
1109 * add fragment-arg to fetch timeline data.json from somewhere else
1110]
1111[IServer refactoring: pass IServer instances around, instead of peerids
1112Brian Warner <warner@lothar.com>**20111101040319
1113 Ignore-this: 35e4698a0273a0311fe0ccedcc7881b5
1114 
1115 refs #1363
1116 
1117 This collapses 88 small incremental changes (each of which passes all tests)
1118 into one big patch. The development process for the long path started with
1119 adding some temporary scaffolding, changing one method at a time, then
1120 removing the scaffolding. The individual pieces are as follows, in reverse
1121 chronological order (the first patch is at the end of this comment):
1122 
1123  commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
1124  Author: Brian Warner <warner@lothar.com>
1125  Date:   Tue Oct 4 16:05:00 2011 -0400
1126 
1127      immutable/downloader/status.py: correct comment
1128 
1129   src/allmydata/immutable/downloader/status.py |    2 +-
1130   1 files changed, 1 insertions(+), 1 deletions(-)
1131 
1132  commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
1133  Author: Brian Warner <warner@lothar.com>
1134  Date:   Tue Oct 4 15:46:20 2011 -0400
1135 
1136      remove temporary ServerMap._storage_broker
1137 
1138   src/allmydata/mutable/checker.py   |    2 +-
1139   src/allmydata/mutable/filenode.py  |    2 +-
1140   src/allmydata/mutable/publish.py   |    2 +-
1141   src/allmydata/mutable/servermap.py |    5 ++---
1142   src/allmydata/test/test_mutable.py |    8 ++++----
1143   5 files changed, 9 insertions(+), 10 deletions(-)
1144 
1145  commit d703096b41632c47d76414b12672e076a422ff5c
1146  Author: Brian Warner <warner@lothar.com>
1147  Date:   Tue Oct 4 15:37:05 2011 -0400
1148 
1149      remove temporary storage_broker.get_server_for_id()
1150 
1151   src/allmydata/storage_client.py  |    3 ---
1152   src/allmydata/test/no_network.py |   13 -------------
1153   2 files changed, 0 insertions(+), 16 deletions(-)
1154 
1155  commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
1156  Author: Brian Warner <warner@lothar.com>
1157  Date:   Tue Oct 4 12:50:06 2011 -0400
1158 
1159      API of Retrieve._try_to_validate_privkey(), trying to remove reader.server
1160 
1161   src/allmydata/mutable/retrieve.py |   10 +++++-----
1162   1 files changed, 5 insertions(+), 5 deletions(-)
1163 
1164  commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
1165  Author: Brian Warner <warner@lothar.com>
1166  Date:   Tue Oct 4 12:48:08 2011 -0400
1167 
1168      API of Retrieve._validate_block(), trying to remove reader.server
1169 
1170   src/allmydata/mutable/retrieve.py |   14 +++++++-------
1171   1 files changed, 7 insertions(+), 7 deletions(-)
1172 
1173  commit 572d5070761861a2190349d1ed8d85dbc25698a5
1174  Author: Brian Warner <warner@lothar.com>
1175  Date:   Tue Oct 4 12:36:58 2011 -0400
1176 
1177      API of Retrieve._mark_bad_share(), trying to remove reader.server
1178 
1179   src/allmydata/mutable/retrieve.py |   21 +++++++++------------
1180   1 files changed, 9 insertions(+), 12 deletions(-)
1181 
1182  commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
1183  Author: Brian Warner <warner@lothar.com>
1184  Date:   Tue Oct 4 12:06:13 2011 -0400
1185 
1186      remove now-unused get_rref_for_serverid()
1187 
1188   src/allmydata/mutable/servermap.py |    3 ---
1189   1 files changed, 0 insertions(+), 3 deletions(-)
1190 
1191  commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
1192  Author: Brian Warner <warner@lothar.com>
1193  Date:   Tue Oct 4 12:03:09 2011 -0400
1194 
1195      Retrieve: stop adding .serverid attributes to readers
1196 
1197   src/allmydata/mutable/retrieve.py |    1 -
1198   1 files changed, 0 insertions(+), 1 deletions(-)
1199 
1200  commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
1201  Author: Brian Warner <warner@lothar.com>
1202  Date:   Tue Oct 4 12:03:34 2011 -0400
1203 
1204      return value of Retrieve(verify=True)
1205 
1206   src/allmydata/mutable/checker.py  |   11 ++++++-----
1207   src/allmydata/mutable/retrieve.py |    3 +--
1208   2 files changed, 7 insertions(+), 7 deletions(-)
1209 
1210  commit e9ab7978c384e1f677cb7779dc449b1044face82
1211  Author: Brian Warner <warner@lothar.com>
1212  Date:   Tue Oct 4 11:54:23 2011 -0400
1213 
1214      Retrieve._bad_shares (but not return value, used by Verifier)
1215 
1216   src/allmydata/mutable/retrieve.py |    7 ++++---
1217   1 files changed, 4 insertions(+), 3 deletions(-)
1218 
1219  commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
1220  Author: Brian Warner <warner@lothar.com>
1221  Date:   Tue Oct 4 11:51:23 2011 -0400
1222 
1223      Publish: stop adding .serverid attributes to writers
1224 
1225   src/allmydata/mutable/publish.py |    9 ++-------
1226   1 files changed, 2 insertions(+), 7 deletions(-)
1227 
1228  commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
1229  Author: Brian Warner <warner@lothar.com>
1230  Date:   Tue Oct 4 11:56:33 2011 -0400
1231 
1232      API of get_write_enabler()
1233 
1234   src/allmydata/mutable/filenode.py |    7 ++++---
1235   src/allmydata/mutable/publish.py  |    4 ++--
1236   src/allmydata/test/no_network.py  |    3 +++
1237   3 files changed, 9 insertions(+), 5 deletions(-)
1238 
1239  commit 9196a5c6590fdbfd660325ea8358b345887d3db0
1240  Author: Brian Warner <warner@lothar.com>
1241  Date:   Tue Oct 4 11:46:24 2011 -0400
1242 
1243      API of get_(renewal|cancel)_secret()
1244 
1245   src/allmydata/mutable/filenode.py  |   14 ++++++++------
1246   src/allmydata/mutable/publish.py   |    8 ++++----
1247   src/allmydata/mutable/servermap.py |    5 ++---
1248   3 files changed, 14 insertions(+), 13 deletions(-)
1249 
1250  commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
1251  Author: Brian Warner <warner@lothar.com>
1252  Date:   Tue Oct 4 11:41:52 2011 -0400
1253 
1254      API of CorruptShareError. Also comment out some related+unused test_web.py code
1255 
1256   src/allmydata/mutable/common.py    |   13 +++++--------
1257   src/allmydata/mutable/retrieve.py  |   10 +++++-----
1258   src/allmydata/mutable/servermap.py |    8 +++-----
1259   src/allmydata/test/common.py       |   13 ++++++++-----
1260   4 files changed, 21 insertions(+), 23 deletions(-)
1261 
1262  commit 2c1c314046b620c16f1e66d030c150d768b7d01e
1263  Author: Brian Warner <warner@lothar.com>
1264  Date:   Tue Oct 4 12:01:46 2011 -0400
1265 
1266      API of ServerMap.mark_bad_share()
1267 
1268   src/allmydata/mutable/publish.py   |    2 +-
1269   src/allmydata/mutable/retrieve.py  |    6 +++---
1270   src/allmydata/mutable/servermap.py |    6 ++----
1271   src/allmydata/test/test_mutable.py |    3 +--
1272   4 files changed, 7 insertions(+), 10 deletions(-)
1273 
1274  commit 1bed349030779fd0c378ae4e821384f953c6f6ff
1275  Author: Brian Warner <warner@lothar.com>
1276  Date:   Tue Oct 4 11:11:17 2011 -0400
1277 
1278      API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix
1279 
1280   src/allmydata/mutable/servermap.py |    7 ++-----
1281   src/allmydata/test/test_mutable.py |    6 +++---
1282   2 files changed, 5 insertions(+), 8 deletions(-)
1283 
1284  commit 2d32e448677d6b818692e801045d4115b29abf21
1285  Author: Brian Warner <warner@lothar.com>
1286  Date:   Tue Oct 4 11:07:10 2011 -0400
1287 
1288      API of ServerMap.all_servers_for_version()
1289 
1290   src/allmydata/mutable/servermap.py |    4 ++--
1291   1 files changed, 2 insertions(+), 2 deletions(-)
1292 
1293  commit 48f3204d1889c3e7179578125c4bdef515af3d6a
1294  Author: Brian Warner <warner@lothar.com>
1295  Date:   Tue Oct 4 11:04:50 2011 -0400
1296 
1297      internals of ServerMap methods that use make_versionmap(), remove temp copy
1298 
1299   src/allmydata/mutable/servermap.py |   28 +++++++++----------------
1300   1 files changed, 10 insertions(+), 18 deletions(-)
1301 
1302  commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
1303  Author: Brian Warner <warner@lothar.com>
1304  Date:   Tue Oct 4 11:01:28 2011 -0400
1305 
1306      API of ServerMap.make_versionmap()
1307 
1308   src/allmydata/mutable/checker.py   |    4 ++--
1309   src/allmydata/mutable/retrieve.py  |    5 ++---
1310   src/allmydata/mutable/servermap.py |    4 ++--
1311   src/allmydata/test/test_mutable.py |    7 ++++---
1312   4 files changed, 10 insertions(+), 10 deletions(-)
1313 
1314  commit b6882ece49afb4c507d118af2db346fa329209dc
1315  Author: Brian Warner <warner@lothar.com>
1316  Date:   Tue Oct 4 10:53:38 2011 -0400
1317 
1318      make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use
1319 
1320   src/allmydata/mutable/servermap.py |   18 +++++++++++++-----
1321   1 files changed, 13 insertions(+), 5 deletions(-)
1322 
1323  commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
1324  Author: Brian Warner <warner@lothar.com>
1325  Date:   Tue Oct 4 00:45:58 2011 -0400
1326 
1327      API of RetrieveStatus.add_problem()
1328 
1329   src/allmydata/mutable/retrieve.py |    5 +++--
1330   1 files changed, 3 insertions(+), 2 deletions(-)
1331 
1332  commit 4976d29ffae565a048851601c29013bbae2976d8
1333  Author: Brian Warner <warner@lothar.com>
1334  Date:   Tue Oct 4 00:45:05 2011 -0400
1335 
1336      API of RetrieveStatus.add_fetch_timing()
1337 
1338   src/allmydata/mutable/retrieve.py |    5 +++--
1339   1 files changed, 3 insertions(+), 2 deletions(-)
1340 
1341  commit d057d3bbba72663ee148a8b916bc2d52be2e3982
1342  Author: Brian Warner <warner@lothar.com>
1343  Date:   Tue Oct 4 00:44:04 2011 -0400
1344 
1345      API of Retrieve.notify_server_corruption()
1346 
1347   src/allmydata/mutable/retrieve.py |    6 +++---
1348   1 files changed, 3 insertions(+), 3 deletions(-)
1349 
1350  commit 8a2a81e46671c860610e0e96d6add1a57551f22d
1351  Author: Brian Warner <warner@lothar.com>
1352  Date:   Tue Oct 4 00:42:32 2011 -0400
1353 
1354      remove unused _outstanding_queries
1355 
1356   src/allmydata/mutable/retrieve.py |    1 -
1357   1 files changed, 0 insertions(+), 1 deletions(-)
1358 
1359  commit 56d12cc9968d03ccd53764455c671122c4f391d1
1360  Author: Brian Warner <warner@lothar.com>
1361  Date:   Tue Oct 4 00:40:57 2011 -0400
1362 
1363      change Retrieve.remaining_sharemap
1364 
1365   src/allmydata/mutable/retrieve.py |    4 ++--
1366   1 files changed, 2 insertions(+), 2 deletions(-)
1367 
1368  commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
1369  Author: Brian Warner <warner@lothar.com>
1370  Date:   Tue Oct 4 10:40:18 2011 -0400
1371 
1372      accessor for PublishStatus._problems
1373 
1374   src/allmydata/mutable/publish.py |    4 +++-
1375   src/allmydata/web/status.py      |    2 +-
1376   2 files changed, 4 insertions(+), 2 deletions(-)
1377 
1378  commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
1379  Author: Brian Warner <warner@lothar.com>
1380  Date:   Tue Oct 4 10:36:39 2011 -0400
1381 
1382      accessor for RetrieveStatus._problems
1383 
1384   src/allmydata/mutable/retrieve.py |    8 ++++++--
1385   src/allmydata/web/status.py       |    2 +-
1386   2 files changed, 7 insertions(+), 3 deletions(-)
1387 
1388  commit ca7dea81f03801b1c7353fc00ecba689268109cf
1389  Author: Brian Warner <warner@lothar.com>
1390  Date:   Tue Oct 4 00:35:32 2011 -0400
1391 
1392      add .server to "reader", so we can get at it later
1393 
1394   src/allmydata/mutable/retrieve.py |    5 +++--
1395   1 files changed, 3 insertions(+), 2 deletions(-)
1396 
1397  commit 6ef516e24908ec195af084a7550d1921a5e983b0
1398  Author: Brian Warner <warner@lothar.com>
1399  Date:   Tue Oct 4 00:32:32 2011 -0400
1400 
1401      temporarily give Retrieve a _storage_broker, so it can map serverids to servers
1402 
1403   src/allmydata/mutable/checker.py   |    3 ++-
1404   src/allmydata/mutable/filenode.py  |    6 ++++--
1405   src/allmydata/mutable/retrieve.py  |    5 +++--
1406   src/allmydata/test/test_mutable.py |    4 ++--
1407   4 files changed, 11 insertions(+), 7 deletions(-)
1408 
1409  commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
1410  Author: Brian Warner <warner@lothar.com>
1411  Date:   Tue Oct 4 00:21:51 2011 -0400
1412 
1413      mutable/retrieve.py: s/peer/server/
1414 
1415   src/allmydata/mutable/retrieve.py  |   82 +++++++++++++-------------
1416   src/allmydata/test/test_mutable.py |    6 +-
1417   2 files changed, 44 insertions(+), 44 deletions(-)
1418 
1419  commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
1420  Author: Brian Warner <warner@lothar.com>
1421  Date:   Tue Oct 4 00:16:01 2011 -0400
1422 
1423      web.status.PublishStatusPage: add comment, I think .problems isn't exercised
1424 
1425   src/allmydata/web/status.py |    2 ++
1426   1 files changed, 2 insertions(+), 0 deletions(-)
1427 
1428  commit 311466dd8c931bbba40d590ade867704282e7f1a
1429  Author: Brian Warner <warner@lothar.com>
1430  Date:   Mon Oct 3 23:48:16 2011 -0400
1431 
1432      API of PublishStatus.add_per_server_time()
1433 
1434   src/allmydata/mutable/publish.py |    5 +++--
1435   1 files changed, 3 insertions(+), 2 deletions(-)
1436 
1437  commit 2df5faa1b6cbfbaded520d2320305a62fe961118
1438  Author: Brian Warner <warner@lothar.com>
1439  Date:   Mon Oct 3 23:46:37 2011 -0400
1440 
1441      more simplifications
1442 
1443   src/allmydata/mutable/publish.py |    4 +---
1444   1 files changed, 1 insertions(+), 3 deletions(-)
1445 
1446  commit 6ac4544a3da385f2aad9392f906b90192f4f919a
1447  Author: Brian Warner <warner@lothar.com>
1448  Date:   Mon Oct 3 23:44:08 2011 -0400
1449 
1450      API of ServerMap.version_on_server()
1451 
1452   src/allmydata/mutable/publish.py   |    2 +-
1453   src/allmydata/mutable/servermap.py |    4 ++--
1454   src/allmydata/test/test_mutable.py |    5 ++---
1455   3 files changed, 5 insertions(+), 6 deletions(-)
1456 
1457  commit 3e187e322511072e4683329df6b2c6c733a66dba
1458  Author: Brian Warner <warner@lothar.com>
1459  Date:   Tue Oct 4 00:16:32 2011 -0400
1460 
1461      API of ServerMap.make_sharemap()
1462 
1463   src/allmydata/mutable/servermap.py |    4 ++--
1464   src/allmydata/test/test_mutable.py |    7 ++++---
1465   src/allmydata/web/status.py        |    4 ++--
1466   3 files changed, 8 insertions(+), 7 deletions(-)
1467 
1468  commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
1469  Author: Brian Warner <warner@lothar.com>
1470  Date:   Mon Oct 3 23:36:19 2011 -0400
1471 
1472      small cleanups
1473 
1474   src/allmydata/mutable/publish.py |    4 ++--
1475   1 files changed, 2 insertions(+), 2 deletions(-)
1476 
1477  commit bd459ed5714e1db5a7163935c54b7b0b56db8349
1478  Author: Brian Warner <warner@lothar.com>
1479  Date:   Mon Oct 3 23:33:39 2011 -0400
1480 
1481      API of ServerMap.add_new_share()
1482 
1483   src/allmydata/mutable/publish.py   |    4 ++--
1484   src/allmydata/mutable/servermap.py |    6 ++----
1485   2 files changed, 4 insertions(+), 6 deletions(-)
1486 
1487  commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
1488  Author: Brian Warner <warner@lothar.com>
1489  Date:   Mon Oct 3 23:30:26 2011 -0400
1490 
1491      API of ServerMap.get_bad_shares()
1492 
1493   src/allmydata/mutable/publish.py   |    3 +--
1494   src/allmydata/mutable/servermap.py |    9 ++++-----
1495   2 files changed, 5 insertions(+), 7 deletions(-)
1496 
1497  commit 965074a47b3ce1431cb46d9a233840afcf9105f5
1498  Author: Brian Warner <warner@lothar.com>
1499  Date:   Mon Oct 3 23:26:58 2011 -0400
1500 
1501      more small cleanups
1502 
1503   src/allmydata/mutable/publish.py |    6 +++---
1504   1 files changed, 3 insertions(+), 3 deletions(-)
1505 
1506  commit 38020da34f034f8889947dd3dc05e087ffff7106
1507  Author: Brian Warner <warner@lothar.com>
1508  Date:   Mon Oct 3 23:18:47 2011 -0400
1509 
1510      change Publish.bad_share_checkstrings
1511 
1512   src/allmydata/mutable/publish.py |    6 +++---
1513   1 files changed, 3 insertions(+), 3 deletions(-)
1514 
1515  commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
1516  Author: Brian Warner <warner@lothar.com>
1517  Date:   Mon Oct 3 23:16:31 2011 -0400
1518 
1519      change internals of Publish.update_goal()
1520 
1521   src/allmydata/mutable/publish.py |    8 +++-----
1522   1 files changed, 3 insertions(+), 5 deletions(-)
1523 
1524  commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
1525  Author: Brian Warner <warner@lothar.com>
1526  Date:   Mon Oct 3 23:11:42 2011 -0400
1527 
1528      get rid of Publish.connections
1529 
1530   src/allmydata/mutable/publish.py |   27 +++++----------------------
1531   1 files changed, 5 insertions(+), 22 deletions(-)
1532 
1533  commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
1534  Author: Brian Warner <warner@lothar.com>
1535  Date:   Mon Oct 3 23:05:32 2011 -0400
1536 
1537      change Publish.bad_servers
1538 
1539   src/allmydata/mutable/publish.py |   10 +++++-----
1540   1 files changed, 5 insertions(+), 5 deletions(-)
1541 
1542  commit b85a934bef315a06bcfe00c9c12a3627fed2b918
1543  Author: Brian Warner <warner@lothar.com>
1544  Date:   Mon Oct 3 23:03:07 2011 -0400
1545 
1546      Publish.bad_servers: fix bug, this should be a set of serverids, not writers
1547 
1548   src/allmydata/mutable/publish.py |    2 +-
1549   1 files changed, 1 insertions(+), 1 deletions(-)
1550 
1551  commit 605ea15ec15ed671513819003ccd211cdb9761e0
1552  Author: Brian Warner <warner@lothar.com>
1553  Date:   Mon Oct 3 23:00:21 2011 -0400
1554 
1555      change .placed
1556 
1557   src/allmydata/mutable/publish.py |    6 +++---
1558   1 files changed, 3 insertions(+), 3 deletions(-)
1559 
1560  commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
1561  Author: Brian Warner <warner@lothar.com>
1562  Date:   Mon Oct 3 22:59:22 2011 -0400
1563 
1564      temporarily stash IServer as .server on the "writer" object
1565 
1566   src/allmydata/mutable/publish.py |    2 ++
1567   1 files changed, 2 insertions(+), 0 deletions(-)
1568 
1569  commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
1570  Author: Brian Warner <warner@lothar.com>
1571  Date:   Mon Oct 3 22:48:18 2011 -0400
1572 
1573      change Publish.goal and API of log_goal() to use IServer, not serverid
1574 
1575   src/allmydata/mutable/publish.py |   48 ++++++++++++++--------------
1576   1 files changed, 24 insertions(+), 24 deletions(-)
1577 
1578  commit 75f20616558e4900b8b1f685dd99aa838de6d452
1579  Author: Brian Warner <warner@lothar.com>
1580  Date:   Mon Oct 3 15:27:02 2011 -0400
1581 
1582      API of ServerMap.get_known_shares()
1583 
1584   src/allmydata/mutable/publish.py   |   16 ++++++++++------
1585   src/allmydata/mutable/servermap.py |    7 ++-----
1586   2 files changed, 12 insertions(+), 11 deletions(-)
1587 
1588  commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
1589  Author: Brian Warner <warner@lothar.com>
1590  Date:   Mon Oct 3 15:20:29 2011 -0400
1591 
1592      Publish.full_serverlist
1593 
1594   src/allmydata/mutable/publish.py |   10 +++++-----
1595   1 files changed, 5 insertions(+), 5 deletions(-)
1596 
1597  commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
1598  Author: Brian Warner <warner@lothar.com>
1599  Date:   Mon Oct 3 15:12:31 2011 -0400
1600 
1601      API of ServerMap.all_servers()
1602 
1603   src/allmydata/mutable/servermap.py |   19 ++++++-------------
1604   1 files changed, 6 insertions(+), 13 deletions(-)
1605 
1606  commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
1607  Author: Brian Warner <warner@lothar.com>
1608  Date:   Mon Oct 3 15:10:18 2011 -0400
1609 
1610      remove ServerMap.connections, set_rref_for_serverid()
1611 
1612   src/allmydata/mutable/servermap.py |   11 +----------
1613   1 files changed, 1 insertions(+), 10 deletions(-)
1614 
1615  commit 4df52db2f80eb12eefa5d57103c24893cde89553
1616  Author: Brian Warner <warner@lothar.com>
1617  Date:   Mon Oct 3 15:04:06 2011 -0400
1618 
1619      API of ServerMap.mark_server_reachable()
1620 
1621   src/allmydata/mutable/servermap.py |    7 ++-----
1622   1 files changed, 2 insertions(+), 5 deletions(-)
1623 
1624  commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
1625  Author: Brian Warner <warner@lothar.com>
1626  Date:   Mon Oct 3 15:03:21 2011 -0400
1627 
1628      API of ServerMap.mark_server_unreachable()
1629 
1630   src/allmydata/mutable/servermap.py |    9 +++------
1631   1 files changed, 3 insertions(+), 6 deletions(-)
1632 
1633  commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
1634  Author: Brian Warner <warner@lothar.com>
1635  Date:   Mon Oct 3 15:02:03 2011 -0400
1636 
1637      API of status.set_privkey_from()
1638 
1639   src/allmydata/mutable/servermap.py |    7 +++----
1640   1 files changed, 3 insertions(+), 4 deletions(-)
1641 
1642  commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
1643  Author: Brian Warner <warner@lothar.com>
1644  Date:   Mon Oct 3 15:01:15 2011 -0400
1645 
1646      API of status.add_per_server_time()
1647 
1648   src/allmydata/mutable/servermap.py |    7 ++++---
1649   1 files changed, 4 insertions(+), 3 deletions(-)
1650 
1651  commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
1652  Author: Brian Warner <warner@lothar.com>
1653  Date:   Mon Oct 3 14:59:02 2011 -0400
1654 
1655      remove unused .versionmap
1656 
1657   src/allmydata/mutable/servermap.py |    7 -------
1658   1 files changed, 0 insertions(+), 7 deletions(-)
1659 
1660  commit 2816562e090d2294179db3588dafcca18de1bc2b
1661  Author: Brian Warner <warner@lothar.com>
1662  Date:   Mon Oct 3 14:57:51 2011 -0400
1663 
1664      remove serverid from all log messages. Also one unused lambda.
1665 
1666   src/allmydata/mutable/servermap.py |   30 +++++++++++++-------------
1667   1 files changed, 15 insertions(+), 15 deletions(-)
1668 
1669  commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
1670  Author: Brian Warner <warner@lothar.com>
1671  Date:   Mon Oct 3 14:54:30 2011 -0400
1672 
1673      removed unused _readers
1674 
1675   src/allmydata/mutable/servermap.py |    3 ---
1676   1 files changed, 0 insertions(+), 3 deletions(-)
1677 
1678  commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
1679  Author: Brian Warner <warner@lothar.com>
1680  Date:   Mon Oct 3 14:54:16 2011 -0400
1681 
1682      remove unused _sharemap
1683 
1684   src/allmydata/mutable/servermap.py |    1 -
1685   1 files changed, 0 insertions(+), 1 deletions(-)
1686 
1687  commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
1688  Author: Brian Warner <warner@lothar.com>
1689  Date:   Mon Oct 3 14:49:03 2011 -0400
1690 
1691      _must_query
1692 
1693   src/allmydata/mutable/servermap.py |    8 ++++----
1694   1 files changed, 4 insertions(+), 4 deletions(-)
1695 
1696  commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
1697  Author: Brian Warner <warner@lothar.com>
1698  Date:   Mon Oct 3 14:48:05 2011 -0400
1699 
1700      _queries_outstanding
1701 
1702   src/allmydata/mutable/servermap.py |   16 +++++++---------
1703   1 files changed, 7 insertions(+), 9 deletions(-)
1704 
1705  commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
1706  Author: Brian Warner <warner@lothar.com>
1707  Date:   Mon Oct 3 14:46:17 2011 -0400
1708 
1709      _empty_servers
1710 
1711   src/allmydata/mutable/servermap.py |    5 ++---
1712   1 files changed, 2 insertions(+), 3 deletions(-)
1713 
1714  commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
1715  Author: Brian Warner <warner@lothar.com>
1716  Date:   Mon Oct 3 14:45:39 2011 -0400
1717 
1718      _good_servers
1719 
1720   src/allmydata/mutable/servermap.py |    4 ++--
1721   1 files changed, 2 insertions(+), 2 deletions(-)
1722 
1723  commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
1724  Author: Brian Warner <warner@lothar.com>
1725  Date:   Mon Oct 3 14:44:59 2011 -0400
1726 
1727      _bad_servers
1728 
1729   src/allmydata/mutable/servermap.py |   14 +++++++-------
1730   1 files changed, 7 insertions(+), 7 deletions(-)
1731 
1732  commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
1733  Author: Brian Warner <warner@lothar.com>
1734  Date:   Mon Oct 3 14:41:54 2011 -0400
1735 
1736      API of _try_to_set_pubkey()
1737 
1738   src/allmydata/mutable/servermap.py |    7 ++++---
1739   1 files changed, 4 insertions(+), 3 deletions(-)
1740 
1741  commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
1742  Author: Brian Warner <warner@lothar.com>
1743  Date:   Mon Oct 3 14:35:02 2011 -0400
1744 
1745      API of notify_server_corruption()
1746 
1747   src/allmydata/mutable/servermap.py |    6 +++---
1748   1 files changed, 3 insertions(+), 3 deletions(-)
1749 
1750  commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
1751  Author: Brian Warner <warner@lothar.com>
1752  Date:   Mon Oct 3 14:34:09 2011 -0400
1753 
1754      API of _got_signature_one_share()
1755 
1756   src/allmydata/mutable/servermap.py |    9 +++++----
1757   1 files changed, 5 insertions(+), 4 deletions(-)
1758 
1759  commit 1520123583cf78650706e114b15bb5b0ac1f4a14
1760  Author: Brian Warner <warner@lothar.com>
1761  Date:   Mon Oct 3 14:32:33 2011 -0400
1762 
1763      API of _try_to_validate_privkey()
1764 
1765   src/allmydata/mutable/servermap.py |    9 +++++----
1766   1 files changed, 5 insertions(+), 4 deletions(-)
1767 
1768  commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
1769  Author: Brian Warner <warner@lothar.com>
1770  Date:   Mon Oct 3 14:31:48 2011 -0400
1771 
1772      API and internals of _add_lease_failed()
1773 
1774   src/allmydata/mutable/servermap.py |    8 ++++----
1775   1 files changed, 4 insertions(+), 4 deletions(-)
1776 
1777  commit 3843dba367e3c19e176a622ab853cb51d2472ddf
1778  Author: Brian Warner <warner@lothar.com>
1779  Date:   Mon Oct 3 14:30:37 2011 -0400
1780 
1781      API of _privkey_query_failed()
1782 
1783   src/allmydata/mutable/servermap.py |    5 +++--
1784   1 files changed, 3 insertions(+), 2 deletions(-)
1785 
1786  commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
1787  Author: Brian Warner <warner@lothar.com>
1788  Date:   Mon Oct 3 14:29:43 2011 -0400
1789 
1790      fix bug in call to _privkey_query_failed, unrelated to refactoring
1791 
1792   src/allmydata/mutable/servermap.py |    2 +-
1793   1 files changed, 1 insertions(+), 1 deletions(-)
1794 
1795  commit ae615bec7d0d1b269710b6902797b12f9592ad62
1796  Author: Brian Warner <warner@lothar.com>
1797  Date:   Mon Oct 3 14:27:17 2011 -0400
1798 
1799      API of _got_corrupt_share()
1800 
1801   src/allmydata/mutable/servermap.py |   17 +++++++++--------
1802   1 files changed, 9 insertions(+), 8 deletions(-)
1803 
1804  commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
1805  Author: Brian Warner <warner@lothar.com>
1806  Date:   Mon Oct 3 14:23:16 2011 -0400
1807 
1808      API of _got_results()
1809 
1810   src/allmydata/mutable/servermap.py |    9 +++++----
1811   1 files changed, 5 insertions(+), 4 deletions(-)
1812 
1813  commit bac9154fe0af18f226999a58ffc2362d8cf4b802
1814  Author: Brian Warner <warner@lothar.com>
1815  Date:   Mon Oct 3 14:19:19 2011 -0400
1816 
1817      API of _query_failed()
1818 
1819   src/allmydata/mutable/servermap.py |    5 +++--
1820   1 files changed, 3 insertions(+), 2 deletions(-)
1821 
1822  commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
1823  Author: Brian Warner <warner@lothar.com>
1824  Date:   Mon Oct 3 14:17:20 2011 -0400
1825 
1826      API of _do_read()
1827 
1828   src/allmydata/mutable/servermap.py |    6 ++++--
1829   1 files changed, 4 insertions(+), 2 deletions(-)
1830 
1831  commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
1832  Author: Brian Warner <warner@lothar.com>
1833  Date:   Mon Oct 3 14:20:21 2011 -0400
1834 
1835      API of _do_query()
1836 
1837   src/allmydata/mutable/servermap.py |   15 +++++++--------
1838   1 files changed, 7 insertions(+), 8 deletions(-)
1839 
1840  commit 330625b9dac4cdbe72a11464a893065b9aeed453
1841  Author: Brian Warner <warner@lothar.com>
1842  Date:   Mon Oct 3 14:43:05 2011 -0400
1843 
1844      next step: first batch of updates to ServermapUpdater
1845 
1846      updates:
1847       most method-local variables in update()
1848       API of _build_initial_querylist()
1849       API of _send_initial_requests()
1850       .full_serverlist
1851       .extra_servers
1852 
1853   src/allmydata/mutable/servermap.py |   39 ++++++++++++++------------
1854   1 files changed, 21 insertions(+), 18 deletions(-)
1855 
1856  commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
1857  Author: Brian Warner <warner@lothar.com>
1858  Date:   Mon Oct 3 15:07:00 2011 -0400
1859 
1860      internal change: index _bad_shares with IServer
1861 
1862   src/allmydata/mutable/servermap.py |   20 ++++++++++----------
1863   1 files changed, 10 insertions(+), 10 deletions(-)
1864 
1865  commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
1866  Author: Brian Warner <warner@lothar.com>
1867  Date:   Mon Oct 3 18:20:47 2011 +0100
1868 
1869      internal change: index _known_shares with IServer instead of serverid
1870 
1871      callers are unchanged
1872 
1873   src/allmydata/mutable/servermap.py |   42 +++++++++++++++----------
1874   1 files changed, 25 insertions(+), 17 deletions(-)
1875 
1876  commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
1877  Author: Brian Warner <warner@lothar.com>
1878  Date:   Mon Oct 3 18:11:43 2011 +0100
1879 
1880      accessors and name cleanup for servermap.Servermap.last_update_mode/time
1881 
1882   src/allmydata/mutable/filenode.py  |    6 +++---
1883   src/allmydata/mutable/publish.py   |    4 ++--
1884   src/allmydata/mutable/servermap.py |   17 +++++++++++------
1885   3 files changed, 16 insertions(+), 11 deletions(-)
1886 
1887  commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
1888  Author: Brian Warner <warner@lothar.com>
1889  Date:   Mon Oct 3 18:11:14 2011 +0100
1890 
1891      accessors and name cleanup for servermap.Servermap.problems
1892 
1893   src/allmydata/mutable/servermap.py |   21 +++++++++++++--------
1894   src/allmydata/test/test_mutable.py |    6 +++---
1895   2 files changed, 16 insertions(+), 11 deletions(-)
1896 
1897  commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
1898  Author: Brian Warner <warner@lothar.com>
1899  Date:   Mon Oct 3 18:10:41 2011 +0100
1900 
1901      accessors and name cleanup for servermap.Servermap.bad_shares
1902 
1903   src/allmydata/mutable/publish.py   |    2 +-
1904   src/allmydata/mutable/servermap.py |   30 ++++++++++++++-----------
1905   2 files changed, 18 insertions(+), 14 deletions(-)
1906 
1907  commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
1908  Author: Brian Warner <warner@lothar.com>
1909  Date:   Mon Oct 3 18:10:05 2011 +0100
1910 
1911      accessors and name cleanup for servermap.Servermap.servermap .
1912 
1913   src/allmydata/mutable/publish.py   |   14 +++++----
1914   src/allmydata/mutable/servermap.py |   38 ++++++++++++++-----------
1915   2 files changed, 29 insertions(+), 23 deletions(-)
1916 
1917  commit b8b8dc38287a91dbdf494426ac801d9381ce5841
1918  Author: Brian Warner <warner@lothar.com>
1919  Date:   Mon Oct 3 18:08:02 2011 +0100
1920 
1921      fix reachable_servers
1922 
1923   src/allmydata/mutable/checker.py   |    3 ++-
1924   src/allmydata/mutable/publish.py   |    4 +++-
1925   src/allmydata/mutable/servermap.py |   12 ++++++++++--
1926   3 files changed, 15 insertions(+), 4 deletions(-)
1927 
1928  commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
1929  Author: Brian Warner <warner@lothar.com>
1930  Date:   Mon Oct 3 18:06:03 2011 +0100
1931 
1932      fix Servermap.unreachable_servers
1933 
1934   src/allmydata/mutable/servermap.py |   11 ++++++++---
1935   1 files changed, 8 insertions(+), 3 deletions(-)
1936 
1937  commit 2d9ea79b94bd4db674d40386fda90825785ac495
1938  Author: Brian Warner <warner@lothar.com>
1939  Date:   Mon Oct 3 18:03:48 2011 +0100
1940 
1941      give ServerMap a StorageFarmBroker, temporary
1942 
1943      this makes it possible for the ServerMap to accept bare serverids and still
1944      build data structures with IServers
1945 
1946   src/allmydata/mutable/checker.py   |    2 +-
1947   src/allmydata/mutable/filenode.py  |    2 +-
1948   src/allmydata/mutable/publish.py   |    2 +-
1949   src/allmydata/mutable/servermap.py |    5 +++--
1950   src/allmydata/test/test_mutable.py |    8 ++++----
1951   5 files changed, 10 insertions(+), 9 deletions(-)
1952 
1953  commit 718d1aeff6fded893f65397806d22ece928b0dd4
1954  Author: Brian Warner <warner@lothar.com>
1955  Date:   Mon Oct 3 13:43:30 2011 -0400
1956 
1957      add StorageFarmBroker.get_server_for_id(), temporary helper
1958 
1959      This will go away once we're passing IServers everywhere.
1960 
1961   src/allmydata/storage_client.py  |    2 ++
1962   src/allmydata/test/no_network.py |   13 +++++++++++++
1963   2 files changed, 15 insertions(+), 0 deletions(-)
1964 
1965  commit ece20231d7fda0d503704842a4aa068dfbc2e54e
1966  Author: Brian Warner <warner@lothar.com>
1967  Date:   Sun Oct 2 01:11:50 2011 +0100
1968 
1969      add proper accessors for Servermap.connections, to make refactoring easier
1970 
1971   src/allmydata/mutable/publish.py   |    6 +++---
1972   src/allmydata/mutable/retrieve.py  |   10 +++++-----
1973   src/allmydata/mutable/servermap.py |   17 +++++++++++------
1974   3 files changed, 19 insertions(+), 14 deletions(-)
1975 
1976  commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
1977  Author: Brian Warner <warner@lothar.com>
1978  Date:   Fri Sep 23 10:34:30 2011 -0700
1979 
1980      mutable/servermap.py and neighbors: s/peer/server/
1981 
1982   src/allmydata/mutable/checker.py   |   22 +-
1983   src/allmydata/mutable/publish.py   |  204 +++++++-------
1984   src/allmydata/mutable/servermap.py |  402 +++++++++++++-------------
1985   src/allmydata/test/test_mutable.py |   18 +-
1986   4 files changed, 323 insertions(+), 323 deletions(-)
1987 IServer refactoring: pass IServer instances around, instead of peerids
1988 
1989 refs #1363
1990 
1991 This collapses 88 small incremental changes (each of which passes all tests)
1992 into one big patch. The development process for the long path started with
1993 adding some temporary scaffolding, changing one method at a time, then
1994 removing the scaffolding. The individual pieces are as follows, in reverse
1995 chronological order (the first patch is at the end of this comment):
1996 
1997  commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
1998  Author: Brian Warner <warner@lothar.com>
1999  Date:   Tue Oct 4 16:05:00 2011 -0400
2000 
2001      immutable/downloader/status.py: correct comment
2002 
2003   src/allmydata/immutable/downloader/status.py |    2 +-
2004   1 files changed, 1 insertions(+), 1 deletions(-)
2005 
2006  commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
2007  Author: Brian Warner <warner@lothar.com>
2008  Date:   Tue Oct 4 15:46:20 2011 -0400
2009 
2010      remove temporary ServerMap._storage_broker
2011 
2012   src/allmydata/mutable/checker.py   |    2 +-
2013   src/allmydata/mutable/filenode.py  |    2 +-
2014   src/allmydata/mutable/publish.py   |    2 +-
2015   src/allmydata/mutable/servermap.py |    5 ++---
2016   src/allmydata/test/test_mutable.py |    8 ++++----
2017   5 files changed, 9 insertions(+), 10 deletions(-)
2018 
2019  commit d703096b41632c47d76414b12672e076a422ff5c
2020  Author: Brian Warner <warner@lothar.com>
2021  Date:   Tue Oct 4 15:37:05 2011 -0400
2022 
2023      remove temporary storage_broker.get_server_for_id()
2024 
2025   src/allmydata/storage_client.py  |    3 ---
2026   src/allmydata/test/no_network.py |   13 -------------
2027   2 files changed, 0 insertions(+), 16 deletions(-)
2028 
2029  commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
2030  Author: Brian Warner <warner@lothar.com>
2031  Date:   Tue Oct 4 12:50:06 2011 -0400
2032 
2033      API of Retrieve._try_to_validate_privkey(), trying to remove reader.server
2034 
2035   src/allmydata/mutable/retrieve.py |   10 +++++-----
2036   1 files changed, 5 insertions(+), 5 deletions(-)
2037 
2038  commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
2039  Author: Brian Warner <warner@lothar.com>
2040  Date:   Tue Oct 4 12:48:08 2011 -0400
2041 
2042      API of Retrieve._validate_block(), trying to remove reader.server
2043 
2044   src/allmydata/mutable/retrieve.py |   14 +++++++-------
2045   1 files changed, 7 insertions(+), 7 deletions(-)
2046 
2047  commit 572d5070761861a2190349d1ed8d85dbc25698a5
2048  Author: Brian Warner <warner@lothar.com>
2049  Date:   Tue Oct 4 12:36:58 2011 -0400
2050 
2051      API of Retrieve._mark_bad_share(), trying to remove reader.server
2052 
2053   src/allmydata/mutable/retrieve.py |   21 +++++++++------------
2054   1 files changed, 9 insertions(+), 12 deletions(-)
2055 
2056  commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
2057  Author: Brian Warner <warner@lothar.com>
2058  Date:   Tue Oct 4 12:06:13 2011 -0400
2059 
2060      remove now-unused get_rref_for_serverid()
2061 
2062   src/allmydata/mutable/servermap.py |    3 ---
2063   1 files changed, 0 insertions(+), 3 deletions(-)
2064 
2065  commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
2066  Author: Brian Warner <warner@lothar.com>
2067  Date:   Tue Oct 4 12:03:09 2011 -0400
2068 
2069      Retrieve: stop adding .serverid attributes to readers
2070 
2071   src/allmydata/mutable/retrieve.py |    1 -
2072   1 files changed, 0 insertions(+), 1 deletions(-)
2073 
2074  commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
2075  Author: Brian Warner <warner@lothar.com>
2076  Date:   Tue Oct 4 12:03:34 2011 -0400
2077 
2078      return value of Retrieve(verify=True)
2079 
2080   src/allmydata/mutable/checker.py  |   11 ++++++-----
2081   src/allmydata/mutable/retrieve.py |    3 +--
2082   2 files changed, 7 insertions(+), 7 deletions(-)
2083 
2084  commit e9ab7978c384e1f677cb7779dc449b1044face82
2085  Author: Brian Warner <warner@lothar.com>
2086  Date:   Tue Oct 4 11:54:23 2011 -0400
2087 
2088      Retrieve._bad_shares (but not return value, used by Verifier)
2089 
2090   src/allmydata/mutable/retrieve.py |    7 ++++---
2091   1 files changed, 4 insertions(+), 3 deletions(-)
2092 
2093  commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
2094  Author: Brian Warner <warner@lothar.com>
2095  Date:   Tue Oct 4 11:51:23 2011 -0400
2096 
2097      Publish: stop adding .serverid attributes to writers
2098 
2099   src/allmydata/mutable/publish.py |    9 ++-------
2100   1 files changed, 2 insertions(+), 7 deletions(-)
2101 
2102  commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
2103  Author: Brian Warner <warner@lothar.com>
2104  Date:   Tue Oct 4 11:56:33 2011 -0400
2105 
2106      API of get_write_enabler()
2107 
2108   src/allmydata/mutable/filenode.py |    7 ++++---
2109   src/allmydata/mutable/publish.py  |    4 ++--
2110   src/allmydata/test/no_network.py  |    3 +++
2111   3 files changed, 9 insertions(+), 5 deletions(-)
2112 
2113  commit 9196a5c6590fdbfd660325ea8358b345887d3db0
2114  Author: Brian Warner <warner@lothar.com>
2115  Date:   Tue Oct 4 11:46:24 2011 -0400
2116 
2117      API of get_(renewal|cancel)_secret()
2118 
2119   src/allmydata/mutable/filenode.py  |   14 ++++++++------
2120   src/allmydata/mutable/publish.py   |    8 ++++----
2121   src/allmydata/mutable/servermap.py |    5 ++---
2122   3 files changed, 14 insertions(+), 13 deletions(-)
2123 
2124  commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
2125  Author: Brian Warner <warner@lothar.com>
2126  Date:   Tue Oct 4 11:41:52 2011 -0400
2127 
2128      API of CorruptShareError. Also comment out some related+unused test_web.py code
2129 
2130   src/allmydata/mutable/common.py    |   13 +++++--------
2131   src/allmydata/mutable/retrieve.py  |   10 +++++-----
2132   src/allmydata/mutable/servermap.py |    8 +++-----
2133   src/allmydata/test/common.py       |   13 ++++++++-----
2134   4 files changed, 21 insertions(+), 23 deletions(-)
2135 
2136  commit 2c1c314046b620c16f1e66d030c150d768b7d01e
2137  Author: Brian Warner <warner@lothar.com>
2138  Date:   Tue Oct 4 12:01:46 2011 -0400
2139 
2140      API of ServerMap.mark_bad_share()
2141 
2142   src/allmydata/mutable/publish.py   |    2 +-
2143   src/allmydata/mutable/retrieve.py  |    6 +++---
2144   src/allmydata/mutable/servermap.py |    6 ++----
2145   src/allmydata/test/test_mutable.py |    3 +--
2146   4 files changed, 7 insertions(+), 10 deletions(-)
2147 
2148  commit 1bed349030779fd0c378ae4e821384f953c6f6ff
2149  Author: Brian Warner <warner@lothar.com>
2150  Date:   Tue Oct 4 11:11:17 2011 -0400
2151 
2152      API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix
2153 
2154   src/allmydata/mutable/servermap.py |    7 ++-----
2155   src/allmydata/test/test_mutable.py |    6 +++---
2156   2 files changed, 5 insertions(+), 8 deletions(-)
2157 
2158  commit 2d32e448677d6b818692e801045d4115b29abf21
2159  Author: Brian Warner <warner@lothar.com>
2160  Date:   Tue Oct 4 11:07:10 2011 -0400
2161 
2162      API of ServerMap.all_servers_for_version()
2163 
2164   src/allmydata/mutable/servermap.py |    4 ++--
2165   1 files changed, 2 insertions(+), 2 deletions(-)
2166 
2167  commit 48f3204d1889c3e7179578125c4bdef515af3d6a
2168  Author: Brian Warner <warner@lothar.com>
2169  Date:   Tue Oct 4 11:04:50 2011 -0400
2170 
2171      internals of ServerMap methods that use make_versionmap(), remove temp copy
2172 
2173   src/allmydata/mutable/servermap.py |   28 +++++++++----------------
2174   1 files changed, 10 insertions(+), 18 deletions(-)
2175 
2176  commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
2177  Author: Brian Warner <warner@lothar.com>
2178  Date:   Tue Oct 4 11:01:28 2011 -0400
2179 
2180      API of ServerMap.make_versionmap()
2181 
2182   src/allmydata/mutable/checker.py   |    4 ++--
2183   src/allmydata/mutable/retrieve.py  |    5 ++---
2184   src/allmydata/mutable/servermap.py |    4 ++--
2185   src/allmydata/test/test_mutable.py |    7 ++++---
2186   4 files changed, 10 insertions(+), 10 deletions(-)
2187 
2188  commit b6882ece49afb4c507d118af2db346fa329209dc
2189  Author: Brian Warner <warner@lothar.com>
2190  Date:   Tue Oct 4 10:53:38 2011 -0400
2191 
2192      make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use
2193 
2194   src/allmydata/mutable/servermap.py |   18 +++++++++++++-----
2195   1 files changed, 13 insertions(+), 5 deletions(-)
2196 
2197  commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
2198  Author: Brian Warner <warner@lothar.com>
2199  Date:   Tue Oct 4 00:45:58 2011 -0400
2200 
2201      API of RetrieveStatus.add_problem()
2202 
2203   src/allmydata/mutable/retrieve.py |    5 +++--
2204   1 files changed, 3 insertions(+), 2 deletions(-)
2205 
2206  commit 4976d29ffae565a048851601c29013bbae2976d8
2207  Author: Brian Warner <warner@lothar.com>
2208  Date:   Tue Oct 4 00:45:05 2011 -0400
2209 
2210      API of RetrieveStatus.add_fetch_timing()
2211 
2212   src/allmydata/mutable/retrieve.py |    5 +++--
2213   1 files changed, 3 insertions(+), 2 deletions(-)
2214 
2215  commit d057d3bbba72663ee148a8b916bc2d52be2e3982
2216  Author: Brian Warner <warner@lothar.com>
2217  Date:   Tue Oct 4 00:44:04 2011 -0400
2218 
2219      API of Retrieve.notify_server_corruption()
2220 
2221   src/allmydata/mutable/retrieve.py |    6 +++---
2222   1 files changed, 3 insertions(+), 3 deletions(-)
2223 
2224  commit 8a2a81e46671c860610e0e96d6add1a57551f22d
2225  Author: Brian Warner <warner@lothar.com>
2226  Date:   Tue Oct 4 00:42:32 2011 -0400
2227 
2228      remove unused _outstanding_queries
2229 
2230   src/allmydata/mutable/retrieve.py |    1 -
2231   1 files changed, 0 insertions(+), 1 deletions(-)
2232 
2233  commit 56d12cc9968d03ccd53764455c671122c4f391d1
2234  Author: Brian Warner <warner@lothar.com>
2235  Date:   Tue Oct 4 00:40:57 2011 -0400
2236 
2237      change Retrieve.remaining_sharemap
2238 
2239   src/allmydata/mutable/retrieve.py |    4 ++--
2240   1 files changed, 2 insertions(+), 2 deletions(-)
2241 
2242  commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
2243  Author: Brian Warner <warner@lothar.com>
2244  Date:   Tue Oct 4 10:40:18 2011 -0400
2245 
2246      accessor for PublishStatus._problems
2247 
2248   src/allmydata/mutable/publish.py |    4 +++-
2249   src/allmydata/web/status.py      |    2 +-
2250   2 files changed, 4 insertions(+), 2 deletions(-)
2251 
2252  commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
2253  Author: Brian Warner <warner@lothar.com>
2254  Date:   Tue Oct 4 10:36:39 2011 -0400
2255 
2256      accessor for RetrieveStatus._problems
2257 
2258   src/allmydata/mutable/retrieve.py |    8 ++++++--
2259   src/allmydata/web/status.py       |    2 +-
2260   2 files changed, 7 insertions(+), 3 deletions(-)
2261 
2262  commit ca7dea81f03801b1c7353fc00ecba689268109cf
2263  Author: Brian Warner <warner@lothar.com>
2264  Date:   Tue Oct 4 00:35:32 2011 -0400
2265 
2266      add .server to "reader", so we can get at it later
2267 
2268   src/allmydata/mutable/retrieve.py |    5 +++--
2269   1 files changed, 3 insertions(+), 2 deletions(-)
2270 
2271  commit 6ef516e24908ec195af084a7550d1921a5e983b0
2272  Author: Brian Warner <warner@lothar.com>
2273  Date:   Tue Oct 4 00:32:32 2011 -0400
2274 
2275      temporarily give Retrieve a _storage_broker, so it can map serverids to servers
2276 
2277   src/allmydata/mutable/checker.py   |    3 ++-
2278   src/allmydata/mutable/filenode.py  |    6 ++++--
2279   src/allmydata/mutable/retrieve.py  |    5 +++--
2280   src/allmydata/test/test_mutable.py |    4 ++--
2281   4 files changed, 11 insertions(+), 7 deletions(-)
2282 
2283  commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
2284  Author: Brian Warner <warner@lothar.com>
2285  Date:   Tue Oct 4 00:21:51 2011 -0400
2286 
2287      mutable/retrieve.py: s/peer/server/
2288 
2289   src/allmydata/mutable/retrieve.py  |   82 +++++++++++++-------------
2290   src/allmydata/test/test_mutable.py |    6 +-
2291   2 files changed, 44 insertions(+), 44 deletions(-)
2292 
2293  commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
2294  Author: Brian Warner <warner@lothar.com>
2295  Date:   Tue Oct 4 00:16:01 2011 -0400
2296 
2297      web.status.PublishStatusPage: add comment, I think .problems isn't exercised
2298 
2299   src/allmydata/web/status.py |    2 ++
2300   1 files changed, 2 insertions(+), 0 deletions(-)
2301 
2302  commit 311466dd8c931bbba40d590ade867704282e7f1a
2303  Author: Brian Warner <warner@lothar.com>
2304  Date:   Mon Oct 3 23:48:16 2011 -0400
2305 
2306      API of PublishStatus.add_per_server_time()
2307 
2308   src/allmydata/mutable/publish.py |    5 +++--
2309   1 files changed, 3 insertions(+), 2 deletions(-)
2310 
2311  commit 2df5faa1b6cbfbaded520d2320305a62fe961118
2312  Author: Brian Warner <warner@lothar.com>
2313  Date:   Mon Oct 3 23:46:37 2011 -0400
2314 
2315      more simplifications
2316 
2317   src/allmydata/mutable/publish.py |    4 +---
2318   1 files changed, 1 insertions(+), 3 deletions(-)
2319 
2320  commit 6ac4544a3da385f2aad9392f906b90192f4f919a
2321  Author: Brian Warner <warner@lothar.com>
2322  Date:   Mon Oct 3 23:44:08 2011 -0400
2323 
2324      API of ServerMap.version_on_server()
2325 
2326   src/allmydata/mutable/publish.py   |    2 +-
2327   src/allmydata/mutable/servermap.py |    4 ++--
2328   src/allmydata/test/test_mutable.py |    5 ++---
2329   3 files changed, 5 insertions(+), 6 deletions(-)
2330 
2331  commit 3e187e322511072e4683329df6b2c6c733a66dba
2332  Author: Brian Warner <warner@lothar.com>
2333  Date:   Tue Oct 4 00:16:32 2011 -0400
2334 
2335      API of ServerMap.make_sharemap()
2336 
2337   src/allmydata/mutable/servermap.py |    4 ++--
2338   src/allmydata/test/test_mutable.py |    7 ++++---
2339   src/allmydata/web/status.py        |    4 ++--
2340   3 files changed, 8 insertions(+), 7 deletions(-)
2341 
2342  commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
2343  Author: Brian Warner <warner@lothar.com>
2344  Date:   Mon Oct 3 23:36:19 2011 -0400
2345 
2346      small cleanups
2347 
2348   src/allmydata/mutable/publish.py |    4 ++--
2349   1 files changed, 2 insertions(+), 2 deletions(-)
2350 
2351  commit bd459ed5714e1db5a7163935c54b7b0b56db8349
2352  Author: Brian Warner <warner@lothar.com>
2353  Date:   Mon Oct 3 23:33:39 2011 -0400
2354 
2355      API of ServerMap.add_new_share()
2356 
2357   src/allmydata/mutable/publish.py   |    4 ++--
2358   src/allmydata/mutable/servermap.py |    6 ++----
2359   2 files changed, 4 insertions(+), 6 deletions(-)
2360 
2361  commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
2362  Author: Brian Warner <warner@lothar.com>
2363  Date:   Mon Oct 3 23:30:26 2011 -0400
2364 
2365      API of ServerMap.get_bad_shares()
2366 
2367   src/allmydata/mutable/publish.py   |    3 +--
2368   src/allmydata/mutable/servermap.py |    9 ++++-----
2369   2 files changed, 5 insertions(+), 7 deletions(-)
2370 
2371  commit 965074a47b3ce1431cb46d9a233840afcf9105f5
2372  Author: Brian Warner <warner@lothar.com>
2373  Date:   Mon Oct 3 23:26:58 2011 -0400
2374 
2375      more small cleanups
2376 
2377   src/allmydata/mutable/publish.py |    6 +++---
2378   1 files changed, 3 insertions(+), 3 deletions(-)
2379 
2380  commit 38020da34f034f8889947dd3dc05e087ffff7106
2381  Author: Brian Warner <warner@lothar.com>
2382  Date:   Mon Oct 3 23:18:47 2011 -0400
2383 
2384      change Publish.bad_share_checkstrings
2385 
2386   src/allmydata/mutable/publish.py |    6 +++---
2387   1 files changed, 3 insertions(+), 3 deletions(-)
2388 
2389  commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
2390  Author: Brian Warner <warner@lothar.com>
2391  Date:   Mon Oct 3 23:16:31 2011 -0400
2392 
2393      change internals of Publish.update_goal()
2394 
2395   src/allmydata/mutable/publish.py |    8 +++-----
2396   1 files changed, 3 insertions(+), 5 deletions(-)
2397 
2398  commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
2399  Author: Brian Warner <warner@lothar.com>
2400  Date:   Mon Oct 3 23:11:42 2011 -0400
2401 
2402      get rid of Publish.connections
2403 
2404   src/allmydata/mutable/publish.py |   27 +++++----------------------
2405   1 files changed, 5 insertions(+), 22 deletions(-)
2406 
2407  commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
2408  Author: Brian Warner <warner@lothar.com>
2409  Date:   Mon Oct 3 23:05:32 2011 -0400
2410 
2411      change Publish.bad_servers
2412 
2413   src/allmydata/mutable/publish.py |   10 +++++-----
2414   1 files changed, 5 insertions(+), 5 deletions(-)
2415 
2416  commit b85a934bef315a06bcfe00c9c12a3627fed2b918
2417  Author: Brian Warner <warner@lothar.com>
2418  Date:   Mon Oct 3 23:03:07 2011 -0400
2419 
2420      Publish.bad_servers: fix bug, this should be a set of serverids, not writers
2421 
2422   src/allmydata/mutable/publish.py |    2 +-
2423   1 files changed, 1 insertions(+), 1 deletions(-)
2424 
2425  commit 605ea15ec15ed671513819003ccd211cdb9761e0
2426  Author: Brian Warner <warner@lothar.com>
2427  Date:   Mon Oct 3 23:00:21 2011 -0400
2428 
2429      change .placed
2430 
2431   src/allmydata/mutable/publish.py |    6 +++---
2432   1 files changed, 3 insertions(+), 3 deletions(-)
2433 
2434  commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
2435  Author: Brian Warner <warner@lothar.com>
2436  Date:   Mon Oct 3 22:59:22 2011 -0400
2437 
2438      temporarily stash IServer as .server on the "writer" object
2439 
2440   src/allmydata/mutable/publish.py |    2 ++
2441   1 files changed, 2 insertions(+), 0 deletions(-)
2442 
2443  commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
2444  Author: Brian Warner <warner@lothar.com>
2445  Date:   Mon Oct 3 22:48:18 2011 -0400
2446 
2447      change Publish.goal and API of log_goal() to use IServer, not serverid
2448 
2449   src/allmydata/mutable/publish.py |   48 ++++++++++++++--------------
2450   1 files changed, 24 insertions(+), 24 deletions(-)
2451 
2452  commit 75f20616558e4900b8b1f685dd99aa838de6d452
2453  Author: Brian Warner <warner@lothar.com>
2454  Date:   Mon Oct 3 15:27:02 2011 -0400
2455 
2456      API of ServerMap.get_known_shares()
2457 
2458   src/allmydata/mutable/publish.py   |   16 ++++++++++------
2459   src/allmydata/mutable/servermap.py |    7 ++-----
2460   2 files changed, 12 insertions(+), 11 deletions(-)
2461 
2462  commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
2463  Author: Brian Warner <warner@lothar.com>
2464  Date:   Mon Oct 3 15:20:29 2011 -0400
2465 
2466      Publish.full_serverlist
2467 
2468   src/allmydata/mutable/publish.py |   10 +++++-----
2469   1 files changed, 5 insertions(+), 5 deletions(-)
2470 
2471  commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
2472  Author: Brian Warner <warner@lothar.com>
2473  Date:   Mon Oct 3 15:12:31 2011 -0400
2474 
2475      API of ServerMap.all_servers()
2476 
2477   src/allmydata/mutable/servermap.py |   19 ++++++-------------
2478   1 files changed, 6 insertions(+), 13 deletions(-)
2479 
2480  commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
2481  Author: Brian Warner <warner@lothar.com>
2482  Date:   Mon Oct 3 15:10:18 2011 -0400
2483 
2484      remove ServerMap.connections, set_rref_for_serverid()
2485 
2486   src/allmydata/mutable/servermap.py |   11 +----------
2487   1 files changed, 1 insertions(+), 10 deletions(-)
2488 
2489  commit 4df52db2f80eb12eefa5d57103c24893cde89553
2490  Author: Brian Warner <warner@lothar.com>
2491  Date:   Mon Oct 3 15:04:06 2011 -0400
2492 
2493      API of ServerMap.mark_server_reachable()
2494 
2495   src/allmydata/mutable/servermap.py |    7 ++-----
2496   1 files changed, 2 insertions(+), 5 deletions(-)
2497 
2498  commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
2499  Author: Brian Warner <warner@lothar.com>
2500  Date:   Mon Oct 3 15:03:21 2011 -0400
2501 
2502      API of ServerMap.mark_server_unreachable()
2503 
2504   src/allmydata/mutable/servermap.py |    9 +++------
2505   1 files changed, 3 insertions(+), 6 deletions(-)
2506 
2507  commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
2508  Author: Brian Warner <warner@lothar.com>
2509  Date:   Mon Oct 3 15:02:03 2011 -0400
2510 
2511      API of status.set_privkey_from()
2512 
2513   src/allmydata/mutable/servermap.py |    7 +++----
2514   1 files changed, 3 insertions(+), 4 deletions(-)
2515 
2516  commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
2517  Author: Brian Warner <warner@lothar.com>
2518  Date:   Mon Oct 3 15:01:15 2011 -0400
2519 
2520      API of status.add_per_server_time()
2521 
2522   src/allmydata/mutable/servermap.py |    7 ++++---
2523   1 files changed, 4 insertions(+), 3 deletions(-)
2524 
2525  commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
2526  Author: Brian Warner <warner@lothar.com>
2527  Date:   Mon Oct 3 14:59:02 2011 -0400
2528 
2529      remove unused .versionmap
2530 
2531   src/allmydata/mutable/servermap.py |    7 -------
2532   1 files changed, 0 insertions(+), 7 deletions(-)
2533 
2534  commit 2816562e090d2294179db3588dafcca18de1bc2b
2535  Author: Brian Warner <warner@lothar.com>
2536  Date:   Mon Oct 3 14:57:51 2011 -0400
2537 
2538      remove serverid from all log messages. Also one unused lambda.
2539 
2540   src/allmydata/mutable/servermap.py |   30 +++++++++++++-------------
2541   1 files changed, 15 insertions(+), 15 deletions(-)
2542 
2543  commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
2544  Author: Brian Warner <warner@lothar.com>
2545  Date:   Mon Oct 3 14:54:30 2011 -0400
2546 
2547      removed unused _readers
2548 
2549   src/allmydata/mutable/servermap.py |    3 ---
2550   1 files changed, 0 insertions(+), 3 deletions(-)
2551 
2552  commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
2553  Author: Brian Warner <warner@lothar.com>
2554  Date:   Mon Oct 3 14:54:16 2011 -0400
2555 
2556      remove unused _sharemap
2557 
2558   src/allmydata/mutable/servermap.py |    1 -
2559   1 files changed, 0 insertions(+), 1 deletions(-)
2560 
2561  commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
2562  Author: Brian Warner <warner@lothar.com>
2563  Date:   Mon Oct 3 14:49:03 2011 -0400
2564 
2565      _must_query
2566 
2567   src/allmydata/mutable/servermap.py |    8 ++++----
2568   1 files changed, 4 insertions(+), 4 deletions(-)
2569 
2570  commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
2571  Author: Brian Warner <warner@lothar.com>
2572  Date:   Mon Oct 3 14:48:05 2011 -0400
2573 
2574      _queries_outstanding
2575 
2576   src/allmydata/mutable/servermap.py |   16 +++++++---------
2577   1 files changed, 7 insertions(+), 9 deletions(-)
2578 
2579  commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
2580  Author: Brian Warner <warner@lothar.com>
2581  Date:   Mon Oct 3 14:46:17 2011 -0400
2582 
2583      _empty_servers
2584 
2585   src/allmydata/mutable/servermap.py |    5 ++---
2586   1 files changed, 2 insertions(+), 3 deletions(-)
2587 
2588  commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
2589  Author: Brian Warner <warner@lothar.com>
2590  Date:   Mon Oct 3 14:45:39 2011 -0400
2591 
2592      _good_servers
2593 
2594   src/allmydata/mutable/servermap.py |    4 ++--
2595   1 files changed, 2 insertions(+), 2 deletions(-)
2596 
2597  commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
2598  Author: Brian Warner <warner@lothar.com>
2599  Date:   Mon Oct 3 14:44:59 2011 -0400
2600 
2601      _bad_servers
2602 
2603   src/allmydata/mutable/servermap.py |   14 +++++++-------
2604   1 files changed, 7 insertions(+), 7 deletions(-)
2605 
2606  commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
2607  Author: Brian Warner <warner@lothar.com>
2608  Date:   Mon Oct 3 14:41:54 2011 -0400
2609 
2610      API of _try_to_set_pubkey()
2611 
2612   src/allmydata/mutable/servermap.py |    7 ++++---
2613   1 files changed, 4 insertions(+), 3 deletions(-)
2614 
2615  commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
2616  Author: Brian Warner <warner@lothar.com>
2617  Date:   Mon Oct 3 14:35:02 2011 -0400
2618 
2619      API of notify_server_corruption()
2620 
2621   src/allmydata/mutable/servermap.py |    6 +++---
2622   1 files changed, 3 insertions(+), 3 deletions(-)
2623 
2624  commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
2625  Author: Brian Warner <warner@lothar.com>
2626  Date:   Mon Oct 3 14:34:09 2011 -0400
2627 
2628      API of _got_signature_one_share()
2629 
2630   src/allmydata/mutable/servermap.py |    9 +++++----
2631   1 files changed, 5 insertions(+), 4 deletions(-)
2632 
2633  commit 1520123583cf78650706e114b15bb5b0ac1f4a14
2634  Author: Brian Warner <warner@lothar.com>
2635  Date:   Mon Oct 3 14:32:33 2011 -0400
2636 
2637      API of _try_to_validate_privkey()
2638 
2639   src/allmydata/mutable/servermap.py |    9 +++++----
2640   1 files changed, 5 insertions(+), 4 deletions(-)
2641 
2642  commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
2643  Author: Brian Warner <warner@lothar.com>
2644  Date:   Mon Oct 3 14:31:48 2011 -0400
2645 
2646      API and internals of _add_lease_failed()
2647 
2648   src/allmydata/mutable/servermap.py |    8 ++++----
2649   1 files changed, 4 insertions(+), 4 deletions(-)
2650 
2651  commit 3843dba367e3c19e176a622ab853cb51d2472ddf
2652  Author: Brian Warner <warner@lothar.com>
2653  Date:   Mon Oct 3 14:30:37 2011 -0400
2654 
2655      API of _privkey_query_failed()
2656 
2657   src/allmydata/mutable/servermap.py |    5 +++--
2658   1 files changed, 3 insertions(+), 2 deletions(-)
2659 
2660  commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
2661  Author: Brian Warner <warner@lothar.com>
2662  Date:   Mon Oct 3 14:29:43 2011 -0400
2663 
2664      fix bug in call to _privkey_query_failed, unrelated to refactoring
2665 
2666   src/allmydata/mutable/servermap.py |    2 +-
2667   1 files changed, 1 insertions(+), 1 deletions(-)
2668 
2669  commit ae615bec7d0d1b269710b6902797b12f9592ad62
2670  Author: Brian Warner <warner@lothar.com>
2671  Date:   Mon Oct 3 14:27:17 2011 -0400
2672 
2673      API of _got_corrupt_share()
2674 
2675   src/allmydata/mutable/servermap.py |   17 +++++++++--------
2676   1 files changed, 9 insertions(+), 8 deletions(-)
2677 
2678  commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
2679  Author: Brian Warner <warner@lothar.com>
2680  Date:   Mon Oct 3 14:23:16 2011 -0400
2681 
2682      API of _got_results()
2683 
2684   src/allmydata/mutable/servermap.py |    9 +++++----
2685   1 files changed, 5 insertions(+), 4 deletions(-)
2686 
2687  commit bac9154fe0af18f226999a58ffc2362d8cf4b802
2688  Author: Brian Warner <warner@lothar.com>
2689  Date:   Mon Oct 3 14:19:19 2011 -0400
2690 
2691      API of _query_failed()
2692 
2693   src/allmydata/mutable/servermap.py |    5 +++--
2694   1 files changed, 3 insertions(+), 2 deletions(-)
2695 
2696  commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
2697  Author: Brian Warner <warner@lothar.com>
2698  Date:   Mon Oct 3 14:17:20 2011 -0400
2699 
2700      API of _do_read()
2701 
2702   src/allmydata/mutable/servermap.py |    6 ++++--
2703   1 files changed, 4 insertions(+), 2 deletions(-)
2704 
2705  commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
2706  Author: Brian Warner <warner@lothar.com>
2707  Date:   Mon Oct 3 14:20:21 2011 -0400
2708 
2709      API of _do_query()
2710 
2711   src/allmydata/mutable/servermap.py |   15 +++++++--------
2712   1 files changed, 7 insertions(+), 8 deletions(-)
2713 
2714  commit 330625b9dac4cdbe72a11464a893065b9aeed453
2715  Author: Brian Warner <warner@lothar.com>
2716  Date:   Mon Oct 3 14:43:05 2011 -0400
2717 
2718      next step: first batch of updates to ServermapUpdater
2719 
2720      updates:
2721       most method-local variables in update()
2722       API of _build_initial_querylist()
2723       API of _send_initial_requests()
2724       .full_serverlist
2725       .extra_servers
2726 
2727   src/allmydata/mutable/servermap.py |   39 ++++++++++++++------------
2728   1 files changed, 21 insertions(+), 18 deletions(-)
2729 
2730  commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
2731  Author: Brian Warner <warner@lothar.com>
2732  Date:   Mon Oct 3 15:07:00 2011 -0400
2733 
2734      internal change: index _bad_shares with IServer
2735 
2736   src/allmydata/mutable/servermap.py |   20 ++++++++++----------
2737   1 files changed, 10 insertions(+), 10 deletions(-)
2738 
2739  commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
2740  Author: Brian Warner <warner@lothar.com>
2741  Date:   Mon Oct 3 18:20:47 2011 +0100
2742 
2743      internal change: index _known_shares with IServer instead of serverid
2744 
2745      callers are unchanged
2746 
2747   src/allmydata/mutable/servermap.py |   42 +++++++++++++++----------
2748   1 files changed, 25 insertions(+), 17 deletions(-)
2749 
2750  commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
2751  Author: Brian Warner <warner@lothar.com>
2752  Date:   Mon Oct 3 18:11:43 2011 +0100
2753 
2754      accessors and name cleanup for servermap.Servermap.last_update_mode/time
2755 
2756   src/allmydata/mutable/filenode.py  |    6 +++---
2757   src/allmydata/mutable/publish.py   |    4 ++--
2758   src/allmydata/mutable/servermap.py |   17 +++++++++++------
2759   3 files changed, 16 insertions(+), 11 deletions(-)
2760 
2761  commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
2762  Author: Brian Warner <warner@lothar.com>
2763  Date:   Mon Oct 3 18:11:14 2011 +0100
2764 
2765      accessors and name cleanup for servermap.Servermap.problems
2766 
2767   src/allmydata/mutable/servermap.py |   21 +++++++++++++--------
2768   src/allmydata/test/test_mutable.py |    6 +++---
2769   2 files changed, 16 insertions(+), 11 deletions(-)
2770 
2771  commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
2772  Author: Brian Warner <warner@lothar.com>
2773  Date:   Mon Oct 3 18:10:41 2011 +0100
2774 
2775      accessors and name cleanup for servermap.Servermap.bad_shares
2776 
2777   src/allmydata/mutable/publish.py   |    2 +-
2778   src/allmydata/mutable/servermap.py |   30 ++++++++++++++-----------
2779   2 files changed, 18 insertions(+), 14 deletions(-)
2780 
2781  commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
2782  Author: Brian Warner <warner@lothar.com>
2783  Date:   Mon Oct 3 18:10:05 2011 +0100
2784 
2785      accessors and name cleanup for servermap.Servermap.servermap .
2786 
2787   src/allmydata/mutable/publish.py   |   14 +++++----
2788   src/allmydata/mutable/servermap.py |   38 ++++++++++++++-----------
2789   2 files changed, 29 insertions(+), 23 deletions(-)
2790 
2791  commit b8b8dc38287a91dbdf494426ac801d9381ce5841
2792  Author: Brian Warner <warner@lothar.com>
2793  Date:   Mon Oct 3 18:08:02 2011 +0100
2794 
2795      fix reachable_servers
2796 
2797   src/allmydata/mutable/checker.py   |    3 ++-
2798   src/allmydata/mutable/publish.py   |    4 +++-
2799   src/allmydata/mutable/servermap.py |   12 ++++++++++--
2800   3 files changed, 15 insertions(+), 4 deletions(-)
2801 
2802  commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
2803  Author: Brian Warner <warner@lothar.com>
2804  Date:   Mon Oct 3 18:06:03 2011 +0100
2805 
2806      fix Servermap.unreachable_servers
2807 
2808   src/allmydata/mutable/servermap.py |   11 ++++++++---
2809   1 files changed, 8 insertions(+), 3 deletions(-)
2810 
2811  commit 2d9ea79b94bd4db674d40386fda90825785ac495
2812  Author: Brian Warner <warner@lothar.com>
2813  Date:   Mon Oct 3 18:03:48 2011 +0100
2814 
2815      give ServerMap a StorageFarmBroker, temporary
2816 
2817      this makes it possible for the ServerMap to accept bare serverids and still
2818      build data structures with IServers
2819 
2820   src/allmydata/mutable/checker.py   |    2 +-
2821   src/allmydata/mutable/filenode.py  |    2 +-
2822   src/allmydata/mutable/publish.py   |    2 +-
2823   src/allmydata/mutable/servermap.py |    5 +++--
2824   src/allmydata/test/test_mutable.py |    8 ++++----
2825   5 files changed, 10 insertions(+), 9 deletions(-)
2826 
2827  commit 718d1aeff6fded893f65397806d22ece928b0dd4
2828  Author: Brian Warner <warner@lothar.com>
2829  Date:   Mon Oct 3 13:43:30 2011 -0400
2830 
2831      add StorageFarmBroker.get_server_for_id(), temporary helper
2832 
2833      This will go away once we're passing IServers everywhere.
2834 
2835   src/allmydata/storage_client.py  |    2 ++
2836   src/allmydata/test/no_network.py |   13 +++++++++++++
2837   2 files changed, 15 insertions(+), 0 deletions(-)
2838 
2839  commit ece20231d7fda0d503704842a4aa068dfbc2e54e
2840  Author: Brian Warner <warner@lothar.com>
2841  Date:   Sun Oct 2 01:11:50 2011 +0100
2842 
2843      add proper accessors for Servermap.connections, to make refactoring easier
2844 
2845   src/allmydata/mutable/publish.py   |    6 +++---
2846   src/allmydata/mutable/retrieve.py  |   10 +++++-----
2847   src/allmydata/mutable/servermap.py |   17 +++++++++++------
2848   3 files changed, 19 insertions(+), 14 deletions(-)
2849 
2850  commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
2851  Author: Brian Warner <warner@lothar.com>
2852  Date:   Fri Sep 23 10:34:30 2011 -0700
2853 
2854      mutable/servermap.py and neighbors: s/peer/server/
2855 
2856   src/allmydata/mutable/checker.py   |   22 +-
2857   src/allmydata/mutable/publish.py   |  204 +++++++-------
2858   src/allmydata/mutable/servermap.py |  402 +++++++++++++-------------
2859   src/allmydata/test/test_mutable.py |   18 +-
2860   4 files changed, 323 insertions(+), 323 deletions(-)
2861]
2862[TAG allmydata-tahoe-1.9.0
2863warner@lothar.com**20111031052301
2864 Ignore-this: cf598210dd1f314a1a121bf29a3d5918
2865]
2866Patch bundle hash:
2867f569a3fc889b1aaed328d0ff40e8c085444b9b13