[Telepathy] GSoC Project: Add OTR support to Telepathy/Empathy for XMPP

João Paulo Rechi Vita jprvita at gmail.com
Sat May 21 10:24:57 PDT 2011


Hello Jordan,

On Fri, May 20, 2011 at 03:10, wolfrage8765 at gmail.com
<wolfrage8765 at gmail.com> wrote:
> João,
>    I would be interested in seeing the spec work that you have
> submitted that is being reviewed. I to have submitted some spec work
> for exposing OTR to each CM, but it has so far been ignored.
> https://bugs.freedesktop.org/show_bug.cgi?id=29904#c11

I've had looked at your spec, and also have sent a small patch [1] to
include some missing files in order to make it compile. I think I've
told you about this on IRC, but don't know if you got the message.
Anyway, it seems you're trying do address both OTR and XTLS on your
proposal, right? Talking to Will, we came to the conclusion that since
there is no one really working on XTLS right now, it would be better
to stick with OTR only, so we can get things done at least for it. My
idea is heavily based on your proposal, I've just tried to remove the
non-OTR stuff (that could be re-added latter when someone starts to
work on XTLS or other e2e encryption that might show up). I'm adding
what I've done so far, please feel free to comment so we can make it
the best possible option. Of course if anyone else interested on
OTR/E2E could add comments, that would be greatly appreciated.

[1] https://gitorious.org/telepathy-spec/telepathy-spec/commit/25b880875738e5bd4dd06d5d35a54c094e0e2a68


= /ofdT/Connection/cmanager/protocol/account =

   == ofdT.Connection.Interface.OTR ==

       - Properties -

           - Enabled (boolean, read/write): If OTR protocol is enabled. When
             this property is set to False incoming OTR requests are treated
             as normal text messages.

           - AutoStart (boolean, read/write): Automatically request an OTR
             session if there is an OTR key stored for the contact handle of
             the channel being started.

           - AutoAccept (boolean, read/write): Automatically starts an OTR
             session when the contact handle supports it.

= /ofdT/Connection/cmanager/protocol/account/channel =

   == ofdT.Channel.Interface.OTR ==

       This interface is only applicable to channels of type Text.

       - Properties -

           - Encrypted (boolean, read-only): States whether text on this
             channel is being encrypted.

           - Authenticated (boolean, read-only): States whether the contact
             handle key in use for encryption of this channel has been
             authenticated. This will be true when we have a verified key
             stored for the other peer on this channel.

       - Methods -

           - StartSession(): Request an OTR session with the contact handle
             involved in this channel. Messages sent after this method has
             finished successfully will be encrypted. On success it changes
             'Encrypted' to True.

           - EndSession(): Terminate the OTR session for this channel. Messages
             sent after this method has finished successfully will be
plain text. On
             success it changes 'Encrypted' to False.

= ofdT.Authentication.OTRKey =

   This interface will be implemented by an object representing the key used
   to authenticate a contact. My initial idea was to have this object under
   the object that represents a contact, but I didn't find any and right now
   I don't know how this is represented in Telepathy.

   - Properties -

       - Verified (boolean, read/write): States whether this key has been
         verified using any of the OTR defined verification protocols
         (question/answer, shared secret or fingerprint verification).


> Never the less this weekend I will be moving forward with a Python
> implementation for Butterfly. In a few months this should be done. But
> now I do not know if the spec that I submitted via the bug, as I was
> instructed to do, is correct or if I should be adhering to a spec that
> I have not even seen?

That's great news! Let's them have this spec part finished ASAP, I'm
eager to start coding too.

-- 
João Paulo Rechi Vita
http://jprvita.wordpress.com/


More information about the telepathy mailing list