tahoe-lafs/tahoe-lafs.git
12 years agoMutable repair: use new MODE_REPAIR to query all servers *and* get privkey
Brian Warner [Sat, 31 Mar 2012 06:56:41 +0000 (23:56 -0700)]
Mutable repair: use new MODE_REPAIR to query all servers *and* get privkey

This fixes bug #1689. Repair was using MODE_READ to build the servermap,
which doesn't try hard enough to grab the privkey, and also doesn't guarantee
sending queries to all servers. This patch adds a new MODE_REPAIR which does
both, and does a separate, distinct mapupdate to start wth repair cycle,
instead of relying upon the (MODE_CHECK) mapupdate leftover from the
filecheck that triggered the repair.

12 years agoAdd test for bug #1689: repairing empty file hits no-privkey assertion
Brian Warner [Sat, 31 Mar 2012 18:36:20 +0000 (11:36 -0700)]
Add test for bug #1689: repairing empty file hits no-privkey assertion

12 years agoFTP-and-SFTP.rst: there were two more instances of 'rootcap'. Also made the wording...
david-sarah [Sat, 31 Mar 2012 02:32:47 +0000 (02:32 +0000)]
FTP-and-SFTP.rst: there were two more instances of 'rootcap'. Also made the wording tweak from ticket:1487#comment:4 . fixes #1487

12 years agotest_ftp.py: fix a couple of unused imports. refs #1668
david-sarah [Sat, 31 Mar 2012 02:17:25 +0000 (02:17 +0000)]
test_ftp.py: fix a couple of unused imports. refs #1668

12 years agoFTP-and-SFTP.rst: directories containing mutable files should now be listable via...
david-sarah [Sat, 31 Mar 2012 01:37:30 +0000 (01:37 +0000)]
FTP-and-SFTP.rst: directories containing mutable files should now be listable via FTP. refs #680

12 years agoftpd file `size' attribute must be an integer
Peter Le Bek [Thu, 22 Mar 2012 13:18:06 +0000 (13:18 +0000)]
ftpd file `size' attribute must be an integer

12 years agounit test for ftpd LIST
Peter Le Bek [Fri, 30 Mar 2012 23:41:39 +0000 (23:41 +0000)]
unit test for ftpd LIST

12 years agofix ftpd mtime retrieval
Peter Le Bek [Fri, 30 Mar 2012 23:41:19 +0000 (23:41 +0000)]
fix ftpd mtime retrieval

12 years agotest_introducer.SystemTest: fix race condition
Brian Warner [Sat, 31 Mar 2012 00:29:06 +0000 (17:29 -0700)]
test_introducer.SystemTest: fix race condition

SystemTest has a couple of different phases, separated by a poller which
waits for everything to be idle (all messages delivered, none in flight). It
does this by watching some internal "_debug_outstanding" counters in the
server and in each client, and waiting for them to hit zero.

Just before the last phase, we replace the server with a new one (to make
sure clients re-send their messages properly). Unfortunately, the polling
function closed over the variable holding the original server, and didn't see
the replacement. It kept polling the old server, and failed to notice the
outstanding messages for the new server. The last phase of the test (check3)
was started too early, which failed (since some messages had not yet been
delivered), and then exploded in a flurry of dirty-reactor errors (because
some messages were delivered after test shutdown).

This replaces the closed-over-variable with a "self.the_introducer", which
seems to fix the race.

One additional place to look at in the future: the client
announcement-receive path (remote_announce) uses an eventually(). If the
message has been received and the eventual-send posted (but not yet executed)
when the poller sees it, the poller might erroneously conclude that the
client is idle and cause the same problem as above. To fix this, the poller
(probably all pollers) could be enhanced to do a flushEventualQueue before
querying the are-we-done-yet predicate function.

12 years agoCosmetic formatting in docs.
david-sarah [Thu, 22 Mar 2012 22:05:34 +0000 (22:05 +0000)]
Cosmetic formatting in docs.

12 years agoPut SFTP before FTP in various docs. fixes #1692
david-sarah [Thu, 22 Mar 2012 22:04:53 +0000 (22:04 +0000)]
Put SFTP before FTP in various docs. fixes #1692

