Commit Graph

67 Commits

Author SHA1 Message Date
Jude Nelson
0549448c93 remove dead code 2017-10-17 18:31:22 -04:00
Jude Nelson
6f82d8f702 don't use EREMOTEIO from errno, since not all platforms support it 2017-10-09 13:49:18 -04:00
Aaron Blankstein
5e7c9308f5 removed all wildcard imports from non-init, non-storage-driver files in blockstack_client 2017-08-21 16:54:08 -04:00
Aaron Blankstein
cae9a2e0b8 removed a few more wildcard imports, fixed a handful of pylint errors 2017-08-21 16:02:58 -04:00
Aaron Blankstein
c878b62c8a /usr/bin/env python -> python2. our code is not python3 friendly, we should specify that 2017-08-17 13:40:01 -04:00
Aaron Blankstein
80bfb1fe68 Merge branch 'master' into subdomain 2017-08-10 16:59:17 -04:00
Jude Nelson
bf16192240 use all drivers, but prioritize local ones 2017-08-10 16:57:27 -04:00
Aaron Blankstein
5bca72ffe0 add support for looking up subdomains via /v1/names/<foo.bar.baz> endpoint -- needed to add support to return the last txid of the subdomain 2017-08-03 17:48:32 -04:00
Aaron Blankstein
080ce55ad7 subdomain db updates by 'catching up' with new zonefiles 2017-07-26 12:21:23 -04:00
Aaron Blankstein
b4dab2622b working on the db cache of subdomain information 2017-07-26 00:21:25 -04:00
Aaron Blankstein
d6b9d8e521 Merge branch 'rc-0.14.3' into subdomain 2017-07-20 18:20:31 -04:00
Aaron Blankstein
c8b6feb839 fixing some pylinter errors 2017-07-14 02:50:11 -04:00
Aaron Blankstein
a70e71dc2f adding missing parameter to metadata_dir 2017-07-11 11:10:15 -04:00
Jude Nelson
0ee3fd8f09 make all metadata directories inside the critical section 2017-07-10 15:03:47 -04:00
Aaron Blankstein
93d07d68b3 This reverts us *all* the way back to 523cf405d7 -- this removes all changes to support the token file from this branch.
Revert "added example request and response for PUT /v1/wallet/keys/owner to api docs"

This reverts commit d52ee4b31e.

Revert "cutting down on the verbosity of logging outputs -- registrar now only prints 1 line on wakeups. storage drivers are concatenated into 1 line"

This reverts commit 87e3e7ab0d.

Revert "adding dropbox as a default storage driver to load, and switched default 'required' drivers to 'disk,dropbox'"

This reverts commit 9471b0a20a.

Revert "adding test case for issue 483, which *also* required fixing the app session schema to handle empty string methods a little bit more gracefully"

This reverts commit 32efc99d62.

Revert "bugfix for the address reencoding in get_zonefile -- checks to see if the address is an address before trying to reencode"

This reverts commit 1488013b93.

Revert "Merge branch 'rc-0.14.3' of github.com:blockstack/blockstack-core into rc-0.14.3"

This reverts commit f75ab67960, reversing
changes made to fe863bcd3c.

Revert "don't create the metadata dir"

This reverts commit fe863bcd3c.

Revert "make all metadata directories inside the critical section"

This reverts commit e66236abd2.

Revert "don't cast 'None' to string by accident"

This reverts commit c6250d5349.

Revert "force string"

This reverts commit e72d43d0be.

Revert "add unbound proxy variable"

This reverts commit 7f1f7e9731.

Revert "return raw zonefile"

This reverts commit 51e858428d.

Revert "force string"

This reverts commit 1ce371644f.

Revert "force string"

This reverts commit 5353cb1015.

Revert "require virtualchain rc-0.14.3 and jsontokens-py 0.0.4"

This reverts commit 346f042db7.

Revert "Merge branch 'rc-0.14.3' of https://github.com/blockstack/blockstack-core into rc-0.14.3"

