mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2024-11-10 14:52:00 +00:00
* Fix to MinGW build following IPv6 changes
This commit is contained in:
parent
fcbf0bdd84
commit
85bee47f52
2 changed files with 15 additions and 6 deletions
5
Makefile
5
Makefile
|
@ -381,6 +381,9 @@ endif
|
||||||
BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
|
BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
|
||||||
-DUSE_ICON
|
-DUSE_ICON
|
||||||
|
|
||||||
|
# Require Windows XP or later
|
||||||
|
BASE_CFLAGS += -DWINVER=0x501
|
||||||
|
|
||||||
ifeq ($(USE_LOCAL_HEADERS),1)
|
ifeq ($(USE_LOCAL_HEADERS),1)
|
||||||
BASE_CFLAGS += -I$(SDLHDIR)/include
|
BASE_CFLAGS += -I$(SDLHDIR)/include
|
||||||
endif
|
endif
|
||||||
|
@ -412,7 +415,7 @@ endif
|
||||||
|
|
||||||
BINEXT=.exe
|
BINEXT=.exe
|
||||||
|
|
||||||
LDFLAGS= -lwsock32 -lwinmm
|
LDFLAGS= -lws2_32 -lwinmm
|
||||||
CLIENT_LDFLAGS = -mwindows -lgdi32 -lole32 -lopengl32
|
CLIENT_LDFLAGS = -mwindows -lgdi32 -lole32 -lopengl32
|
||||||
|
|
||||||
ifeq ($(USE_CURL),1)
|
ifeq ($(USE_CURL),1)
|
||||||
|
|
|
@ -24,12 +24,16 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
#include "../qcommon/qcommon.h"
|
#include "../qcommon/qcommon.h"
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <Winsock2.h>
|
#include <winsock2.h>
|
||||||
#include <Ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
#include <Wspiapi.h>
|
#if WINVER < 0x501
|
||||||
|
#include <wspiapi.h>
|
||||||
|
#else
|
||||||
|
#include <ws2spi.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef int socklen_t;
|
typedef int socklen_t;
|
||||||
#define sa_family_t ADDRESS_FAMILY
|
typedef unsigned short sa_family_t;
|
||||||
#define EAGAIN WSAEWOULDBLOCK
|
#define EAGAIN WSAEWOULDBLOCK
|
||||||
#define EADDRNOTAVAIL WSAEADDRNOTAVAIL
|
#define EADDRNOTAVAIL WSAEADDRNOTAVAIL
|
||||||
#define EAFNOSUPPORT WSAEAFNOSUPPORT
|
#define EAFNOSUPPORT WSAEAFNOSUPPORT
|
||||||
|
@ -524,7 +528,7 @@ Sys_SendPacket
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Sys_SendPacket( int length, const void *data, netadr_t to ) {
|
void Sys_SendPacket( int length, const void *data, netadr_t to ) {
|
||||||
int ret;
|
int ret = SOCKET_ERROR;
|
||||||
struct sockaddr_storage addr;
|
struct sockaddr_storage addr;
|
||||||
|
|
||||||
if( to.type != NA_BROADCAST && to.type != NA_IP && to.type != NA_IP6 ) {
|
if( to.type != NA_BROADCAST && to.type != NA_IP && to.type != NA_IP6 ) {
|
||||||
|
@ -790,12 +794,14 @@ int NET_IP6Socket( char *net_interface, int port, int *err ) {
|
||||||
return INVALID_SOCKET;
|
return INVALID_SOCKET;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef IPV6_V6ONLY
|
||||||
// ipv4 addresses should not be allowed to connect via this socket.
|
// ipv4 addresses should not be allowed to connect via this socket.
|
||||||
if(setsockopt(newsocket, IPPROTO_IPV6, IPV6_V6ONLY, (char *) &i, sizeof(i)) == SOCKET_ERROR)
|
if(setsockopt(newsocket, IPPROTO_IPV6, IPV6_V6ONLY, (char *) &i, sizeof(i)) == SOCKET_ERROR)
|
||||||
{
|
{
|
||||||
// win32 systems don't seem to support this anyways.
|
// win32 systems don't seem to support this anyways.
|
||||||
Com_DPrintf("WARNING: NET_IP6Socket: setsockopt IPV6_V6ONLY: %s\n", NET_ErrorString());
|
Com_DPrintf("WARNING: NET_IP6Socket: setsockopt IPV6_V6ONLY: %s\n", NET_ErrorString());
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// make it broadcast capable
|
// make it broadcast capable
|
||||||
if( setsockopt( newsocket, SOL_SOCKET, SO_BROADCAST, (char *) &i, sizeof(i) ) == SOCKET_ERROR ) {
|
if( setsockopt( newsocket, SOL_SOCKET, SO_BROADCAST, (char *) &i, sizeof(i) ) == SOCKET_ERROR ) {
|
||||||
|
|
Loading…
Reference in a new issue