Communication between plug-ins

Jurre van Bergen drwhax at
Mon Aug 19 13:25:12 EDT 2013

Hash: SHA1

What would be nice as well is working on extending certain signals.
Currently, it's an absolute pain to catch the right signals if you want
to support /me encrypted messages while in an OTR conversation.

All the best,

On 08/19/2013 06:34 PM, Tomasz Wasilczyk wrote:
> Hi,
> I've just started working on pidgin-otr integration into Pidgin 3.0.0
tree. My idea is to extend libpurple API with some kind of
verification/encryption framework.
> I don't know all the aspects yet, but I guess there is a room for
improvements, just like it was in the case of keyrings. I think we will
work out some nice API together, flexible enough to support such plugins
> In the meantime, you could describe, what exactly your pidgin-otr fork
> Tomek
> 17 sie 2013 19:04, "Daniel Kraft" <d at <mailto:d at>>
> Hi,
> I've patched the Pidgin OTR plug-in to allow verification of
> fingerprints via the Namecoin identity system:
>   git clone -b namecoin-verify
> This was however only a proof-of-concept implementation, because it is
> unlikely that the OTR folks will integrate Namecoin into their
> official code.  However, they indicated interest in a general
> "verification framework" for Pidgin-OTR that would allow other
> plug-ins to provide additional verification methods just like mine,
> and I want to implement that.
> The basic idea is like this:  Users have the official Pidgin-OTR
> plug-in installed, and additionally a separate Namecoin plug-in.  When
> the fingerprint verification process is started from the OTR plugin,
> it looks through all installed plug-ins, determines which of those
> provide fingerprint verification and then adds those as additional
> options in the UI dialog.
> Is something like this possible, and if so, how would I best implement
> it?  In particular, how can the communication between the OTR plug-in
> and verification plug-ins be done?  I presume that
> purple_plugins_get_loaded is a start which could be used by OTR on
> demand to get a list of all plug-ins installed (rather, active).  But
> how could verification plug-ins signal to OTR that they indeed provide
> verification features?  And how can OTR then tell those plug-ins to
> build their UI, and vice-versa those plug-ins tell OTR to mark
> fingerprints as verified?
> My first idea would be to use signals:  If I understand them
> correctly, one can basically connect any signal to any GObject, thus
> would it be possible to achieve what I have in mind if each
> verification plug-in connected a signal handler for, say,
> "pidgin-otr-start-verification" to its PurplePlugin, and OTR fired
> this signal on every plug-in loaded?  Then only those which are
> actually verification plug-ins would handle the signal, and could take
> appropriate action.  Via the user-data field for the signal handlers,
> pointers to data-structures could be exchanged that can then be used
> to communicate between OTR and the verifiers.
> What do you think, is this a possible approach?  Are there other
> (better) ways to handle my situation?  I've not much experience with
> Glib and libpurple, so any help is very much appreciated!
> Thanks!  Cheers,
> Daniel
>     _______________________________________________
>     Devel mailing list
>     Devel at <mailto:Devel at>
> _______________________________________________
> Devel mailing list
> Devel at

- -- 
Give a man a fish and you feed him for a day; teach a man to fish and
you feed him for life.
Version: GnuPG v1.4.12 (GNU/Linux)


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Devel mailing list