This reverts commit 1fa1de3e54, reversing
changes made to 523cf405d7.
2017-07-10 14:59:23 -04:00
Aaron Blankstein
50eee058ff the beginnings of trying to change the way subdomains interact with storage's new interface 2017-07-07 16:15:19 -04:00
Jude Nelson
e66236abd2 make all metadata directories inside the critical section 2017-07-07 13:25:19 -04:00
Jude Nelson
3503e63d00 fix some bugs in get_mutable() 2017-07-06 18:47:47 -04:00
Jude Nelson
5782827ece get_mutable() can take a list of public keys, a list of public key hashes, and a device -> public key mapping 2017-07-05 17:30:30 -04:00
Jude Nelson
d23325cb76 accelerate datastore writes by storing headers and payloads in parallel, and deleting in parallel. keep a persistent "journal" of deletions-in-progress, so we can mask partial delete failures and give clients recovery hints by indicating whether or not a child inode actually exists (i.e. whether or not it partially deleted, but not completely deleted) 2017-07-04 23:32:21 -04:00
Aaron Blankstein
c63aa03485 fixing up some calls to deal with changes in the rpc structure 2017-06-24 19:42:44 -04:00
Jude Nelson
1370832ed9 Performance optimizations: cache inode headers, directories, and datastores; write inode headers and payloads in parallel 2017-06-21 22:42:34 -04:00
Jude Nelson
3f8f1b7be8 write-through cache for directories, headers, and datastores; write headers and inode payloads in parallel (and write to drivers in parallel); prioritize local drivers over non-local drivers on read 2017-06-20 23:53:54 -04:00
Jude Nelson
14e1c355d2 use driver classes to identify non-local storage drivers. Also, add TODO's for multi-player storage 2017-06-19 23:25:39 -04:00
Jude Nelson
412a9d2090 sanity-check tombstone data 2017-06-19 01:35:52 -04:00
Jude Nelson
bdaef1e7c6 refactor data interfaces to take a set of public keys and device IDs, and authenticate inodes by trying each public key with its assigned device ID 2017-06-18 22:07:59 -04:00
Jude Nelson
120f20e609 fix bugs found in testing 2017-06-15 22:23:47 -04:00
Jude Nelson
64562fe002 mutable data operations take device IDs as explicit arguments 2017-06-15 11:27:54 -04:00
Jude Nelson
65e879733a fix some bugs found from testing, and close #440 2017-05-30 20:29:32 -04:00
Jude Nelson
53e7f259bb debug signature failures 2017-05-23 16:49:08 -04:00
Jude Nelson
f948f05e44 when reading a datastore, include the blockchain ID so we can look up the profile and thus the index manifest (for storage providers that do not allow us to generate URLs) 2017-05-17 22:04:29 -04:00
Jude Nelson
02db42b896 improve API and data structures so file and directory signatures and hashes are completely separate from the data. Also, make return types more consistent 2017-05-17 00:19:24 -04:00
Jude Nelson
9ebdf3b855 reader_pubkeys are distinct from readers (public keys versus addresses). 2017-05-01 16:39:28 -04:00
Jude Nelson
04f857aef7 preliminary work on encryption: take the list of readers' addresses and public keys so we can encrypt and encode files and directories to be readable only to the designated recipients 2017-04-27 19:30:01 -04:00
Jude Nelson
46e3f484a9 make rmtree more amenable to batched inode deletion 2017-04-25 20:22:27 -04:00
Jude Nelson
f93799fd3f use virtualchain key methods 2017-04-20 17:42:37 -04:00
Jude Nelson
f0f2b82d5d clarify variable name--we don't expect json 2017-04-05 15:05:42 -04:00
Jude Nelson
61fbd0576d expose get_mutable_data_version() and put_mutable_data_version() 2017-04-05 11:23:27 -04:00
Jude Nelson
0efdf19e36 send API password as 'bearer' (#351) 2017-03-27 18:08:54 -04:00
Jude Nelson
cd6232b147 enforce create/exists requirements for inodes; fix bugs found in testing with service-level faults 2017-03-23 18:55:15 -04:00
Jude Nelson
a0232a395f datastore operations return errno 2017-03-22 23:29:49 -04:00
Jude Nelson
e14adbb87c bugfixes in the Python client found intesting 2017-03-22 15:40:18 -04:00
Jude Nelson
5ac2853308 fix a few bugs and take extra message verification steps:
* when replicating an inode, replicate each (inode header, payload) pair instead of all headers and then all payloads (makes it easier to do a successful partial write)
* do not assume that we know the device IDs; allow the caller to supply them
* sign and verify the datastore record on datastore-mutate operations
* verify that all tombstones' device IDs cover the caller-given set of device IDs
2017-03-22 14:57:04 -04:00
Jude Nelson
2a7075a1da increment dirent version 2017-03-21 11:34:46 -04:00
Jude Nelson
93caa6f10a don't get idata by default, but request it 2017-03-17 14:37:44 -04:00
Jude Nelson
b736d55209 update parent directory version when modifying children; keep version in inode structure as well as mutable data blob; allow caller to override version checks 2017-03-17 11:46:56 -04:00
Jude Nelson
e9336b9ccf allow multiple putfile on the same path 2017-03-16 18:00:57 -04:00
Jude Nelson
af0d5156e1 store base64-encoded file data 2017-03-16 11:29:15 -04:00
Jude Nelson
e6de9d9ab1 fix up client-side datastore API to not require an indexer proxy object 2017-03-15 18:12:02 -04:00
Jude Nelson
5dd8f7d2b4 refactored datastore API to require clients to sign everything with an external key. datastore I/O requires signed inodes, their payloads, and tombstones (for deletion) 2017-03-13 17:51:41 -04:00