12 years agoCorrect a link to frontends/drop-upload.rst. fixes #1690
david-sarah [Thu, 22 Mar 2012 22:01:18 +0000 (22:01 +0000)]
Correct a link to frontends/drop-upload.rst. fixes #1690

12 years agoFix mutable status (mapupdate/retrieve/publish) to use serverids, not tubids
Brian Warner [Sat, 17 Mar 2012 23:52:32 +0000 (16:52 -0700)]
Fix mutable status (mapupdate/retrieve/publish) to use serverids, not tubids

This still leaves immutable-publish results incorrectly using tubids instead
of serverids. That will need some more work, since it might change the Helper
interface.

12 years agoIServer.get_name(): remove v0- prefix from displayed server names
Brian Warner [Wed, 14 Mar 2012 23:36:40 +0000 (16:36 -0700)]
IServer.get_name(): remove v0- prefix from displayed server names

Don't remove the prefix if it isn't there: that avoids the need to fix tests
which use a bogus key (usually all-zeros).

12 years agoFix a missing comma in the last patch. refs #1295
david-sarah [Wed, 14 Mar 2012 23:50:40 +0000 (23:50 +0000)]
Fix a missing comma in the last patch. refs #1295

12 years agoTemporarily suppress the DeprecationWarning about IFinishableConsumer; it's irritatin...
david-sarah [Wed, 14 Mar 2012 23:47:29 +0000 (23:47 +0000)]
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

12 years agominor: hush pyflakes, move pycryptopp dep to unconditional section
Brian Warner [Wed, 14 Mar 2012 06:13:51 +0000 (23:13 -0700)]
minor: hush pyflakes, move pycryptopp dep to unconditional section

Also change Makefile's "pyflakes" rule to emit less output, so buildbot will
count errors properly.

12 years agoUpdate find_links URLs in setup.cfg to https://tahoe-lafs.org. This is not just a...
david-sarah [Tue, 13 Mar 2012 20:30:41 +0000 (20:30 +0000)]
Update find_links URLs in setup.cfg to https://tahoe-lafs.org. This is not just a doc change; look out for compatibility problems.

12 years agoMinor updates to URLs.
david-sarah [Tue, 13 Mar 2012 20:28:53 +0000 (20:28 +0000)]
Minor updates to URLs.

12 years agoUpdate more links from http: to https: in documentation and comments.
david-sarah [Tue, 13 Mar 2012 20:26:54 +0000 (20:26 +0000)]
Update more links from http: to https: in documentation and comments.

12 years agonew introducer: signed extensible dictionary-based messages! refs #466
Brian Warner [Sun, 20 Nov 2011 10:21:32 +0000 (02:21 -0800)]
new introducer: signed extensible dictionary-based messages! refs #466

This introduces new client and server halves to the Introducer (renaming the
old one with a _V1 suffix). Both have fallbacks to accomodate talking to a
different version: the publishing client switches on whether the server's
.get_version() advertises V2 support, the server switches on which
subscription method was invoked by the subscribing client.

The V2 protocol sends a three-tuple of (serialized announcement dictionary,
signature, pubkey) for each announcement. The V2 server dispatches messages
to subscribers according to the service-name, and throws errors for invalid
signatures, but does not otherwise examine the messages. The V2 receiver's
subscription callback will receive a (serverid, ann_dict) pair. The
'serverid' will be equal to the pubkey if all of the following are true:

  the originating client is V2, and was told a privkey to use
  the announcement went through a V2 server
  the signature is valid

If not, 'serverid' will be equal to the tubid portion of the announced FURL,
as was the case for V1 receivers.

Servers will create a keypair if one does not exist yet, stored in
private/server.privkey .

The signed announcement dictionary puts the server FURL in a key named
"anonymous-storage-FURL", which anticipates upcoming Accounting-related
changes in the server advertisements. It also provides a key named
"permutation-seed-base32" to tell clients what permutation seed to use. This
is computed at startup, using tubid if there are existing shares, otherwise
the pubkey, to retain share-order compatibility for existing servers.

