<div dir="ltr">Hi,<div><br></div><div>I have been trying to find out why I have problems when using xmpp-client for OTR conversations with Gibbertbot. After ending a first OTR session and starting<br></div><div>another one I get errors like</div>
<div><br></div><div>    * (6:39PM) While processing message from xxx: otr: peer requested keyid 1 when I'm on 5</div><div><br></div><div>As far as I can see our_keyid (or the equivalent variable) is reset to 1 for each new AKE in libotr, java-otr and otr4j, but the spec just says that both sides 'pick' a keyid, so this shouldn't be necessary and is not done in Go's otr library. On the other hand the spec does say:</div>
<div><br></div><div>    When starting a private conversation with a correspondent, generate two DH key pairs for yourself, and set our_keyid = 2.</div><div><br></div><div>I tried to patch Go's otr library to reset the keyId after receiving and sending DH-Commit messages and this seems to fix the problems with Gibberbot, but I guess this is not really the right fix. Shouldn't Gibberbot respect the bigger keyId published in the Reveal Signature Message?</div>
<div><br></div><div>Best,</div><div>Frithjof</div></div>