tahoe-lafs/tahoe-lafs.git
17 years agodocs/subtree1.svg: make the page smaller
Brian Warner [Tue, 13 Nov 2007 20:54:51 +0000 (13:54 -0700)]
docs/subtree1.svg: make the page smaller

17 years agodecentralized directories: integration and testing
Zooko O'Whielacronx [Mon, 3 Dec 2007 21:52:42 +0000 (14:52 -0700)]
decentralized directories: integration and testing
 * use new decentralized directories everywhere instead of old centralized directories
 * provide UI to them through the web server
 * provide UI to them through the CLI
 * update unit tests to simulate decentralized mutable directories in order to test other components that rely on them
 * remove the notion of a "vdrive server" and a client thereof
 * remove the notion of a "public vdrive", which was a directory that was centrally published/subscribed automatically by the tahoe node (you can accomplish this manually by making a directory and posting the URL to it on your web site, for example)
 * add a notion of "wait_for_numpeers" when you need to publish data to peers, which is how many peers should be attached before you start.  The default is 1.
 * add __repr__ for filesystem nodes (note: these reprs contain a few bits of the secret key!)
 * fix a few bugs where we used to equate "mutable" with "not read-only".  Nowadays all directories are mutable, but some might be read-only (to you).
 * fix a few bugs where code wasn't aware of the new general-purpose metadata dict the comes with each filesystem edge
 * sundry fixes to unit tests to adjust to the new directories, e.g. don't assume that every share on disk belongs to a chk file.

17 years agounit tests: bump up a timeout which I encountered when running on a very slow machine
Zooko O'Whielacronx [Thu, 29 Nov 2007 21:47:35 +0000 (14:47 -0700)]
unit tests: bump up a timeout which I encountered when running on a very slow machine

17 years agosetup: README: warn against Python 2.4.1, recommend easy_install, link to easy_instal...
Zooko O'Whielacronx [Tue, 20 Nov 2007 20:39:22 +0000 (13:39 -0700)]
setup: README: warn against Python 2.4.1, recommend easy_install, link to easy_install download page, edit for clarity

17 years agosetup: make dependency failures more helpful (thanks to Priyanka)
Zooko O'Whielacronx [Tue, 20 Nov 2007 07:07:44 +0000 (00:07 -0700)]
setup: make dependency failures more helpful (thanks to Priyanka)

17 years agosetup: README: a few clarifications thanks to Priyanka
Zooko O'Whielacronx [Tue, 20 Nov 2007 06:08:53 +0000 (23:08 -0700)]
setup: README: a few clarifications thanks to Priyanka

17 years agosetup: pycryptopp: upgrade from v0.2.7 to v0.2.8
Zooko O'Whielacronx [Mon, 19 Nov 2007 22:55:17 +0000 (15:55 -0700)]
setup: pycryptopp: upgrade from v0.2.7 to v0.2.8

17 years agosetup: pycryptopp: upgrade from v0.2.6 to v0.2.7 (adds AES)
Zooko O'Whielacronx [Mon, 19 Nov 2007 22:07:11 +0000 (15:07 -0700)]
setup: pycryptopp: upgrade from v0.2.6 to v0.2.7 (adds AES)

17 years agoremove tahoe_put-web2ish.py
Zooko O'Whielacronx [Mon, 19 Nov 2007 21:07:28 +0000 (14:07 -0700)]
remove tahoe_put-web2ish.py
It isn't currently used, and I don't remember what part of its behavior was so much better than tahoe_put.py, and Brian has subsequently improved tahoe_put.py.

17 years agosetup: pass INCLUDE_DIRS and LIBRARY_DIRS variables, if any to setup.py from Makefile
Zooko O'Whielacronx [Wed, 14 Nov 2007 03:16:59 +0000 (20:16 -0700)]
setup: pass INCLUDE_DIRS and LIBRARY_DIRS variables, if any to setup.py from Makefile

17 years agoIMutableFileNode is a subtype of IFileNode
Zooko O'Whielacronx [Sat, 10 Nov 2007 23:37:18 +0000 (16:37 -0700)]
IMutableFileNode is a subtype of IFileNode
I'm not 100% sure that this is correct, but it looks reasonable, it passes unit
tests (although note that unit tests are currently not covering the new mutable
files very well), and it makes the "view JSON" link on a directory work instead
of raising an assertion error.

