Bug 23723 - Tube: no error when the application does not listen on the port declared by Offer()
Summary: Tube: no error when the application does not listen on the port declared by O...
Alias: None
Product: Telepathy
Classification: Unclassified
Component: gabble (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
Depends on:
Reported: 2009-09-04 16:15 UTC by Alban Crequy
Modified: 2019-12-03 19:20 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description Alban Crequy 2009-09-04 16:15:20 UTC
If the Telepathy client calls StreamTube.Offer(Socket_Address_Type_IPv4, ("", 6789), ...) but does not actually listen on the port 6789, the tube does not work correctly.

Expected outcome:
The tube recipient should receives an error: the bytestream should be closed.

Actual outcome:
The bytestream stays open forever and the tube recipient does not know that the data sent through the bytestream is not received by the application.

The last log on the recipient side is:
  "gabble_bytestream_socks5_send: send 164 bytes through bytestream"

The last log on the offerer side is:
  "target_got_connect_reply: reading has been blocked. Blocking now as the socks5 negotiation is done"

The code is: src/tube-stream.c function new_connection_to_socket():
      gibber_tcp_transport_connect (GIBBER_TCP_TRANSPORT (transport), ip,

When this connection fails, no action is taken. We should close the bytestream instead, so that the remote contact can have a feedback and not wait forever.
Comment 1 GitLab Migration User 2019-12-03 19:20:40 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-gabble/issues/52.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.