Commit Graph

577 Commits

Author SHA1 Message Date
Brian Warner
9c5ab89afe truncate storage index to 128 bits, since it's derived from a 128 bit AES key 2007-07-22 19:48:44 -07:00
Brian Warner
81a9904455 CHK: remove the storage index from the URI, deriving it from the key instead 2007-07-21 18:23:15 -07:00
Brian Warner
2bc3c163b6 uri.py: get keys and index from the URI instance 2007-07-21 17:45:00 -07:00
Brian Warner
1d9a58977f uri: implement URI-processing classes, IFileURI/IDirnodeURI, use internally 2007-07-21 15:40:36 -07:00
Brian Warner
32fcf0b405 dirnode.build_manifest(): tolerate cycles in the directory graph 2007-07-21 15:40:13 -07:00
Brian Warner
e3a57fca98 upload: finish refactoring, all unit tests pass now 2007-07-19 22:53:29 -07:00
Brian Warner
9af506900b upload: refactor to enable streaming upload. not all tests pass yet 2007-07-19 18:21:44 -07:00
Brian Warner
a7f04616bf webish: improve test coverage further 2007-07-17 12:28:29 -07:00
Brian Warner
3197e1d39b webish: improve test coverage of WebDownloadTarget 2007-07-17 12:16:45 -07:00
Brian Warner
d927d371b7 check_memory.py: test POST-based uploads as well as from-disk ones 2007-07-16 20:17:51 -07:00
Brian Warner
4db205b8b3 vdrive.py: log a note when we successfully retrieve the global root directory 2007-07-16 20:17:06 -07:00
Brian Warner
0826b1bd34 introducer.py: minor rearrangement of methods 2007-07-16 19:47:42 -07:00
Brian Warner
0269a6229b check_memory.py: fix benign-but-noisy vdrive.furl handling bug 2007-07-16 19:34:52 -07:00
Brian Warner
0fd5dcacf6 check_memory: update it, write stats to a file, disable 50MB test for now 2007-07-16 18:08:55 -07:00
Brian Warner
1aa22b9abd client.py: add a 'debug_no_storage' option to throw out all share data 2007-07-16 18:07:03 -07:00
Brian Warner
e91288d9ed client.py: write control.furl in the right place 2007-07-16 18:06:27 -07:00
robk-org
920fed7f2a added unit test to webish's rename function
added unit tests to test various permutations of the rename function, and
some sanity checks on the rename-form function.

