mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 15:43:32 +01:00
r15161@tombo: nickm | 2007-12-05 11:30:37 -0500
Fix bug reported by Steve Murphy on or-talk: detect the s6_addr32 and s6_addr16 fields via autoconf. svn:r12679
This commit is contained in:
parent
29045d21b3
commit
f948caad7b
@ -33,6 +33,8 @@ Changes in version 0.2.0.13-alpha - 2007-12-??
|
|||||||
- Reject uploaded descriptors and extrainfo documents if they're
|
- Reject uploaded descriptors and extrainfo documents if they're
|
||||||
huge. Otherwise we'll cache them all over the network and it'll
|
huge. Otherwise we'll cache them all over the network and it'll
|
||||||
clog everything up. Reported by Aljosha Judmayer.
|
clog everything up. Reported by Aljosha Judmayer.
|
||||||
|
- Check for presence of s6_addr16 and s6_addr32 fields in in6_addr
|
||||||
|
via autoconf. Should fix compile on solaris.
|
||||||
|
|
||||||
o Minor features:
|
o Minor features:
|
||||||
- On USR1, when dmalloc is in use, log the top 10 memory
|
- On USR1, when dmalloc is in use, log the top 10 memory
|
||||||
|
25
configure.in
25
configure.in
@ -361,6 +361,31 @@ AC_CHECK_TYPES([struct in6_addr, struct sockaddr_in6, struct sockaddr_storage, s
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
])
|
])
|
||||||
|
AC_CHECK_MEMBERS([struct in6_addr.s6_addr32, struct in6_addr.s6_addr16], , ,
|
||||||
|
[#ifdef HAVE_SYS_TYPES_H
|
||||||
|
#include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_NETINET_IN_H
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_NETINET_IN6_H
|
||||||
|
#include <netinet/in6.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_SOCKET_H
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#endif
|
||||||
|
#ifdef MS_WINDOWS
|
||||||
|
#define WIN32_WINNT 0x400
|
||||||
|
#define _WIN32_WINNT 0x400
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#if defined(_MSC_VER) && (_MSC_VER < 1300)
|
||||||
|
#include <winsock.h>
|
||||||
|
#else
|
||||||
|
#include <winsock2.h>
|
||||||
|
#include <ws2tcpip.h>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
])
|
||||||
|
|
||||||
AC_CHECK_TYPES([rlim_t], , ,
|
AC_CHECK_TYPES([rlim_t], , ,
|
||||||
[#ifdef HAVE_SYS_TYPES_H
|
[#ifdef HAVE_SYS_TYPES_H
|
||||||
|
@ -302,15 +302,17 @@ struct in6_addr
|
|||||||
typedef uint16_t sa_family_t;
|
typedef uint16_t sa_family_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef _MSC_VER
|
/* Apparently, MS and Solaris don't define s6_addr16 or s6_addr32. */
|
||||||
/* Apparently, MSVC doesn't define s6_addr16 or s6_addr32. How dumb. */
|
#ifdef HAVE_STRUCT_IN6_ADDR_S6_ADDR32
|
||||||
/* XXXX020 detect with autoconf. */
|
|
||||||
#define S6_ADDR16(x) ((uint16_t*)(x).s6_addr16)
|
|
||||||
#define S6_ADDR32(x) ((uint32_t*)(x).s6_addr32)
|
#define S6_ADDR32(x) ((uint32_t*)(x).s6_addr32)
|
||||||
#else
|
#else
|
||||||
#define S6_ADDR16(x) ((uint16_t*)((char*)&(x).s6_addr))
|
|
||||||
#define S6_ADDR32(x) ((uint32_t*)((char*)&(x).s6_addr))
|
#define S6_ADDR32(x) ((uint32_t*)((char*)&(x).s6_addr))
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HAVE_STRUCT_IN6_ADDR_S6_ADDR16
|
||||||
|
#define S6_ADDR16(x) ((uint16_t*)(x).s6_addr16)
|
||||||
|
#else
|
||||||
|
#define S6_ADDR16(x) ((uint16_t*)((char*)&(x).s6_addr))
|
||||||
|
#endif
|
||||||
|
|
||||||
/* XXXX020 detect sockaddr_in6 correctly on ms_windows; this is also a hack. */
|
/* XXXX020 detect sockaddr_in6 correctly on ms_windows; this is also a hack. */
|
||||||
#if !defined(HAVE_STRUCT_SOCKADDR_IN6) && !defined(MS_WINDOWS)
|
#if !defined(HAVE_STRUCT_SOCKADDR_IN6) && !defined(MS_WINDOWS)
|
||||||
|
Loading…
Reference in New Issue
Block a user