From 9dc1e3889ec00967b57a3d17f3d54e574c3522cd Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Tue, 19 Feb 2008 20:45:58 +0000 Subject: Cleanup svn path=/scripts/README; revision=1517 --- scripts/README | 284 ++++++--------------------------------------------------- 1 file changed, 30 insertions(+), 254 deletions(-) (limited to 'scripts/README') diff --git a/scripts/README b/scripts/README index a4cbec03..8ba9bbe5 100644 --- a/scripts/README +++ b/scripts/README @@ -218,6 +218,9 @@ TO DO: - Update operation and installation docs. + Known current omissions: left-right "rekey" and "revoke" operations, + testbed.py's rootd_sia config option. + [Ongoing] - Update internals docs (Doxygen). @@ -239,7 +242,7 @@ TO DO: -Things implemented but not yet tested: +Things implemented but not yet tested. - Client side of expiration now assumes that parent will reissue when its IRDB changes. @@ -264,267 +267,40 @@ Things implemented but not yet tested: -OLD to do list. This isn't really organized as a todo list but it -contains some useful notes, so retain it for now. Real TODO list is -above. - -- Need scripted tests that shrink and grow and shrink and shrink and - grow and shrink and grow and grow and .... Initial tests with - APNIC required doing this by hand, and there's a body of code that - only gets exercised when the IRDB changes, so need scripted tests. - - testbed.py is the framework for this, no doubt will add more - features later. Most urgent issues on this front at the moment are - - a) Coming up with some useful test scenarios (YAML for testbed.py) - that test interesting combinations of events, and - - b) Analysis tools so that we can check whether the right things - happened during the test. - - A first cut at (b) would just be tools to make the test results - readable by humans, but need to automate eventually. Running rcynic - on the output would also be useful. - - Being able to specify interaction with other servers (not running - under testbed) in a testbed.yaml might be useful for interop tests. - Kind of breaks testbed's fundamental model, though. Replacing what - testbed thinks is a leaf with somebody else would be easy, so maybe - we could specify some way to hang a bunch of rpkids under an - external parent? Hmm, data needed would look a lot like - testpoke.yaml, maybe we can reuse some of that language? - -- Work on a common protocol dump format with APNIC and other - implementors. Randy points out that it would be good if we could - all read each other's dumps. - - "Obvious" format would be an OpenSSL-style PEM of the CMS, with - a "text" portion (the place where "openssl x509 -text" would put a - text dump of a cert) showing the wrapped XML. - -- Rewrite hooks that call CRL generation and publication to do so - immediately rather than waiting for cron. Batching to handle all - of a bunch of events at once would be nice, but start by getting it - right, then worry about making it faster. - -- resource_set_notafter attribute added to RelaxNG but not yet to - rpki.up_down.class_elt. Need to convert to and from Python datetime - but maybe lxml already has code to help us with that. - -- Things implemented but not yet tested: - - - Client side of expiration now assumes that parent will reissue - when its IRDB changes. - - - Parent side of revocation (child_cert objects) and CRL generation - implemented. - - - Parent side of expiration implemented. - - - Child batch processing loop: regeneration or removal of expired - certs based on what's in the IRDB. - - - Batch regeneration of CRLs and manifests for all CAs. - - - Protection against up-down operations specifying a class_name that - belongs to some other self context. - - - Rewrote code that handles revoke on shrink to revoke -all- old - certs for that key, not just most recent. Not certain, but this - may have been the cause of a cert dropping not showing up in the - CRL during testing with APNIC in Vancouver. - -- Implement remaining left-right control booleans -- among other - reasons, these are the IRBE triggers for things like key rollover, - which we need to test some of the stuff that's already done. - -- Child side of revocation...Common Management Tasks page in the APNIC - Wiki shows some states where revocation is triggered by the child - after a delay. Other text in Common Management Tasks suggests that - ca_detail also needs deferred transitions from pending to active, - although Randy and I don't entirely believe that this is necessary - or even advisable. Revocation delay is enough to require a - deferred state transition timestamp to ca_detail object. - - Model for this is an enumerated state value (which we already had) - and a timestamp (which may be NULL) for next scheduled transition. - At the moment we think that the state progression is linear, ie, - there's no need for a next_state field. - - state := pending | active | deprecated - timestamp := NULL |