12 years ago'tahoe admin generate-keypair/derive-pubkey': add Ed25519 keypair commands
Brian Warner [Mon, 12 Mar 2012 22:02:58 +0000 (15:02 -0700)]
'tahoe admin generate-keypair/derive-pubkey': add Ed25519 keypair commands

Also add parse_privkey/parse_pubkey tools to util.keyutil

12 years agobump pycryptopp dependency to >=0.6.0, to get ed25519 signatures
Brian Warner [Wed, 14 Mar 2012 01:09:14 +0000 (18:09 -0700)]
bump pycryptopp dependency to >=0.6.0, to get ed25519 signatures

This is for the upcoming #466 signed-introducer code.

12 years agoUpdate copyright notices. refs #1686
david-sarah [Tue, 13 Mar 2012 20:50:57 +0000 (20:50 +0000)]
Update copyright notices. refs #1686

12 years agoMake the link on the Welcome page to 'https://tahoe-lafs.org/', not 'http:'. Includes...
david-sarah [Thu, 8 Mar 2012 23:17:58 +0000 (23:17 +0000)]
Make the link on the Welcome page to 'https://tahoe-lafs.org/', not 'http:'. Includes a test. fixes #1682

12 years agoUpdate various references to allmydata.org or http://tahoe-lafs.org in comments,...
david-sarah [Thu, 8 Mar 2012 23:17:19 +0000 (23:17 +0000)]
Update various references to allmydata.org or http://tahoe-lafs.org in comments, to https://tahoe-lafs.org. refs #1682

12 years agoSuppress a warning from win32eventreactor on Windows (patch v2). fixes #1681
david-sarah [Mon, 27 Feb 2012 19:03:17 +0000 (19:03 +0000)]
Suppress a warning from win32eventreactor on Windows (patch v2). fixes #1681

12 years agoAdd nickname/nodeid to storage-status web page. Closes #1204.
Brian Warner [Tue, 13 Mar 2012 02:57:36 +0000 (19:57 -0700)]
Add nickname/nodeid to storage-status web page. Closes #1204.

Also add tahoe.css to the page, to make it look slightly prettier.

12 years agoadd some quick tests of the introducer/web improvements
Brian Warner [Mon, 12 Mar 2012 19:35:36 +0000 (12:35 -0700)]
add some quick tests of the introducer/web improvements

12 years agointroducer web page: add CSS styling, roughly match client Welcome page
Brian Warner [Wed, 7 Mar 2012 02:25:05 +0000 (18:25 -0800)]
introducer web page: add CSS styling, roughly match client Welcome page

Also add /static and the top-level /tahoe.css -type stuff to the introducer's
web server.

12 years agotahoe.css: fix #section typo, update welcome.xhtml to match
Brian Warner [Wed, 7 Mar 2012 02:22:41 +0000 (18:22 -0800)]
tahoe.css: fix #section typo, update welcome.xhtml to match

The "#section" declaration (which matches id="section") should have been
".section" (which matches class="section").

The welcome page has a feature that I actually liked: the little "This
Client" sidebar sits just to the right of the start of the Controls block.
Fixing .section broke that (the clear:both introduces a gap, forcing the
Controls block to start strictly below the bottom of the This Client block).
So I also removed class="section" from the Controls block to allow them to
share the horizontal space again.

12 years agomake provisioning/reliability work in the new location, fix tests
Brian Warner [Wed, 15 Feb 2012 18:24:42 +0000 (18:24 +0000)]
make provisioning/reliability work in the new location, fix tests

12 years agoremove 'provisioning'/'reliability' from WUI, add to misc/operations_helpers
Brian Warner [Wed, 15 Feb 2012 18:18:53 +0000 (18:18 +0000)]
remove 'provisioning'/'reliability' from WUI, add to misc/operations_helpers

Also remove docs related to reliability/provisioning pages

12 years agoprovisioning.py: update disk sizes and usage numbers
Brian Warner [Mon, 13 Feb 2012 15:57:08 +0000 (15:57 +0000)]
provisioning.py: update disk sizes and usage numbers

12 years agoconfiguration.rst: another attempt to fix formatting of sample tahoe.cfg.
david-sarah [Tue, 31 Jan 2012 00:09:49 +0000 (00:09 +0000)]
configuration.rst: another attempt to fix formatting of sample tahoe.cfg.

