TODO list of Seahorse
TODO list of Seahorse
Each point can have one of the states
OPEN,DEFERRED,REJECTED,INPROGRESS,DONE


1. only retrieve key list from gpg if necessary. There is no need to
   have the slightly annoying delay every time before
   the Encrypt/Decrypt window opens. We could keep the time stamps
   of the files in .gnupg (pubring.gpg,secring.gpg,trustdb.gpg,options)
   and only reload the key list if at least one of the files is changed.
   This could be integrated transparently in gpg-interface.c into the
   functions gpg_list_pubkeys and gpg_list_seckeys and I can do
   that if there are no objections.
[DONE]

2. Tidy up the code and audit it for any memory leaks, security holes
   or other problems. This will be done when Seahorse has reached
   a more complete set of features.
[DEFERRED]

3. there is no need to throw away the old content of the text editor
   when the gpg subprocess delivered an empty stdout stream.
   This applies for example to the verification of a signature.
[DONE]

4. drag and drop support of files into Seahorse
[INPROGRESS]

5. the use of language dependent texts is not complete throughout
   Seahorse, for example the strings 'Public Key Ring'
   in the key manager. Needed for v1.0
[INPROGRESS]

6. Produce online docs that can be displayed with the Gnome
   Help browser. Needed for v1.0
[INPROGRESS]

7. Complete support for key management functionality of gpg.
   Need to add the following before v1.0:
   a) Delete UID
      [DONE]
   b) Change Expiry Date
      [OPEN]
   c) Change Passphrase
      [OPEN]
   The following are not required for v1.0, but would be nice:
   d) Add a Key Manager command line option that will only start up
      the Key Manager and exit when the Key Manager is closed.
      [OPEN]

8. Support for Option Settings (encryption algorithm, message algorithm, etc.) Needed for v1.0
[INPROGRESS]

9. Support for Symmetric Encryption (won't be difficult, but other items are more urgent)
[OPEN]

10. Add "Open", "Save" and "Save As ..." options. (not essential, but they will
    make some things easier)
[OPEN]

11. Load a file from the command line (e.g. "seahorse foobar.gpg")
[INPROGRESS]

12. Support piping to and from Seahorse (this will be useful for integrating
    with mailers and editors)
[INPROGRESS]

13. Better integration with mailers (probably requires 11, 12 and some other
    features)
[INPROGRESS]

14. Support for viewing encrypted images. (Gnome offers all the necessary
    widgets, but implementing this will take some time)
[OPEN]

15. Add a CORBA interface for integration with Gnome/KDE apps.
[OPEN]

16. Add support for multiple recipients.
[OPEN]

17. Provide a search function in the text buffer.
[INPROGRESS]

18. Sort the list of public keys before display to let the user
    find keys faster.
[INPROGRESS]

19. Inspect the computing environment of Seahorse for insecure
    conditions and warn user about it and possibly deny certain
    sensitive actions, for example the input of a passphrase or
    decrypting (possible sensitive) content.

    objective: assuming that the account and host running Seahorse
               are not compromised catch common pitfalls that could
               compromise users keys or sensitive information.

    Possible checks:
    - X display is not local ( and not through SSH tunnel )
    - X display access permissions allow access from other users
      or even other hosts.
[INPROGRESS]

20. Check if XGrabKeyboard/XtUngrabKeyboard should be used during
    passphrase input. This ensures that all keyboard input is only
    directed at the Seahorse application. xterm offers this as an
    option during password input.
[OPEN]