You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This address is reachable from outside, and RetroShare can actually connect to it with some workarounds.
Expected behaviour
RetroShare should attempt to establish a connection to the respective IPv6 address.
Reproduce
On a node that is currently offline, open the "Node Details" and insert a dynamic DNS address that is only updated with IPv6. Observe the console output.
Relevance
I am behind a "carrier grade NAT", so I have no real public IPv4. The IPv4 address used for outbound connections is picked up by RetroShare, even reported by all the "Find My IP" services and prevalent everywhere in RetroShare, but not accessible from outside. This scheme is becoming more and more prevalent with diminishing numbers of available IPv4 addresses. Currently it is very hard for me to connect (although not impossible) due to several bugs (I will open separate issues).
the "ai_family" (one of AF_INET, AF_INET6 and AF_UNSPEC) is defined as "AF_INET". IMHO it should be defined as AF_UNSPEC and the code should handle both IPv4 and IPv6 addresses (https://man7.org/linux/man-pages/man3/getaddrinfo.3.html)
The text was updated successfully, but these errors were encountered:
thx for pointing this out. It's actually a bit more complicated since return_addr is of type in_addr which is only valid for IPv4. I'll take a look at this and will keep you posted.
Description
If a DNS lookup returns only an IPv6 record, this IPv6 address is not used for a connection attempt. Instead, libretroshare reports the following:
nslookup on the same host correctly returns the following (name and numbers changed):
This address is reachable from outside, and RetroShare can actually connect to it with some workarounds.
Expected behaviour
RetroShare should attempt to establish a connection to the respective IPv6 address.
Reproduce
On a node that is currently offline, open the "Node Details" and insert a dynamic DNS address that is only updated with IPv6. Observe the console output.
Relevance
I am behind a "carrier grade NAT", so I have no real public IPv4. The IPv4 address used for outbound connections is picked up by RetroShare, even reported by all the "Find My IP" services and prevalent everywhere in RetroShare, but not accessible from outside. This scheme is becoming more and more prevalent with diminishing numbers of available IPv4 addresses. Currently it is very hard for me to connect (although not impossible) due to several bugs (I will open separate issues).
Proposed Solution
In this code line
libretroshare/src/util/rsnet.cc
Line 82 in 954178f
the "ai_family" (one of AF_INET, AF_INET6 and AF_UNSPEC) is defined as "AF_INET". IMHO it should be defined as AF_UNSPEC and the code should handle both IPv4 and IPv6 addresses (https://man7.org/linux/man-pages/man3/getaddrinfo.3.html)
The text was updated successfully, but these errors were encountered: