Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OTR problem between psi+ and xabber (проблемы с ОТР) #779

Open
CatsDans opened this issue Mar 26, 2020 · 10 comments
Open

OTR problem between psi+ and xabber (проблемы с ОТР) #779

CatsDans opened this issue Mar 26, 2020 · 10 comments
Labels

Comments

@CatsDans
Copy link

CatsDans commented Mar 26, 2020

I've faced with very strange problem in psi plus v1.4.554 . When I try to start OTR dialogue with contact who has xabber I always get this kind of message:

?OTR:AAMCkDfq4AAAAAAAAADE7mQeDmVH9oowj+0YW2yHIg9E9mCMRlF7/9Zsgb0e5VodCBZuay9mHkwgWq//yPn7yqs31luqHmcpsUuX6orJha/MdUjpaMfIcg7citqwd+Z7zQpiXvGUqXJpAt2aPVAjGNbb2J45xFVPhwBuTHhZEdG5JW0P4L83u13X/tErSutlUIN30GoZuJeCBYAhrc1HSMMQpciA0mfWPxD8P5weI2W18eTVQF8v78amVYB6LyAzThRs2INtFCw4G8+Skc9zUHKnWAAAACCFNI7bU9ULQfz1YFBZTxNmATGoV23RGT9prV7PrpJ7ng==.

And OTR dialogue doesn't start for sure. I've tryed with different kind of version xabber with the newest 2.6.6.645 and elder one 2.6.2. But with 2.2 it works fine.

Moreover psi+ v0.16 works fine with all kind of version xabber. Dialogues start as usual.

This information below which I get in console when I try to start conversation (contact information has been deleted):

<message to='' type='chat'><subject></subject><body>?OTRv23? ** has requested an Off-the-Record private conversation.  However, you do not have a plugin to support that. If you are using Pidgin in Debian or Ubuntu,install the pidgin-otr package. See https://otr.cypherpunks.ca/ for more information.</body></message>
<r xmlns="urn:xmpp:sm:3"/>

<a xmlns="urn:xmpp:sm:3" h="13"/>

<message to="/Psi+" from="/xabber-android-td36tHn7" xml:lang="en" type="chat" id="kpxrr-3018">
<private xmlns="urn:xmpp:carbons:2"/>
<no-store xmlns="urn:xmpp:hints"/>
<request xmlns="urn:xmpp:receipts"/>
<body>?OTR:AAMC32j9agAAAAAAAADEEP4DvpNiHNjtKKZyOlv1+QkvVwNWWA/z8oG8NRn5bGXVuYHRiz5WCAaH8pniU9uG3ElVUuUoLIP7RDV1u08/xl1uARYzmkPwIx6mQ9xfAFgd9rRgR9Sg+yJzTOzMkT78PY9x7x1Eton6JsnQAquP8Wb7yvmGfqWaTEE7/ZnK9jLRBDIZofdQfXbyZn3f+mbndwWYeyBOeyQUeDYVsuglQ+eEZLzQCG2wwi4+zYv3o1R45i5NvLEYCqElpwBOYuaif56F7gAAACAaFNR/TkA44G9nFRw2BA0VIjJgYrMsT3y/5VD5uPfhZg==.</body>
<thread>ohgJU8w48Rx7</thread>
</message>

Translation in Russian below
Столкнулся с очень странной проблемой в psi plus v1.4.554. При попытки начать ОТР переписку с контактом у которого установлен xabber получаю сообщение вот такого вида:

?OTR:AAMCkDfq4AAAAAAAAADE7mQeDmVH9oowj+0YW2yHIg9E9mCMRlF7/9Zsgb0e5VodCBZuay9mHkwgWq//yPn7yqs31luqHmcpsUuX6orJha/MdUjpaMfIcg7citqwd+Z7zQpiXvGUqXJpAt2aPVAjGNbb2J45xFVPhwBuTHhZEdG5JW0P4L83u13X/tErSutlUIN30GoZuJeCBYAhrc1HSMMQpciA0mfWPxD8P5weI2W18eTVQF8v78amVYB6LyAzThRs2INtFCw4G8+Skc9zUHKnWAAAACCFNI7bU9ULQfz1YFBZTxNmATGoV23RGT9prV7PrpJ7ng==.

