[OTR-dev] Re: [Gaim-devel] gaim-OTR, AIM DirectIM, and messaging signals
Mark Doliner
mark at kingant.net
Sat Feb 25 18:12:24 EST 2006
On Thu, 23 Feb 2006 22:33:20 -0500 (EST), Etan Reisner wrote
> On Fri, 17 Feb 2006, Evan Schoenberg wrote:
> > (Please reply-to-all, as I'm sending this to both relevant lists)
> >
> > AIM DirectIM can't work within an OTR-encrypted chat; the same is true of any
> > other gaim plugin-based encryption scheme.
> >
> > 1) User sends message in Gaim
> > 2) Gaim gives plugins an opportunity to modify the message; an encryption
> > plugin such as gaim-otr encrypts the message if appropriate, returning the
> > encrypted message
> > 3) Gaim sends the encrypted message to the prpl
> > 4) In the case of oscar within a DirectIM session, the message is normally
> > post-processed, looking for <IMG> tags, which reference ids from the gaim img
> > store in the form <img='2'> where gaim_imgstore_get(2) will return the
> > GaimStoredImage* for the image. The image's data, size, etc. are inserted
> > into the message..... but the message is encoded, so such a tag isn't found,
> > and images can not be sent.
> >
> > A similar situation exists on the receiving side, where the prpl processes
> > the incoming message, looking for <img> tags to convert to the gaim img store
> > and their corresponding IDs but sees only the gibberish of an encrypted
> > message.
> >
> > As I mentioned, this is not specific to the gaim-otr implementation but
> > rather a result of how the signals are set up. One solution I've come up
> > with is giving the prpl a chance to modify the outgoing message before it is
> > sent to plugins via a signal, and similarly call the prpl for final
> > post-processing of incoming messages after the first signal is sent when
> > receiving a message.
> >
> > Thoughts?
> >
> > Cheers,
> > Evan
> > www.adiumx.com
>
> I only partly understand the issue here, and I have next to know
> undertanding of the underlying encryption stuff, but couldn't a prpl
> that needs to do this processing just use the same signals that the
> encryption plugins use? And use the signal priority stuff to ensure
> that they come first, to facilitate this we can change the handful
> of GAIM_PRIORITY defines to be an enum with default levels for
> PRPL/ENCRYPTION/etc. Would that not solve at least some of the
> problems? Or is there something I'm missing? Does the prpl
> processing do funny things to the message that the plugins would
> have to know about to deal with or something? Would the prpls need
> to keep track of messages between the signal and the normal
> mechanism somehow? (Would we need to start tagging messages with per-
> conversation ids to make this work more easily?)
>
> -Etan
It sounds like that would work, and would be cleaner
-Mark
More information about the OTR-dev
mailing list