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

Responds with socks5 details to in-band-bytestreams offer in Jingle negotiation #3478

Closed
hrxi opened this issue Jun 13, 2019 · 4 comments

Comments

@hrxi
Copy link

commented Jun 13, 2019

As far as I understand the Jingle XEP-0166, Conversation behaves weirdly by responding with a Jingle session-accept with socks5 transport parameters to a session-initiate with in-band bytestream transport offer. I think it would be more correct to offer a transport-replace with the socks5 offer which could then be transport-accepted or transport-rejected before sending the session-accept.

General information

  • Version: Conversations 2.5.2+fcr
  • Device: Google Nexus 5X
  • Android Version: Android 5.1 LineageOS
  • Server name: from 5222.de to jabber.ccc.org
  • Server software: not known
  • Installed server modules: not known
  • Conversations source: F-Droid

Steps to reproduce

  1. Send Conversations a file offer like, note the transport element:
<iq id='a9aba954-3366-474d-b89a-1fb4876b4f2c' type='set' to='receiver@jabber.ccc.de/Conversations.aSP7'>
  <jingle xmlns='urn:xmpp:jingle:1' action='session-initiate' initiator='sender@5222.de/dino.ffd8e29b' sid='46a93994-b3af-4414-a727-72c01424d7de'>
    <content creator='initiator' name='a-file-offer' senders='initiator'>
      <description xmlns='urn:xmpp:jingle:apps:file-transfer:5'>
        <file>
          <name>
            a
          </name>
          <size>
            7
          </size>
        </file>
      </description>
      <transport xmlns='urn:xmpp:jingle:transports:ibb:1' block-size='4096' sid='f31f2081-7db7-4633-9a73-09345bfbfaae' />
    </content>
  </jingle>
</iq>

Expected result

A session-accept with IBB parameters or a transport-replace offer with socks5 data.

Actual result

A session-accept with socks5 parameters:

<iq type='set' to='sender@5222.de/dino.ffd8e29b' from='receiver@jabber.ccc.de/Conversations.aSP7' id='vjUisFsZyIvm' lang='en'>
  <jingle xmlns='urn:xmpp:jingle:1' initiator='sender@5222.de/dino.ffd8e29b' action='session-accept' sid='46a93994-b3af-4414-a727-72c01424d7de'>
    <content creator='initiator' senders='initiator' name='a-file-offer'>
      <description xmlns='urn:xmpp:jingle:apps:file-transfer:5'>
        <file>
          <name>
            a
          </name>
          <size>
            7
          </size>
        </file>
      </description>
      <transport xmlns='urn:xmpp:jingle:transports:s5b:1' sid='f31f2081-7db7-4633-9a73-09345bfbfaae'>
        <candidate host='146.255.57.229' type='proxy' jid='proxy.jabber.ccc.de' priority='720895' port='5224' cid='rpv543ijbl' />
      </transport>
    </content>
  </jingle>
</iq>

Debug output

Not provided, can add if wanted.

@iNPUTmice

This comment has been minimized.

Copy link
Member

commented Jun 15, 2019

Would I be able to use the current PR open for dino to replicate this or do I need something else to trigger the ibb offer?

@iNPUTmice

This comment has been minimized.

Copy link
Member

commented Jun 16, 2019

I have a potential fix locally but I can’t get your dino branch to send jingle requests. Contact me on XMPP if you want to do some inter-op testing.

@iNPUTmice

This comment has been minimized.

Copy link
Member

commented Jun 17, 2019

The last couple of commits should fix direct ibb behaviour for clients that only support ibb.

@iNPUTmice iNPUTmice closed this Jun 17, 2019

@hrxi

This comment has been minimized.

Copy link
Author

commented Jun 18, 2019

Presumably fixed by 1cfba86...4c3cd89.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.