diff options
author | Dmitrij Tejblum <tejblum@yandex-team.ru> | 2011-08-22 11:39:35 +0400 |
---|---|---|
committer | Dmitrij Tejblum <tejblum@yandex-team.ru> | 2011-08-22 11:39:35 +0400 |
commit | d6af701250915fdc7449500d9191f4eb2e6cfa4d (patch) | |
tree | 315538b5d6d7a9e3351dcf80c23bc0ab12e2cf77 /configure.ac | |
parent | 96a0a39261b5a848228f096a1a1836fa12ed3e69 (diff) |
lib: use "protocol-independed API" from RFC3678, if that is available
(This commit is based on the patch from BZ#420, and should fix that bug.)
* configure.ac: detect availability of that API
* sockopt.c (setsockopt_ipv4_multicast): use it for join/leave IPv4
multicast groups
Diffstat (limited to 'configure.ac')
-rwxr-xr-x | configure.ac | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index a5b9dc43..40e31f25 100755 --- a/configure.ac +++ b/configure.ac @@ -944,6 +944,15 @@ AC_TRY_COMPILE([#ifdef HAVE_SYS_PARAM_H AC_DEFINE(HAVE_BSD_STRUCT_IP_MREQ_HACK,,[Can pass ifindex in struct ip_mreq])], AC_MSG_RESULT(no)) +AC_MSG_CHECKING([for RFC3678 protocol-independed API]) +AC_TRY_COMPILE([ +#include <sys/types.h> +#include <netinet/in.h> +], [struct group_req gr; int sock; setsockopt(sock, IPPROTO_IP, MCAST_JOIN_GROUP, (void*)&gr, sizeof(gr)); +], [AC_MSG_RESULT(yes) +AC_DEFINE(HAVE_RFC3678,1,[Have RFC3678 protocol-independed API])], +AC_MSG_RESULT(no)) + dnl --------------------------------------------------------------- dnl figure out how to check link-state dnl --------------------------------------------------------------- |