psi-im / plugins

Officially supported Psi plugins
56 stars 24 forks source link

[OMEMO] Accounts without own key current device in "known keys" section #115

Open Neustradamus opened 2 years ago

Neustradamus commented 2 years ago

There is another problem with OMEMO, accounts without own key current device in "Known keys" section.

MAYBE with <bundle xmlns="eu.siacs.conversations.axolotl"> which is at each connection??


First account has a problem:

First account and first connection:

<iq id='aabea' from='testaccount@domain1.tld' to='testaccount@domain1.tld' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.devicelist'/>
</pubsub>
</iq>

<iq id='aac5a' type='set'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node="eu.siacs.conversations.axolotl.devicelist">
 <item>
  <list xmlns="eu.siacs.conversations.axolotl">
   <device id="437812117"/>
  </list>
 </item>
</publish>

</pubsub>
</iq>

<iq id='aac6a' type='set'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node="eu.siacs.conversations.axolotl.bundles:437812117">
 <item>
  <bundle xmlns="eu.siacs.conversations.axolotl">
   <signedPreKeyPublic signedPreKeyId="2105197244">XXXXXXXXXXX</signedPreKeyPublic>
   <signedPreKeySignature>XXXXXXXXXXXXXXXXXXX</signedPreKeySignature>
   <identityKey>XXXXXXXXXXXXXXXXXXXXXXX</identityKey>
   <prekeys>
    <preKeyPublic preKeyId="1">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
    <preKeyPublic preKeyId="100">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
   </prekeys>
  </bundle>
 </item>
</publish>

</pubsub>
</iq>

<iq id='aac7a' from='testaccount@domain1.tld' to='testaccount@domain1.tld' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.bundles:437812117'/>
</pubsub>
</iq>

<message from="testaccount@domain1.tld" to="testaccount@domain1.tld/Psi+" type="headline">
<event xmlns="http://jabber.org/protocol/pubsub#event">
<items node="eu.siacs.conversations.axolotl.devicelist">
<item id="e5985847-2f41-447f-aa60-310af633854d">
  <list xmlns="eu.siacs.conversations.axolotl">
   <device id="437812117"/>
  </list>
 </item>
</items>
</event>
</message>

<iq id='aac8a' from='testaccount@domain1.tld' to='testaccount@domain1.tld' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.bundles:437812117'/>
</pubsub>
</iq>

<iq to="testaccount@domain1.tld/Psi+" id="aac5a" type="result">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="eu.siacs.conversations.axolotl.devicelist">
<item id="e5985847-2f41-447f-aa60-310af633854d"/>
</publish>
</pubsub>
</iq>

<iq to="testaccount@domain1.tld/Psi+" id="aac6a" type="result">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="eu.siacs.conversations.axolotl.bundles:437812117">
<item id="cdfbaee5-c33f-4f1c-a7e7-179bb48d3454"/>
</publish>
</pubsub>
</iq>

<iq to="testaccount@domain1.tld/Psi+" id="aac7a" type="result">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.bundles:437812117">
<item id="cdfbaee5-c33f-4f1c-a7e7-179bb48d3454">
<bundle xmlns="eu.siacs.conversations.axolotl">
   <signedPreKeyPublic signedPreKeyId="2105197244">XXXXXXXXXXX</signedPreKeyPublic>
   <signedPreKeySignature>XXXXXXXXXXXXXXXXXXX</signedPreKeySignature>
   <identityKey>XXXXXXXXXXXXXXXXXXXXXXX</identityKey>
   <prekeys>
    <preKeyPublic preKeyId="1">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
    <preKeyPublic preKeyId="100">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
   </prekeys>
  </bundle>
</item>
</items>
</pubsub>
</iq>

<iq to="testaccount@domain1.tld/Psi+" id="aac8a" type="result">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.bundles:437812117">
<item id="cdfbaee5-c33f-4f1c-a7e7-179bb48d3454">
<bundle xmlns="eu.siacs.conversations.axolotl">
   <signedPreKeyPublic signedPreKeyId="2105197244">XXXXXXXXXXX</signedPreKeyPublic>
   <signedPreKeySignature>XXXXXXXXXXXXXXXXXXX</signedPreKeySignature>
   <identityKey>XXXXXXXXXXXXXXXXXXXXXXX</identityKey>
   <prekeys>
    <preKeyPublic preKeyId="1">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
    <preKeyPublic preKeyId="100">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
   </prekeys>
  </bundle>
</item>
</items>
</pubsub>
</iq>

First account and second connection (same for third, etc.):

<iq id='aabea' from='testaccount@domain1.tld' to='testaccount@domain1.tld' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.devicelist'/>
</pubsub>
</iq>

<iq id="aabea" to="testaccount@domain1.tld/Psi+" type="result">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.devicelist">
<item id="e5985847-2f41-447f-aa60-310af633854d">
<list xmlns="eu.siacs.conversations.axolotl">
   <device id="437812117"/>
  </list>
