From: John Hay Date: Thu, 6 Dec 2001 09:03:58 +0000 (+0200) Subject: Portability fixes to make it compile on the Udel flock. X-Git-Tag: NTP_4_1_73~221 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f46c1bcc48eb8b1f7fef63b76ed1eb8913e8a731;p=thirdparty%2Fntp.git Portability fixes to make it compile on the Udel flock. bk: 3c0f347e5dMUSz1oxQSellpgVaJeMw --- diff --git a/ntpd/ntp_request.c b/ntpd/ntp_request.c index f96316d3f5..18f66f0f06 100644 --- a/ntpd/ntp_request.c +++ b/ntpd/ntp_request.c @@ -487,8 +487,7 @@ process_private( temp_size = INFO_ITEMSIZE(inpkt->mbz_itemsize); if (temp_size != proc->sizeofitem && temp_size != proc->v6_sizeofitem){ if (debug > 2) - printf("process_private: wrong item size, received %d, " - "should be %d or %d\n", + printf("process_private: wrong item size, received %d, should be %d or %d\n", temp_size, proc->sizeofitem, proc->v6_sizeofitem); req_ack(srcadr, inter, inpkt, INFO_ERR_FMT); return; @@ -808,7 +807,9 @@ peer_info ( addr.ss_family = AF_INET; GET_INADDR(addr) = ipl->addr; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR addr.ss_len = SOCKLEN(&addr); +#endif ipl++; if ((pp = findexistingpeer(&addr, (struct peer *)0, -1)) == 0) continue; @@ -931,7 +932,9 @@ peer_stats ( addr.ss_family = AF_INET; GET_INADDR(addr) = ipl->addr; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR addr.ss_len = SOCKLEN(&addr); +#endif printf("peer_stats: looking for %s, %d, %d\n", stoa(&addr), ipl->port, ((struct sockaddr_in6 *)&addr)->sin6_port); ipl = (struct info_peer_list *)((char *)ipl + @@ -1368,7 +1371,9 @@ do_conf( } NSRCPORT(&peeraddr) = htons(NTP_PORT); +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR peeraddr.ss_len = SOCKLEN(&peeraddr); +#endif /* XXX W2DO? minpoll/maxpoll arguments ??? */ if (peer_config(&peeraddr, (struct interface *)0, @@ -1521,7 +1526,9 @@ do_unconf( GET_INADDR(peeraddr) = temp_cp.peeraddr; } NSRCPORT(&peeraddr) = htons(NTP_PORT); +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR peeraddr.ss_len = SOCKLEN(&peeraddr); +#endif found = 0; peer = (struct peer *)0; printf("searching for %s\n", stoa(&peeraddr)); @@ -1561,7 +1568,9 @@ do_unconf( GET_INADDR(peeraddr) = temp_cp.peeraddr; } NSRCPORT(&peeraddr) = htons(NTP_PORT); +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR peeraddr.ss_len = SOCKLEN(&peeraddr); +#endif peer_unconfig(&peeraddr, (struct interface *)0, -1); cp = (struct conf_unpeer *) ((char *)cp + INFO_ITEMSIZE(inpkt->mbz_itemsize)); @@ -2041,7 +2050,9 @@ reset_peer( peeraddr.ss_family = AF_INET; } NSRCPORT(&peeraddr) = htons(NTP_PORT); +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR peeraddr.ss_len = SOCKLEN(&peeraddr); +#endif peer = findexistingpeer(&peeraddr, (struct peer *)0, -1); if (peer == (struct peer *)0) bad++; @@ -2069,7 +2080,9 @@ reset_peer( GET_INADDR(peeraddr) = cp->peeraddr; peeraddr.ss_family = AF_INET; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR peeraddr.ss_len = SOCKLEN(&peeraddr); +#endif peer = findexistingpeer(&peeraddr, (struct peer *)0, -1); while (peer != 0) { peer_reset(peer); @@ -2579,7 +2592,9 @@ get_clock_info( memset((char *)&addr, 0, sizeof addr); addr.ss_family = AF_INET; +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR addr.ss_len = SOCKLEN(&addr); +#endif NSRCPORT(&addr) = htons(NTP_PORT); items = INFO_NITEMS(inpkt->err_nitems); clkaddr = (u_int32 *) inpkt->data; @@ -2652,7 +2667,9 @@ set_clock_fudge( tmp_clock.sin_addr.s_addr = cf->clockadr; *CAST_V4(addr) = tmp_clock; addr.ss_family = AF_INET; +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR addr.ss_len = SOCKLEN(&addr); +#endif NSRCPORT(&addr) = htons(NTP_PORT); if (!ISREFCLOCKADR(&tmp_clock) || findexistingpeer(&addr, (struct peer *)0, -1) == 0) { @@ -2718,7 +2735,9 @@ get_clkbug_info( memset((char *)&addr, 0, sizeof addr); addr.ss_family = AF_INET; +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR addr.ss_len = SOCKLEN(&addr); +#endif NSRCPORT(&addr) = htons(NTP_PORT); items = INFO_NITEMS(inpkt->err_nitems); clkaddr = (u_int32 *) inpkt->data; diff --git a/ntpdc/ntpdc.c b/ntpdc/ntpdc.c index 7851cbdc17..51ee9f0cbb 100644 --- a/ntpdc/ntpdc.c +++ b/ntpdc/ntpdc.c @@ -402,7 +402,7 @@ openhost( char name[LENHOSTNAME]; char service[5]; - bzero(&hints, sizeof(struct addrinfo)); + memset((char *)&hints, 0, sizeof(struct addrinfo)); hints.ai_flags = AI_ADDRCONFIG|AI_CANONNAME; hints.ai_protocol = IPPROTO_UDP; hints.ai_socktype = SOCK_DGRAM; diff --git a/ntpdc/ntpdc_ops.c b/ntpdc/ntpdc_ops.c index 6b94bb8154..743430e6f9 100644 --- a/ntpdc/ntpdc_ops.c +++ b/ntpdc/ntpdc_ops.c @@ -319,7 +319,9 @@ again: GET_INADDR(paddr) = plist->addr; paddr.ss_family = AF_INET; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR paddr.ss_len = SOCKLEN(&paddr); +#endif if ((pcmd->nargs == 0) || ((pcmd->argval->ival == 6) && (plist->v6_flag != 0)) || ((pcmd->argval->ival == 4) && (plist->v6_flag == 0))) @@ -445,8 +447,10 @@ again: srcadr.ss_family = AF_INET; dstadr.ss_family = AF_INET; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR srcadr.ss_len = SOCKLEN(&srcadr); dstadr.ss_len = SOCKLEN(&dstadr); +#endif if ((pcmd->nargs == 0) || ((pcmd->argval->ival == 6) && (plist->v6_flag != 0)) || ((pcmd->argval->ival == 4) && (plist->v6_flag == 0))) @@ -491,17 +495,27 @@ printpeer( register int i; const char *str; l_fp tempts; - char local[INET6_ADDRSTRLEN], remote[INET6_ADDRSTRLEN]; + struct sockaddr_storage srcadr, dstadr; + memset((char *)&srcadr, 0, sizeof(srcadr)); + memset((char *)&dstadr, 0, sizeof(dstadr)); if (pp->v6_flag != 0) { - inet_ntop(AF_INET6, &pp->srcadr6, remote, sizeof(remote)); - inet_ntop(AF_INET6, &pp->dstadr6, local, sizeof(local)); + srcadr.ss_family = AF_INET6; + dstadr.ss_family = AF_INET6; + GET_INADDR6(srcadr) = pp->srcadr6; + GET_INADDR6(dstadr) = pp->dstadr6; } else { - inet_ntop(AF_INET, &pp->srcadr, remote, sizeof(remote)); - inet_ntop(AF_INET, &pp->dstadr, local, sizeof(local)); - } - - (void) fprintf(fp, "remote %s, local %s\n", remote, local); + srcadr.ss_family = AF_INET; + dstadr.ss_family = AF_INET; + GET_INADDR(srcadr) = pp->srcadr; + GET_INADDR(dstadr) = pp->dstadr; + } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR + srcadr.ss_len = SOCKLEN(&srcadr); + dstadr.ss_len = SOCKLEN(&dstadr); +#endif + (void) fprintf(fp, "remote %s, local %s\n", + stoa(&srcadr), stoa(&dstadr)); (void) fprintf(fp, "hmode %s, pmode %s, stratum %d, precision %d\n", modetoa(pp->hmode), modetoa(pp->pmode), pp->stratum, pp->precision); @@ -759,8 +773,10 @@ again: src.ss_family = AF_INET; dst.ss_family = AF_INET; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR src.ss_len = SOCKLEN(&src); dst.ss_len = SOCKLEN(&dst); +#endif (void) fprintf(fp, "remote host: %s\n", nntohost(&src)); (void) fprintf(fp, "local interface: %s\n", @@ -912,7 +928,9 @@ again: GET_INADDR(peeraddr) = is->peer; peeraddr.ss_family = AF_INET; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR peeraddr.ss_len = SOCKLEN(&peeraddr); +#endif (void) fprintf(fp, "system peer: %s\n", nntohost(&peeraddr)); (void) fprintf(fp, "system peer mode: %s\n", modetoa(is->peer_mode)); (void) fprintf(fp, "leap indicator: %c%c\n", @@ -1609,14 +1627,18 @@ again: GET_INADDR6(maskaddr) = rl->mask6; resaddr.ss_family = AF_INET6; maskaddr.ss_family = AF_INET6; +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR resaddr.ss_len = SOCKLEN(&resaddr); +#endif addr = nntohost(&resaddr); } else { GET_INADDR(resaddr) = rl->addr; GET_INADDR(maskaddr) = rl->mask; resaddr.ss_family = AF_INET; maskaddr.ss_family = AF_INET; +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR resaddr.ss_len = SOCKLEN(&resaddr); +#endif if ((rl->mask == (u_int32)0xffffffff)) addr = nntohost(&resaddr); else @@ -1882,7 +1904,9 @@ again: GET_INADDR(dstadr) = ml->daddr; dstadr.ss_family = AF_INET; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR dstadr.ss_len = SOCKLEN(&dstadr); +#endif if ((pcmd->nargs == 0) || ((pcmd->argval->ival == 6) && (ml->v6_flag != 0)) || ((pcmd->argval->ival == 4) && (ml->v6_flag == 0))) @@ -1917,7 +1941,9 @@ again: GET_INADDR(dstadr) = ml->addr; dstadr.ss_family = AF_INET; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR dstadr.ss_len = SOCKLEN(&dstadr); +#endif if ((pcmd->nargs == 0) || ((pcmd->argval->ival == 6) && (ml->v6_flag != 0)) || ((pcmd->argval->ival == 4) && (ml->v6_flag == 0))) @@ -1949,7 +1975,9 @@ again: GET_INADDR(dstadr) = oml->addr; dstadr.ss_family = AF_INET; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR dstadr.ss_len = SOCKLEN(&dstadr); +#endif (void) fprintf(fp, "%-20.20s %5d %9ld %4d %3d %9lu %9lu\n", nntohost(&dstadr), ntohs(oml->port), @@ -2300,8 +2328,10 @@ again: trap_addr.ss_family = AF_INET; local_addr.ss_family = AF_INET; } +#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR trap_addr.ss_len = SOCKLEN(&trap_addr); local_addr.ss_len = SOCKLEN(&local_addr); +#endif (void) fprintf(fp, "address %s, port %d\n", stoa(&trap_addr), ntohs(it->trap_port));