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

IPv6 support #1191

Merged
merged 10 commits into from
Mar 27, 2018
Merged

IPv6 support #1191

merged 10 commits into from
Mar 27, 2018

Conversation

G10h4ck
Copy link
Contributor

@G10h4ck G10h4ck commented Feb 24, 2018

Attempt to implement IPv6 dual stack operation in a retro-compatible non chain reaction manner

Workaround RS single local address flawed assumption by spreading
  all viables local addrresses via discovery
Spread addresses also through hidden node as they are the only hope
  to help direct connection happening for common trusted nodes
  behind nasty firewalls
Changed unix_connect signature to be more comfortable for dual stack
  usage
Remove dead code in pqissl::pqissl(...)
Adapt p3I2pBob::connectI2P() to new unix_connect
Adapt extaddrfinder to new unix_connect
Add sockaddr_storage_ipv4_to_ipv6 to convert from flat IPv4 to IPv4
  mapped as IPv6
@sehraf
Copy link
Contributor

sehraf commented Feb 24, 2018

Great to see that IPv6 support is still alive 😄
When this is in an usable state i can help testing (i have native IPv4 and IPv6).

@G10h4ck G10h4ck force-pushed the IPv6-v3 branch 5 times, most recently from 31c3b09 to ea671b2 Compare February 24, 2018 15:44
With this commit IPv6-v3 surpass v0.6-IPv6-2 in term of features
  obsoleting it.
p3BitDht handle gracefully unwanted non IPv4 addresses
rsUdpStack handle gracefully unwanted non IPv4 addresses
pqissludp handle gracefully unwanted non IPv4 addresses
Move single address limitation workaround from
  p3discovery2::sendOwnContactInfo to better
  place p3PeerMgrIMPL::UpdateOwnAddress this way local address list is
  queried less often and only id there is some suggestion that it may
  have changed (probably ir will not be called all the times there is a
  changes in local network interfaces but is good enough)
Implement crossplatform rs_setsockopt to avoid too much ifdef around
Implement sockaddr_storage_copy to safely copy sockaddr_storage objects
Due to a regression introduced in
dedfcb2 the local address was not
updated correctly causing part of RS networking being stuck and printing
lot of invalid sockaddr_storage messages, this commit fix the regression
@sehraf
Copy link
Contributor

sehraf commented Mar 15, 2018

Since 0.6.4 is out, can this be merged now? 😸

@G10h4ck G10h4ck changed the title WIP: IPv6 IPv6 support Mar 15, 2018
@G10h4ck
Copy link
Contributor Author

G10h4ck commented Mar 15, 2018

For the tests I have made this is ready to go

@csoler csoler merged commit 73c6dee into RetroShare:master Mar 27, 2018
@tangdou1
Copy link

Does it supports DHT in ipv6? When would the 0.6.5 including ipv6 be released? Thanks.

@G10h4ck
Copy link
Contributor Author

G10h4ck commented May 25, 2018

No libbitdht doesn't support IPv6 and we don't plan to add IPv6 support to libbitdht ATM, we have been considering to switch to an independently maintained DHT library that supports IPv6 already. Next release will include the IPv6 support already included in master branch.

@G10h4ck G10h4ck mentioned this pull request Nov 6, 2018
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

Successfully merging this pull request may close these issues.

None yet

4 participants