12 years agoconfiguration.rst: remove the obsolete sizelimit option from the sample tahoe.cfg...
david-sarah [Tue, 31 Jan 2012 00:06:43 +0000 (00:06 +0000)]
configuration.rst: remove the obsolete sizelimit option from the sample tahoe.cfg. Also fix the RST formatting of blank lines in the file.

12 years agoAdd a Python 3 blocker to setup.py, to display a better error message when it is...
david-sarah [Fri, 27 Jan 2012 01:55:25 +0000 (01:55 +0000)]
Add a Python 3 blocker to setup.py, to display a better error message when it is run under Python 3.

12 years agoEnsure that verification proceeds and stops when appropriate.
Kevan [Fri, 13 Jan 2012 02:11:42 +0000 (18:11 -0800)]
Ensure that verification proceeds and stops when appropriate.

The removed assertions are appropriate for a download that seeks to
return plaintext to a caller; if we don't have at least k active remote
shares, then we can't hope to do that. They're not appropriate for a
verification operation; a user can try to verify a file that has fewer
than k shares available, so that shouldn't be treated as an error.
Instead, we proceed with fewer than k shares, and ensure that we
terminate the download if we have no shares at all and we're verifying.

12 years agoAdd test_verify_mdmf_all_bad_sharedata
Kevan [Fri, 13 Jan 2012 02:11:04 +0000 (18:11 -0800)]
Add test_verify_mdmf_all_bad_sharedata

test_verify_mdmf_all_bad_sharedata tests for the regression described
in ticket 1648. In particular, it will trigger the misplaced assertion
in the share activation code. It also tests to make sure that
verification continues with fewer than k shares.

12 years agoAdded clarification on how interface= works
Patrick R McDonald [Fri, 20 Jan 2012 01:52:12 +0000 (20:52 -0500)]
Added clarification on how interface= works

12 years agoFTP-and-SFTP.rst: minor edits
Brian Warner [Tue, 24 Jan 2012 20:36:54 +0000 (12:36 -0800)]
FTP-and-SFTP.rst: minor edits

12 years agoUpdated accounts.url directive per warner's suggestions
Patrick R McDonald [Thu, 19 Jan 2012 20:08:18 +0000 (15:08 -0500)]
Updated accounts.url directive per warner's suggestions

12 years agoAdded information on accounts.url directive
Patrick R McDonald [Thu, 19 Jan 2012 18:15:21 +0000 (13:15 -0500)]
Added information on accounts.url directive

12 years agodocs: an extra newline to separate utf-8 BOF from comment for the sake of trac's...
Zooko O'Whielacronx [Sun, 22 Jan 2012 21:20:02 +0000 (21:20 +0000)]
docs: an extra newline to separate utf-8 BOF from comment for the sake of trac's rst renderer

12 years agodocs: a newline between the utf-8 BOF and the comment in order to prevent trac from...
Zooko O'Whielacronx [Sun, 22 Jan 2012 21:18:56 +0000 (21:18 +0000)]
docs: a newline between the utf-8 BOF and the comment in order to prevent trac from misrendering the comment
sheesh

12 years agodocs: a comment to inform the (human) reader about encoding and to prevent someone...
Zooko O'Whielacronx [Sun, 22 Jan 2012 21:17:31 +0000 (21:17 +0000)]
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

12 years agodocs: insert another newline between utf-8 BOF and title
Zooko O'Whielacronx [Sun, 22 Jan 2012 21:14:27 +0000 (21:14 +0000)]
docs: insert another newline between utf-8 BOF and title

12 years agodocs: insert newline after utf-8 BOF and before restructuredtext title
Zooko O'Whielacronx [Sun, 22 Jan 2012 18:21:27 +0000 (18:21 +0000)]
docs: insert newline after utf-8 BOF and before restructuredtext title

12 years agodocs: remove utf-8 "BOM" which confuses trac's rst renderer
Zooko O'Whielacronx [Sun, 22 Jan 2012 14:00:52 +0000 (14:00 +0000)]
docs: remove utf-8 "BOM" which confuses trac's rst renderer

