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