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 ? - Use libgpgme to encrypt the data file. This will let pwmd use a secret
17 GnuPG key and also use gpg-agent for password retrieval and supports
18 smartcards. We can't use gpg-agent right now because of the limited
19 support of symmetric password caching in gpg-agent (presetting the
20 passphrase for example).
22 ? - Make a standard that applications should follow when accessing or storing
23 the XML elements. This way two clients (say, one for console and another
24 for GUI) that require the same data (mail client) could use the same
25 element paths and not duplicate each others data.
27 For example, a POP3 client would require a hostname, username, password
28 and optional port along with an ssl request (fingerprint, certificate),
29 etc. The root element of the service might have an attribute
30 "service=pop3" along with "default=1" or "active=1" (if you have more than
31 one POP3 account) so all the client needs to get the pop3 server info is
32 the type of service ("pop3" here). The client would then loop through the
33 LIST command output and search for the required service attribute. Using
34 the XPATH command would be faster (especially over remote connections) but
35 it won't resolve "target" attributes and the output is raw XML which
36 doesn't have TAB delimited elements.