[OTR-users] Pretty-please standardize OTR signature storage, per OS.

Tamme Schichler tammeschichler at googlemail.com
Tue Oct 1 19:50:16 EDT 2013


Hello Subharo,

Am 01.10.2013 18:56, schrieb subharo at hushmail.com:
> Hello Tamme, and others,
> 
> My Python guru, who wishes to remain anonymous, informs me:
> 
> "I think named pipes are not the right solution for Windows, don't
> think they even exist.  It sounds like they want to make a something
> like PuTTY agent, for managing SSH keys.  The source code for PuTTY
> exists, someone could make a modified copy of it."
> 
> FWIW, I'd also like to point out that http://stackoverflow.com/ has 
> excellent answers to well-poised, highly-sophisticated programming 
> questions.

named pipes do exist, it's possible that they work a bit differently
from Unix though. They are not reachable from the command line by default.
The PuTTY agent uses a memory mapped file but that would require
additional synchronization and a more complicated protocol to handle
multiple clients (and a frozen client can block the whole system in the
easiest implementation).
The named pipes do everything that's needed in the most simple way
possible, the problem is that I can't connect them to Python. (Neither
they nor shared memory seems to be part of the standard library and I
haven't found a named-pipe module so far.)

Asking on Stack Overflow seems like a good idea, I'm currently too busy
to dive into the WinAPI though.

> Tamme, *I applaud your efforts*, however I'd like to point out that 
> the birthplace of OTR is Pidgin, and the birthplace of Pidgin is 
> the Linux world.  Using any C# code at all, even just for testing-
> related utilities, will probably scare away the majority Linux 
> people.  Mono doesn't have a good reputation, generally, even 
> though it's open source.  Even that faint whiff of Microsoft is 
> distasteful enough to most Linux folks.

That's unfortunate if true. While there are some notable libraries that
are incompatible (WPF, MonoGame, Microsofts server infrastructure...),
the Common Language Infrastructure itself and C# are
platform-independent and standardized. There's the JVM, but it's not all
that great in comparison, feature wise.

> Tamme, you also wondered where the spec for OTR is.  It appears 
> there is none.  All there is to go on, for now, it seems, is just 
> to "wing it", after carefully observing the formatting seen in the 
> config file that Pidgin creates, containing the OTR signature 
> (which was mentioned a bit earlier, in this mailing list).  
> Somebody, please correct me, if I'm wrong.

Pidgin seems to store just a list of (account, key) pairs for own
identities and (nickname, verified?, fingerprint) for known
fingerprints. (I could not check the latter one in the config files.)

I think what would work best is using lists of (network, id,
friendly_name, key) for own identities and (uid, network, id,
friendly_name, verified?, fingerprint) for known fingerprints.

I don't have the time to do it currently, but it seems reasonably
straightforward. My concern was mainly with what data needs to be
stored, it seems there's a good balance between ease-of-use and
ease-of-implementation this way though.

> Furthermore, I've considered how involved I can get into this, and 
> I've decided I can't offer more than this much.

I have a few things coming up right now, so I probably won't be able to
contribute either for the next month or so.

> I wish everyone the best in this, however I'm moving on for now, as 
> I've come up with a primitive workaround to this duplicate OTR 
> signature problem for: create a new, unique XMPP (or whatever IM-
> protocol) account in each IM client one uses, each with a slightly 
> different name.  Each unique account gets a unique OTR fingerprint, 
> and then there is no "collision" in OTR fingerprints.  The 
> unfortunate side effect is needing to add all of one's IM contacts 
> multiple times, one for each unique account.  But that's not so 
> bad, it just adds a few more minutes work (including the OTR 
> signature exchange for each account, with each contact).  
> Typically, even a sophisticated user would only use 2 or 3 OTR-
> aware IM clients, in tandem.
> 
> Peace out,
> Subharo
> 

So the problem is basically the remote clients not understanding
multiple valid fingerprints for one account? Maybe that should be added
to the specification as requirement (with a clear warning message when
adding an additional key).

-Tamme



More information about the OTR-users mailing list