Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9df2c44

Browse files
committed
Fix IPv6 detection and IPv6 to 4 conversion to use only standard
interfaces.
1 parent2e98da5 commit9df2c44

File tree

3 files changed

+27
-27
lines changed

3 files changed

+27
-27
lines changed

‎configure

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10027,16 +10027,16 @@ fi
1002710027
echo"$as_me:$LINENO: result:$ac_cv_func_getaddrinfo">&5
1002810028
echo"${ECHO_T}$ac_cv_func_getaddrinfo">&6
1002910029
iftest$ac_cv_func_getaddrinfo = yes;then
10030-
echo"$as_me:$LINENO: checking for struct sockaddr_in6.sin6_len">&5
10031-
echo$ECHO_N"checking for struct sockaddr_in6.sin6_len...$ECHO_C">&6
10032-
iftest"${ac_cv_member_struct_sockaddr_in6_sin6_len+set}" =set;then
10030+
echo"$as_me:$LINENO: checking for struct sockaddr_in6">&5
10031+
echo$ECHO_N"checking for struct sockaddr_in6...$ECHO_C">&6
10032+
iftest"${ac_cv_type_struct_sockaddr_in6+set}" =set;then
1003310033
echo$ECHO_N"(cached)$ECHO_C">&6
1003410034
else
1003510035
cat>conftest.$ac_ext<<_ACEOF
1003610036
#line$LINENO "configure"
1003710037
#include "confdefs.h"
10038-
#include <sys/socket.h>
10039-
#include <netdb.h>
10038+
$ac_includes_default
10039+
#include <netinet/in.h>
1004010040
1004110041
#ifdef F77_DUMMY_MAIN
1004210042
# ifdef __cplusplus
@@ -10047,9 +10047,10 @@ else
1004710047
int
1004810048
main ()
1004910049
{
10050-
static struct sockaddr_in6 ac_aggr;
10051-
if (ac_aggr.sin6_len)
10052-
return 0;
10050+
if ((struct sockaddr_in6 *) 0)
10051+
return 0;
10052+
if (sizeof (struct sockaddr_in6))
10053+
return 0;
1005310054
;
1005410055
return 0;
1005510056
}
@@ -10066,23 +10067,18 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
1006610067
ac_status=$?
1006710068
echo"$as_me:$LINENO:\$? =$ac_status">&5
1006810069
(exit$ac_status); }; };then
10069-
ac_cv_member_struct_sockaddr_in6_sin6_len=yes
10070+
ac_cv_type_struct_sockaddr_in6=yes
1007010071
else
1007110072
echo"$as_me: failed program was:">&5
1007210073
cat conftest.$ac_ext>&5
10073-
ac_cv_member_struct_sockaddr_in6_sin6_len=no
10074+
ac_cv_type_struct_sockaddr_in6=no
1007410075
fi
1007510076
rm -f conftest.$ac_objext conftest.$ac_ext
1007610077
fi
10077-
echo"$as_me:$LINENO: result:$ac_cv_member_struct_sockaddr_in6_sin6_len">&5
10078-
echo"${ECHO_T}$ac_cv_member_struct_sockaddr_in6_sin6_len">&6
10079-
iftest$ac_cv_member_struct_sockaddr_in6_sin6_len = yes;then
10080-
10081-
cat>>confdefs.h<<_ACEOF
10082-
#define HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN 1
10083-
_ACEOF
10084-
10085-
HAVE_IPV6="yes"; cat>>confdefs.h<<\_ACEOF
10078+
echo"$as_me:$LINENO: result:$ac_cv_type_struct_sockaddr_in6">&5
10079+
echo"${ECHO_T}$ac_cv_type_struct_sockaddr_in6">&6
10080+
iftest$ac_cv_type_struct_sockaddr_in6 = yes;then
10081+
HAVE_IPV6="yes"; cat>>confdefs.h<<\_ACEOF
1008610082
#define HAVE_IPV6 1
1008710083
_ACEOF
1008810084

‎configure.in

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dnl Process this file with autoconf to produce a configure script.
2-
dnl $Header: /cvsroot/pgsql/configure.in,v 1.230 2003/01/07 06:43:20 momjian Exp $
2+
dnl $Header: /cvsroot/pgsql/configure.in,v 1.231 2003/01/09 14:34:53 petere Exp $
33
dnl
44
dnl Developers, please strive to achieve this order:
55
dnl
@@ -788,11 +788,11 @@ AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>])
788788

789789
# This exports HAVE_IPV6 to both C files and Makefiles
790790
AC_CHECK_FUNC(getaddrinfo,
791-
[AC_CHECK_MEMBERS(struct sockaddr_in6.sin6_len,
792-
[HAVE_IPV6="yes"; AC_DEFINE(HAVE_IPV6, 1, [])], [],
793-
[#include <sys/socket.h>
794-
#include <netdb.h>])],
795-
[])
791+
[AC_CHECK_TYPE(struct sockaddr_in6,
792+
[HAVE_IPV6="yes"; AC_DEFINE(HAVE_IPV6, 1)],
793+
[],
794+
[$ac_includes_default
795+
#include <netinet/in.h>])])
796796
AC_SUBST(HAVE_IPV6)
797797

798798
AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS],

‎src/backend/libpq/ip.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/libpq/ip.c,v 1.1 2003/01/06 03:18:26 momjian Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/libpq/ip.c,v 1.2 2003/01/09 14:35:03 petere Exp $
1212
*
1313
* This file and the IPV6 implementation were initially provided by
1414
* Nigel Kukard <nkukard@lbsd.net>, Linux Based Systems Design
@@ -365,7 +365,11 @@ convSockAddr6to4(const SockAddr *src, SockAddr *dst)
365365
dst->in.sin_family=AF_INET;
366366
dst->in.sin_port=src->in6.sin6_port;
367367

368-
dst->in.sin_addr.s_addr=src->in6.sin6_addr.s6_addr32[3];
368+
dst->in.sin_addr.s_addr=
369+
(src->in6.sin6_addr.s6_addr[15])
370+
+ (src->in6.sin6_addr.s6_addr[14] <<8)
371+
+ (src->in6.sin6_addr.s6_addr[13] <<16)
372+
+ (src->in6.sin6_addr.s6_addr[12] <<24);
369373
SockAddr_ntop(src,addr_str,INET6_ADDRSTRLEN,0);
370374
}
371375
#endif

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp