From 283ac37ea2c1bb92d569385c0b9bbacf9f1bd848 Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Sun, 10 Oct 2010 09:58:12 +0000 Subject: [PATCH] Enable the IPv6 code on Windows versions that support it. Patch submitted by oCameLo in #2942729. Time will tell if this causes problems for earlier Windows versions, but if it does, it should be easy enough to fix. --- configure.in | 53 +++++++++++++++++++++++++++++++++++++++++++--------- filters.c | 7 +------ project.h | 14 +++++++++++--- 3 files changed, 56 insertions(+), 18 deletions(-) diff --git a/configure.in b/configure.in index f265bbba..0e06411d 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl $Id: configure.in,v 1.143 2010/03/07 12:05:46 fabiankeil Exp $ +dnl $Id: configure.in,v 1.144 2010/07/29 14:38:03 fabiankeil Exp $ dnl dnl Written by and Copyright (C) 2001-2010 the dnl Privoxy team. http://www.privoxy.org/ @@ -32,7 +32,7 @@ dnl ================================================================= dnl AutoConf Initialization dnl ================================================================= -AC_REVISION($Revision: 1.143 $) +AC_REVISION($Revision: 1.144 $) AC_INIT(jcc.c) if test ! -f config.h.in; then @@ -298,6 +298,7 @@ fi]) if test $target_type = mingw; then WIN_ONLY= + CFLAGS="$CFLAGS -DWINVER=0x501" SPECIAL_CFLAGS="-mwindows -mno-cygwin" PTHREAD_LIB=-lpthreadGC echo "Using mingw32 (Win32 GUI)" @@ -713,13 +714,47 @@ dnl AC_FUNC_STAT AC_CHECK_FUNCS([access atexit getcwd gethostbyaddr gethostbyaddr_r gethostbyname gethostbyname_r gettimeofday inet_ntoa localtime_r memchr memmove memset poll putenv random regcomp select setlocale snprintf socket strchr strdup strerror strftime strlcat strlcpy strptime strstr strtoul timegm tzset]) dnl Checks for RFC 2553 resolver and socket functions -AC_CHECK_FUNC([getaddrinfo], - [AC_CHECK_FUNC([getnameinfo], - [AC_DEFINE([HAVE_RFC2553], [1], - [Define if RFC 2553 resolver functions like getaddrinfo(3) and - getnameinfo(3) present]) - ]) -]) +if test $target_type = mingw; then + AC_CHECK_LIB(ws2_32, main) + + AC_MSG_CHECKING(getaddrinfo in ws2_32) + AC_TRY_LINK( + [ + #include + #include + ], + [getaddrinfo(0,0,0,0)], + have_ws2_32_getaddrinfo=yes + ) + AC_MSG_RESULT($have_ws2_32_getaddrinfo) + + AC_MSG_CHECKING(getnameinfo in ws2_32) + AC_TRY_LINK( + [ + #include + #include + ], + [getnameinfo(0,0,0,0,0,0,0)], + have_ws2_32_getnameinfo=yes + ) + AC_MSG_RESULT($have_ws2_32_getnameinfo) + + if test $have_ws2_32_getaddrinfo ; then + if test $have_ws2_32_getnameinfo ; then + AC_DEFINE([HAVE_RFC2553], [1], + [Define if RFC 2553 resolver functions like getaddrinfo(3) and + getnameinfo(3) present]) + fi + fi +else + AC_CHECK_FUNC([getaddrinfo], + [AC_CHECK_FUNC([getnameinfo], + [AC_DEFINE([HAVE_RFC2553], [1], + [Define if RFC 2553 resolver functions like getaddrinfo(3) and + getnameinfo(3) present]) + ]) + ]) +fi dnl ================================================================= dnl Checks for libraries. diff --git a/filters.c b/filters.c index 43cdaccc..014c0f69 100644 --- a/filters.c +++ b/filters.c @@ -1,4 +1,4 @@ -const char filters_rcs[] = "$Id: filters.c,v 1.133 2010/09/14 07:16:07 fabiankeil Exp $"; +const char filters_rcs[] = "$Id: filters.c,v 1.134 2010/09/14 07:17:01 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/filters.c,v $ @@ -50,11 +50,6 @@ const char filters_rcs[] = "$Id: filters.c,v 1.133 2010/09/14 07:16:07 fabiankei #include #include -#ifdef HAVE_RFC2553 -#include -#include -#endif /* def HAVE_RFC2553 */ - #ifndef _WIN32 #ifndef __OS2__ #include diff --git a/project.h b/project.h index 100f8329..65bd400d 100644 --- a/project.h +++ b/project.h @@ -1,7 +1,7 @@ #ifndef PROJECT_H_INCLUDED #define PROJECT_H_INCLUDED /** Version string. */ -#define PROJECT_H_VERSION "$Id: project.h,v 1.158 2010/07/21 14:35:09 fabiankeil Exp $" +#define PROJECT_H_VERSION "$Id: project.h,v 1.159 2010/09/03 17:38:20 fabiankeil Exp $" /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/project.h,v $ @@ -46,9 +46,17 @@ /* Needed for pcre choice */ #include "config.h" -#ifdef HAVE_RFC2553 /* Need for struct sockaddr_storage */ -#include +#ifdef HAVE_RFC2553 +# ifndef _WIN32 +# include +# include +# else +# include +# include +# include + typedef unsigned short in_port_t; +# endif #endif -- 2.39.2