Переписка ОТР при этом не начинается. У контакта установлена последняя версия xabber 2.6.6.645 при этом с xabber 2.2 все работает хорошо. В версией xabber 2.6.2 так же не работает.

В psi plus v.0.16 при этом с любой версией xabber все работает нормально и ОТР переписка начинается.

Вот какая информация отображается в консоли при попытки начать ОТР переписку (контакты удалил из логов):

<message to='' type='chat'><subject></subject><body>?OTRv23? ** has requested an Off-the-Record private conversation.  However, you do not have a plugin to support that. If you are using Pidgin in Debian or Ubuntu,install the pidgin-otr package. See https://otr.cypherpunks.ca/ for more information.</body></message>
<r xmlns="urn:xmpp:sm:3"/>

<a xmlns="urn:xmpp:sm:3" h="13"/>

<message to="/Psi+" from="/xabber-android-td36tHn7" xml:lang="en" type="chat" id="kpxrr-3018">
<private xmlns="urn:xmpp:carbons:2"/>
<no-store xmlns="urn:xmpp:hints"/>
<request xmlns="urn:xmpp:receipts"/>
<body>?OTR:AAMC32j9agAAAAAAAADEEP4DvpNiHNjtKKZyOlv1+QkvVwNWWA/z8oG8NRn5bGXVuYHRiz5WCAaH8pniU9uG3ElVUuUoLIP7RDV1u08/xl1uARYzmkPwIx6mQ9xfAFgd9rRgR9Sg+yJzTOzMkT78PY9x7x1Eton6JsnQAquP8Wb7yvmGfqWaTEE7/ZnK9jLRBDIZofdQfXbyZn3f+mbndwWYeyBOeyQUeDYVsuglQ+eEZLzQCG2wwi4+zYv3o1R45i5NvLEYCqElpwBOYuaif56F7gAAACAaFNR/TkA44G9nFRw2BA0VIjJgYrMsT3y/5VD5uPfhZg==.</body>
<thread>ohgJU8w48Rx7</thread>
</message>

@Ri0n Ri0n added the Bug label Mar 26, 2020
@claucece
Copy link

claucece commented Apr 7, 2020

Hey! I'll check this out this week to see if I can help on this ;)

@Ri0n
Copy link
Member

Ri0n commented Apr 7, 2020

Cool. Thanks a lot Sofía !

@CatsDans
Copy link
Author

Ths a lot for your help Sofia!

@claucece
Copy link

Hey!

Some questions:

  1. Who is sending this message (the xabber client or the psi client):
<message to='' type='chat'><subject></subject><body>?OTRv23? ** has requested an Off-the-Record private conversation.  However, you do not have a plugin to support that. If you are using Pidgin in Debian or Ubuntu,install the pidgin-otr package. See https://otr.cypherpunks.ca/ for more information.</body></message>
<r xmlns="urn:xmpp:sm:3"/>

Meaning who starts the request for an OTR conversation?

  1. This is a DH-Commit message from OTR (<body>?OTR:AAMC32j9agAAAAAAAADEEP4DvpNiHNjtKKZyOlv1+QkvVwNWWA/z8oG8NRn5bGXVuYHRiz5WCAaH8pniU9uG3ElVUuUoLIP7RDV1u08/xl1uARYzmkPwIx6mQ9xfAFgd9rRgR9Sg+yJzTOzMkT78PY9x7x1Eton6JsnQAquP8Wb7yvmGfqWaTEE7/ZnK9jLRBDIZofdQfXbyZn3f+mbndwWYeyBOeyQUeDYVsuglQ+eEZLzQCG2wwi4+zYv3o1R45i5NvLEYCqElpwBOYuaif56F7gAAACAaFNR/TkA44G9nFRw2BA0VIjJgYrMsT3y/5VD5uPfhZg==.</body>). This means that the conversation is indeed trying to be started. Is there any log after this?

