Porting GPA to GPGME

Miguel Coca e970095@zipi.fi.upm.es
Sat Aug 10 21:16:01 2002


Hello,

I'm porting GPA to use GPGME. I already mentioned my Internet connection
makes CVS access a bit difficult right now. I will commit what I've done by
next friday at the latest, but I thought people would be interested in
knowing what is working right now, and maybe suggest solutions to the
problems I'm having.

I've worked only on the keyring so far. This is what works:

        * The main list of keys works without any problems I can see. Both
        Brief and Detailed modes.

        * The details page works also without any problems.

        * Choosing the default key works too. So does the status line with
        the default key.

        * Exporting keys to a file works. Exporting a file to a keyserver
        doesn't, since gpgme does not provide a keyserver interface we will
        need to do it in GPA ourselves. Exporting to the clipboard doesn't
        work either, but that never worked on Unix anyway.

This is giving me problems:

        * The signatures page doesn't work at all. I can't figure out how to
        list the signatures on a key with gpgme. I thought trust items would
        help with that, but I can't find out what they actually do :-)
        (every key that I've tried gives me an empty list of them) Any
        suggestions?

        * Exporting secret keys does not work, and I don't think it can be
        done with gpgme. Again, any suggestions? This also affects making
        backups of secret keys.

        * Deleting keys should work as soon as that is fixed in gpgme
        (according to the gnupg-devel archives, that's a known bug). Does
        anyone know when that will be solved?

Everything else either doesn't work or I'm working on it. Right now, I plan
to work on importing keys from files, and then generate keys. After that
comes editing keys (including signing), and then the filemanager.

Mostly the code is keeping it's original structure. While gpgme has some
features that could be used to improve GPA, I think it's better to have
something that works first, and then improve on it. To replace the list of
keys that gpapa keeps in memory, I've used a hash table read at startup, and
which will be reloaded when needed.

To assist during the migration, I've built a dummy gpapa with all the
definitions and functions, but whose functions do nothing. That way we can
compile the program even when it's a mix of both API's without touching the
real gpapa, which probably has some code that will be needed later on. I'll
commit them with the rest.

So, I hope you think this is all good news. If someone can give me a couple
of anwers it would help inmensely.

Regards,
-- 
Miguel Coca                                         e970095@zipi.fi.upm.es
PGP Key 0x27FC3CA8                         http://zipi.fi.upm.es/~e970095/