Version 1.16.
[pwmd.git] / TODO
blobd49abd7285b7296800b677f3aa2d509eb2391914
1 Here are some ideas that might make it into later versions. Things that break
2 compatibility will definitely have to wait until 2.0.
4 + = started
5 - = not started
6 ? = not sure to included it
8 ? - Use the DBUS protocol instead of libassuan. Better asynchronous IO. More
9     language bindings. Better handling of large amounts of data. Might be
10     better to hack libassuan though since DBUS is a binary protocol.
12 ? - Port to pthreads. Depends on whether porting to DBUS or not. No real
13     reason to do it otherwise. Libpth has a nice message event design.
14     Pthreads is also alot faster but isn't really necessary.
16 + - Network socket support. Client certificate authentication has been started
17     (gnutls/v2 branch).
19 + - Break data file compatibility: fix the minus 1 iterations file header bug,
20     include a flags variable (key, key file or both, and more), and an extra
21     variable for future expansion. Started (v2 branch).
23 ? - Use libgpgme to encrypt the data file. This will let pwmd use a secret
24     GnuPG key and also use gpg-agent for password retrieval and supports
25     smartcards. We can't use gpg-agent right now because of the limited
26     support of symmetric password caching in gpg-agent (presetting the
27     passphrase for example).
29 ? - Make a standard that applications should follow when accessing or storing
30     the XML elements. This way two clients (say, one for console and another
31     for GUI) that require the same data (mail client) could use the same
32     element paths and not duplicate each others data.
34     For example, a POP3 client would require a hostname, username, password
35     and optional port along with an ssl request (fingerprint, certificate),
36     etc. The root element of the service might have an attribute
37     "service=pop3" along with "default=1" or "active=1" (if you have more than
38     one POP3 account) so all the client needs to get the pop3 server info is
39     the type of service ("pop3" here). The client would then loop through the
40     LIST command output and search for the required service attribute. Using
41     the XPATH command would be faster (especially over remote connections) but
42     it won't resolve "target" attributes and the output is raw XML which
43     doesn't have TAB delimited elements.