</item>
</items>
</pubsub>
</iq>

<message to="testaccount@domain1.tld/Psi+" type="headline" from="testaccount@domain1.tld">
<event xmlns="http://jabber.org/protocol/pubsub#event">
<items node="eu.siacs.conversations.axolotl.devicelist">
<item id="e5985847-2f41-447f-aa60-310af633854d">
<list xmlns="eu.siacs.conversations.axolotl">
   <device id="437812117"/>
  </list>
</item>
</items>
</event>
</message>

<iq id='aac5a' from='testaccount@domain1.tld' to='testaccount@domain1.tld' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.bundles:437812117'/>
</pubsub>
</iq>

<iq id="aac5a" to="testaccount@domain1.tld/Psi+" type="result">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.bundles:437812117">
<item id="cdfbaee5-c33f-4f1c-a7e7-179bb48d3454">
<bundle xmlns="eu.siacs.conversations.axolotl">
   <signedPreKeyPublic signedPreKeyId="2105197244">XXXXXXXXXXX</signedPreKeyPublic>
   <signedPreKeySignature>XXXXXXXXXXXXXXXXXXX</signedPreKeySignature>
   <identityKey>XXXXXXXXXXXXXXXXXXXXXXX</identityKey>
   <prekeys>
    <preKeyPublic preKeyId="1">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
    <preKeyPublic preKeyId="100">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
   </prekeys>
  </bundle>
</item>
</items>
</pubsub>
</iq>

Second account has not a problem:

Second account and first connection:

<iq id='aabea' from='testaccount@domain2.tld' to='testaccount@domain2.tld' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.devicelist'/>
</pubsub>
</iq>

<iq id="aabea" to="testaccount@domain2.tld/Psi+" type="error" xml:lang="en" from="testaccount@domain2.tld">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.devicelist"/>
</pubsub>
<error code="404" type="cancel">
<item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">Node not found</text>
</error>
</iq>

<iq id='aac5a' type='set'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node="eu.siacs.conversations.axolotl.devicelist">
 <item>
  <list xmlns="eu.siacs.conversations.axolotl">
   <device id="1193881054"/>
  </list>
 </item>
</publish>

</pubsub>
</iq>

<iq id='aac6a' type='set'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node="eu.siacs.conversations.axolotl.bundles:1193881054">
 <item>
  <bundle xmlns="eu.siacs.conversations.axolotl">
   <signedPreKeyPublic signedPreKeyId="1575013442">XXXXXXXXXXX</signedPreKeyPublic>
   <signedPreKeySignature>XXXXXXXXXXXXXXXXXXX</signedPreKeySignature>
   <identityKey>XXXXXXXXXXXXXXXXXXXXXXX</identityKey>
   <prekeys>
    <preKeyPublic preKeyId="1">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
    <preKeyPublic preKeyId="100">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
   </prekeys>
  </bundle>
 </item>
</publish>

</pubsub>
</iq>

<iq id='aac7a' from='testaccount@domain2.tld' to='testaccount@domain2.tld' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.bundles:1193881054'/>
</pubsub>
</iq>

<message to="testaccount@domain2.tld" type="headline" from="testaccount@domain2.tld">
<event xmlns="http://jabber.org/protocol/pubsub#event">
<items node="eu.siacs.conversations.axolotl.devicelist">
<item id="66D63CA77B5EC">
<list xmlns="eu.siacs.conversations.axolotl">
   <device id="1193881054"/>
  </list>
</item>
</items>
</event>
<addresses xmlns="http://jabber.org/protocol/address">
<address type="replyto" jid="testaccount@domain2.tld/Psi+"/>
</addresses>
</message>

<iq id='aacba' from='testaccount@domain2.tld' to='testaccount@domain2.tld' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.bundles:1193881054'/>
</pubsub>
</iq>

<iq id="aac5a" to="testaccount@domain2.tld/Psi+" type="result" xml:lang="en" from="testaccount@domain2.tld">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="eu.siacs.conversations.axolotl.devicelist">
<item id="66D63CA77B5EC"/>
</publish>
</pubsub>
</iq>

<message to="testaccount@domain2.tld/Psi+" type="headline" from="testaccount@domain2.tld">
<event xmlns="http://jabber.org/protocol/pubsub#event">
<items node="eu.siacs.conversations.axolotl.devicelist">
<item id="66D63CA77B5EC">
<list xmlns="eu.siacs.conversations.axolotl">
   <device id="1193881054"/>
  </list>
</item>
</items>
</event>
<addresses xmlns="http://jabber.org/protocol/address">
<address type="replyto" jid="testaccount@domain2.tld/Psi+"/>
</addresses>
</message>