17 years agodon't provide the "overwrite" button if the file is readonly to you
Zooko O'Whielacronx [Sat, 10 Nov 2007 23:07:05 +0000 (16:07 -0700)]
don't provide the "overwrite" button if the file is readonly to you

17 years agoWUI: hook up an "overwrite" button on mutable files
Zooko O'Whielacronx [Sat, 10 Nov 2007 17:53:45 +0000 (10:53 -0700)]
WUI: hook up an "overwrite" button on mutable files

17 years agoremove parts of pycrypto that we are no longer going to use: SHA256 and RSA
Zooko O'Whielacronx [Sat, 10 Nov 2007 01:21:12 +0000 (18:21 -0700)]
remove parts of pycrypto that we are no longer going to use: SHA256 and RSA

17 years agosetup: require pycryptopp >= 0.2.6
Zooko O'Whielacronx [Sat, 10 Nov 2007 01:15:00 +0000 (18:15 -0700)]
setup: require pycryptopp >= 0.2.6

17 years agosetup: upgrade bundled pycryptopp from v0.2.5 to v0.2.6
Zooko O'Whielacronx [Sat, 10 Nov 2007 01:14:36 +0000 (18:14 -0700)]
setup: upgrade bundled pycryptopp from v0.2.5 to v0.2.6

17 years agomutable.py: fix padding/shape-of-input-data to zfec
Zooko O'Whielacronx [Sat, 10 Nov 2007 01:06:25 +0000 (18:06 -0700)]
mutable.py: fix padding/shape-of-input-data to zfec

17 years agosetup: automatically discover files to include in packages
Zooko O'Whielacronx [Sat, 10 Nov 2007 01:04:19 +0000 (18:04 -0700)]
setup: automatically discover files to include in packages
(Because they are python packages or because they are registered under darcs revision control.)

17 years agosetup: continue running setup.py even if ez_setup.py can't be imported
Zooko O'Whielacronx [Fri, 9 Nov 2007 21:58:03 +0000 (14:58 -0700)]
setup: continue running setup.py even if ez_setup.py can't be imported

17 years agohashutil.py: switch from pycrypto to pycryptopp SHA256
Zooko O'Whielacronx [Fri, 9 Nov 2007 21:40:13 +0000 (14:40 -0700)]
hashutil.py: switch from pycrypto to pycryptopp SHA256

17 years agosetup: fix formatting of error messages from makefile
Zooko O'Whielacronx [Fri, 9 Nov 2007 20:13:39 +0000 (13:13 -0700)]
setup: fix formatting of error messages from makefile

17 years agodocs/webapi.txt: document the POST t=upload&mutable=on command used to create mutable...
Brian Warner [Fri, 9 Nov 2007 11:05:07 +0000 (04:05 -0700)]
docs/webapi.txt: document the POST t=upload&mutable=on command used to create mutable files

17 years agowebish: add preliminary mutable file support: upload, download, listings, JSON, URI...
Brian Warner [Fri, 9 Nov 2007 10:54:27 +0000 (03:54 -0700)]
webish: add preliminary mutable file support: upload, download, listings, JSON, URI, RO-URI. No replace yet.

17 years agoconsolidate dirnode/filenode-creation code into Client
Brian Warner [Fri, 9 Nov 2007 09:54:51 +0000 (02:54 -0700)]
consolidate dirnode/filenode-creation code into Client

17 years agomutable: cheap padding hack to make zfec tolerate short files
Brian Warner [Thu, 8 Nov 2007 11:30:37 +0000 (04:30 -0700)]
mutable: cheap padding hack to make zfec tolerate short files

17 years agosetup: require pycryptopp >= v0.2.5
Zooko O'Whielacronx [Fri, 9 Nov 2007 20:03:15 +0000 (13:03 -0700)]
setup: require pycryptopp >= v0.2.5

17 years agosetup: upgrade the bundled pycryptopp tarball from pycryptopp v0.2.3 to pycryptopp...
Zooko O'Whielacronx [Fri, 9 Nov 2007 20:02:49 +0000 (13:02 -0700)]
setup: upgrade the bundled pycryptopp tarball from pycryptopp v0.2.3 to pycryptopp v0.2.5

