On Wed, Oct 30, 2013 at 03:44:47PM +0100, Thomas Balthazar wrote: > 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.
Ah, interesting problem. libotr indeed calls the gone_secure callback when the conversation switches to encrypted at your end. But right after that (i.e. when otrl_message_receiving returns), it returns to you the AAMS message, which your application then delivers to the other side. So I guess you could have gone_secure just set a flag, which you check (and clear) after you deliver that AAMS message? - Ian _______________________________________________ OTR-dev mailing list [email protected] http://lists.cypherpunks.ca/mailman/listinfo/otr-dev