<iq id='aacca' from='testaccount@domain2.tld' to='testaccount@domain2.tld' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.bundles:1193881054'/>
</pubsub>
</iq>

<message to="testaccount@domain2.tld" type="headline" from="testaccount@domain2.tld">
<event xmlns="http://jabber.org/protocol/pubsub#event">
<items node="eu.siacs.conversations.axolotl.bundles:1193881054">
<item id="66D63CA78E826">
<bundle xmlns="eu.siacs.conversations.axolotl">
   <signedPreKeyPublic signedPreKeyId="1575013442">XXXXXXXXXXX</signedPreKeyPublic>
   <signedPreKeySignature>XXXXXXXXXXXXXXXXXXX</signedPreKeySignature>
   <identityKey>XXXXXXXXXXXXXXXXXXXXXXX</identityKey>
   <prekeys>
    <preKeyPublic preKeyId="1">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
    <preKeyPublic preKeyId="100">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
   </prekeys>
  </bundle>
</item>
</items>
</event>
<addresses xmlns="http://jabber.org/protocol/address">
<address type="replyto" jid="testaccount@domain2.tld/Psi+"/>
</addresses>
</message>

<iq id="aac6a" to="testaccount@domain2.tld/Psi+" type="result" xml:lang="en" from="testaccount@domain2.tld">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="eu.siacs.conversations.axolotl.bundles:1193881054">
<item id="66D63CA78E826"/>
</publish>
</pubsub>
</iq>

<iq id="aac7a" to="testaccount@domain2.tld/Psi+" type="result" xml:lang="en" from="testaccount@domain2.tld">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.bundles:1193881054">
<item id="66D63CA78E826">
<bundle xmlns="eu.siacs.conversations.axolotl">
   <signedPreKeyPublic signedPreKeyId="1575013442">XXXXXXXXXXX</signedPreKeyPublic>
   <signedPreKeySignature>XXXXXXXXXXXXXXXXXXX</signedPreKeySignature>
   <identityKey>XXXXXXXXXXXXXXXXXXXXXXX</identityKey>
   <prekeys>
    <preKeyPublic preKeyId="1">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
    <preKeyPublic preKeyId="100">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
   </prekeys>
  </bundle>
</item>
</items>
</pubsub>
</iq>

<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.bundles:1193881054">
<item id="66D63CA78E826">
<bundle xmlns="eu.siacs.conversations.axolotl">
   <signedPreKeyPublic signedPreKeyId="1575013442">XXXXXXXXXXX</signedPreKeyPublic>
   <signedPreKeySignature>XXXXXXXXXXXXXXXXXXX</signedPreKeySignature>
   <identityKey>XXXXXXXXXXXXXXXXXXXXXXX</identityKey>
   <prekeys>
    <preKeyPublic preKeyId="1">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
    <preKeyPublic preKeyId="100">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
   </prekeys>
  </bundle>
</item>
</items>
</pubsub>
</iq>

<iq id="aacca" to="testaccount@domain2.tld/Psi+" type="result" xml:lang="en" from="testaccount@domain2.tld">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.bundles:1193881054">
<item id="66D63CA78E826">
<bundle xmlns="eu.siacs.conversations.axolotl">
   <signedPreKeyPublic signedPreKeyId="1575013442">XXXXXXXXXXX</signedPreKeyPublic>
   <signedPreKeySignature>XXXXXXXXXXXXXXXXXXX</signedPreKeySignature>
   <identityKey>XXXXXXXXXXXXXXXXXXXXXXX</identityKey>
   <prekeys>
    <preKeyPublic preKeyId="1">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
    <preKeyPublic preKeyId="100">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</preKeyPublic>
   </prekeys>
  </bundle>
</item>
</items>
</pubsub>
</iq>

Second account and second connection (same for third, etc.):

<iq id='aad7a' from='testaccount@domain2.tld' to='testaccount@domain2.tld' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.devicelist'/>
</pubsub>
</iq>

<iq id="aad7a" to="testaccount@domain2.tld/Psi+" type="result" xml:lang="en" from="testaccount@domain2.tld">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.devicelist">
<item id="66D63CA77B5EC">
<list xmlns="eu.siacs.conversations.axolotl">
   <device id="1193881054"/>
  </list>
</item>
</items>
</pubsub>
</iq>

<message to="testaccount@domain2.tld/Psi+" type="headline" from="testaccount@domain2.tld">
<event xmlns="http://jabber.org/protocol/pubsub#event">
<items node="eu.siacs.conversations.axolotl.devicelist">
<item id="66D63CA77B5EC">
<list xmlns="eu.siacs.conversations.axolotl">
   <device id="1193881054"/>
  </list>
</item>
</items>
</event>
<addresses xmlns="http://jabber.org/protocol/address">
<address type="replyto" jid="testaccount@domain2.tld/Psi+"/>
</addresses>
</message>

The problem is linked to: