Commit Graph

945 Commits (b1d8ae98166d3961edcb4c4165ac787f27f75bab)

Author SHA1 Message Date
jMyles c7479c03e6 Fake address and PolicyAgent. 2018-04-07 22:03:25 -07:00
Kieran Prasch 6948db87f7 Updates pipfile with web3 and eth_accounts 2018-04-07 21:59:54 -07:00
tuxxy 56e5cb182f Add get_signing_key and get_decrypting_key functions; Add comment for time on master key derivation; Cleanup stale functions 2018-04-07 15:33:49 -07:00
tuxxy 30acedf252 Use JSON and dicts for keyfiles via _parse_keyfile and _save_keyfile 2018-04-07 15:33:33 -07:00
tuxxy 3bdedb58f8 Add functions to encrypt and decrypt key material 2018-04-07 15:31:56 -07:00
tuxxy 88855936a1 Add key derivation functions for master and wrapping keys 2018-04-07 15:31:56 -07:00
tuxxy bdfa34c4db Add _bootstrap_config testing function 2018-04-07 16:28:10 -06:00
tuxxy b9d70ee165 Fill in derive_crypto_power 2018-04-05 21:03:57 -06:00
tuxxy 727f481168 Return UmbralPrivateKeys after key decryption 2018-04-05 18:02:02 -06:00
tuxxy 95990bb839 Merge remote-tracking branch 'nucypher/master' into crypto-config 2018-04-05 17:59:23 -06:00
jMyles 043ddac16a Added new spinoffs as dependencies.
Putting cryptoKits back into the main repo for now.
2018-04-05 17:23:27 -06:00
jMyles b3acaf50bc New verify_from() logic. Fixes #174.
Cleaning up and sanding kit and verify_from() logic.
2018-04-05 17:23:17 -06:00
jMyles 7f21117cb7 BytestringSplitter is now its own project. 2018-04-05 17:23:17 -06:00
jMyles b35e5b9840 Using constantSorrow for constants. 2018-04-05 17:23:17 -06:00
jMyles 9c1e6c13cc cryptoKits is now its own project. 2018-04-05 17:23:17 -06:00
jMyles ef9b595147 Fixed mutable in method kwarg. 2018-04-05 17:23:17 -06:00
Kieran Prasch 485be636cd Builds upon KMSConfig classes, injecting subconfigurations, wallet, and keychain; adds make_powerup method skeleton. 2018-04-05 17:23:17 -06:00
Kieran Prasch a9038c5d9b Recompose config module classes, KMSConfig split into multiple objects. Override policy publish method and call via super. 2018-04-05 17:23:17 -06:00
Kieran Prasch 7f7dfe2337 Default config paths; Extrapolates config utils module; further outlines blockchain management 2018-04-05 17:23:17 -06:00
tuxxy 049153498f Use JSON and dicts for keyfiles via _parse_keyfile and _save_keyfile
Add get_signing_key and get_decrypting_key functions