17 years agomutable: verify incoming share signatures during Publish, it's not that expensive...
Brian Warner [Thu, 8 Nov 2007 21:02:36 +0000 (14:02 -0700)]
mutable: verify incoming share signatures during Publish, it's not that expensive and it's a good idea

17 years agotest_system: RSA keys are even more variable than I thought, 2044..2049
Brian Warner [Thu, 8 Nov 2007 12:04:11 +0000 (05:04 -0700)]
test_system: RSA keys are even more variable than I thought, 2044..2049

17 years agomutable: add basic test coverage of new-dirnodes-using-mutable-files
Brian Warner [Thu, 8 Nov 2007 11:31:00 +0000 (04:31 -0700)]
mutable: add basic test coverage of new-dirnodes-using-mutable-files

17 years agomutable: fix multiple-versions-interfering-with-each-other bug. replace() tests now...
Brian Warner [Thu, 8 Nov 2007 11:07:33 +0000 (04:07 -0700)]
mutable: fix multiple-versions-interfering-with-each-other bug. replace() tests now pass.

17 years agotest_system: RSA keys vary in size, expand valid ranges in test
Brian Warner [Thu, 8 Nov 2007 10:01:13 +0000 (03:01 -0700)]
test_system: RSA keys vary in size, expand valid ranges in test

17 years agomutable: grab encprivkey when necessary during publish, fix test_mutable
Brian Warner [Thu, 8 Nov 2007 09:46:27 +0000 (02:46 -0700)]
mutable: grab encprivkey when necessary during publish, fix test_mutable

17 years agodocs/configuration.txt: expand the 'sizelimit' docs
Brian Warner [Thu, 8 Nov 2007 09:08:42 +0000 (02:08 -0700)]
docs/configuration.txt: expand the 'sizelimit' docs

17 years agomutable: rearrange order of Publish to allow replace() to work. Doesn't work yet...
Brian Warner [Thu, 8 Nov 2007 04:01:39 +0000 (21:01 -0700)]
mutable: rearrange order of Publish to allow replace() to work. Doesn't work yet. Also test_mutable is disabled for a while.

17 years agoMakefile: check-deps: check for pycryptopp
Brian Warner [Thu, 8 Nov 2007 02:50:46 +0000 (19:50 -0700)]
Makefile: check-deps: check for pycryptopp

17 years agomutable: fix usage of NeedMoreDataError
Brian Warner [Thu, 8 Nov 2007 00:52:09 +0000 (17:52 -0700)]
mutable: fix usage of NeedMoreDataError

17 years agomutable: wire in RSA for real, using pycryptopp
Brian Warner [Thu, 8 Nov 2007 00:51:35 +0000 (17:51 -0700)]
mutable: wire in RSA for real, using pycryptopp

17 years agomutable: make error handling more robust
Brian Warner [Thu, 8 Nov 2007 00:45:45 +0000 (17:45 -0700)]
mutable: make error handling more robust

17 years agoUNDO: hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256
Zooko O'Whielacronx [Thu, 8 Nov 2007 01:02:39 +0000 (18:02 -0700)]
UNDO: hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256

17 years agohashutil: replace pycrypto's SHA256 with pycryptopp's SHA256
Zooko O'Whielacronx [Thu, 8 Nov 2007 01:02:39 +0000 (18:02 -0700)]
hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256

17 years agosetup: tell setuptools that we depend on pycryptopp >= 0.2.3
Zooko O'Whielacronx [Thu, 8 Nov 2007 00:55:18 +0000 (17:55 -0700)]
setup: tell setuptools that we depend on pycryptopp >= 0.2.3

17 years agosetup: upgrade to pycryptopp v0.2.3
Zooko O'Whielacronx [Thu, 8 Nov 2007 00:54:46 +0000 (17:54 -0700)]
setup: upgrade to pycryptopp v0.2.3

17 years agomutable: test roundtrip, make it work
Brian Warner [Wed, 7 Nov 2007 21:19:01 +0000 (14:19 -0700)]
mutable: test roundtrip, make it work

17 years agostorage.py: add a little logging (disabled)
Brian Warner [Wed, 7 Nov 2007 21:14:54 +0000 (14:14 -0700)]
storage.py: add a little logging (disabled)