Thanks!

@tehnick
Copy link
Member

tehnick commented Apr 13, 2020

Moreover psi+ v0.16 works fine with all kind of version xabber. Dialogues start as usual.

IIRC, OTR plugin which comes with that extremely old version of Psi+ supports only OTRv2 which is more simple than OTRv3.

I'll check this out this week to see if I can help on this ;)

Look at all OTRL_VERSION_MAJOR >= 4 blocks and you will find that not all libotr-4.x features are used in Psi OTR plugin yet.

I do not remember exactly (it was in 2014) that I have implemented all instance tags related features during port. Also there were problems when your interlocutor is simultaneously connected from multiple xmpp resources. In cases when (s)he is online only from one xmpp client all worked fine...

@tehnick
Copy link
Member

tehnick commented Apr 13, 2020

Related bug reports in Debian:
https://bugs.debian.org/747918
https://bugs.debian.org/934895

@tehnick
Copy link
Member

tehnick commented Apr 13, 2020

Also there were problems when your interlocutor is simultaneously connected from multiple xmpp resources.

Most likely this feature was not finished:

If a user has multiple OTR sessions with the same buddy, your
application will likely want to provide some way for the user to select
which instance to send outgoing messages to. You can detect when a user
has multiple OTR sessions with the same buddy by iterating over the
ConnContexts of a buddy when a conversation has gone secure and checking
whether more than one is not in plaintext state. You specify which
instance outgoing messages are directed to in otrl_message_sending:

See: UPGRADING-libotr-4.0.0.txt

@CatsDans
Copy link
Author

Hey!

Some questions:

1. Who is sending this message (the xabber client or the psi client):
<message to='' type='chat'><subject></subject><body>?OTRv23? ** has requested an Off-the-Record private conversation.  However, you do not have a plugin to support that. If you are using Pidgin in Debian or Ubuntu,install the pidgin-otr package. See https://otr.cypherpunks.ca/ for more information.</body></message>
<r xmlns="urn:xmpp:sm:3"/>

Meaning who starts the request for an OTR conversation?

1. This is a DH-Commit message from OTR (`<body>?OTR:AAMC32j9agAAAAAAAADEEP4DvpNiHNjtKKZyOlv1+QkvVwNWWA/z8oG8NRn5bGXVuYHRiz5WCAaH8pniU9uG3ElVUuUoLIP7RDV1u08/xl1uARYzmkPwIx6mQ9xfAFgd9rRgR9Sg+yJzTOzMkT78PY9x7x1Eton6JsnQAquP8Wb7yvmGfqWaTEE7/ZnK9jLRBDIZofdQfXbyZn3f+mbndwWYeyBOeyQUeDYVsuglQ+eEZLzQCG2wwi4+zYv3o1R45i5NvLEYCqElpwBOYuaif56F7gAAACAaFNR/TkA44G9nFRw2BA0VIjJgYrMsT3y/5VD5uPfhZg==.</body>`). This means that the conversation is indeed trying to be started. Is there any log after this?

Thanks!

  1. This is log when Psi starts OTR conversation. But I have tried different way without success. If it is useful for you I can make logs when xabber start conversation
  2. No. This is full logs.

@CatsDans
Copy link
Author

Also there were problems when your interlocutor is simultaneously connected from multiple xmpp resources.

Most likely this feature was not finished:

If a user has multiple OTR sessions with the same buddy, your
application will likely want to provide some way for the user to select
which instance to send outgoing messages to. You can detect when a user
has multiple OTR sessions with the same buddy by iterating over the
ConnContexts of a buddy when a conversation has gone secure and checking
whether more than one is not in plaintext state. You specify which
instance outgoing messages are directed to in otrl_message_sending:

See: UPGRADING-libotr-4.0.0.txt

No that's out of the question . I tried OTR conversation from my PC with Psi+ with my own jabber account which I am using just with xabber on my phone

@Neustradamus
Copy link

@CatsDans: Your problem has been solved?
Have you updated your Psi+?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants