[OTR-users] OTR plugin for X-Chat

Konrad Meyer konrad at tylerc.org
Wed Sep 19 20:49:47 EDT 2007


Quoth konrad at tylerc.org:
> On Wed, Sep 19, 2007 at 17:55:25 -0400, Ian Goldberg wrote:
> > On Wed, Sep 19, 2007 at 04:53:47PM -0400, konrad at tylerc.org wrote:
> > > On Sun, Sep 16, 2007 at 12:32:16 -0400, Ian Goldberg wrote:
> > > >On Sun, Sep 16, 2007 at 02:08:42AM -0700, Konrad Meyer wrote:
> > > >> I know gaim has an IRC mode, but I'd like to use OTR in X-Chat. 
Before
> > > I go
> > > >> ahead and write it myself, though, I was wondering if there had
> been any
> > > >> efforts made in this direction by anyone else in the past. If not, do
> > > folks
> > > >> have any pointers for using libotr? (I am someone relatively
> unfamiliar
> > > >> with the internals of libotr.)
> > > >
> > > >I don't know of one.  Let me know if you need some pointers in how to
> > > >integrate libotr, though.
> > > >
> > > >   - Ian
> > >
> > > Hey, I have a question now :D. Why would anyone want to use a fragment
> > > policy other than OTRL_FRAGMENT_SEND_ALL?
> >
> > pidgin uses a different policy, for example.  Here's what's going on:
> >
> > When there's a message to be sent, the sending-im-msg callback of each
> > plugin is called.  Those plugins have the opportunity to modify the
> > message that's about to be sent, by changing a pointer value passed into
> > it.  Normally, pidgin-otr changes the message to an encrypted version of
> > the message, for example.
> >
> > But there's no way for a plugin to indicate "change the message about to
> > be sent into these (for example) 3 messages".  So pidgin-otr uses the
> > fragment policy of OTRL_FRAGMENT_SEND_ALL_BUT_LAST to tell libotr that
> > it's going to send all but the last fragment right now, but let the last
> > fragment stick around, getting pointed to by that newly mofidied
> > pointer, so that pidgin will send it on its own.
> >
> > You might say, "Why not just send all the fragments, and set the
> > message-about-to-be-sent pointer to NULL"?  The problem is that if you
> > do that, pidgin decides it doesn't need to *show you the message you
> > just typed*.  Luckily, if it's anything non-NULL, pidgin shows you *what
> > you originally typed*, and not whatever it was modified to before being
> > sent over the wire (the encrypted version).
> >
> > Does that make sense?
> >
> > Thanks,
> >
> >    - Ian
> 
> OK, for my purposes (since I'm manually telling XChat to display the
> message the user sent) I will just use OTRL_FRAGMENT_SEND_ALL. I do wonder
> why you might not just send all the fragments, and set the message-about-
> to-be-sent pointer to (void *)1. I mean, it's a bit of a hack, but makes
> it a bit more simple IMO.
> 
> Yeah, that made a lot of sense, thanks a bunch for the help.
> 
> --
> Konrad Meyer <konrad at tylerc.org> http://konrad.sobertillnoon.com/

Doh. I sort of hit myself in the head about 5 seconds after sending that.
Please disregard the stupid comments.

-- 
Konrad Meyer <konrad at tylerc.org> http://konrad.sobertillnoon.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.cypherpunks.ca/pipermail/otr-users/attachments/20070919/2eb10bda/attachment.pgp>


More information about the OTR-users mailing list