17 years agosetup: print out the version number of pycryptopp in "tahoe --version"
Zooko O'Whielacronx [Wed, 7 Nov 2007 17:11:56 +0000 (10:11 -0700)]
setup: print out the version number of pycryptopp in "tahoe --version"

17 years agoCREDITS: more credit to nejucomo since we accepted a doc patch
Zooko O'Whielacronx [Wed, 7 Nov 2007 17:01:07 +0000 (10:01 -0700)]
CREDITS: more credit to nejucomo since we accepted a doc patch

17 years agoREADME: fix whitespace
Zooko O'Whielacronx [Wed, 7 Nov 2007 17:00:57 +0000 (10:00 -0700)]
README: fix whitespace

17 years agosetup: add Crypto++ and pycryptopp to dependencies
Zooko O'Whielacronx [Wed, 7 Nov 2007 17:00:13 +0000 (10:00 -0700)]
setup: add Crypto++ and pycryptopp to dependencies
Crypto++ is a new manual dependency (boo hoo), and pycryptopp is a new automatic dependency.

17 years agosetup: add misc/dependencies/pycryptopp-0.2.1.tar.gz
Zooko O'Whielacronx [Wed, 7 Nov 2007 16:59:51 +0000 (09:59 -0700)]
setup: add misc/dependencies/pycryptopp-0.2.1.tar.gz

17 years agoAdd "sizelimit" to configuration doc.
nejucomo [Mon, 5 Nov 2007 08:46:42 +0000 (01:46 -0700)]
Add "sizelimit" to configuration doc.

17 years agotest_system.mutable: make sure we exercise FEC padding
Brian Warner [Wed, 7 Nov 2007 02:50:33 +0000 (19:50 -0700)]
test_system.mutable: make sure we exercise FEC padding

17 years agodump-share: emit SDMF information too
Brian Warner [Wed, 7 Nov 2007 02:46:31 +0000 (19:46 -0700)]
dump-share: emit SDMF information too

17 years agoadd container_size to mutable dump-share output
Brian Warner [Wed, 7 Nov 2007 02:31:22 +0000 (19:31 -0700)]
add container_size to mutable dump-share output

17 years agomutable: stub out pubkey creation until we wire in pycryptopp properly
Brian Warner [Wed, 7 Nov 2007 02:27:06 +0000 (19:27 -0700)]
mutable: stub out pubkey creation until we wire in pycryptopp properly

17 years agotest_system.mutable: add test coverage for the 'dump-share' debug command
Brian Warner [Wed, 7 Nov 2007 02:10:49 +0000 (19:10 -0700)]
test_system.mutable: add test coverage for the 'dump-share' debug command

17 years agotest_system: add early test for mutable slots, currently publish-only
Brian Warner [Wed, 7 Nov 2007 01:57:11 +0000 (18:57 -0700)]
test_system: add early test for mutable slots, currently publish-only

17 years agotest_mutable: remove dead code
Brian Warner [Wed, 7 Nov 2007 01:56:39 +0000 (18:56 -0700)]
test_mutable: remove dead code

17 years agodebug: add mutable-slot support to 'dump-share' command
Brian Warner [Wed, 7 Nov 2007 01:55:55 +0000 (18:55 -0700)]
debug: add mutable-slot support to 'dump-share' command

17 years agomutable: storage_index is always 16 bytes
Brian Warner [Wed, 7 Nov 2007 01:54:34 +0000 (18:54 -0700)]
mutable: storage_index is always 16 bytes

17 years agomutable: fix use of storage API
Brian Warner [Wed, 7 Nov 2007 01:53:34 +0000 (18:53 -0700)]
mutable: fix use of storage API

17 years agostabilize on 20-byte nodeids everywhere, printed with foolscap's base32
Brian Warner [Wed, 7 Nov 2007 01:49:59 +0000 (18:49 -0700)]
stabilize on 20-byte nodeids everywhere, printed with foolscap's base32

17 years agomutable: rearrange classes, putting MutableFileNode at the bottom
Brian Warner [Tue, 6 Nov 2007 22:19:48 +0000 (15:19 -0700)]
mutable: rearrange classes, putting MutableFileNode at the bottom

17 years agomutable: parameterize Publish/Retrieve classes in MutableFileNode, for tests
Brian Warner [Tue, 6 Nov 2007 22:18:09 +0000 (15:18 -0700)]
mutable: parameterize Publish/Retrieve classes in MutableFileNode, for tests

