Hello Developers of Telepathy,

This is the beginning of many emails to come as we discuss and iron out the 
details of OTR support in Telepathy.

My purpose here is to patch this bug #296867 (Launch Pad) which is bug #16891 
on the Free Desktop Bugzilla. After talking with sjoerd, smcv, wjt, Robot101, 
and danni; plus reviewing a lot of Telepathy code, specs and the mailing lists, 
I have decided to patch the bug by building OTR into each of the CMs and where 
able to utilize the existing e2e-encryption-spec branch by cosimoc.

This is my thought process or plan so far: If the CM that is being used has OTR 
built into then OTR will be available, but not started, it can be activated via 
the D-Bus. By available I mean that the CM will provide the preferences below 
signifying that the capability for OTR exists. User's will have preferences 
implemented through:
org.freedesktop.Telepathy.Connections.Interface.OTR.Advertise(b) {PROPOSED}
org.freedesktop.Telepathy.Connections.Interface.E2ESecurity.Opportunistic(b) 
{PROPOSED}

Default settings for the Securable properties of a OTR aviable channel will be:
org.freedesktop.Telepathy.Channel.Interfaces.Securable.Encrypted(b)=FALSE
org.freedesktop.Telepathy.Channel.Interfaces.Securable.Verified(b)=FALSE
org.freedesktop.Telepathy.Channel.Interfaces.Securable.Upgradeable(b)=TRUE
org.freedesktop.Telepathy.Channel.Interfaces.Securable.EncryptionRequired(b)=FALSE
 {PROPOSED}
org.freedesktop.Telepathy.Channel.Interfaces.Securable.EncryptionInterface(s)="OTR"
 {PROPOSED}
org.freedesktop.Telepathy.Channel.Interfaces.Securable.EncryptionState(u)=0 
{PROPOSED}
org.freedesktop.Telepathy.Channel.Interfaces.Securable.AuthenticationChannel(o)=org.freedesktop.Telepathy.Channel.Interface.OTRAuthentication
 {PROPOSED}

The Object org.freedesktop.Telepathy.Channel.Type.PeerAuthentication {DRAFT} 
will be inherited by 
org.freedesktop.Telepathy.Channel.Interface.OTRAuthentication {PROPOSED}

The Object org.freedesktop.Telepathy.Authentication.Proposal {DRAFT} will be 
inherited by org.freedesktop.Telepathy.Authentication.Proposal.OTR {PROPOSED}

Please note: I am recommending that 
org.freedesktop.Telepathy.Channel.Interfaces.Encryptable {DRAFT} be renamed, or 
that some of the properties and methods be moved to 
org.freedesktop.Telepathy.Channel.Interfaces.Securable as DRAFT properties.

I am looking for feedback on what people's thoughts on this plan so far are, 
also any suggestions and ideas that people have for input will be reviewed by 
myself. 

I still have a lot of developer reading to do, I have been working my way into 
and through the documentation for OTR, and Telepathy. I also need to do some 
code familiarization for Butterfly, but things are progressing smoothly as I 
have time I will continue to absorb all that I can. I have so far taken the 
e2e-encryption spec branch that was created by cosimoc and re-based it against 
the current spec branch. I will continue to keep my branch up to date as I 
work, I hope that re-base at least once a month, to reduce the headaches when 
we finally to try to merge the OTR branch back in. 
There is obviously still lots of work to be done just on Spec alone before I 
begin to program anything. I plan on programming support for OTR in Butterfly 
CM first as it is programmed in python, the language I am most comfortable, 
then I will port it to Haze (libpurple) and latter to the other CM's. 

In the mean time I figured I would put out this email that expresses my early 
ideas, and I can then begin to engage with all of you and continue to craft my 
thoughts into a solid plan. Once I am done with familiarization I will move on 
to actually doing Spec work.

I think this will be a challenge as it has been already so far, but one that I 
am up for and that I hope you all will join me in overcoming. Thank you all for 
you feedback, ideas, and most importantly your support.

Sources and Other Relevant Information: 
Important Sites:
1. git://gitorious.org/wolfrage-telepathy/otr.git  My git branch for Spec, 
re-based with Origin.
2. http://telepathy.freedesktop.org/wiki/ 
3. http://telepathy.freedesktop.org/doc/book/ 
4. git://git.collabora.co.uk/git/telepathy-spec.git Current Stable Spec & Code
5. 
http://git.collabora.co.uk/?p=user/cosimoc/telepathy-spec.git;a=shortlog;h=refs/heads/e2e-encryption
  e2e-encryption Spec
6. git://git.collabora.co.uk/git/telepathy-butterfly.git  Butterfly CM

Bookmarks:
1. http://lists.freedesktop.org/archives/telepathy/2009-October/003936.html 
2. http://lists.freedesktop.org/archives/telepathy/2010-October/004961.html 
3. http://telepathy.freedesktop.org/wiki/DeveloperNotes 
4. http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html 
5. http://www.cypherpunks.ca/otr/README-libotr-3.2.0.txt 
6. http://www.cacr.math.uwaterloo.ca/techreports/2009/cacr2009-27.pdf 
7. http://lists.cypherpunks.ca/pipermail/otr-users/2008-September/001479.html 
8. http://lists.freedesktop.org/archives/telepathy/2009-November/004021.html 
9. http://lists.freedesktop.org/archives/telepathy/2009-November/004025.html 
10. http://lists.freedesktop.org/archives/telepathy/2009-November/004050.html 
11. http://lists.freedesktop.org/archives/telepathy/2010-January/004103.html 
12. http://www.mail-archive.com/[email protected]/msg04555.html 

Bugs:
1. https://bugs.freedesktop.org/show_bug.cgi?id=16891 
2. https://bugs.launchpad.net/libtelepathy/+bug/296867 
3. https://bugzilla.gnome.org/show_bug.cgi?id=545347 
4. https://bugzilla.redhat.com/show_bug.cgi?id=533855 
5. https://bugs.maemo.org/show_bug.cgi?id=1921 

Other Links: 
1. http://bugs.freedesktop.org/show_bug.cgi?id=29904 
2. http://lwn.net/Articles/398545/  

-- 
- -
Jordan
Quote: "Opportunities multiply as they are seized." "Can you imagine
what I would do if I could do all I can?" Sun Tzu, The Art of War.




_______________________________________________
telepathy mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/telepathy

Reply via email to