Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ MT-multithreading and servers » What is the status of IPv6 support?
What is the status of IPv6 support? [message #30876] Thu, 27 January 2011 14:02 Go to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
I need IPV6 sockets and after a short glance over Socket code and a search in files it seems that there is no such support.

If this is the case and it is not planned to add such support, I'll need to hack together something like this ASAP, in the weekend at the latest.
Re: What is the status of IPv6 support? [message #30882 is a reply to message #30876] Thu, 27 January 2011 16:31 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Indeed, it is currently "nil".

I would be happy to improve Socket based on your code...
Re: What is the status of IPv6 support? [message #31019 is a reply to message #30882] Tue, 01 February 2011 14:19 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
I managed to get some basic IPv6 support working. Socket and HttpClient seems to work fine. I kept the API the same, but I changed in Socket::Data:
bool                    Open(bool is_blocking, int family = PF_INET);

Also, OpenClient has a parameter "dword *my_addr". If you supply an IPv6 address a dword is no longer sufficient storage.

I'll do some more tests and prepare a patch.
Re: What is the status of IPv6 support? [message #31020 is a reply to message #31019] Tue, 01 February 2011 14:37 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
PS: I am not very familiar with Web package. Adding support for IPv6 to socket and making HttpClient recognize the addresses solves most issues. Are you aware of other classes that need my attention? Or maybe other packages?
Re: What is the status of IPv6 support? [message #31092 is a reply to message #31020] Fri, 04 February 2011 14:37 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
cbpporter wrote on Tue, 01 February 2011 08:37

PS: I am not very familiar with Web package. Adding support for IPv6 to socket and making HttpClient recognize the addresses solves most issues. Are you aware of other classes that need my attention? Or maybe other packages?


Well, very quick review of the issue indicates quite likely only small difference - wherever there is

AF_INET

there should be

AF_INET6

for ipv6 support and the structure involved should be 'sockaddr_in6' instead of 'sockaddr_in'.

Mirek
Re: What is the status of IPv6 support? [message #32510 is a reply to message #31092] Mon, 23 May 2011 10:05 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
Sorry for the late reply. Here's the problem: our company is transitioning over to IPV6 for its entire product range and this is a monumental task. So I could only spare a little time on this task, and once I fixed the issues that prevented me from using U++ as an IPV6 client I could not find time to develop support for server mode also. I can't do it in my free time on non work related tasks because I don't have access to any non IPV6 networks.

But I'll share here the changes I've made. They look hacky but were very thoroughly tested in GUI and automated test mode.
  • Attachment: socket.h
    (Size: 7.29KB, Downloaded 334 times)
  • Attachment: socket.cpp
    (Size: 26.71KB, Downloaded 365 times)
  • Attachment: httpcli.cpp
    (Size: 16.07KB, Downloaded 348 times)
Re: What is the status of IPv6 support? [message #32532 is a reply to message #32510] Tue, 24 May 2011 06:19 Go to previous messageGo to next message
nlneilson is currently offline  nlneilson
Messages: 644
Registered: January 2010
Location: U.S. California. Mojave &...
Contributor
There was an issue about the time IPv6 was introduced.
http://www.ultimatepp.org/forum/index.php?t=msg&goto=320 66&#msg_32066

Mirek was able to track the problem down and fix it, I don't know if IPv6 was involved.

It was compiled in Win and worked OK.
Running on Ubuntu with Wine was the problem.

If your code can be pasted into the SDK overwriting the current code I will try it, it may be a few days before I can get to it.
Re: What is the status of IPv6 support? [message #35374 is a reply to message #32532] Tue, 07 February 2012 11:08 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
nlneilson wrote on Tue, 24 May 2011 07:19

There was an issue about the time IPv6 was introduced.
http://www.ultimatepp.org/forum/index.php?t=msg&goto=320 66&#msg_32066

Mirek was able to track the problem down and fix it, I don't know if IPv6 was involved.

It was compiled in Win and worked OK.
Running on Ubuntu with Wine was the problem.

If your code can be pasted into the SDK overwriting the current code I will try it, it may be a few days before I can get to it.


I don't know about that issue, but here is a merge for the hack I'm am using for IPV6 clients made with U++ 4552.

I hope that some day I'll have time do do a proper fix and add support for IPv6 servers too Smile.
  • Attachment: httpcli.cpp
    (Size: 16.23KB, Downloaded 316 times)
  • Attachment: socket.h
    (Size: 7.97KB, Downloaded 315 times)
  • Attachment: socket.cpp
    (Size: 26.55KB, Downloaded 946 times)
Re: What is the status of IPv6 support? [message #35375 is a reply to message #35374] Tue, 07 February 2012 11:17 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
cbpporter wrote on Tue, 07 February 2012 05:08

nlneilson wrote on Tue, 24 May 2011 07:19

There was an issue about the time IPv6 was introduced.
http://www.ultimatepp.org/forum/index.php?t=msg&goto=320 66&#msg_32066

Mirek was able to track the problem down and fix it, I don't know if IPv6 was involved.

It was compiled in Win and worked OK.
Running on Ubuntu with Wine was the problem.

If your code can be pasted into the SDK overwriting the current code I will try it, it may be a few days before I can get to it.


I don't know about that issue, but here is a merge for the hack I'm am using for IPV6 clients made with U++ 4552.

I hope that some day I'll have time do do a proper fix and add support for IPv6 servers too Smile.


One note: I plan to refactor Socket and its implementation; I hope that will be a good time to add IPv6 support as well.

The main reason for refactoring is that I believe that SSLSocket : Socket hierarchy is wrong. The goal will be to add SSL as "feature" of normal Socket. It will greatly simplify the whole Socket implementation and it is also more correct (I have had a quite hard time trying to implement HTTPS proxy recently...).
Re: What is the status of IPv6 support? [message #35376 is a reply to message #35375] Tue, 07 February 2012 11:28 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
Good to know! I will test it when it's done because we have moved away from IPv4.

I did not put any great effort into my implementation: it just works (if I didn't mess up the merge).
Re: What is the status of IPv6 support? [message #36075 is a reply to message #35376] Tue, 24 April 2012 09:54 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
With the current refactoring of the web packages do we have now support for IPv6? A very brief inspection of sources hints toward yes.
Re: What is the status of IPv6 support? [message #36076 is a reply to message #36075] Tue, 24 April 2012 10:04 Go to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
cbpporter wrote on Tue, 24 April 2012 03:54

With the current refactoring of the web packages do we have now support for IPv6? A very brief inspection of sources hints toward yes.


Yes. Sorry for not mentioning it in Development blog.

The only problem I have encountered is that ipv6 for server has to be activated by bool variable.
Previous Topic: Deadlock - what LeaveGMutexAll does?
Next Topic: Warning in Socket.cpp
Goto Forum:
  


Current Time: Fri Apr 19 05:55:18 CEST 2024

Total time taken to generate the page: 0.03116 seconds