17 years agomutable: move IV into signed prefix, add more retrieval code
Brian Warner [Tue, 6 Nov 2007 22:04:46 +0000 (15:04 -0700)]
mutable: move IV into signed prefix, add more retrieval code

17 years agomutable: get most of the retrieve-side code written. no tests yet.
Brian Warner [Tue, 6 Nov 2007 10:47:29 +0000 (03:47 -0700)]
mutable: get most of the retrieve-side code written. no tests yet.

17 years agotest_mutable.py: hush pyflakes
Brian Warner [Tue, 6 Nov 2007 08:32:39 +0000 (01:32 -0700)]
test_mutable.py: hush pyflakes

17 years agomutable.Publish: rearrange create() to use more of it in unit tests
Brian Warner [Tue, 6 Nov 2007 07:33:40 +0000 (00:33 -0700)]
mutable.Publish: rearrange create() to use more of it in unit tests

17 years agomutable.Publish: more tests
Brian Warner [Tue, 6 Nov 2007 05:38:43 +0000 (22:38 -0700)]
mutable.Publish: more tests

17 years agomutable.Publish: create a dispatch_map for the benefit of recovery code, and pull...
Brian Warner [Tue, 6 Nov 2007 05:14:59 +0000 (22:14 -0700)]
mutable.Publish: create a dispatch_map for the benefit of recovery code, and pull pack/unpack methods out into functions

17 years agomutable: use proper enable/renew/cancel secrets
Brian Warner [Tue, 6 Nov 2007 04:51:08 +0000 (21:51 -0700)]
mutable: use proper enable/renew/cancel secrets

17 years agoMakefile: add 'find-trailing-spaces' tool and target
Brian Warner [Tue, 6 Nov 2007 04:32:08 +0000 (21:32 -0700)]
Makefile: add 'find-trailing-spaces' tool and target

17 years agomutable: added send-messages-to-peers code, about 70% done. No recovery code yet.
Brian Warner [Tue, 6 Nov 2007 04:29:47 +0000 (21:29 -0700)]
mutable: added send-messages-to-peers code, about 70% done. No recovery code yet.

17 years agostorage: rewrite slot API, now use testv_and_readv_and_writev or readv
Brian Warner [Tue, 6 Nov 2007 03:17:14 +0000 (20:17 -0700)]
storage: rewrite slot API, now use testv_and_readv_and_writev or readv

17 years agotest_mutable: hush pyflakes warning
Brian Warner [Mon, 5 Nov 2007 07:41:53 +0000 (00:41 -0700)]
test_mutable: hush pyflakes warning

17 years agomutable: add peer-selection to Publish, and some basic unit tests
Brian Warner [Mon, 5 Nov 2007 07:38:07 +0000 (00:38 -0700)]
mutable: add peer-selection to Publish, and some basic unit tests

17 years agostorage: add readv_slots: get data from all shares
Brian Warner [Mon, 5 Nov 2007 07:37:01 +0000 (00:37 -0700)]
storage: add readv_slots: get data from all shares

17 years agomutable.py: start writing share-mapping code
Brian Warner [Sat, 3 Nov 2007 05:59:02 +0000 (22:59 -0700)]
mutable.py: start writing share-mapping code

17 years agoMakefile: add simple 'repl' target to start a python interpreter with a useful PYTHONPATH
Brian Warner [Sat, 3 Nov 2007 05:32:55 +0000 (22:32 -0700)]
Makefile: add simple 'repl' target to start a python interpreter with a useful PYTHONPATH

17 years agomutable.py: add share-unpacking code, use it for more tests
Brian Warner [Sat, 3 Nov 2007 05:28:31 +0000 (22:28 -0700)]
mutable.py: add share-unpacking code, use it for more tests

17 years agomutable.txt: need offset of EOF too
Brian Warner [Sat, 3 Nov 2007 05:28:07 +0000 (22:28 -0700)]
mutable.txt: need offset of EOF too

17 years agomutable.txt: more notes
Brian Warner [Sat, 3 Nov 2007 03:53:41 +0000 (20:53 -0700)]
mutable.txt: more notes

17 years agomutable: implement filenode share-packing, still pretty rough
Brian Warner [Sat, 3 Nov 2007 03:51:39 +0000 (20:51 -0700)]
mutable: implement filenode share-packing, still pretty rough