Add comment for time on master key derivation
2018-04-05 17:22:44 -06:00
tuxxy c57f1349f0 Add cryptographic functions for key derivation and wrapping 2018-04-05 17:22:19 -06:00
tuxxy 8edcb24aff __default_key_path -> __default_key_dir 2018-04-05 17:22:19 -06:00
Kieran Prasch 1b7eb2ecfe Experimenting with web3 for blockchain config. 2018-04-05 17:22:19 -06:00
tuxxy 0026486959 Generate Umbral keys for config 2018-04-05 17:22:19 -06:00
tuxxy b6a061f129 Inherit PolicyAuthor on Alice 2018-04-05 17:22:19 -06:00
Kieran Prasch df9e32e44c Outlines composition for KMSConfig class, helper methods, and Curses based interface 2018-04-05 17:22:19 -06:00
tuxxy 448e2d7223 Begin integration of KMS-Ethereum codebase into KMS 2018-04-05 17:21:23 -06:00
jMyles 11263663f3 Special value constants changed to constantSorrow; lengths adjusted. Also, new test for Signature comparison. 2018-04-05 10:23:28 -07:00
jMyles 9203653b12 Better constants for various lengths. 2018-04-05 10:18:30 -07:00
jMyles 2a4d20c39f Better name for signature_to_use. 2018-04-05 10:14:40 -07:00
jMyles 16c6062b4d Putting cryptoKits back into the main repo for now. 2018-04-03 23:34:49 -07:00
jMyles d3884518f2 Cleaning up and sanding kit and verify_from() logic. 2018-04-01 22:44:00 -07:00
tuxxy 06539daedd 'Contract' -> 'Arrangement' 2018-04-01 22:16:51 -06:00
jMyles f789aaf7f7 New verify_from() logic. Fixes #174. 2018-04-01 20:17:47 -07:00
jMyles fc99ef2e27 BytestringSplitter is now its own project. 2018-04-01 18:52:30 -07:00
jMyles eb4605d573 Using constantSorrow for constants. 2018-04-01 18:52:08 -07:00
jMyles 8d2bd2d77d cryptoKits is now its own project. 2018-04-01 18:50:53 -07:00
jMyles 22ab9b69bf Fixed mutable in method kwarg. 2018-04-01 18:48:43 -07:00
jMyles b4e34c0981 Using new "to cryptography" APIs. 2018-03-18 00:42:28 -07:00
jMyles 42870a25f0 Fixed a few comments and updated kfrag generation for new pyumbral interface. 2018-03-07 06:34:31 -08:00
jMyles d289ac31e8 Updated Finnegan's Wake demo to use TLS. 2018-03-06 17:52:23 -08:00
jMyles 53a0a33f6a SigningPower / keypair pipeline for generating certs. 2018-03-06 17:51:59 -08:00
jMyles b89877f81f generate_self_signed_certificate in API (Character-independent). 2018-03-06 17:51:15 -08:00
jMyles 06c515c4bb Introducing Character.generate_self_signed_cert() and updated docstrings to match. 2018-03-06 17:49:18 -08:00
jMyles 189326b0ec Not using Client anymore. 2018-03-06 17:48:40 -08:00
jMyles 03632d4927 We're not using storage anymore. 2018-03-01 00:15:27 -08:00
jMyles ad323ff4e2 Cleaned up TODOs, docstrings, and comments throughout the codebase. 2018-03-01 00:15:05 -08:00
jMyles 18058b2634 These three files are no longer useful. 2018-03-01 00:14:25 -08:00
jMyles a7317883da Other constructors now take powers_and_bytes so that an Ursula can be discovered with both a signing public key and an encrypting one. 2018-02-28 22:25:03 -08:00
jMyles 17bbf816cd Bob no longer tracks a single Alice as an attribute; instead, he tracks an Alice with each Policy. 2018-02-28 22:04:37 -08:00
jMyles 2c5e95dd37 Ursulas coming out are Ordered, but so also need Ursulas going in to be! 2018-02-28 17:40:49 -08:00
jMyles 1b426fa54d Changed Bob's generated_work_orders to OrderedDict. 2018-02-28 17:40:49 -08:00
jMyles 2cd820885c __repr__ that doesn't suck (given that we don't have ursula_id for WorkOrder anymore) 2018-02-28 17:40:49 -08:00
jMyles f5e3f978b1 Better Keystore instantiation time, and also no need to manually start servers anymore (as they run on the same thread). 2018-02-28 17:40:49 -08:00
jMyles f4a98bf942 Touching up some tests a bit. 2018-02-28 17:40:49 -08:00
jMyles 7e567c24f6 Introducing named DBs per Ursula. 2018-02-28 17:37:27 -08:00
jMyles cdc39c67eb Keystore uses ThreadedSession context manager (probably needs some touching up). 2018-02-28 17:37:27 -08:00
jMyles 4ea191f3b7 Keystore methods now take a session object (or use the reactor thread-scoped session by default) 2018-02-28 17:37:27 -08:00
jMyles d8d2ccc9dc Model tweak - let's eagerly load the relation. 2018-02-28 17:37:27 -08:00
jMyles 93ada655ce Better launch logic - attach the server exactly once. 2018-02-28 17:37:27 -08:00
jMyles 0d952cd024 Using ThreadSession context manager inside KeyStore. Let's see what happens if we move it up a layer. 2018-02-28 17:37:27 -08:00
jMyles 5cddd96545 Constructing a Policy now requires an actual Ursula (Bob must already know about this Ursula anyway, no reason not to just pass it in). 2018-02-28 17:37:27 -08:00
jMyles d35687907d Just use the keccak_digest function directly - this was never a good change really. 2018-02-28 17:37:27 -08:00
jMyles 0de893110f Not going to do the datastore-in-threadpool thing anymore. 2018-02-28 17:37:27 -08:00
jMyles c9d518beac Marking and expanding some DHT value parsing logic. See #172. 2018-02-28 17:37:27 -08:00
jMyles 14a4bf1634 NetworkyStuff can now engage Ursula's REST endpoints to handle TreasureMaps. 2018-02-28 17:37:27 -08:00
jMyles 0ffdbd0e6e Cleaner to just keep the Ursula attached to the WorkOrder. 2018-02-28 17:37:27 -08:00
jMyles b2d3214162 Of course stamp can be a dict key. 2018-02-28 17:37:27 -08:00
jMyles 63d1e731c9 Ursula's ID is now just her Public Signing Key. 2018-02-28 17:37:26 -08:00
jMyles 990c03b65a Not sure how this ever worked - we need to call the hrac function. 2018-02-28 17:33:58 -08:00
jMyles 1caf764350 Bob was previously learning about some Ursulas more than once; no need for that. 2018-02-28 17:33:58 -08:00
jMyles 6aa0cb46d2 TreasureMaps are now attainble via the REST interface. 2018-02-28 17:33:58 -08:00
jMyles edad1d7148 dict interface for from_public_keys. 2018-02-28 17:33:53 -08:00
jMyles 139e767a2b All Characters need to know about Ursulas (and other information nodes if we ever run them). 2018-02-28 17:33:15 -08:00
jMyles 6fa7bd5823 Ursula's datastore now runs in a separate thread in all cases. 2018-02-28 17:32:19 -08:00
jMyles d5d8677cf3 We don't have policy groups anymore. 2018-02-28 17:32:19 -08:00
jMyles 56b5cae55f Some Bob logic to get off the DHT. 2018-02-28 17:32:19 -08:00
jMyles 82f3a0a949 We don't use NotFound anymore, but we do have more and more situations where Characters need to raise NotEnoughUrsulas. Let's put it on Character. 2018-02-28 17:32:19 -08:00
jMyles 3c00927e65 Moving Ursula's datastore access to a Threadpool. 2018-02-28 17:32:19 -08:00
jMyles 152ab56417 Touching up generate_kfrags docstrings. 2018-02-24 02:08:22 -08:00
jMyles f9833f7d0d Moved Ursula's REST bits to a new class. 2018-02-24 02:08:17 -08:00
jMyles e1b4f242ab Tearing out all lookup_actor logic. Also, as @tuxxy pointed out a while ago, there's really no reason to have Character.hash(); we can just use keccak_digest. 2018-02-24 01:53:20 -08:00
jMyles 857a91855a We don't do lookup_actor anymore. 2018-02-24 01:45:50 -08:00
jMyles 5ce725f368 PowerUps no longer need to provide functions themselves; they can indicate that they provide functions from their keypair. 2018-02-24 01:44:36 -08:00
jMyles 87af827a68 Reducing the number of functions called generate_kfrags. 2018-02-24 01:44:14 -08:00
jMyles 0355191288 Character.decrypt() now also uses new power_ups interface. 2018-02-24 01:43:54 -08:00
jMyles 6f870950d1 Don't need sign here anymore. 2018-02-24 01:27:08 -08:00
jMyles 86b8169264 Moving `sign` into `Character`; cleaning up Powers. 2018-02-24 01:22:23 -08:00
jMyles fe993e13b5 Matching error classes to PowerUps. 2018-02-24 01:14:13 -08:00
jMyles 7d7b0023a2 Public way to lookup power_ups for CryptoPower. 2018-02-24 01:13:58 -08:00
jMyles c26f5e6d5b Better way to get public keys. 2018-02-24 01:13:40 -08:00
jMyles 6d38ff2509 privkey is not _privkey. 2018-02-24 00:50:28 -08:00
jMyles 49005ae250 generate_kfrags all the way down. 2018-02-24 00:50:09 -08:00
jMyles 62c8493840 Pushing generate_kfrags downward so as to make private key... private. 2018-02-24 00:49:40 -08:00
jMyles f42576e439 Major simplification of encrypt_for. 2018-02-24 00:48:56 -08:00
jMyles 3a9a8ed752 Don't need to lookup the actor any more. 2018-02-24 00:48:30 -08:00
jMyles 872cef81a2 Smoothing out Powers; redlines through plenty of obselete functionality surrounding path keys in EncryptingPower. 2018-02-23 23:36:40 -08:00
jMyles f89d13c4a0 Seal -=> SignatureStamp 2018-02-23 22:39:10 -08:00
jMyles 760e0a8129 Reflectin refractor of umbral.umbral to umbral.pre. 2018-02-23 22:02:32 -08:00
jMyles 9a5bdb4061 Don't need _contracts anymore. See #127. 2018-02-23 21:47:49 -08:00
jMyles c7d2d97d72 More cleanups throughout Character. 2018-02-23 21:41:54 -08:00
jMyles 78cf0b66de Better docstring and type hint for generate_kfrags. 2018-02-23 21:38:46 -08:00
jMyles 57e3fc4f51 Import fixes and other PEP8 stuff. 2018-02-23 21:37:41 -08:00
jMyles 90504b4814 Proper exception instead of just an assertion. 2018-02-19 15:19:18 -08:00
jMyles 08f7d0a7c0 Tightened __repr__ with help from @kprasch. 2018-02-19 15:19:04 -08:00
jMyles 3c63ece916 Don't need this method anymore now that we have MessageKit. 2018-02-19 15:18:47 -08:00
jMyles 73306a9094 Save the WorkOrder the first time - the waiting thing wasn't making sense. 2018-02-19 15:18:32 -08:00
jMyles 7a0c21a0a5 We save WorkOrders in WorkOrderHistory now. 2018-02-19 15:16:50 -08:00
jMyles 5900e4c2ed Better legality check (casting to bytes instead of letting kademlia cast to str) 2018-02-18 17:34:08 -08:00
jMyles 7865d1c230 dict-style looking of WorkOrder by Capsule. 2018-02-18 17:32:08 -08:00
jMyles b788ac39ee Cleaner getting of Ursula's interface ID, but this is still to be replaced by a Kit of some kind. 2018-02-18 17:31:50 -08:00
jMyles 0fa87828fd More WorkOrder logic; giving Bob more handles to grasp during his REST-client logic. 2018-02-18 17:29:08 -08:00
jMyles c52a5ce800 Typical byte-like methods. 2018-02-18 17:18:42 -08:00
jMyles 2cfd0b2ab3 InterfaceDHTKey class for more lookup flexibility. 2018-02-18 13:29:37 -08:00
jMyles bc6bd9d0a8 We'll just do use the dict-like interface from now on - makes the Bob parts way easier to read. 2018-02-18 13:28:44 -08:00
jMyles ba0bb10676 Why hasn't Character.hash always been a staticmethod? 2018-02-18 13:20:45 -08:00
jMyles 24b039e227 Beginning of implementation of WorkOrderHistory. 2018-02-18 13:20:43 -08:00
jMyles 307bae3e3a Giving Bob a better facility for tracking his CFrags. 2018-02-18 13:04:33 -08:00
jMyles 2b87cf3b8e It's on. Here we go. 2018-02-17 23:36:33 -08:00
jMyles 97c19b5693 TODO responding to @tuxxy's comment: https://github.com/nucypher/nucypher-kms/pull/160#discussion_r168861353 and https://github.com/nucypher/nucypher-kms/pull/160#discussion_r168861465 2018-02-17 17:26:24 -08:00
jMyles b4a66356df Fixes and TODOs in response to a number of comments from @tuxxy, @kprasch, and @cygnusv. 2018-02-15 15:55:40 -08:00
jMyles fd4accf3f5 Header lengths and types implemented in network. 2018-02-15 12:31:16 -08:00
jMyles e7eeee937c header length constant. 2018-02-15 12:31:00 -08:00
jMyles f594d3dd2b Replacing header-length int with constant in Character. 2018-02-15 12:30:43 -08:00
jMyles 023d9705f0 Shortening headers to two bytes, and deprecating lstrip as a way to eat headers. See #111. Fixes #164. 2018-02-14 23:45:23 -08:00
jMyles 3b9ae94b5b Fixed those last two pesky tests - now that we're splitting with MessageKit, we don't need to split again. 2018-02-14 00:19:26 -08:00
jMyles 31dfbaa3e9 Moving over to MessageKit.to_bytes. 2018-02-14 00:18:31 -08:00
jMyles 424a75b4ef Get outta here with that. 2018-02-14 00:18:11 -08:00
jMyles 57971c447e Some tighter names. 2018-02-14 00:17:37 -08:00
jMyles 7b84024bd8 pubkey_sig_tuple is gone. 2018-02-14 00:17:12 -08:00
jMyles 112746363b MessageKit now casts strictly to ciphertext. Moved previous serialization to to_bytes, which we'll start to implement as a component-style interface. 2018-02-14 00:16:26 -08:00
jMyles 9325222885 OK, I'm buckling and finally providing Character.decrypt() - just a wrapper around their encrypting power, but now a public way to decrypt without specifying an actor or checking a signature. 2018-02-14 00:11:34 -08:00
jMyles 64f9f8c550 Clearing up verify_from logic and adding some TODOs which are worth taking some time to consider. 2018-02-14 00:11:15 -08:00
jMyles e1862657a8 Slightly tightened encrypt_for logic. 2018-02-14 00:07:55 -08:00
jMyles 30d273c43b verify_from can take bytes too. It can probably take other types and work, but we'll just hint MessageKit and bytes. We cast to bytes anyway. 2018-02-14 00:04:05 -08:00
Kieran R Prasch 2d92ed7dc7 New API renaming, and more style. 2018-02-13 17:50:46 -08:00
Kieran R Prasch 37a7fc5f84 Adds utility to get fingerprint from key. 2018-02-13 17:49:55 -08:00
Kieran R Prasch 895d17a31d Adds Pep and style changes. 2018-02-13 17:49:26 -08:00
Kieran R Prasch 022087f67a Fixes Db bulk delete assertion; Renames several key test method calls 2018-02-13 17:37:40 -08:00
tuxxy 6428337ab5 Add broken sqlalchemy delete 2018-02-13 17:37:40 -08:00
tuxxy 31a091bcce Some fixes in keystor and related tests 2018-02-13 17:37:40 -08:00
jMyles 734a334a77 Walking back the seal change for now. 2018-02-13 17:35:12 -08:00
jMyles 6ac0bee751 Extraneous comment. 2018-02-13 17:34:07 -08:00
jMyles 8f6c4b4a2f Capsule instead of PFrag. Feels so good. 2018-02-13 15:44:47 -08:00
jMyles c62e39917a CFrag splitter. 2018-02-13 15:43:38 -08:00
jMyles 258407450f Get the length from the message_class, not necessarily this object. 2018-02-13 15:43:06 -08:00
jMyles 032d5e6f3f Way more elegant __init__ for BytestringSplitter; with better error messages for misuse. 2018-02-13 15:42:07 -08:00
jMyles e3f347979e No more metabytyes! 2018-02-13 15:29:35 -08:00
jMyles 4b1cef51bf Now we pass the whole capsule! 2018-02-13 15:10:25 -08:00
tuxxy 7daab1f096 Add test_keypairs 2018-02-13 14:00:15 -07:00
jMyles 732b75bfd6 WorkOrders now take Capsules. 2018-02-13 13:28:51 -07:00
jMyles 481e56653c capsules instead of pfrags! So nice. 2018-02-13 13:28:51 -07:00
tuxxy d0bfd4ae0d WIP on rm-crypto: 2b73b14 Merge pull request #11 from jMyles/rm-crypto 2018-02-13 13:28:39 -07:00
jMyles 7d53c82f74 Starting MessageKit for TreasureMap flow. 2018-02-13 11:09:59 -08:00
jMyles e08f75ab71 Some fields are now nullable; passing None by default. 2018-02-13 11:09:32 -08:00
jMyles 41c4a920de Making full relationship flow for key FK. 2018-02-13 11:09:08 -08:00
jMyles c97635dd86 public key is no longer optional on Signature.verify. 2018-02-13 11:08:49 -08:00
jMyles bc01f5d07a Fixing sig up to work with cryptography ECDSA. 2018-02-13 11:08:28 -08:00
jMyles 261d501bd8 Grabbing contract from keystore instead of dict. 2018-02-13 11:08:18 -08:00
jMyles 0def1591fc Starting deprecation of _contracts - commented out some logic for now. 2018-02-13 11:07:56 -08:00
jMyles e45712a75b "Non-decrypt" flow for Character signature validation. 2018-02-13 11:07:39 -08:00
jMyles 8e77ee97d0 hrac as hex (DB entry will now match URL). 2018-02-13 07:42:40 -08:00
jMyles 8dda6b0553 Fixing up arguments for keystore. 2018-02-12 13:33:22 -08:00
jMyles f5c19cdfba k_frag, not key_frag! 2018-02-12 13:33:12 -08:00
jMyles 25477c1204 Sending Policy in a MessageKit. 2018-02-12 13:12:31 -08:00
jMyles b5bf5557a2 Reinstituing Keystore logic. 2018-02-12 13:09:18 -08:00
jMyles 2184933c97 Commenting out encrypting keys from the Keystore for the moment. 2018-02-12 13:08:58 -08:00
jMyles 63b2a94c9b equality for signatures. 2018-02-12 13:08:09 -08:00
jMyles 83344553d9 Clarifying that we need (and use) the enc - not sig - public key for encrypting. 2018-02-12 13:00:14 -08:00
jMyles 0e57e44c03 We might initially construct a MessageKit without some of the components. 2018-02-12 12:59:52 -08:00
jMyles e17e10b452 Reintroducing UNKNOWN_KFRAG. 2018-02-12 12:59:39 -08:00
jMyles e55dda7ace Seal needs a fingerprint too. 2018-02-12 12:59:31 -08:00
jMyles cf7b0053fd We don't represent a public key as a tuple anymore. 2018-02-12 12:59:18 -08:00
jMyles ee93749c20 New Policy logic to work with MessageKit and Keystore. Needs more cleanup. 2018-02-12 12:58:38 -08:00
jMyles 7551d79fd6 Constructing message_kit with Signature - we'll do this a better way soon. 2018-02-12 12:58:10 -08:00
Tux 6aeef2f6ec
Merge pull request #9 from jMyles/rm-crypto
Kits, splitters, new encrypt and decrypt, more
2018-02-11 02:15:25 -07:00
jMyles 5804ffdc95 New splitters for Policy. 2018-02-11 01:06:21 -08:00
jMyles f600f7f183 Formatting and style. 2018-02-11 01:05:58 -08:00
jMyles 570f169038 Splitter with kwargs. 2018-02-11 01:05:36 -08:00
jMyles 94fb768914 I had stashed some of Tux's work when I merged; adding that back in. 2018-02-11 01:04:50 -08:00
jMyles ccf3cb1f2d ByteStringSplitter can now take kwargs and can be added to other splitters. 2018-02-11 01:03:36 -08:00
jMyles 505c3a7115 Formatting and organization for ByteStringSplitter. 2018-02-11 01:02:45 -08:00
jMyles 9cd7bc083c Signature concat needs to be cummatative. 2018-02-11 01:00:39 -08:00
jMyles fba93f9b07 ...and that's the story of how pyumbral and MessageKits destroyed two perfectly awful functions. 2018-02-11 00:59:14 -08:00
jMyles d2a5218cc2 More touchups to powers. 2018-02-11 00:58:06 -08:00
jMyles b63e749819 Characters can encrypt for others without needing an encrypting power. 2018-02-11 00:56:33 -08:00
jMyles 69137b07d5 Some organization. 2018-02-11 00:55:22 -08:00
jMyles b92b5158e1 Serialize MessageKit. 2018-02-11 00:54:36 -08:00
jMyles 50043f68a9 Using splitters in kits! 2018-02-11 00:54:24 -08:00
jMyles 6e5a6cfbaa Putting some prefab splitters in splitters.py. 2018-02-11 00:54:15 -08:00
jMyles 0c32deab98 Splitting a MessageKit to get Policy. 2018-02-11 00:52:25 -08:00
jMyles f807113d7d verify_from now takes a MessageKit. 2018-02-11 00:52:10 -08:00
jMyles 5358916ea5 encrypt_for now takes plaintext, returns a MessageKit. 2018-02-11 00:51:21 -08:00
jMyles a3a05d9de0 powers_and_keys can now take UmbralPublicKeys. 2018-02-11 00:50:22 -08:00
tuxxy 1c5c1ab7ad Remove npre from policy.models 2018-02-10 22:11:37 -07:00
tuxxy 542e6b6a5c Fix syntax 2018-02-10 22:08:27 -07:00
jMyles 0c47c00d69 @tuxxy merged my Pull Request, then pushed his history to thunderdome. This commit merges those histories. 2018-02-10 20:39:30 -08:00
tuxxy 2fc5596d5b Add tests for sqlite keystore 2018-02-10 21:26:56 -07:00
jMyles d91426e0e8 Formatting and style changes. 2018-02-10 19:39:03 -08:00
jMyles fee2b29836 Red lines through PFrag. 2018-02-10 19:28:34 -08:00