Zooko O'Whielacronx
80ae6f2706
setup: fix error in licensing declaration from Shawn Willden, as noted by the FSF compliance division
2010-03-09 08:37:36 -08:00
david-sarah
c984a09fe7
Fix race conditions and missing callback in allmydata.test.test_cli.Cp.test_copy_using_filecap, add utilities for one-liner reading and writing of files, and fix cases in test_cli where files were not being closed after writing.
2010-02-05 17:37:27 -08:00
Brian Warner
731d15e56f
hush pyflakes-0.4.0 warnings: remove trivial unused variables. For #900 .
2010-01-14 14:15:29 -08:00
Brian Warner
d888bf3377
Clean up log.err calls, for one of the issues in #889 .
...
allmydata.util.log.err() either takes a Failure as the first positional
argument, or takes no positional arguments and must be invoked in an
exception handler. Fixed its signature to match both foolscap.logging.log.err
and twisted.python.log.err . Included a brief unit test.
2010-01-11 17:33:43 -08:00
Brian Warner
bacb6fe5aa
tidy up DeadReferenceError handling, ignore them in add_lease calls
...
Stop checking separately for ConnectionDone/ConnectionLost, since those have
been folded into DeadReferenceError since foolscap-0.3.1 . Write
rrefutil.trap_deadref() in terms of rrefutil.trap_and_discard() to improve
code coverage.
2010-01-11 16:07:23 -08:00
Brian Warner
a4a6c02ef8
more #859 : avoid deprecation warning for unit tests too, hush pyflakes
...
* factor maybe-import-sha logic into util.hashutil
2009-12-14 16:01:47 -08:00
Zooko O'Whielacronx
4706859967
setup: ignore _darcs in the "test-clean" test and make the "clean" step remove all .egg's in the root dir
2009-12-06 10:48:35 -08:00
Brian Warner
96834da0a2
Simplify immutable download API: use just filenode.read(consumer, offset, size)
...
* remove Downloader.download_to_data/download_to_filename/download_to_filehandle
* remove download.Data/FileName/FileHandle targets
* remove filenode.download/download_to_data/download_to_filename methods
* leave Downloader.download (the whole Downloader will go away eventually)
* add util.consumer.MemoryConsumer/download_to_data, for convenience
(this is mostly used by unit tests, but it gets used by enough non-test
code to warrant putting it in allmydata.util)
* update tests
* removes about 180 lines of code. Yay negative code days!
Overall plan is to rewrite immutable/download.py and leave filenode.read() as
the sole read-side API.
2009-12-01 17:53:30 -05:00
Brian Warner
9901a08fd3
Add dirnodes to backupdb and "tahoe backup", closes #606 .
...
* backups now share dirnodes with any previous backup, in any location,
so renames and moves are handled very efficiently
* "tahoe backup" no longer bothers reading the previous snapshot
* if you switch grids, you should delete ~/.tahoe/private/backupdb.sqlite,
to force new uploads of all files and directories
2009-11-26 15:42:57 -08:00
Brian Warner
41bcc9f39e
PipelineError: fix str() on python2.4 . Closes #842 .
2009-11-24 13:25:12 -08:00
Brian Warner
ea373de042
move dirnode.CachingDict to dictutil.AuxValueDict, generalize method names,
...
improve tests. Let dirnode _pack_children accept either dict or AuxValueDict.
2009-10-17 11:00:05 -07:00
Zooko O'Whielacronx
00a44c057a
docs: a few licensing clarifications requested by Ubuntu
2009-09-26 20:32:26 -07:00
Zooko O'Whielacronx
aaaa633f18
setup: remove a convenience copy of figleaf, to ease inclusion into Ubuntu Karmic Koala
...
We need to carefully document the licence of figleaf in order to get Tahoe-LAFS into Ubuntu Karmic Koala. However, figleaf isn't really a part of Tahoe-LAFS per se -- this is just a "convenience copy" of a development tool. The quickest way to make Tahoe-LAFS acceptable for Karmic then, is to remove figleaf from the Tahoe-LAFS tarball itself. People who want to run figleaf on Tahoe-LAFS (as everyone should want) can install figleaf themselves. I haven't tested this -- there may be incompatibilities between upstream figleaf and the copy that we had here...
2009-09-23 22:32:15 -07:00
Zooko O'Whielacronx
9f0da4012e
docs: Shawn Willden grants permission for his contributions under GPL2+|TGPPL1+
2009-09-21 09:46:51 -07:00
Zooko O'Whielacronx
603e08c4a9
doc: licensing cleanups
...
Use nice utf-8 © instead of "(c)". Remove licensing statements on utility modules that have been assigned to allmydata.com by their original authors. (Nattraverso was not assigned to allmydata.com -- it was LGPL'ed -- but I checked and src/allmydata/util/iputil.py was completely rewritten and doesn't contain any line of code from nattraverso.) Add notes to misc/debian/copyright about licensing on files that aren't just allmydata.com-licensed.
2009-09-20 10:16:31 -07:00
Zooko O'Whielacronx
2a63fc9159
docs: update relnotes.txt, relnotes-short.txt, and others documentation bits for v1.5.0 release!
2009-08-01 19:57:10 -07:00
Zooko O'Whielacronx
b76ca4549a
iputil: added "openbsd3" => "bsd" and "openbsd4" => "bsd" per tdelaet's report; should fix ticket #768
2009-07-20 06:13:14 -07:00
Zooko O'Whielacronx
7607268a58
trivial: remove obsolete comment text
2009-07-20 06:08:43 -07:00
Zooko O'Whielacronx
2f704ed001
dirnode: finish renaming "iv" to "salt" in the code and the hash tag
2009-07-12 17:13:20 -07:00
Zooko O'Whielacronx
786ed012b3
directories: make the IV for the writecaps in directory entries be computed from the secure hash of the writecap itself
...
This makes encoding of directory entries deterministic, and it is also a tad faster on Macbook Pro than getting a random IV with os.urandom(16).
2009-07-04 19:48:15 -07:00
Zooko O'Whielacronx
fcedca966e
tests: raise the timeout on pollmixin from 100s to 1000s -- it looks like it may have triggered too eagerly on Zandr's 266 MHz armel
2009-07-08 21:47:29 -07:00
Zooko O'Whielacronx
efafcfb91a
directories: keep track of your position as you decode netstring after netstring from an input buffer instead of copying the trailing part
...
This makes decoding linear in the number of netstrings instead of O(N^2).
2009-07-04 19:51:09 -07:00
Brian Warner
c6ae255847
remove trailing whitespace
2009-06-29 13:03:58 -07:00
Brian Warner
dddc2d0378
remove trailing whitespace from some util classes
2009-06-29 13:03:41 -07:00
midnightmagic
96cda877ff
Basically just a trivial platform detection patch for NetBSD.
2009-06-17 16:36:47 -07:00
Brian Warner
aa23ff9180
rrefutil: add trap_deafref utility, to make the callRemote-plus-ignore-DeadReferenceError-plug-log-other-errors pattern easier
2009-06-22 19:08:26 -07:00
Brian Warner
699510c8f1
PollMixin: snoop trial's error observer to halt the test early if an error is seen. This turns a lot of timeouts into fast failures.
2009-06-22 19:07:31 -07:00
Zooko O'Whielacronx
cc2953e663
util: hooray! A clean implementation of this simple utility! Black Dew pointed out that the inverse of time.gmtime() is hidden in the "calendar" module.
2009-06-13 09:01:12 -07:00
Zooko O'Whielacronx
45928315f6
util: Brian's horrible hack to figure out how much localtime and utctime differ. Now we'll see if it works on Windows.
2009-06-12 13:45:56 -07:00
Zooko O'Whielacronx
4a30c5899c
util: oops, time.tzset() doesn't work on Windows -- hopefully the new "London" unit test passes on Windows when we skip tzset() on platforms that don't have it
2009-06-11 17:09:20 -07:00
Zooko O'Whielacronx
8978cb0738
util: fix time_format.iso_utc_time_to_seconds() so that it works even in London
2009-06-11 15:11:29 -07:00
Brian Warner
1863aee0aa
switch to using RemoteException instead of 'wrapped' RemoteReferences. Should fix #653 , the rref-EQ problem
2009-05-21 17:46:32 -07:00
Brian Warner
c9803d5217
switch all foolscap imports to use foolscap.api or foolscap.logging
2009-05-21 17:38:23 -07:00
Brian Warner
e76c6b606f
util/pipeline.py: new utility class to manage size-limited work pipelines, for #392
2009-05-18 16:43:26 -07:00
Zooko O'Whielacronx
9729753692
dirnode: add 'tahoe'/'linkcrtime' and 'tahoe'/'linkmotime' to take the place of what 'mtime'/'ctime' originally did, and make the 'tahoe' subdict be unwritable through the set_children API
...
Also add extensive documentation in docs/frontends/webapi.txt about the behaviors of these values. See ticket #628 .
2009-04-11 15:52:05 -07:00
Zooko O'Whielacronx
3ac5f427ba
trivial: source code metadata
2009-04-03 16:33:15 -07:00
Zooko O'Whielacronx
b12a7f9ee8
leases, time_format: modify time stamping in lease description
...
* emit lease expiry date in ISO-8601'ish format as well as Brian's format
* rename iso_utc_time_to_localseconds() to iso_utc_time_to_seconds()
* add iso_utc_date()
* simplify the body of iso_utc_time_to_seconds()
2009-04-03 15:59:04 -07:00
Brian Warner
01e2032669
hashutil: add constant-time comparison function, to avoid timing attacks when python's short-circuiting data-dependent == operator is used to, say, check a write-enabler
2009-03-22 20:20:55 -07:00
Brian Warner
66fe8ca24c
parse_date: insist that it returns an int
2009-03-19 11:44:43 -07:00
Brian Warner
babcf632da
util/time_format: new routine to parse dates like 2009-03-18, switch expirer to use it. I'd prefer to use 18-Mar-2009, but it is surprisingly non-trivial to build a parser that will take UTC dates instead of local dates
2009-03-18 17:58:14 -07:00
Brian Warner
406fdba61f
add utility function to parse durations, for lease-expiration config
2009-03-17 00:01:17 -07:00
Brian Warner
8c3013c4f7
rrefutil: add check_remote utility function
2009-02-27 00:59:57 -07:00
Brian Warner
1b3e635936
rrefutil: add trap_remote utility and friends
2009-02-27 00:55:24 -07:00
Brian Warner
89f041ac83
fileutil: add move_into_place(), to perform the standard unix trick of atomically replacing a file, with a fallback for windows
2009-02-18 23:13:10 -07:00
Brian Warner
191fd8556a
tests: fix no_network framework to work with upload/download and checker
2009-02-16 17:19:47 -07:00
Brian Warner
e1380b132b
util/statistics: add tests, fix mean_repair_cost
2009-02-15 16:23:26 -07:00
Shawn Willden
51ab76875b
More lossmodel work, on repair.
2009-01-15 20:56:48 -07:00
Shawn Willden
21832280da
Statistics module
...
Added a statistics module for calculating various facets of
share survival statistics.
2009-01-13 20:12:35 -07:00
Brian Warner
4aee51ff6f
figleaf_htmlizer: fix order of summary counters
2009-02-13 09:57:53 -07:00
Brian Warner
aee319e236
figleaf_htmlizer: oops, re-ignore files that aren't under root, like code in auto-built eggs
2009-02-13 00:00:22 -07:00