}
if (tok == CONFIG_MANYCASTCLIENT)
proto_config(PROTO_MULTICAST_ADD,
- peeraddr.sin_addr.s_addr, 0.);
+ 0, 0., &peeraddr);
} else if (errflg == -1) {
save_resolve(tokens[1], hmode, peerversion,
#if defined(IPV6_V6ONLY)
if (addr->ss_family == AF_INET6)
- if (setsockopt(listenfds[n], IPPROTO_IPV6, IPV6_V6ONLY,
+ if (setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY,
(char*)&on, sizeof(on)))
{
msyslog(LOG_ERR, "setsockopt IPV6_V6ONLY on fails: %m");
* mobilized.
*/
pkeyid = 0;
- if (!SOCKNUL(rbufp->dstadr->bcast))
+ if (!SOCKNUL(&rbufp->dstadr->bcast))
dstadr_sin =
&rbufp->dstadr->bcast;
} else if (peer == NULL) {
if (sys_peer == NULL ||
PKT_TO_STRATUM(pkt->stratum) <
sys_stratum ||
- rbufp->dstadr->sin.sin_addr.s_addr ==
- pkt->refid)
+ /* XXX How do I check IPv6 addresses ? */
+ (rbufp->dstadr->sin.ss_family == AF_INET &&
+ ((struct sockaddr_in*)&rbufp->dstadr->sin)->sin_addr.s_addr ==
+ pkt->refid))
return;
}