12 years agodocs: try again to change RestructuredText titles to a format that trac will render
Zooko O'Whielacronx [Sun, 22 Jan 2012 13:56:13 +0000 (13:56 +0000)]
docs: try again to change RestructuredText titles to a format that trac will render

12 years agodocs: backdoors.rst: fix title formatting
Zooko O'Whielacronx [Sun, 22 Jan 2012 13:51:25 +0000 (13:51 +0000)]
docs: backdoors.rst: fix title formatting

12 years agodocs: backdoors.rst: stop using embedded URIs and tweak title so that trac will rende...
Zooko O'Whielacronx [Sun, 22 Jan 2012 13:43:19 +0000 (13:43 +0000)]
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

12 years agoupdate release process: git, not darcs, etc
Brian Warner [Fri, 13 Jan 2012 07:12:57 +0000 (23:12 -0800)]
update release process: git, not darcs, etc

12 years agoprepare to Org-ify how_to_make_a_tahoe-lafs_release: rename the file
Brian Warner [Fri, 13 Jan 2012 07:01:53 +0000 (23:01 -0800)]
prepare to Org-ify how_to_make_a_tahoe-lafs_release: rename the file

12 years ago.gitignore: ignore generated test-coverage files too
Brian Warner [Fri, 13 Jan 2012 06:56:29 +0000 (22:56 -0800)]
.gitignore: ignore generated test-coverage files too

12 years agomerge relnotes, quickstart.rst from 1.9.1 release
Brian Warner [Thu, 12 Jan 2012 23:24:20 +0000 (15:24 -0800)]
merge relnotes, quickstart.rst from 1.9.1 release

12 years agoretrieve.py: unconditionally check share-hash-tree. Fixes #1654.
Brian Warner [Thu, 12 Jan 2012 21:35:53 +0000 (13:35 -0800)]
retrieve.py: unconditionally check share-hash-tree. Fixes #1654.

Add Kevan's unit test, update known_issues.rst

12 years ago.gitignore: also ignore tahoe-deps and .tgz, to fix 'make tarballs'
Brian Warner [Thu, 12 Jan 2012 19:18:59 +0000 (11:18 -0800)]
.gitignore: also ignore tahoe-deps and .tgz, to fix 'make tarballs'

Otherwise, the get-version-from-git code thinks the tree is dirty, and
creates SUMO tarballs with -dirty in the name.

12 years agoMakefile: fix 'make-version' to use git-or-darcs, not just darcs
Brian Warner [Thu, 12 Jan 2012 21:06:54 +0000 (13:06 -0800)]
Makefile: fix 'make-version' to use git-or-darcs, not just darcs

12 years ago_auto_deps.py: don't allow pycrypto 2.0.1. fixes #1631
david-sarah [Tue, 10 Jan 2012 19:57:58 +0000 (19:57 +0000)]
_auto_deps.py: don't allow pycrypto 2.0.1. fixes #1631

12 years agoMANIFEST.in: make git-based 'setup.py sdist' match darcs
Brian Warner [Mon, 9 Jan 2012 23:46:37 +0000 (15:46 -0800)]
MANIFEST.in: make git-based 'setup.py sdist' match darcs

Previously, tarballs generated from a git tree were lacking a lot of
important non-code files, like docs/

12 years agorestore .gitignore, stop .darcs-boringfile it
Brian Warner [Mon, 9 Jan 2012 02:52:43 +0000 (02:52 +0000)]
restore .gitignore, stop .darcs-boringfile it

12 years agoremove setuptools_darcs.egg
Brian Warner [Sun, 8 Jan 2012 22:55:45 +0000 (22:55 +0000)]
remove setuptools_darcs.egg

12 years agofix bundled data under git, remove setuptools_darcs
Brian Warner [Sun, 8 Jan 2012 18:16:54 +0000 (10:16 -0800)]
fix bundled data under git, remove setuptools_darcs

This uses explicitly enumerated packages= and package_data= arguments to
setup(), rather than relying upon the convenient (but darcs-specific)
functions which would determine these values by asking the revision-control
system.

Note that darcsver is still used, when building from a darcs tree.

12 years agomutable/retrieve.py: clean up control flow to avoid dropping errors
Brian Warner [Sun, 8 Jan 2012 02:12:51 +0000 (18:12 -0800)]
mutable/retrieve.py: clean up control flow to avoid dropping errors

