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