Commit Graph
90 Commits
Author SHA1 Message Date
Tim Bruijnzeels f958ba17b2 Changing path to response.xml rather than response-xml, seems more fitting for a file. Resolves #4. 2019-01-02 16:32:57 +01:00
Tim Bruijnzeels cfdff770b4 Some more restructuring of the basic API. Closing #4 now, but surely this will still be refactored as more methods are added to the API. 2019-01-02 16:19:41 +01:00
Tim Bruijnzeels 3f613b800f Updated API documentation and path structure - work in progress on #4 2019-01-02 12:34:12 +01:00
Tim Bruijnzeels 83f2185229 Cleanup 2019-01-02 09:51:23 +01:00
Tim Bruijnzeels 914ef314de Adding support for HTTPS, resolves #32 2018-12-31 12:57:01 +01:00
Tim Bruijnzeels 26230ab8d8 Some documentation. 2018-12-21 13:34:14 +01:00
Tim Bruijnzeels 9ee5a17e88 Adding some cache control headers to static content. 2018-12-21 12:35:54 +01:00
Tim Bruijnzeels 04a8abe761 Adding some support for logging about publication protocol messages. 2018-12-20 16:20:21 +01:00
Tim Bruijnzeels 0bde805445 Merge branch 'master' of github.com:NLnetLabs/tranquility-base 2018-12-20 16:19:58 +01:00
Tim Bruijnzeels cf0b95fff3 Added logging, some fixes to config, and removed a lot of string cloning. 2018-12-20 15:58:55 +01:00
Martin Hoffmann e20d89ca3f Import remote from rpki-rs. 2018-12-19 16:55:02 +01:00
Tim Bruijnzeels 301a8f0302 Adding logging framework and config to pubd. 2018-12-19 15:22:02 +01:00
Tim Bruijnzeels b95268c460 Support interacting with the pubd through the pubc CLI, and serve RRDP files.
Note:
- Serving the files still needs some improvement with regard to memory (stream rather), and headers for caching.
- Syncing 108MB RIPE NCC repo takes 1m30s initially, and about 2m30s subsequently when there is no update to send.
- Performance could be better, but seems more than good enough for the target use.
2018-12-12 16:54:52 +01:00
Tim Bruijnzeels 2ac5f9703f Fix private key ser-de. 2018-12-12 11:08:16 +01:00
Tim Bruijnzeels e9806b2e90 Some code cleanup, and now testing that the correct notification file and delta references are written. 2018-12-11 16:41:50 +01:00
Tim Bruijnzeels 27906b623e Work in progress - write notification, snapshot and delta files when publishing. 2018-12-11 11:07:21 +01:00
Tim Bruijnzeels f23bc90b4a Publishing at the server, from the client, integration test working. 2018-12-05 17:04:01 +01:00
Tim Bruijnzeels 09189d54df Perform a list query, and parse the reply. 2018-12-04 16:14:53 +01:00
Tim Bruijnzeels 77c0346612 Expose http handler for receiving list and publish requests. Note this will be tested in the integration test once the client side is implemented. 2018-12-03 15:35:47 +01:00
Tim Bruijnzeels 7817e27e93 Using reqwest instead of hyper, because synchronous requests are all we need here, both in testing and for the publication client 2018-12-03 11:31:46 +01:00
Tim Bruijnzeels 93bba5c985 Replacing Hyper with Actix Web for the server. 2018-11-30 16:39:07 +01:00
Tim Bruijnzeels d59c4e7c4e Moving file handling code into a separate module for easy re-use by both pubc and pubd. 2018-11-29 16:46:15 +01:00
Tim Bruijnzeels 1f0ee5855b Handle publish/list requests. Still to do: integration testing, and exposing this in the http handler. 2018-11-28 16:07:14 +01:00
Tim Bruijnzeels ea7143ef37 Reorganised code somewhat to separate concerns better. Let the PubServer orchestrate between 'Responder', 'PublisherStore' and 'Repository'. 2018-11-27 10:36:41 +01:00
Tim Bruijnzeels 579c44464b Some clean-up. 2018-11-26 15:47:54 +01:00
Tim Bruijnzeels 00275d852d Moving PublisherStore into the provisioning module, rather than repo. 2018-11-26 15:08:27 +01:00
Tim Bruijnzeels b527dbb643 Combining PublisherStore and FileStore in a single Repository. Also passing config options by reference as much as possible. 2018-11-26 14:58:15 +01:00
Tim Bruijnzeels f247f5ede5 Disallow publish/update/withdraw outside of base uri. 2018-11-23 11:14:29 +01:00
Tim Bruijnzeels ec8e0bb215 Support processing a publish query (containing publish/update/withdraw elements) in the Repository and RepoPublisher. 2018-11-22 16:56:57 +01:00
Tim Bruijnzeels 5ca20044c1 Adding/removing RepoPublishers to the Repository, and some code clean up here and there. 2018-11-22 11:03:03 +01:00
Tim Bruijnzeels 747e2f8943 Fixing default URI paths 2018-11-21 15:01:51 +01:00
Tim Bruijnzeels ec59845ec0 Show repository response xml for a known publisher 2018-11-21 14:55:02 +01:00
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 6b072a15a3 Generating identity for publication client. 2018-11-15 15:48:19 +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