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.
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
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.