0

Cobalt cannot run successfully when we connect to IPV6 network.I found that the log will print as follows:

[16:19:42][cobalt]>[0822/081942:ERROR:h5vcc_url_handler.cc(122)] Stop after network error [16:19:42][cobalt]>[1742:763719731:INFO:system_raise_platform_error.cc(50)] SbSystemRaisePlatformError: Connection error. [16:19:42][cobalt]>[1742:764083748:INFO:main.cc(128)] cobalt main process exit

We check the network to find that the network is unobstructed and other apps can run normally.What configuration do we need to do with the cobalt to enable it to run in an IPV6 network environment?

We found that although the DNS lists IPV6 and IPV4 ip addresses, the cobalt browser does not use the IPV6 address but uses the IPV4 ip address.However, IPV4 was banned in our IPV6 network environment, so we could not successfully run the cobalt. I want to know why the cobalt does not use the IPV6 IP address in the IPV6 network environment? Or why not try IPV6 IP address after failing to connect with IPV4 address

enter image description here

1 Answers1

0

I know this is old, but I wanted to close the loop on this:

Currently there is not a simple way to prefer IPv6 via a Starboard-level configuration.

For a short-term solution, you can implement a IPv6 function similar to MakeAddressListStartWithIPv4: https://cobalt.googlesource.com/cobalt/+/refs/heads/20.lts.1+/src/net/socket/transport_client_socket_pool.h#123

https://cobalt.googlesource.com/cobalt/+/refs/heads/20.lts.1+/src/net/socket/transport_client_socket_pool.cc#268

What MakeAddressListStartWithIPv4 does is iterate through the list and find the first IPv4 address to use and you could do the same for IPv6. The pool of IP addresses(IPv4 or IPv6) in Cobalt are not sorted, so the first available IP address can be either IPv4 or IPv6. Your new function would find and use an IPv6 address from that pool.

In general we do not recommend Cobalt users make changes to the Cobalt common code, but given the situation and your needs, making this modification would be acceptable and a short-term solution.

Longer-term, if the Cobalt team implements a Starboard-level configuration to control this we will advise Cobalt users to use the Starboard solution.

If you want to implement your own Starboard-level solution, we also welcome community contributions to the Cobalt codebase. You can see the Cobalt contributions guidelines at: https://cobalt.dev/contributors/index.html