SpatiumPortae/portal

[bug] Fails when sending from IPv6 only system, uses relayed connection when both systems on same subnet

lpar opened this issue · 2 comments

lpar commented

Describe the bug

Portal uses a relayed connection between two IPv6 systems on the same network.

Sending from an IPv6-only system fails.

To reproduce

  • Two machines on the same network with the same /64 IPv6 prefix.
  • One machine is IPv6 only.
  • Send to the IPv6-only machine, recipient output:
  • Portal version (v1.2.3) compatible with server version (v1.2.3)
  • Connected to Portal server (portal.spatiumportae.com)
  • Established encrypted connection to sender
  • Using relayed connection to sender
  • Send from the IPv6-only machine, recipient output:
  • Portal version (v1.2.3) compatible with server version (v1.2.3)
  • Connected to Portal server (portal.spatiumportae.com)
  • Established encrypted connection to sender
  • failed to get reader: failed to read frame header: EOF

If both systems have IPv4 on the same /24 RFC1918 subnet it works, though in one direction it's relayed which suggests a firewall problem?

Expected behavior

Direct connection between the machines via IPv6.

(I'm surprised that it works in one direction but not the other.)

Platform / Portal version

  • Fedora Linux 37, RHEL 9
  • v1.2.3

Thank you for your bug report.

To clear some things up:

  • two IPv6 systems in the same local network uses a relayed connection instead of a direct connection, but otherwise the transfer works?
  • If the sender is IPv6 only, the transfer does not work at all?

If both systems have IPv4 on the same /24 RFC1918 subnet it works, though in one direction it's relayed which suggests a firewall problem?

This does sound like a firewall problem on one of the systems, as if one direction works, the router/NAT does not seem to be the problem

lpar commented

Yes, two IPv6 systems on the same local network (with the same /64 address prefix) use a relayed connection.

The transfer works in one direction, but not the other. It seems an IPv6-only system can receive via relay, but can't send.