Hi,

* The situation :
I use libotr v4.0.0 in an iOS app I'm working on.
The objective-c wrapper I use is here :
https://github.com/tbalthazar/TBOTRManager

* My goal :
I try to have my app exchange messages with another app that uses OTR too (but 
not libotr).
When the user wants to send an OTR message with my app, I keep this message 
until the OTR conversation is secured.
I'd like to know *when* I can consider the OTR conversation as secured and send 
the very first user message.

* My problem
I tried to consider the gone_secure callback as the signal that the 
conversation was secure, but it seems that the gone_secure callback is called 
before libotr has sent the signature message (?OTR:AAMS), which seem to trigger 
an error on the recipient side.

This is the sequence I observe :

- user wants to send "hello", I don't send his message yet and :
- I send ?OTRv23?
- I receive ?OTR:AAMC
- I send ?OTR:AAMK
- I receive ?OTR:AAMR
- gone_secure callback is called
- I send ?OTR:AAMD (the "hello" user message)
- I send ?OTR:AAMS
- I receive ?OTR Error

The recipient client refuses my "hello" message since it considers the 
conversation is not secure yet. If I delay the sending of the "hello" message 
for a few seconds, everything works fine.

Is there a callback I can plug in or a value I can observe to help me determine 
when I can send the user "hello" message? 

Please let me know if I miss something obvious.

Thanks a lot for your help!
Thomas.
_______________________________________________
OTR-dev mailing list
[email protected]
http://lists.cypherpunks.ca/mailman/listinfo/otr-dev

Reply via email to