]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
ntpdc_ops.c, ntp_request.c, ntp_peer.c, ntpd.h, ntp_request.h:
authorFrank Kardel <kardel@ntp.org>
Thu, 25 Aug 2005 21:01:42 +0000 (21:01 +0000)
committerFrank Kardel <kardel@ntp.org>
Thu, 25 Aug 2005 21:01:42 +0000 (21:01 +0000)
  remove reset pollinterval feature

bk: 430e31b6wX1CxdR27mrdrK1oooyAXQ

include/ntp_request.h
include/ntpd.h
ntpd/ntp_peer.c
ntpd/ntp_request.c
ntpdc/ntpdc_ops.c

index 8cc1d8e19f1d44febb63f8de02698f0dab4cdb3d..ab12c60866b8e0aa15da58c2a003cbfd1bddb3e2 100644 (file)
@@ -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)
index 68a197156cda50adb6525c77498fca297b082cc8..8214861c18390dcf524642bb7c490ccd172f8e77 100644 (file)
@@ -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));
index a071ba5c973f75a19745dcdf94736c61b437a721..207c18197729bbed4b10377ad32499f27b8f6194 100644 (file)
@@ -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
index bbbcc9b66926fd380b6e04372c44ff01c57809ca..d754f39810b0c16394e0f7e857eaf45e6b68e365 100644 (file)
@@ -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);
-}
index 691e670870ae4c1c6d1db8d141cea8eb91328947..8c7007a3f0c770c352985d00a43288b1fa1eee83 100644 (file)
@@ -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");
-}