also added a guard to prevent '/' in from_/to_name in rename calls.
2007-07-16 17:05:01 -07:00
Brian Warner
9be3da03f6 runner.py: make 'allmydata-tahoe --version' emit version numbers of everything 2007-07-16 14:58:36 -07:00
Brian Warner
20c980d02b reduce MAX_SEGMENT_SIZE from 2MB to 1MB, to compensate for the large blocks that 3-of-10 produces 2007-07-16 13:48:34 -07:00
Brian Warner
56dcb814a8 webish: test error cases more thoroughly by looking inside the response text 2007-07-16 12:01:19 -07:00
Brian Warner
3f294d5597 webish: oops, handle POST without localfile= too 2007-07-16 12:00:54 -07:00
Brian Warner
f207f4a199 webish.py: disallow slashes in POSTed filenames. Closes #75. 2007-07-16 11:53:12 -07:00
Brian Warner
7bc031a81d webish.Directory: add a 'text/plain' link for files, to download as plaintext.
This is useful to view (e.g.) .py files that would otherwise be served as
some weird text/x-python that browsers will just want to save to disk.
2007-07-13 23:45:35 -07:00
Brian Warner
225fbfee57 storage.py: add a test for the next_power_of_k fix I made a few hours ago, basically do an upload with a non-power-of-two number of segments 2007-07-13 22:24:06 -07:00
Brian Warner
6e1ad64c9d webish.py: test that _get_or_create_directories fix I made a few hours ago 2007-07-13 22:19:16 -07:00
Brian Warner
016e17446a simplejson: lower our minimum-required-version of setuptools to 0.6a9, since that seems to work, and it's the version that comes with dapper 2007-07-13 19:47:56 -07:00
Brian Warner
a290205ade webish: handle PUTs to direct children of the root 2007-07-13 19:31:52 -07:00
Brian Warner
8a39ee9034 storage.py: turn some assertions into preconditions 2007-07-13 19:30:48 -07:00
Brian Warner
9fc687cdfc storage.py: handle num_segments != power-of-two without an assertion 2007-07-13 19:30:21 -07:00
Brian Warner
5c08be170e interfaces: increase ShareSize now that our default k is smaller (hence blocks are bigger) 2007-07-13 19:29:31 -07:00
Brian Warner
c6f52e379a rename storageserver.py to just storage.py, since it has both server and client sides now 2007-07-13 17:25:45 -07:00
Brian Warner
0468448b85 welcome.xhtml: add a link to allmydata.org 2007-07-13 17:15:44 -07:00
Brian Warner
d206843625 encode.py: minor typo 2007-07-13 17:00:06 -07:00
Brian Warner
4d868e6649 fix dump-uri-extension 2007-07-13 16:58:08 -07:00
Brian Warner
35117d77a0 storageserver.ReadBucketProxy: break out _parse_offsets, for debug tools 2007-07-13 16:52:17 -07:00
Brian Warner
7589a8ee82 storage: we must truncate short segments. Now most tests pass (except uri_extension) 2007-07-13 16:38:25 -07:00
Brian Warner
1f8e407d9c more #85 work, system test still fails 2007-07-13 15:09:01 -07:00
Brian Warner
cd8648d39b storage: use one file per share instead of 7 (#85). work-in-progress, tests still fail 2007-07-13 14:04:49 -07:00
Brian Warner
6ff94541a8 control.py: make get_memory_usage() callable from elsewhere 2007-07-08 19:07:54 -07:00
robk-org
d65d02fa58 add a 'rename' button to the webish dir view
alongside the 'del' button is now presented a 'rename' button, which takes
the user to a new page, the 't=rename-form' page, which asks ther user for
the new name of the child and ultimately submits a POST request to the dir
for 't=rename' to perform the actual rename i.e. an attach followed by a
delete of children.
2007-07-12 16:53:54 -07:00
robk-org
15c3055176 fix bug in arg handling around 'delete' button in directory view
the code composing the form providing the 'delete' button in a dir
view was broken in that it tried to put some of the arguments into 
the url query, rather than as the form's post args.  worse, nevow
was kind enough to escape the querystring making it invalid.
2007-07-12 16:46:54 -07:00
robk-org
cacc9ac7b1 include the filename on URI-link urls for files
this is likely to induce browsers to do more useful things with the result
than they would when given neither content-type nor filename.  (i.e. they
can guess that a .jpg file is an image, even with a bogus content type)
2007-07-11 15:26:47 -07:00
Brian Warner
798b714bef webish.DirnodeWalkerMixin: comment out the code that demonstrates what we
would do if we could just use generators, since we don't use it.
2007-07-12 23:28:09 -07:00
Brian Warner
b0c65ed232 note that setting k=1 is equivalent to replication 2007-07-12 16:22:12 -07:00
Brian Warner
ba7e14a870 fix several methods to handle LIT URIs correctly, rather than assuming that all filenodes are CHK URIs 2007-07-12 16:17:49 -07:00
Brian Warner
53cf757be3 make it possible to download LIT uris. oops. 2007-07-12 16:16:59 -07:00
Brian Warner
5399395c27 allow the introducer to set default encoding parameters. Closes #84.
By writing something like "25 75 100" into a file named 'encoding_parameters'
in the central Introducer's base directory, all clients which use that
introducer will be advised to use 25-out-of-100 encoding for files (i.e.
100 shares will be produced, 25 are required to reconstruct, and the upload
process will be happy if it can find homes for at least 75 shares). The
default values are "3 7 10". For small meshes, the defaults are probably
good, but for larger ones it may be appropriate to increase the number of
shares.
2007-07-12 15:33:30 -07:00
Brian Warner
def63d193e implement URI:LIT, which stores small (<55B) files inside the URI itself. Fixes #81. 2007-07-12 13:22:36 -07:00
Brian Warner
b62252183d interfaces.py: increase RIVirtualDriveServer.list constraint from 100 entries to 1000, for now 2007-07-12 13:23:52 -07:00
Brian Warner
9238c61224 cli: implement 'get' 2007-07-11 10:26:19 -07:00
Zooko O'Whielacronx
32166c360a tahoe_ls: remove a couple of vestigial or debugging bits 2007-07-10 19:46:40 -07:00
Brian Warner
b419b853ea cli: implement 'allmydata-tahoe ls' 2007-07-10 19:37:37 -07:00
Brian Warner
d8a878da86 startstop_node.py: refactor find_twistd() out so it is only run when you need to start a node 2007-07-10 19:13:55 -07:00
Brian Warner
f22801aa33 runner.py: further refactoring 2007-07-10 19:05:18 -07:00
Brian Warner
4a16d20d85 runner.py: start to refactor into separate files 2007-07-10 18:41:52 -07:00
Brian Warner
944583a599 tahoe-ls.py: hush a pyflakes warning 2007-07-10 16:26:05 -07:00
Brian Warner
38ef49aea9 patch simplejson's ezsetup to take a min_version, and patch setup.py to use it, to allow installs on edgy machines with setuptools-0.6c3 2007-07-10 16:11:11 -07:00
Brian Warner
cf57359b0b remove simplejson.egg-info from the repo (and boringfile it), it should never have been in the original tarball 2007-07-10 15:51:58 -07:00
Brian Warner
ea3c3e6780 import simplejson directly, and remove our local copies of the component .py files from util/json* 2007-07-10 15:49:32 -07:00
Brian Warner
dec729028f tahoe-ls.py: initial version of an 'ls' CLI utility 2007-07-10 15:34:55 -07:00
Brian Warner
0d80d569fa import simplejson-1.7.1 into src/simplejson 2007-07-10 15:22:53 -07:00
Brian Warner
13e84526a1 webapi: normalized API: use t=upload or t=download when providing localdir= or localfile= 2007-07-10 13:24:10 -07:00
Brian Warner
ad038497db import the decoder portion of simplejson-1.7.1 too 2007-07-10 13:12:40 -07:00
Brian Warner
5264559561 webish: cosmetic: fix missing whitespace in HTML 2007-07-10 10:33:19 -07:00
Zooko O'Whielacronx
2a4423ba14 tahoe-get.py: fix bug: actually respect the optional server argument 2007-07-09 18:47:16 -07:00
Zooko O'Whielacronx
9bc87f610c tahoe-get.py: add optional target-local-file argument 2007-07-09 18:27:11 -07:00
Zooko O'Whielacronx
9641a6df22 tahoe-get.py: accept vdrive and server options (using optparse) 2007-07-09 18:20:02 -07:00
Zooko O'Whielacronx
8769f2eeba tahoe-get.py: the first, most primitive command-line client 2007-07-09 18:19:53 -07:00
Brian Warner
dce1dc2730 storage: wrap buckets in a local proxy
This will make it easier to change RIBucketWriter in the future to reduce the wire
protocol to just open/write(offset,data)/close, and do all the structuring on the
client end. The ultimate goal is to store each bucket in a single file, to reduce
the considerable filesystem-quantization/inode overhead on the storage servers.
2007-07-08 23:27:46 -07:00
Brian Warner
8891544d6c directory.xhtml: oops, missed a comma 2007-07-08 00:44:08 -07:00
Brian Warner
295c3a75c2 directory.xhtml: remove the leftover XML link 2007-07-08 00:33:20 -07:00
Brian Warner
0395ad76eb web: indent the JSON to make it easier for humans to read, but slightly larger 2007-07-08 00:23:23 -07:00
Brian Warner
72fc8c5cb8 web: use real JSON instead of the fake stubs
Also include the encoder portion of Bob Ippolito's simplejson-1.7.1 as
allmydata.util.json_encoder . simplejson is distributed under a more liberal
license than Tahoe (looks to be modified BSD), so redistributing it should be ok.
2007-07-08 00:17:11 -07:00
Brian Warner
2d06a66ec1 test_web.test_welcome: give the rooturl a trailing slash, otherwise older versions of twisted complain 2007-07-07 23:22:52 -07:00
Brian Warner
bd8625076a web: remove t=XML, and other dead code 2007-07-07 22:55:15 -07:00
Brian Warner
159f8bfd50 web: improve test coverage 2007-07-07 22:47:18 -07:00
Brian Warner
e2f99247f2 web: make sure we present read-only directories properly 2007-07-07 22:21:20 -07:00
Brian Warner
135f08a518 web: remove more dead code 2007-07-07 22:20:03 -07:00
Brian Warner
8952114442 webish.py: remove dead code 2007-07-07 22:12:46 -07:00
Brian Warner
62e8528cc6 web: /uri/ must escape slashes, we use bangs for this 2007-07-07 22:06:52 -07:00
Brian Warner
fb40b55bc3 web: replace welcome-page download-URI form with new version 2007-07-07 22:06:22 -07:00
Brian Warner
5b0c9df14c web: survive bogus URIs when displaying sizes 2007-07-07 21:31:18 -07:00
Brian Warner
fe3c002842 web: show the root name of the vdrive 2007-07-07 21:31:02 -07:00
Brian Warner
9e2ce51de7 web: change title to say 'Tahoe', not tahoe2 2007-07-07 21:30:38 -07:00
Brian Warner
e5482b5254 web: add a 'return to welcome page' link 2007-07-07 21:30:04 -07:00
Brian Warner
2adb773210 web: add when_done to all POST operations, use it from upload/mkdir/mount/delete forms 2007-07-07 21:17:48 -07:00
Brian Warner
0cb154f402 web: make 'delete' buttons work again 2007-07-07 20:46:30 -07:00
Brian Warner
b3f0293d50 web: change per-directory forms to match new POST scheme 2007-07-07 20:35:47 -07:00
Brian Warner
617a85df67 web: remove debug prints 2007-07-07 20:11:30 -07:00
Brian Warner
464f25e5f2 web: more test work, now all tests pass, POST too, only XMLRPC left to implement 2007-07-07 20:06:58 -07:00
Brian Warner
f35c9c6540 test_system.py: change/remove the tests that currently fail due to web changes 2007-07-07 20:06:44 -07:00
Brian Warner
7d92b8a123 webish.py: add links to JSON/etc representations of directory contents to the listing 2007-07-07 11:31:07 -07:00
Brian Warner
5fbdce155c runner.py: add --force flag to restart, to restart a not-already-running node 2007-07-07 11:17:32 -07:00
Brian Warner
10a5ff3767 webish: fix ?t=manifest, ?t=xml so they don't throw exceptions, prune directory.xhtml 2007-07-07 11:15:31 -07:00
Brian Warner
0cd730a7b3 web: more test work, now all tests either pass or are skipped (POST, XMLRPC, and URI/) 2007-07-07 10:34:05 -07:00
Brian Warner
d501984eba webapi: checkpointing more test progress 2007-07-07 00:16:36 -07:00
Brian Warner
6570253d6b checkpointing new webapi: not all tests pass yet 2007-07-06 19:43:55 -07:00
Brian Warner
21e12f383d web: missed a IndexError-to-KeyError conversion 2007-07-06 19:43:03 -07:00
Brian Warner
71c04fc2e7 web: use KeyError (rather than IndexError) to signal a missing child 2007-07-06 19:40:08 -07:00
Brian Warner
a34040df99 interfaces: remove spurious 'self' from interface declarations 2007-07-06 19:39:47 -07:00