17 years agomutable.py: sketch out data-structure packing/unpacking methods
Brian Warner [Fri, 2 Nov 2007 07:03:28 +0000 (00:03 -0700)]
mutable.py: sketch out data-structure packing/unpacking methods

17 years agomutable: split dirnode stuff out to dirnode2.py, will be renamed later
Brian Warner [Fri, 2 Nov 2007 06:46:47 +0000 (23:46 -0700)]
mutable: split dirnode stuff out to dirnode2.py, will be renamed later

17 years agotest_client: increase test_reloadable inter-run timeout, cygwin was failing
Brian Warner [Fri, 2 Nov 2007 02:19:08 +0000 (19:19 -0700)]
test_client: increase test_reloadable inter-run timeout, cygwin was failing

17 years agomutable: improve NewDirectoryNode test coverage
Brian Warner [Fri, 2 Nov 2007 01:35:54 +0000 (18:35 -0700)]
mutable: improve NewDirectoryNode test coverage

17 years agoimplement preliminary log publisher/gatherer
Brian Warner [Fri, 2 Nov 2007 00:29:15 +0000 (17:29 -0700)]
implement preliminary log publisher/gatherer

This creates a Referenceable object that will eventually be able to publish
log events to a remote subscriber (at present all it can do is provide
version information). The FURL for this logport is written to 'logport.furl'.

In addition, if a file named 'log_gatherer.furl' is present, the given target
will be contacted and offered access to the logport. This can be used by a
centralized logging agent to subscribe to logs, e.g. from all the nodes in a
centrally-maintained storage grid. (think syslog -r, but with all the
security properties of FURLs, and permitting non-printable strings and
structured data).

Once this framework matures a bit, it will be moved into Foolscap.

17 years agoClient.tub_ready: upcall to Node
Brian Warner [Fri, 2 Nov 2007 00:27:12 +0000 (17:27 -0700)]
Client.tub_ready: upcall to Node

17 years agomutable: implement most remaining dirnode methods. No tests yet.
Brian Warner [Thu, 1 Nov 2007 23:57:58 +0000 (16:57 -0700)]
mutable: implement most remaining dirnode methods. No tests yet.

17 years agobencode.py: reencode as UTF-8
Brian Warner [Thu, 1 Nov 2007 22:42:57 +0000 (15:42 -0700)]
bencode.py: reencode as UTF-8

17 years agotrailing-whitespace eradication, no functional changes
Brian Warner [Thu, 1 Nov 2007 22:34:35 +0000 (15:34 -0700)]
trailing-whitespace eradication, no functional changes

17 years agotrailing-whitespace eradication, no functional changes
Brian Warner [Thu, 1 Nov 2007 22:34:31 +0000 (15:34 -0700)]
trailing-whitespace eradication, no functional changes

17 years agotrailing-whitespace eradication, no functional changes
Brian Warner [Thu, 1 Nov 2007 22:34:28 +0000 (15:34 -0700)]
trailing-whitespace eradication, no functional changes

17 years agotrailing-whitespace eradication, no functional changes
Brian Warner [Thu, 1 Nov 2007 22:34:21 +0000 (15:34 -0700)]
trailing-whitespace eradication, no functional changes

17 years agotrailing-whitespace eradication, no functional changes
Brian Warner [Thu, 1 Nov 2007 22:34:18 +0000 (15:34 -0700)]
trailing-whitespace eradication, no functional changes

17 years agotrailing-whitespace eradication, no functional changes
Brian Warner [Thu, 1 Nov 2007 22:34:12 +0000 (15:34 -0700)]
trailing-whitespace eradication, no functional changes

17 years agotrailing-whitespace eradication, no functional changes
Brian Warner [Thu, 1 Nov 2007 22:34:07 +0000 (15:34 -0700)]
trailing-whitespace eradication, no functional changes

17 years agotrailing-whitespace eradication, no functional changes
Brian Warner [Thu, 1 Nov 2007 22:34:01 +0000 (15:34 -0700)]
trailing-whitespace eradication, no functional changes

17 years agotrailing-whitespace eradication, no functional changes
Brian Warner [Thu, 1 Nov 2007 22:33:47 +0000 (15:33 -0700)]
trailing-whitespace eradication, no functional changes