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/