author | yippi |
Mon, 27 Sep 2010 21:07:51 +0000 | |
changeset 20108 | 51df67ca9307 |
parent 18006 | 24bd68a5c0c9 |
child 22350 | 08957601a465 |
permissions | -rw-r--r-- |
18006
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
1 |
--- pidgin-2.7.0/configure.ac.old 2010-05-19 16:14:37.353493050 +0800 |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
2 |
+++ pidgin-2.7.0/configure.ac 2010-05-19 16:14:57.627765006 +0800 |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
3 |
@@ -156,6 +156,8 @@ |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
4 |
[AC_DEFINE([HAVE_GETADDRINFO]) LIBS="-lsocket -lsnl $LIBS"], , , -lnsl)]) |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
5 |
AC_CHECK_FUNCS(inet_ntop) |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
6 |
AC_CHECK_FUNCS(getifaddrs) |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
7 |
+AC_CHECK_MEMBERS(struct ifaddrs.ifa_addr->ss_family,[],[],[[ #include <ifaddrs.h> |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
8 |
+#include <net/if.h> ]]) |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
9 |
dnl Check for socklen_t (in Unix98) |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
10 |
AC_MSG_CHECKING(for socklen_t) |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
11 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
12 |
--- pidgin-2.7.0/libpurple/network.c.old 2010-05-19 16:14:46.440830715 +0800 |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
13 |
+++ pidgin-2.7.0/libpurple/network.c 2010-05-19 16:38:25.005674810 +0800 |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
14 |
@@ -57,6 +57,16 @@ |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
15 |
#include <idna.h> |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
16 |
#endif |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
17 |
|
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
18 |
+/* Since OpenSolaris build 137, RFC2553 is supported |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
19 |
+ * so ifa_addr member of "struct ifaddrs" has type |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
20 |
+ * "struct sockaddr_storage" |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
21 |
+ */ |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
22 |
+#ifdef HAVE_STRUCT_IFADDRS_IFA_ADDR__SS_FAMILY |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
23 |
+#define ADDR_FAMILY_MEMBER ss_family |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
24 |
+#else |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
25 |
+#define ADDR_FAMILY_MEMBER sa_family |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
26 |
+#endif |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
27 |
+ |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
28 |
/* |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
29 |
* Calling sizeof(struct ifreq) isn't always correct on |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
30 |
* Mac OS X (and maybe others). |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
31 |
@@ -219,7 +229,7 @@ |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
32 |
} |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
33 |
|
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
34 |
for (ifa = start; ifa; ifa = ifa->ifa_next) { |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
35 |
- int family = ifa->ifa_addr ? ifa->ifa_addr->sa_family : AF_UNSPEC; |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
36 |
+ int family = ifa->ifa_addr ? ifa->ifa_addr->ADDR_FAMILY_MEMBER: AF_UNSPEC; |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
37 |
char host[INET6_ADDRSTRLEN]; |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
38 |
const char *tmp = NULL; |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
39 |
|
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
40 |
@@ -265,7 +275,7 @@ |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
41 |
ifr = (struct ifreq *)tmp; |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
42 |
tmp += HX_SIZE_OF_IFREQ(*ifr); |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
43 |
|
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
44 |
- if (ifr->ifr_addr.sa_family == AF_INET) { |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
45 |
+ if (ifr->ifr_addr.ADDR_FAMILY_MEMBER == AF_INET) { |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
46 |
struct sockaddr_in *sinptr = (struct sockaddr_in *)&ifr->ifr_addr; |
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
47 |
|
24bd68a5c0c9
2010-05-20 Brian Lu <set EMAIL_ADDRESS environment variable>
hawklu
parents:
diff
changeset
|
48 |
inet_ntop(AF_INET, &sinptr->sin_addr, dst, |