Get OTR to work with bitlbee

When using distro packages, there is hopefully a bitlbee-plugin-otr package you can install. When compiling your own BitlBee, pass --otr=1 or --otr=plugin to the configure script.

Note that this requires running your own BitlBee. OTR functionality should not ever be offered on any public server as it only gives a false sense of security!

For more information on how to use OTR, see "help otr" and other existing documentation.

Version reference

Since the OTR versions seem to be a bit confusing, here's a nice table explaining absolutely everything.

Protocol

Library

.so

debian package name

Supported bitlbee releases

Supported bitlbee bzr

v2

libotr 3.2.1

libotr.so.2.2.1

libotr2-dev

3.0 ... 3.2.1

<=1000

v3

libotr 4.0.0

libotr.so.5.0.0

libotr5-dev

none yet

>=1001

(And if anyone could update this Wiki page with more useful info on how to use thing thing that'd be great...)

Simple Question and Answer Response

Assuming that you are using a OTR build (see http://geekyschmidt.com/2011/01/02/bitlbee-and-otr-then-add-some-tor if not) then the following steps will walk you through authentication an OTR session:

  1. otr connect $buddy
    1. otr smpq $buddy 2+2 4
    2. otr smp $buddy bigsecret
  2. If your buddy knows your answer or secret then they will reply correctly
  3. Your buddy being a smart cookie will then ask for you to respond to a question: otr smp $buddy answer
  4. Done!

In step 2 the breakout is question then answer. So if we wanted to do a “Where did we eat lunch 1 Jan” “Taco Bell” then you could do that also. I used 2+2 for simplicity. It is important to note that if you have logging turned on for BitlBee then your OTR messages are in vain. Also they could trace your connections via your network connection.

Issues

OTR does NOT work (well) with offline messages. This scenario was tested using Ubuntu (Oneiric Ocelot/11.10) pidgin-otr-3.2.0-5 and bitlbee-plugin-otr-3.0.3.

Without previous or future chat-session, offline messages from either party will not be passed on and no notification will be sent. OTR messages are only being delivered in these scenarios:

  1. User "A" and "B" are in an OTR session, when "B" is disconnecting. Messages from "A" are being delivered after "B" reconnects.
  2. User "A" is attempting an OTR session with the offline-user "B", when "B" is connecting while "A" is still online.

Wiki-Suggestions