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

Client socket must send data first #118

Open
Andrepuel opened this issue Feb 7, 2019 · 2 comments
Open

Client socket must send data first #118

Andrepuel opened this issue Feb 7, 2019 · 2 comments

Comments

@Andrepuel
Copy link

Steps to reproduce:

  1. Run ./ucat -d -l -p 5678
  2. On another terminal, run ./ucat 127.0.0.1 -p 5678
    Working:
  3. On the client terminal, send something to the server.
  4. Now the communication can flow in any direction.
    Not working:
  5. On the server terminal, send something to the client.
  6. Now the communication will only work in one direction. The client will not receive any of the server messages, but the other way around works.
@ssiloti
Copy link
Contributor

ssiloti commented Feb 7, 2019

This is more-or-less by design. The UTP handshake is designed on the assumption that there will be an application layer handshake initiated by the client. If the server were to send data first it would make the protocol vulnerable to amplification attacks.

@inetic
Copy link

inetic commented Feb 8, 2019

+1 to what @ssiloti said. My understanding is that it is directly related to this

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

No branches or pull requests

3 participants