[OTR-dev] libotr binding for C#

Mirco Bauer meebey at debian.org
Thu Apr 16 08:47:59 EDT 2015


[resent with correct From: line]

Hi OTR devs,

since I am new on this mailing list, here a short introduction of myself:
My name is Mirco Bauer and I live in Hamburg, Germany. For living I am
a Linux system engineer and work on FOSS projects [0] in my spare
time. I am the author of Smuxi [1], an opensource multi-protocol text
messaging chat client.  I would like to make secure chat support in
Smuxi a first-class feature. IRC alone can't provide this, no matter
how you put it. And this is where OTR comes into play.

Over the years I have seen many flawed attempts to make secure
messaging. I didn't support any of them because I prefer no-security
over false-security. Since Smuxi is written in C#, I will need either
an C# OTR implementation or a C# binding for libotr. Since this is
crypto stuff, you should be a crypto expert writing crypto code. As I
am no crypto expert and don't plan to become one in the near time,
this leaves making a C# binding for libotr.

A quick look at the header files of libotr reveals some smallish
issues/questions:

I wonder where the public headers/APIs are. Are all .h files
considered public APIs, including all defined symbols in them?

There are also header-only APIs that are hard to writing bindings for,
because they will require writing extra C code, e.g.:
https://github.com/off-the-record/libotr/blob/master/src/proto.h#L30
some of them are probably easy to solve by defining them as enums in
C# itself instead of binding to the C code, but it also looks like
there are cases where it could be insecure to have possibly diverged
definitions instead of shared code, which is the main point of a
shared library.

So far I have not written any code, but I would like to get some
things sorted, so I can. :)

That's all for now, thank you for making OTR!

[0] https://github.com/meebey?tab=repositories
[1] https://smuxi.im/

-- 
Best regards,

Mirco 'meebey' Bauer

FOSS Developer          meebey at meebey.net  https://www.meebey.net/
Debian Developer        meebey at debian.org  http://www.debian.org/
GNOME Foundation Member mmmbauer at gnome.org http://www.gnome.org/
.NET Foundation Advisory Council Member: http://www.dotnetfoundation.org/
PGP-Key ID              0xEEF946C8         https://meebey.net/pubkey.asc


More information about the OTR-dev mailing list