otrv4 / libotr-ng

A new implementation of OTR with support for version 4. This is a mirror of https://bugs.otr.im/otrv4/libotr-ng
Other
43 stars 9 forks source link

Check the protocol state transition between OTRv3 and OTRv4 #62

Closed claucece closed 6 years ago

claucece commented 6 years ago

Why

As we are currently implementing the revision number 2 of the OTRv4 specification, we need to include a consistent way of using both state machines.

Reference

Please, refer to the "The Protocol State Machine" section of the OTRv4 spec.

Tasks

Depends on / Related to

Issue #65

Open questions

None.

annacruz commented 6 years ago

As I read and checked with @juniorz for now there's no interaction between version 3 and 4 of the otr protocol.

If the conversation was initialized with version 3 it will be in the version 3 until receive the message to end the conversation and if some version 4 message is received it will be ignored.

If the conversation was initialized with version 4 it will be in the version 4 until receive the message to end the conversation and if some version 3 message is receive it will be ignored.

One thing to notice is that in the protocol version 4 in the section Receiving a D-H Commit Message says that you should change the version of the protocol to 3 if your client permit this and begin to use the version 3 state machine.

What should change? the implementation or the protocol?

claucece commented 6 years ago

One thing to notice is that in the protocol version 4 in the section Receiving a D-H Commit Message says that you should change the version of the protocol to 3 if your client permit this and begin to use the version 3 state machine.

Mmm.. interesting. I'll check this in a bit and come with an answer..