Mercurial > hg
diff mcabber/src/roster.c @ 1043:ebbde723614b
Store contacts PGP keys
Contacts PGP keys are retrieved from presence/message signatures;
they're displayed with /info.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 26 Nov 2006 17:08:21 +0100 |
parents | 54405d09b15a |
children | c0d44a9a99bc |
line wrap: on
line diff
--- a/mcabber/src/roster.c Sun Nov 26 10:42:25 2006 +0100 +++ b/mcabber/src/roster.c Sun Nov 26 17:08:21 2006 +0100 @@ -58,6 +58,9 @@ #ifdef JEP0085 struct jep0085 jep85; #endif +#ifdef HAVE_GPGME + struct pgp_data pgpdata; +#endif } res; /* This is a private structure type for the roster */ @@ -125,6 +128,9 @@ g_free(p_res->jep22.last_msgid_sent); g_free(p_res->jep22.last_msgid_rcvd); #endif +#ifdef HAVE_GPGME + g_free(p_res->pgpdata.sign_keyid); +#endif } // Free all nodes but the first (which is static) g_slist_free(*reslist); @@ -223,6 +229,9 @@ g_free(p_res->jep22.last_msgid_sent); g_free(p_res->jep22.last_msgid_rcvd); #endif +#ifdef HAVE_GPGME + g_free(p_res->pgpdata.sign_keyid); +#endif rost->resource = g_slist_delete_link(rost->resource, p_res_elt); return; } @@ -1117,6 +1126,18 @@ return NULL; } +struct pgp_data *buddy_resource_pgp(gpointer rosterdata, const char *resname) +{ +#ifdef HAVE_GPGME + roster *roster_usr = rosterdata; + res *p_res = get_resource(roster_usr, resname); + if (p_res) + return &p_res->pgpdata; +#endif + return NULL; +} + + enum imrole buddy_getrole(gpointer rosterdata, const char *resname) { roster *roster_usr = rosterdata;