Ticket #1658: use-SEEK_END.darcs.patch

File use-SEEK_END.darcs.patch, 102.1 KB (added by davidsarah, at 2012-05-16T21:42:56Z)

Since we now require Python 2.5, we can use os.SEEK_END. (Apply on top of previous patch.)

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