* replace DeferredList with gatherResults, simplify result handling
* use BadShareError to signal recoverable problems in either fetch or
  validate, catch after _validate_block
* _validate_block is thus not responsible for noticing fetch problems
* rename _validation_or_decoding_failed() to _handle_bad_share()
* _get_needed_hashes() returns two Deferreds, instead of a hard-to-unpack
  DeferredList

12 years agomutable/layout.py: raise BadShareError instead of assert()
Brian Warner [Sun, 8 Jan 2012 02:05:08 +0000 (18:05 -0800)]
mutable/layout.py: raise BadShareError instead of assert()

12 years agomutable: don't tell server about corruption unless it's really CorruptShareError
Brian Warner [Sat, 7 Jan 2012 22:40:57 +0000 (14:40 -0800)]
mutable: don't tell server about corruption unless it's really CorruptShareError

12 years agomutable: simplify Retrieve._process_segment() to use a gatherDeferred
Brian Warner [Sat, 7 Jan 2012 22:28:57 +0000 (14:28 -0800)]
mutable: simplify Retrieve._process_segment() to use a gatherDeferred

12 years agoRetrieve.decode(): simplify setup of DeferredList-like argument
Brian Warner [Sat, 7 Jan 2012 22:12:26 +0000 (14:12 -0800)]
Retrieve.decode(): simplify setup of DeferredList-like argument

make it more obviously match the expectations of _decode_blocks() and
_maybe_decode_and_decrypt_segment()

12 years agomutable: add comments about the tricky DeferredList structures in retrieve
Brian Warner [Sat, 7 Jan 2012 21:52:39 +0000 (13:52 -0800)]
mutable: add comments about the tricky DeferredList structures in retrieve

12 years agoadd test-git-ignore.py, to port the 'clean' buildbot test to git
Brian Warner [Sat, 7 Jan 2012 00:48:47 +0000 (16:48 -0800)]
add test-git-ignore.py, to port the 'clean' buildbot test to git

add .gitignore to match .darcs-boringfile, mostly

13 years agoUse a private/drop_upload_dircap file instead of the [drop_upload]upload.dircap optio...
david-sarah [Sun, 20 Nov 2011 23:24:26 +0000 (23:24 +0000)]
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

12 years agotest_mutable: don't use 75 shares (slow), now that the bug is fixed
Brian Warner [Wed, 28 Dec 2011 22:38:19 +0000 (14:38 -0800)]
test_mutable: don't use 75 shares (slow), now that the bug is fixed

I missed this part of Kevan's fix-1628.darcs.2.patch .

13 years agomutable publish: fix not-enough-shares detection. Refs #1628.
Kevan Carstensen [Wed, 28 Dec 2011 05:50:18 +0000 (21:50 -0800)]
mutable publish: fix not-enough-shares detection. Refs #1628.

This should match the "fix-1628.darcs.2.patch" attachment on that ticket.

13 years agomutable publish: track multiple servers-per-share. Fixes some of #1628.
Kevan Carstensen [Wed, 28 Dec 2011 05:33:58 +0000 (21:33 -0800)]
mutable publish: track multiple servers-per-share. Fixes some of #1628.

The remaining work is to write additional tests.

src/allmydata/test/no_network.py:

 This supports tests in which servers leave the grid only to return with
 their shares intact at a later time.

src/allmydata/test/test_mutable.py:

 The UCWEs in the incident reports associated with #1628 all seem to be
 associated with shares that the servermap knows about, but which aren't
 accounted for during the publish process for whatever reason. Specifically,
 it looks like the publisher is only capable of keeping track of a single
 storage server for a given share. This makes the repair process worse than
 it was pre-MDMF at updating all of the shares of a particular file to the
 newest version, and can also cause spurious UCWEs. This test simulates such
 a layout and fails if an UCWE is thrown. We need to write another test to
 ensure that all copies of a share are updated to the latest version (or
 alter this test to do that), so that the test suite doesn't pass unless both
 regressions are fixed.

 We want the publisher to follow the existing share placement when uploading
 a new version of a mutable file, and we don't want this test to pass unless
 it does.

