1096 Commits

Author SHA1 Message Date
Brian Warner
0bf5a762a9 use AES from pycryptopp instead of pycrypto, also truncate the keys slightly differently 2007-12-03 17:27:46 -07:00
Brian Warner
cc1612aee5 hierarchical logging: add numbered messages and parent= args 2007-11-19 18:23:18 -07:00
Zooko O'Whielacronx
59d6c3c822 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.
2007-12-03 14:52:42 -07:00
Zooko O'Whielacronx
3c7f96400d hashutil.py: switch from pycrypto to pycryptopp SHA256 2007-11-09 14:40:13 -07:00
Brian Warner
e7ad7f8791 mutable: grab encprivkey when necessary during publish, fix test_mutable 2007-11-08 02:46:27 -07:00
Zooko O'Whielacronx
f60dc4adfb UNDO: hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256 2007-11-07 18:02:39 -07:00
Zooko O'Whielacronx
11412da436 hashutil: replace pycrypto's SHA256 with pycryptopp's SHA256 2007-11-07 18:02:39 -07:00
Brian Warner
5739126d11 mutable: storage_index is always 16 bytes 2007-11-06 18:54:34 -07:00
Brian Warner
c4f7412f1c stabilize on 20-byte nodeids everywhere, printed with foolscap's base32 2007-11-06 18:49:59 -07:00
Brian Warner
59632c6812 mutable: use proper enable/renew/cancel secrets 2007-11-05 21:51:08 -07:00
Brian Warner
78c45c82d1 mutable: implement filenode share-packing, still pretty rough 2007-11-02 20:51:39 -07:00
Brian Warner
57373c9889 bencode.py: reencode as UTF-8 2007-11-01 15:42:57 -07:00
Brian Warner
4423bc7510 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:35 -07:00
Brian Warner
c63b43bdbc trailing-whitespace eradication, no functional changes 2007-11-01 15:34:31 -07:00
Brian Warner
f714c5915a trailing-whitespace eradication, no functional changes 2007-11-01 15:34:28 -07:00
Brian Warner
f425ee3600 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:21 -07:00
Brian Warner
6849647856 trailing-whitespace eradication, no functional changes 2007-11-01 15:34:18 -07:00
Brian Warner
ef546da72b trailing-whitespace eradication, no functional changes 2007-11-01 15:29:31 -07:00
Brian Warner
8d000aa1ec trailing-whitespace eradication, no functional changes 2007-11-01 15:29:28 -07:00
Brian Warner
8390d83322 trailing-whitespace eradication, no functional changes 2007-11-01 15:29:17 -07:00
Brian Warner
fb59627faa trailing-whitespace eradication, no functional changes 2007-11-01 15:25:20 -07:00
Brian Warner
5e974ede20 trailing-whitespace eradication, no functional changes 2007-11-01 15:25:16 -07:00
Brian Warner
164da05ead trailing-whitespace eradication, no functional changes 2007-11-01 15:25:12 -07:00
Brian Warner
284b3e77e0 trailing-whitespace eradication, no functional changes 2007-11-01 15:25:09 -07:00
Brian Warner
1d8a4cdfe7 mutable: first pass at dirnodes, filenodes, new URIs. Some test coverage.
The URI typenames need revision, and only a few dirnode methods are
implemented. Filenodes are non-functional, but URI/key-management is in
place. There are a lot of classes with names like "NewDirectoryNode" that
will need to be rename once we decide what (if any) backwards compatibility
want to retain.
2007-11-01 15:15:29 -07:00
Zooko O'Whielacronx
5b476d73ee setup: generalize the kludge of finding an executable (i.e. trial or twistd) when there might be only a .py script version of it available 2007-10-15 10:25:04 -07:00
Zooko O'Whielacronx
af0edec753 filter out "0.0.0.0" from detected IP addresses 2007-10-13 00:38:16 -07:00
Zooko O'Whielacronx
8fd98624a3 don't try to use bindann
It causes a mysterious misbehavior in Python import which causes the previous patch to fail (the patch to not run trial tests if dependencies can't be imported)
2007-09-13 19:14:46 -07:00
Brian Warner
56afda11d1 deletion phase2a: improve creation of renew/cancel secrets. Still fake though. 2007-08-27 19:00:18 -07:00
Brian Warner
739ae1ccde deletion phase1: send renew/cancel-lease secrets, but my_secret is fake, and the StorageServer discards them 2007-08-27 17:28:51 -07:00
Zooko O'Whielacronx
9ad02dbe80 fix version class to preferred format and correct parsing 2007-08-16 15:38:01 -07:00
Zooko O'Whielacronx
5a1d4aa8b7 version_class.py: if you don't have pkg_resources for comparing version numbers, use distutils.version.LooseVersion 2007-08-16 16:16:41 -07:00
Zooko O'Whielacronx
a431811011 in-line doc edit: s/pyutil/allmydata.util/ 2007-08-16 14:10:48 -07:00
Zooko O'Whielacronx
094b687d6e import version class and make-version script from pyutil -- fixes win32 build, improves error handling, and eliminates unused features 2007-08-16 14:09:30 -07:00
Zooko O'Whielacronx
9b08691f51 fix iputil so that it doesn't launch dozens of processes when you give it a full path and so that it tries executables in preference order and stops as soon as one gives out a dotted-quad string 2007-08-09 10:56:47 -07:00
Brian Warner
e3eba2d6c5 remove unused imports: hush pyflakes warnings 2007-07-24 18:13:58 -07:00
Zooko O'Whielacronx
32c90c6468 switch from rfc 3548 base-32 to z-base-32 except for tubids/nodeids 2007-07-24 13:46:06 -07:00
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
9af506900b upload: refactor to enable streaming upload. not all tests pass yet 2007-07-19 18:21:44 -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
ad038497db import the decoder portion of simplejson-1.7.1 too 2007-07-10 13:12:40 -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
9ddb929651 fileutil: add du() function 2007-07-03 15:49:45 -07:00
Brian Warner
bc2603c818 vdrive: protect dirnode contents with an HMAC 2007-06-26 12:36:21 -07:00
Brian Warner
fb02488a8e vdrive: switch to URI:DIR and URI:DIR-RO, providing transitive readonlyness 2007-06-25 13:23:51 -07:00
Brian Warner
956d5ae256 rename fileid/verifierid to plaintext_hash/crypttext_hash 2007-06-09 20:46:04 -07:00
Brian Warner
c9ef291c02 rename thingA to 'uri extension' 2007-06-08 15:59:16 -07:00
Brian Warner
c049941529 move almost all hashing to SHA256, consolidate into hashutil.py
The only SHA-1 hash that remains is used in the permutation of nodeids,
where we need to decide if we care about performance or long-term security.
I suspect that we could use a much weaker hash (and faster) hash for
this purpose. In the long run, we'll be doing thousands of such hashes
for each file uploaded or downloaded (one per known peer).
2007-06-07 21:47:21 -07:00
Brian Warner
2db17df833 iputil.get_local_ip_for: tolerate running on a disconnected host 2007-06-07 19:23:33 -07:00
Brian Warner
ea78b4b605 check_memory: getting closer, now we have memusage numbers for uploads of 10kB and 10MB files 2007-05-29 17:39:39 -07:00