mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2024-11-26 22:11:18 +00:00
bind ipv6 sockets first
by binding the ipv6 sockets first it's possible to bind 0.0.0.0 and :: to the same port.
This commit is contained in:
parent
b060eae562
commit
a98fed9ee2
1 changed files with 21 additions and 20 deletions
|
@ -1329,6 +1329,27 @@ void NET_OpenIP( void ) {
|
||||||
// automatically scan for a valid port, so multiple
|
// automatically scan for a valid port, so multiple
|
||||||
// dedicated servers can be started without requiring
|
// dedicated servers can be started without requiring
|
||||||
// a different net_port for each one
|
// a different net_port for each one
|
||||||
|
|
||||||
|
if(net_enabled->integer & NET_ENABLEV6)
|
||||||
|
{
|
||||||
|
for( i = 0 ; i < 10 ; i++ )
|
||||||
|
{
|
||||||
|
ip6_socket = NET_IP6Socket(net_ip6->string, port6 + i, &boundto, &err);
|
||||||
|
if (ip6_socket != INVALID_SOCKET)
|
||||||
|
{
|
||||||
|
Cvar_SetValue( "net_port6", port6 + i );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(err == EAFNOSUPPORT)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(ip6_socket == INVALID_SOCKET)
|
||||||
|
Com_Printf( "WARNING: Couldn't bind to a v6 ip address.\n");
|
||||||
|
}
|
||||||
|
|
||||||
if(net_enabled->integer & NET_ENABLEV4)
|
if(net_enabled->integer & NET_ENABLEV4)
|
||||||
{
|
{
|
||||||
for( i = 0 ; i < 10 ; i++ ) {
|
for( i = 0 ; i < 10 ; i++ ) {
|
||||||
|
@ -1351,26 +1372,6 @@ void NET_OpenIP( void ) {
|
||||||
if(ip_socket == INVALID_SOCKET)
|
if(ip_socket == INVALID_SOCKET)
|
||||||
Com_Printf( "WARNING: Couldn't bind to a v4 ip address.\n");
|
Com_Printf( "WARNING: Couldn't bind to a v4 ip address.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(net_enabled->integer & NET_ENABLEV6)
|
|
||||||
{
|
|
||||||
for( i = 0 ; i < 10 ; i++ )
|
|
||||||
{
|
|
||||||
ip6_socket = NET_IP6Socket(net_ip6->string, port6 + i, &boundto, &err);
|
|
||||||
if (ip6_socket != INVALID_SOCKET)
|
|
||||||
{
|
|
||||||
Cvar_SetValue( "net_port6", port6 + i );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(err == EAFNOSUPPORT)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(ip6_socket == INVALID_SOCKET)
|
|
||||||
Com_Printf( "WARNING: Couldn't bind to a v6 ip address.\n");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue