From: Frank Kardel Date: Thu, 25 Aug 2005 21:01:42 +0000 (+0000) Subject: ntpdc_ops.c, ntp_request.c, ntp_peer.c, ntpd.h, ntp_request.h: X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c7ecd21eccf047252e44512fc3341b648c18ad5d;p=thirdparty%2Fntp.git ntpdc_ops.c, ntp_request.c, ntp_peer.c, ntpd.h, ntp_request.h: remove reset pollinterval feature bk: 430e31b6wX1CxdR27mrdrK1oooyAXQ --- diff --git a/include/ntp_request.h b/include/ntp_request.h index 8cc1d8e19f..ab12c60866 100644 --- a/include/ntp_request.h +++ b/include/ntp_request.h @@ -286,7 +286,6 @@ struct resp_pkt { #define REQ_HOSTNAME_ASSOCID 43 /* Here is a hostname + assoc_id */ #define REQ_IF_STATS 44 /* get interface statistics */ #define REQ_IF_RELOAD 45 /* reload interface list */ -#define REQ_POLLRESET 46 /* reset poll interval */ /* Determine size of pre-v6 version of structures */ #define v4sizeof(type) offsetof(type, v6_flag) diff --git a/include/ntpd.h b/include/ntpd.h index 68a197156c..8214861c18 100644 --- a/include/ntpd.h +++ b/include/ntpd.h @@ -148,7 +148,6 @@ extern int peer_unconfig P((struct sockaddr_storage *, struct interface *, int) extern void refresh_all_peerinterfaces P((void)); extern void unpeer P((struct peer *)); extern void clear_all P((void)); -extern void peer_reset_pollinterval P((struct peer *)); #ifdef OPENSSL extern void expire_all P((void)); diff --git a/ntpd/ntp_peer.c b/ntpd/ntp_peer.c index a071ba5c97..207c181977 100644 --- a/ntpd/ntp_peer.c +++ b/ntpd/ntp_peer.c @@ -535,13 +535,6 @@ set_peerdstadr(struct peer *peer, struct interface *interface) */ peer_crypto_clear(peer); - /* - * when the interface changes we drop back - * to polling intervals as being used at - * association initialization - */ - peer_reset_pollinterval(peer); - if (peer->dstadr != NULL) { ISC_LIST_APPEND(peer->dstadr->peers, peer, ilink); @@ -632,40 +625,6 @@ refresh_all_peerinterfaces(void) } } -void -peer_reset_pollinterval(struct peer *peer) -{ - if (peer) - { - int last_hpoll = peer->hpoll; - - if (peer->flags & FLAG_REFCLOCK) /* refclocks are exempt from forced poll_update() */ - return; - - DPRINTF(1, ("resetting poll interval for peer %s\n", stoa(&peer->srcadr))); - - poll_update(peer, peer->minpoll); - - if (peer->hpoll != last_hpoll) - { - msyslog(LOG_INFO, "peer %s poll interval re-set", stoa(&peer->srcadr)); - } - } - else - { - int n; - struct peer * cpeer; - struct peer * next_peer; - - for (n = 0; n < NTP_HASH_SIZE; n++) { - for (cpeer = peer_hash[n]; cpeer != 0; cpeer = next_peer) { - next_peer = cpeer->next; - peer_reset_pollinterval(cpeer); - } - } - } -} - /* * find an interface suitable for the src address diff --git a/ntpd/ntp_request.c b/ntpd/ntp_request.c index bbbcc9b669..d754f39810 100644 --- a/ntpd/ntp_request.c +++ b/ntpd/ntp_request.c @@ -101,7 +101,6 @@ static void set_control_keyid P((struct sockaddr_storage *, struct interface *, static void get_ctl_stats P((struct sockaddr_storage *, struct interface *, struct req_pkt *)); static void get_if_stats P((struct sockaddr_storage *, struct interface *, struct req_pkt *)); static void do_if_reload P((struct sockaddr_storage *, struct interface *, struct req_pkt *)); -static void do_reset_pollinterval P((struct sockaddr_storage *, struct interface *, struct req_pkt *)); #ifdef KERNEL_PLL static void get_kernel_info P((struct sockaddr_storage *, struct interface *, struct req_pkt *)); #endif /* KERNEL_PLL */ @@ -176,8 +175,6 @@ static struct req_proc ntp_codes[] = { #endif { REQ_IF_STATS, AUTH, 0, 0, get_if_stats }, { REQ_IF_RELOAD, AUTH, 0, 0, do_if_reload }, - { REQ_POLLRESET, AUTH, v4sizeof(struct conf_unpeer), - sizeof(struct conf_unpeer), do_reset_pollinterval }, { NO_REQUEST, NOAUTH, 0, 0, 0 } }; @@ -2857,107 +2854,3 @@ do_if_reload( flush_pkt(); } -/* - * do_reset_pollinterval - */ -static void -do_reset_pollinterval( - struct sockaddr_storage *srcadr, - struct interface *inter, - struct req_pkt *inpkt - ) -{ - register struct conf_unpeer *cp; - struct conf_unpeer temp_cp; - register int items; - register struct peer *peer; - struct sockaddr_storage peeraddr; - int bad, found; - - /* - * This is a bit unstructured, but I like to be careful. - * We check to see that every peer exists and is actually - * configured. If so, we reset the poll interval. If not, we return - * an error. - */ - items = INFO_NITEMS(inpkt->err_nitems); - cp = (struct conf_unpeer *)inpkt->data; - - bad = 0; - while (items-- > 0 && !bad) { - memset(&temp_cp, 0, sizeof(temp_cp)); - memset(&peeraddr, 0, sizeof(peeraddr)); - memcpy(&temp_cp, cp, INFO_ITEMSIZE(inpkt->mbz_itemsize)); - if (client_v6_capable && temp_cp.v6_flag != 0) { - peeraddr.ss_family = AF_INET6; - GET_INADDR6(peeraddr) = temp_cp.peeraddr6; - } else { - peeraddr.ss_family = AF_INET; - 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)); - while (!found) { - peer = findexistingpeer(&peeraddr, peer, -1); - if (peer == (struct peer *)0) - break; - if (peer->flags & FLAG_CONFIG) - found = 1; - } - if (!found) - bad = 1; - cp = (struct conf_unpeer *) - ((char *)cp + INFO_ITEMSIZE(inpkt->mbz_itemsize)); - } - - if (bad) { - req_ack(srcadr, inter, inpkt, INFO_ERR_NODATA); - return; - } - - /* - * Now do it in earnest. - */ - - items = INFO_NITEMS(inpkt->err_nitems); - if (items) - { - cp = (struct conf_unpeer *)inpkt->data; - while (items-- > 0) { - memset(&temp_cp, 0, sizeof(temp_cp)); - memset(&peeraddr, 0, sizeof(peeraddr)); - memcpy(&temp_cp, cp, INFO_ITEMSIZE(inpkt->mbz_itemsize)); - if (client_v6_capable && temp_cp.v6_flag != 0) { - peeraddr.ss_family = AF_INET6; - GET_INADDR6(peeraddr) = temp_cp.peeraddr6; - } else { - peeraddr.ss_family = AF_INET; - 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 = findexistingpeer(&peeraddr, 0, -1); - while (peer) { - if (peer->flags & FLAG_CONFIG) - peer_reset_pollinterval(peer); - peer = findexistingpeer(&peeraddr, peer, -1); - } - - cp = (struct conf_unpeer *) - ((char *)cp + INFO_ITEMSIZE(inpkt->mbz_itemsize)); - } - } else { - /* do it for all peers */ - peer_reset_pollinterval(NULL); - } - - req_ack(srcadr, inter, inpkt, INFO_OKAY); -} diff --git a/ntpdc/ntpdc_ops.c b/ntpdc/ntpdc_ops.c index 691e670870..8c7007a3f0 100644 --- a/ntpdc/ntpdc_ops.c +++ b/ntpdc/ntpdc_ops.c @@ -80,7 +80,6 @@ static void clkbug P((struct parse *, FILE *)); static void kerninfo P((struct parse *, FILE *)); static void get_if_stats P((struct parse *, FILE *)); static void do_if_reload P((struct parse *, FILE *)); -static void do_reset_pollinterval P((struct parse *, FILE *)); /* * Commands we understand. Ntpdc imports this. @@ -213,10 +212,6 @@ struct xcmd opcmds[] = { { "ifreload", do_if_reload, { NO, NO, NO, NO }, { "", "", "", "" }, "reload interface configuration" }, - { "pollreset", do_reset_pollinterval, { OPT|NTP_ADD, OPT|NTP_ADD, OPT|NTP_ADD, OPT|NTP_ADD }, - { "peer_address", "peer2_addr", "peer3_addr", "peer4_addr" }, - "reset poll interval for given peers - all if no peers given" }, - { 0, 0, { NO, NO, NO, NO }, { "", "", "", "" }, "" } }; @@ -3160,58 +3155,3 @@ do_if_reload( sizeof(struct info_if_stats)); iflist(fp, ifs, items, itemsize, res); } - -/* - * do_reset_pollinterval - re-set poll interval to start value - */ -static void -do_reset_pollinterval( - struct parse *pcmd, - FILE *fp - ) -{ - /* 8 is the maximum number of peers which will fit in a packet */ - struct conf_unpeer *pl, plist[min(MAXARGS, 8)]; - int qitems; - int items; - int itemsize; - char *dummy; - int res; - int sendsize; - -again: - if (impl_ver == IMPL_XNTPD) - sendsize = sizeof(struct conf_unpeer); - else - sendsize = v4sizeof(struct conf_unpeer); - - for (qitems = 0, pl = plist; qitems < min(pcmd->nargs, 8); qitems++) { - if (pcmd->argval[0].netnum.ss_family == AF_INET) { - pl->peeraddr = GET_INADDR(pcmd->argval[qitems].netnum); - if (impl_ver == IMPL_XNTPD) - pl->v6_flag = 0; - } else { - if (impl_ver == IMPL_XNTPD_OLD) { - fprintf(stderr, - "***Server doesn't understand IPv6 addresses\n"); - return; - } - pl->peeraddr6 = - GET_INADDR6(pcmd->argval[qitems].netnum); - pl->v6_flag = 1; - } - pl = (struct conf_unpeer *)((char *)pl + sendsize); - } - - res = doquery(impl_ver, REQ_POLLRESET, 1, qitems, - sendsize, (char *)plist, &items, - &itemsize, &dummy, 0, sizeof(struct conf_unpeer)); - - if (res == INFO_ERR_IMPL && impl_ver == IMPL_XNTPD) { - impl_ver = IMPL_XNTPD_OLD; - goto again; - } - - if (res == 0) - (void) fprintf(fp, "done!\n"); -}