+* [Bug 1358] AIX 4.3 sntp/networking.c IPV6_JOIN_GROUP undeclared.
(4.2.5p238-RC) 2009/10/27 Released by Harlan Stenn <stenn@ntp.org>
* Changes from Dave Mills.
* driver4.html updates from Dave Mills.
/*
* Flag values for getaddrinfo()
*/
-#ifndef AI_NUMERICHOST
+#ifndef AI_PASSIVE
#define AI_PASSIVE 0x00000001 /* get address to use bind() */
#define AI_CANONNAME 0x00000002 /* fill ai_canonname */
#define AI_NUMERICHOST 0x00000004 /* prevent name resolution */
(AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_ADDRCONFIG)
#define AI_ADDRCONFIG 0x00000400 /* only if any address is assigned */
+#endif /* !AI_PASSIVE */
+
+#ifndef AI_NUMERICHOST /* such as AIX 4.3 */
+#define AI_NUMERICHOST 0
#endif
#ifndef ISC_PLATFORM_HAVEIPV6
#define NI_WITHSCOPEID 0x00000020
#endif
-#endif /* ISC_PLATFORM_HAVEIPV6 */
+#endif /* !ISC_PLATFORM_HAVEIPV6 */
+
+/*
+ * Set up some macros to look for IPv6 and IPv6 multicast
+ */
+
+#if defined(ISC_PLATFORM_HAVEIPV6) && defined(WANT_IPV6)
+# define INCLUDE_IPV6_SUPPORT
+# if defined(IPV6_JOIN_GROUP) && defined(IPV6_LEAVE_GROUP)
+# define INCLUDE_IPV6_MULTICAST_SUPPORT
+# endif /* IPV6 Multicast Support */
+#endif /* IPv6 Support */
#endif /* !NTP_RFC2553_H */
#define SETSOCKOPT_ARG_CAST
#endif
-/*
- * Set up some macros to look for IPv6 and IPv6 multicast
- */
-
-#if defined(ISC_PLATFORM_HAVEIPV6) && defined(WANT_IPV6)
-
-#define INCLUDE_IPV6_SUPPORT
-
-#if defined(INCLUDE_IPV6_SUPPORT) && defined(IPV6_JOIN_GROUP) && defined(IPV6_LEAVE_GROUP)
-#define INCLUDE_IPV6_MULTICAST_SUPPORT
-
-#endif /* IPV6 Multicast Support */
-#endif /* IPv6 Support */
-
extern int listen_to_virtual_ips;
/*
}
- if(setsockopt(rsock, IPPROTO_IP, IP_MULTICAST_LOOP, &btrue, sizeof(btrue)) < 0) {
+ if (setsockopt(rsock, IPPROTO_IP, IP_MULTICAST_LOOP, &btrue, sizeof(btrue)) < 0) {
/* some error message regarding setting up multicast loop */
return BROADCAST_FAILED;
}
}
#ifdef ISC_PLATFORM_HAVEIPV6
else if (IS_IPV6(sas)) {
+#ifndef INCLUDE_IPV6_MULTICAST_SUPPORT
+ return BROADCAST_FAILED;
+#else
struct ipv6_mreq mdevadr;
if (bind(rsock, &sas->sa, SOCKLEN(sas)) < 0) {
printf("sntp recv_bcst_data: Couldn't bind() address.\n");
}
- if(setsockopt(rsock, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, &btrue, sizeof (btrue)) < 0) {
+ if (setsockopt(rsock, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, &btrue, sizeof (btrue)) < 0) {
/* some error message regarding setting up multicast loop */
return BROADCAST_FAILED;
}
return BROADCAST_FAILED;
}
}
+#endif /* INCLUDE_IPV6_MULTICAST_SUPPORT */
}
#endif /* ISC_PLATFORM_HAVEIPV6 */
case 0:
if(ENABLED_OPT(NORMALVERBOSE))
- printf("sntp recv_bcst_data: select() reached timeout (%li sec), aborting.\n", timeout_tv.tv_sec);
+ printf("sntp recv_bcst_data: select() reached timeout (%u sec), aborting.\n",
+ (unsigned)timeout_tv.tv_sec);
return BROADCAST_FAILED;
break;
#include <sys/types.h>
#include <sys/socket.h>
+#include <ntp_rfc2553.h>
#include <ntp_stdlib.h>
#include <ntp_machine.h>
#include <ntp_unixtime.h>