mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-25 04:09:31 +03:00
cygwin
This commit is contained in:
@@ -12,6 +12,7 @@ Heikki Lindholm <holindho@cs.helsinki.fi>
|
||||
Alex Sadovsky <alexeysad@gmail.com>
|
||||
Greg Schohn <greg.schohn@gmail.com>
|
||||
Thomas Martin <Thomas.Martin@rohde-schwarz.com>
|
||||
Peter Ross <pross@xvid.org>
|
||||
RuXu W <wrxzzj@gmail.com>
|
||||
|
||||
Documentation contributions also came from:
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
Tue Sep 30 16:48:08 MDT 2008
|
||||
Make MHD useful to Cygwin users; detect IPv6 headers
|
||||
in configure.
|
||||
|
||||
Sun Sep 28 14:57:46 MDT 2008
|
||||
Unescape URIs (convert "%ef%e4%45" to "$BCf9q(B").
|
||||
|
||||
|
||||
+21
-1
@@ -104,7 +104,6 @@ netbsd*)
|
||||
;;
|
||||
*cygwin*)
|
||||
AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
|
||||
AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
|
||||
AM_CONDITIONAL(HAVE_GNU_LD, false)
|
||||
LDFLAGS="$LDFLAGS -no-undefined"
|
||||
;;
|
||||
@@ -140,6 +139,27 @@ AC_CHECK_HEADERS([fcntl.h math.h errno.h limits.h stdio.h locale.h sys/stat.h sy
|
||||
# Check for optional headers
|
||||
AC_CHECK_HEADERS([sys/select.h sys/types.h sys/time.h sys/msg.h netdb.h netinet/in.h time.h sys/socket.h sys/mman.h arpa/inet.h])
|
||||
|
||||
# IPv6
|
||||
AC_MSG_CHECKING(for IPv6)
|
||||
AC_TRY_COMPILE([
|
||||
#if HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#if HAVE_SYS_SOCKET_H
|
||||
#include <sys/socket.h>
|
||||
#endif
|
||||
],[
|
||||
int af=AF_INET6;
|
||||
int pf=PF_INET6;
|
||||
struct sockaddr_in6 sa;
|
||||
],[
|
||||
have_inet6=yes;
|
||||
AC_DEFINE([HAVE_INET6], [1], [Provides IPv6 headers])
|
||||
],
|
||||
have_inet6=no
|
||||
)
|
||||
AC_MSG_RESULT($have_inet6)
|
||||
|
||||
# libcurl (required for testing)
|
||||
SAVE_LIBS=$LIBS
|
||||
LIBCURL_CHECK_CONFIG(,,curl=1,curl=0)
|
||||
|
||||
+27
-4
@@ -341,8 +341,12 @@ MHD_accept_connection (struct MHD_Daemon *daemon)
|
||||
{
|
||||
struct MHD_Connection *pos;
|
||||
struct MHD_Connection *connection;
|
||||
struct sockaddr_in6 addr6;
|
||||
struct sockaddr *addr = (struct sockaddr *) &addr6;
|
||||
#if HAVE_INET6
|
||||
struct sockaddr_in6 addrstorage;
|
||||
#else
|
||||
struct sockaddr_in addrstorage;
|
||||
#endif
|
||||
struct sockaddr *addr = (struct sockaddr *) &addrstorage;
|
||||
socklen_t addrlen;
|
||||
unsigned int have;
|
||||
int s, res_thread_create;
|
||||
@@ -350,10 +354,12 @@ MHD_accept_connection (struct MHD_Daemon *daemon)
|
||||
static int on = 1;
|
||||
#endif
|
||||
|
||||
#if HAVE_INET6
|
||||
if (sizeof (struct sockaddr) > sizeof (struct sockaddr_in6))
|
||||
abort (); /* fatal, serious error */
|
||||
addrlen = sizeof (struct sockaddr_in6);
|
||||
memset (addr, 0, sizeof (struct sockaddr_in6));
|
||||
#endif
|
||||
addrlen = sizeof (addrstorage);
|
||||
memset (addr, 0, sizeof (addrstorage));
|
||||
|
||||
s = ACCEPT (daemon->socket_fd, addr, &addrlen);
|
||||
|
||||
@@ -393,6 +399,7 @@ MHD_accept_connection (struct MHD_Daemon *daemon)
|
||||
sizeof (struct in_addr)))
|
||||
have++;
|
||||
}
|
||||
#if HAVE_INET6
|
||||
if (addrlen == sizeof (struct sockaddr_in6))
|
||||
{
|
||||
const struct sockaddr_in6 *a1 =
|
||||
@@ -403,6 +410,7 @@ MHD_accept_connection (struct MHD_Daemon *daemon)
|
||||
sizeof (struct in6_addr)))
|
||||
have++;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
pos = pos->next;
|
||||
}
|
||||
@@ -826,7 +834,9 @@ MHD_start_daemon_va (unsigned int options,
|
||||
struct MHD_Daemon *retVal;
|
||||
int socket_fd;
|
||||
struct sockaddr_in servaddr4;
|
||||
#if HAVE_INET6
|
||||
struct sockaddr_in6 servaddr6;
|
||||
#endif
|
||||
const struct sockaddr *servaddr = NULL;
|
||||
socklen_t addrlen;
|
||||
enum MHD_OPTION opt;
|
||||
@@ -931,7 +941,16 @@ MHD_start_daemon_va (unsigned int options,
|
||||
}
|
||||
|
||||
if ((options & MHD_USE_IPv6) != 0)
|
||||
#if HAVE_INET6
|
||||
socket_fd = SOCKET (PF_INET6, SOCK_STREAM, 0);
|
||||
#else
|
||||
{
|
||||
#if HAVE_MESSAGES
|
||||
FPRINTF (stderr, "AF_INET6 not supported\n");
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
else
|
||||
socket_fd = SOCKET (PF_INET, SOCK_STREAM, 0);
|
||||
if (socket_fd < 0)
|
||||
@@ -954,12 +973,15 @@ MHD_start_daemon_va (unsigned int options,
|
||||
}
|
||||
|
||||
/* check for user supplied sockaddr */
|
||||
#if HAVE_INET6
|
||||
if ((options & MHD_USE_IPv6) != 0)
|
||||
addrlen = sizeof (struct sockaddr_in6);
|
||||
else
|
||||
#endif
|
||||
addrlen = sizeof (struct sockaddr_in);
|
||||
if (NULL == servaddr)
|
||||
{
|
||||
#if HAVE_INET6
|
||||
if ((options & MHD_USE_IPv6) != 0)
|
||||
{
|
||||
memset (&servaddr6, 0, sizeof (struct sockaddr_in6));
|
||||
@@ -968,6 +990,7 @@ MHD_start_daemon_va (unsigned int options,
|
||||
servaddr = (struct sockaddr *) &servaddr6;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
memset (&servaddr4, 0, sizeof (struct sockaddr_in));
|
||||
servaddr4.sin_family = AF_INET;
|
||||
|
||||
Reference in New Issue
Block a user