src/allmydata/mutable/publish.py:

 Before this commit, the publisher only kept track of a single writer for
 each share. This is insufficient to handle updates in which a single share
 may live on multiple servers. In the best case, an update will only update
 one of the existing shares instead of all of them. In some cases, the update
 will encounter the existing shares when publishing some other share,
 interpret it as a sign of an uncoordinated update, and fail. Keeping track
 of all of the writers helps ensure that all existing shares are updated, and
 helps avoid spurious uncoordinated write errors.

13 years agodocs: how_to_make_a_tahoe-lafs_release.rst add Google+ page to publicity list, change...
Zooko O'Whielacronx [Mon, 26 Dec 2011 15:19:05 +0000 (15:19 +0000)]
docs: how_to_make_a_tahoe-lafs_release.rst add Google+ page to publicity list, change to cute unicode checkboxes

13 years agodoc: about.rst: use unicode emdash, use non-embedded URIs, add clarificaiton of when...
Zooko O'Whielacronx [Tue, 6 Dec 2011 17:19:08 +0000 (17:19 +0000)]
doc: about.rst: use unicode emdash, use non-embedded URIs, add clarificaiton of when a file gets its mutable-or-immutable nature
embedded URIs, although documented here:
http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#embedded-uris
generate messages like this from rst2html --verbose:

quickstart.rst:3: (INFO/1) Duplicate explicit target name: "the tahoe-dev mailing list".

Also this patch prepends a "utf-8 BOM" to the beginning of the file.

13 years agominor cleanup: remove trailing spaces in misc/
Brian Warner [Sun, 18 Dec 2011 20:18:41 +0000 (12:18 -0800)]
minor cleanup: remove trailing spaces in misc/

13 years agoTests for ref #1592.
david-sarah [Sat, 17 Dec 2011 04:31:30 +0000 (04:31 +0000)]
Tests for ref #1592.

13 years agotest_web.py cleanup: use failUnlessIn/failIfIn in preference to 'in' operator.
david-sarah [Sat, 17 Dec 2011 04:27:10 +0000 (04:27 +0000)]
test_web.py cleanup: use failUnlessIn/failIfIn in preference to 'in' operator.

13 years agoMarcus Wanner's favicon patch. fixes #1592
david-sarah [Sat, 17 Dec 2011 03:32:01 +0000 (03:32 +0000)]
Marcus Wanner's favicon patch. fixes #1592

13 years agosetup.py: stop putting pyutil.version_class/etc in _version.py
Brian Warner [Mon, 5 Dec 2011 05:49:16 +0000 (21:49 -0800)]
setup.py: stop putting pyutil.version_class/etc in _version.py

allmydata.__version__ can just be a string, it doesn't need to be an instance
of some fancy NormalizedVersion class. Everything inside Tahoe uses
str(__version__) anyways.

Also add .dev0 when a git tree is dirty.

Closes #1466

13 years agosetup.py: get version from git or darcs
Brian Warner [Mon, 5 Dec 2011 04:40:01 +0000 (20:40 -0800)]
setup.py: get version from git or darcs

This replaces the setup.cfg aliases that run "darcsver" before each major
command with the new "update_version". update_version is defined in setup.py,
and tries to get a version string from either darcs or git (or leaves the
existing _version.py alone if neither VC metadata is available).

Also clean up a tiny typo in verlib.py that messed up syntax hilighting.

13 years agodocs/known_issues.rst: describe when the unauthorized access attack is known to be...
david-sarah [Fri, 18 Nov 2011 00:20:13 +0000 (00:20 +0000)]
docs/known_issues.rst: describe when the unauthorized access attack is known to be possible, and fix a link.

13 years agomore tiny buildbot-testing whitespace changes
Brian Warner [Fri, 18 Nov 2011 00:20:41 +0000 (00:20 +0000)]
more tiny buildbot-testing whitespace changes

13 years agomore tiny buildbot-testing whitespace changes
Brian Warner [Fri, 18 Nov 2011 00:18:28 +0000 (00:18 +0000)]
more tiny buildbot-testing whitespace changes

