summaryrefslogtreecommitdiff
path: root/TODO
blob: 6b77f033e85b3a6c4ed7bc736d5a2a5556790ea4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
                            wallet To-Do List

* Testing.  Most of the classes have no tests at all right now.  Doing
  meaningful testing will require finding a way to set up a database
  for testing purposes, probably using sqlite.

* Documentation missing for Wallet::Server, Wallet::ACL, Wallet::Config,
  Wallet::Object::Keytab, and wallet-backend.

* Add an ACL list function to display an ACL in human-readable form and
  call it from wallet-backend.

* Display ACL details when displaying objects.

* There is a lot of duplicate code in wallet-backend.  Convert that to
  use some sort of data-driven model with argument count and flags so
  that the method calls can be written only once.

* Log failures in the wallet-backend properly, which also requires
  catching all exceptions.

* Implement default ACL policy to allow dynamic object creation on first
  request for keytabs.

* Remove the hard-coded ADMIN ACL in the server with something more
  configurable, perhaps a global ACL table or something.

* Implement flags, including support for the unchanging attribute on
  keytabs and the corresponding back-end remctl calls to retrieve the
  existing keytab.

* Implement the locked flag.

* The ACL implementation is currently rather inefficient for ACL
  verifiers that need to maintain state (such as LDAP binds).  Now
  they're created and destroyed when verifying each ACL.  We need to
  somehow return global verifiers, probably through a factory
  implementation.

* There's a lot of code duplication in the dispatch functions in the
  Wallet::Server class.  Find a way to rewrite that so that the dispatch
  doesn't duplicate the same code patterns.