Commit Graph
64 Commits
Author SHA1 Message Date
Tim Bruijnzeels 930dbcca4e Small re-organisation of code for readability. 2018-11-21 12:07:41 +01:00
Tim Bruijnzeels 48a886a92e Implemented 'init' subcommand for publication client. 2018-11-20 16:59:49 +01:00
Tim Bruijnzeels e4b6b79f63 Parse options for publisher client. 2018-11-20 16:34:34 +01:00
Tim Bruijnzeels b3d73ade3d Process repository response in publisher client. 2018-11-20 15:27:02 +01:00
Tim Bruijnzeels 200191839a Let server generate a RepositoryResponse for a Publisher. Also refactored things to use PathBuf for directories, rather than String, in lots of related places. 2018-11-19 16:55:16 +01:00
Tim Bruijnzeels a9a2daa0fd Moving the publisher list syncing to the publication server. Use the publication server in the daemon. Initialise the publication server id if needed. 2018-11-19 14:32:47 +01:00
Tim Bruijnzeels 87045dd579 Formatting. 2018-11-19 12:31:06 +01:00
Tim Bruijnzeels 568d86b1b8 Initialise the publication server with identity. 2018-11-19 12:30:39 +01:00
Tim Bruijnzeels bd68987084 Moving MyIdentity into its own module for re-use by both PubClient and PubServer. 2018-11-16 16:43:43 +01:00
Tim Bruijnzeels c8f9e491d4 Rename server.rs to daemon.rs, will have separate stateful server (eg with identity) as the next step. 2018-11-16 16:28:04 +01:00
Tim Bruijnzeels 1cb5d036bf Prove that PubClient can get state from its work directory, and that it can be reinitialised. 2018-11-16 16:09:05 +01:00
Tim Bruijnzeels a28b132509 Extended integration test to set up client, and add that as a publisher to the server. 2018-11-16 15:45:34 +01:00
Tim Bruijnzeels febec5d16d Failed to extract generic function or macro for boiler plate around response testing in the integration test. Leaving this commented out though for discussion and future work. 2018-11-16 11:09:02 +01:00
Tim Bruijnzeels 6b072a15a3 Generating identity for publication client. 2018-11-15 15:48:19 +01:00
Tim Bruijnzeels e4a1d09b53 Shorten waiting time for server to come up in integration test. 2018-11-15 12:53:13 +01:00
Tim Bruijnzeels 544b5c11a5 Integration test.. can be improved but at least starting a server and parsing a response. 2018-11-14 16:22:15 +01:00
Tim Bruijnzeels 1b4996ad61 Using a 'spawn' for the hyper server to allow for integration testing where the server shuts down at the end of the test. 2018-11-14 12:06:55 +01:00
Tim Bruijnzeels 6139df2a08 Have a pubc and pubd binary. 2018-11-14 11:18:39 +01:00
Tim Bruijnzeels 4adc5444a9 Introducing binary for CLI to publication server. 2018-11-12 12:49:05 +01:00
Tim Bruijnzeels 7cb00cfe92 Some minor code clean up 2018-11-12 12:48:05 +01:00
Tim Bruijnzeels 6f48730fc4 Returning all publishers as json 2018-11-07 15:52:37 +07:00
Tim Bruijnzeels a8e38e18f0 Fixed comments 2018-11-06 12:21:48 +07:00
Tim Bruijnzeels 9b5d1af34c Adding openssl based signer, using keystore for storage. 2018-11-06 11:51:12 +07:00
Tim Bruijnzeels e6226918f8 Removed direct dependency on bcder.rs, this is not needed, everything is in rpki.rs. 2018-10-31 10:01:40 +01:00
Tim Bruijnzeels 423ee6bf8a Fixing things after removal of PartialEq and Eq on some things in rpki-rs. 2018-10-31 09:47:52 +01:00
Tim Bruijnzeels c17720a6b8 Value in KeyStore does not need to implement Clone. 2018-10-31 09:35:48 +01:00
Tim Bruijnzeels cfbaf036e7 Making the PublisherList, KeyStore and CachingKeyStore mutable again, by requiring that the publisher list is clonable. Under the hood, the CachingKeyStore uses an Arc around an RWLock for cheap cloning. Still need to look into the use of PathBuf or other (Bytes?) to store the path to the directories. 2018-10-29 14:42:04 +01:00
Tim Bruijnzeels 3e2aaa93e5 Fixing warnings for integration test, leaving it as a work in progress. 2018-10-29 14:41:32 +01:00
Tim Bruijnzeels cd47bd3b25 Various fixes: keystore is immutable so it can go in an Arc, yet it can update things internally using its RWLock. Now syncing the PublisherList at start up and passing to the server. A start of an integration test was added, but it needs a whole more work to make it play with starting a hyper server for the duration of the test. 2018-10-26 16:47:29 +02:00
Tim Bruijnzeels 22c51861b6 Synchronising the publishers from disk (still needs to be integrated into main). 2018-10-25 16:13:43 +02:00
Tim Bruijnzeels 247fbd1533 Archiving an info message when archiving a version of a value. 2018-10-24 10:22:05 +02:00
Tim Bruijnzeels 54a3e965e5 Remove a publisher. 2018-10-23 12:47:54 +02:00
Tim Bruijnzeels da43238408 Fixing some documentation and lay-out. 2018-10-23 11:46:32 +02:00
Tim Bruijnzeels fe920c781a Rename 'current_version' to 'get' in keystore trait. 2018-10-22 16:46:50 +02:00
Tim Bruijnzeels 52cd0c5f8e Now also archiving values. 2018-10-22 16:44:36 +02:00
Tim Bruijnzeels 57f6918196 Merging diskstore into the caching store. Not to be used separately, and saves on cloning. Will probably make the cache optional later. 2018-10-17 17:09:08 +02:00
Tim Bruijnzeels 022b7bfef8 Cleanup of unused things 2018-10-17 14:58:57 +02:00
Tim Bruijnzeels c1a4eab1bb Merging the memstore into the caching disk store. No need to use this on its own, and what's more.. we don't want to implement archiving on this cache - just current versions. 2018-10-17 10:11:43 +02:00
Tim Bruijnzeels 4650a52e16 Disallowing sub-dirs in Key paths. Having subdirs makes enumerating the keys in a disk based key store hard. There is no clear use case for this at this time. 2018-10-17 09:27:25 +02:00
Tim Bruijnzeels ff68a94e47 Moving towards having a PublisherList that essentially wraps a KeyStore that stores the individual Publishers. 2018-10-16 09:19:27 +02:00
Tim Bruijnzeels 802aa9fc70 Added manager to store / retrieve the PublisherList. 2018-10-08 14:51:23 +02:00
Tim Bruijnzeels b098744435 Parse config from a file, and allow overrides through command line arguments. 2018-10-03 16:39:02 +02:00
Tim Bruijnzeels d8ceac5adf Adding CachingDiskKeyStore, which will read from memory when it can, but also save to disk to support restarts.
Note that this is only safe as long we operate a single node. Will look into clustering support at a later time. Perhaps TiKV is a useful lead.
2018-10-02 16:15:51 +02:00
Tim Bruijnzeels bd77547465 Using a PathBuf in the Key instead of a String. Also checking validatity of path against RFC 3896. 2018-10-02 16:01:51 +02:00
Tim Bruijnzeels 120c123eb6 Adding disk based keystore. 2018-10-02 14:02:15 +02:00
Tim Bruijnzeels f8de4c8612 Adding keystore and in memory implementation (using json for now) 2018-10-01 16:01:35 +02:00
Tim Bruijnzeels 7479820ece Removing the Command pattern, not sure that we will need it. 2018-09-26 16:44:01 +02:00
Tim Bruijnzeels 1523419fe2 Now also updating an IdCert for a publisher 2018-09-26 16:30:16 +02:00
Tim Bruijnzeels 03bee26ad7 Remove a publisher 2018-09-26 15:32:20 +02:00
Tim Bruijnzeels 684b60e9e3 Extended test for adding publisher, and fixed issue. 2018-09-26 14:50:18 +02:00