13 years agotiny change to exercise the buildbot hook
Brian Warner [Fri, 18 Nov 2011 00:15:11 +0000 (00:15 +0000)]
tiny change to exercise the buildbot hook

13 years agoStrengthen description of unauthorized access attack in known_issues.rst.
david-sarah [Fri, 18 Nov 2011 00:00:30 +0000 (00:00 +0000)]
Strengthen description of unauthorized access attack in known_issues.rst.

13 years agoremove remaining uses of nevow's "formless" module
Brian Warner [Thu, 17 Nov 2011 22:54:23 +0000 (14:54 -0800)]
remove remaining uses of nevow's "formless" module

We're slowly moving away from Nevow, and marcusw's previous patch removed
uses of the formless CSS file, so now we can stop testing that nevow can find
that file, and remove the lingering unused "import formless" call.

13 years ago1585-webui.darcs.patch
Marcus Wanner [Thu, 17 Nov 2011 21:49:23 +0000 (21:49 +0000)]
1585-webui.darcs.patch

13 years agoRemove duplicate tahoe_css links from manifest.xhtml and rename-form.xhtml
Brian Warner [Wed, 16 Nov 2011 22:42:25 +0000 (14:42 -0800)]
Remove duplicate tahoe_css links from manifest.xhtml and rename-form.xhtml

They were probably meant to be links to webform_css, but we aren't really
using Nevow's form-generation code anyways, so they can just be removed.
Thanks to 'marcusw' for the catch.

13 years agoiputil: handle openbsd5 (just like openbsd4)
Brian Warner [Tue, 15 Nov 2011 19:29:44 +0000 (11:29 -0800)]
iputil: handle openbsd5 (just like openbsd4)

Patch by 'sickness'. Closes #1584

13 years agoMakefile count-lines: let it work on OS-X (-l not --lines), add XXX
Brian Warner [Wed, 9 Nov 2011 18:42:27 +0000 (10:42 -0800)]
Makefile count-lines: let it work on OS-X (-l not --lines), add XXX

OS-X's simple-minded /usr/bin/wc doesn't understand --lines, but everyone
understands -l .

13 years agosetup.py: umask=022 for 'sdist', to avoid depending on environment
Brian Warner [Wed, 9 Nov 2011 18:36:32 +0000 (10:36 -0800)]
setup.py: umask=022 for 'sdist', to avoid depending on environment

The new tarball-building buildslave had a bogus umask set, causing the 1.9.0
tarballs to be non-other-user-readable (go-rwx), which is a hassle for
packaging. (The umask was correct on the old buildslave, but it was moved to
a new host shortly before the release). This should make sure tarballs are
correct despite the host's setting.

Note to others: processes run under twistd get umask=077 unless you arrange
otherwise.

13 years ago_auto_deps.py: blacklist PyCrypto 2.4.
david-sarah [Sat, 5 Nov 2011 02:24:57 +0000 (02:24 +0000)]
_auto_deps.py: blacklist PyCrypto 2.4.

13 years agocheck-miscaptures.py: report the number of files that were not analysed due to syntax...
david-sarah [Sun, 9 Oct 2011 05:03:01 +0000 (05:03 +0000)]
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

13 years agocheck-miscaptures.py: handle corner cases around default arguments correctly. Also...
david-sarah [Sun, 9 Oct 2011 04:50:23 +0000 (04:50 +0000)]
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

13 years agocheck-miscaptures.py: Python doesn't really have declarations; report the topmost...
david-sarah [Sun, 9 Oct 2011 04:48:00 +0000 (04:48 +0000)]
check-miscaptures.py: Python doesn't really have declarations; report the topmost assignment. refs #1555

13 years agocheck-miscaptures.py: handle destructuring function arguments correctly. refs #1555
david-sarah [Sun, 9 Oct 2011 04:47:10 +0000 (04:47 +0000)]
check-miscaptures.py: handle destructuring function arguments correctly. refs #1555

13 years agocheck-miscaptures.py: check while loops and list comprehensions as well as for loops...
david-sarah [Sun, 9 Oct 2011 04:40:22 +0000 (04:40 +0000)]
check-miscaptures.py: check while loops and list comprehensions as well as for loops. Also fix a pyflakes warning. refs #1555