]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
ChangeLog:
authorDave Hart <hart@ntp.org>
Thu, 25 Mar 2010 01:42:06 +0000 (01:42 +0000)
committerDave Hart <hart@ntp.org>
Thu, 25 Mar 2010 01:42:06 +0000 (01:42 +0000)
  Catch up ChangeLog with several weeks' changes.
ntpq-subs.c, ntp_peer.c, ntp_io.c, ntp_proto.c:
  debug message cleanup for integration with ntp-dev

bk: 4baabf6emHlBCe-lQ3UpZxj_IPVb4Q

ChangeLog
ntpd/ntp_io.c
ntpd/ntp_peer.c
ntpd/ntp_proto.c
ntpq/ntpq-subs.c

index ca33cee776e5a01aadde3d255d50f5f9470c8cb3..c1df1c4cf248fa561ceae389ebc6d17df4300ed8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,67 @@
 * [Bug 1483] AI_NUMERICSERV undefined in 4.2.7p20.
+* [Bug 1497] fudge is broken by getnetnum() change.
+* [Bug 1503] Auto-enabling of monitor for "restrict ... limited" wrong.
+* [Bug 1504] ntpdate tickles ntpd "discard minimum 1" rate limit if
+  "restrict ... limited" is used.
+* ntpdate: stop querying source after KoD packet response, log it.
+* ntpdate: rate limit each server to 2s between packets.
+* Broadcast client (ephemeral) associations should be demobilized only
+  if they are not heard from for 10 consecutive polls, regardless of
+  surviving the clock selection.  Fix from David Mills.
+* Add "ntpq -c ifstats" similar to "ntpdc -c ifstats".
+* Add "ntpq -c sysstats" similar to "ntpdc -c sysstats".
+* Add "ntpq -c monstats" to show monlist knobs and stats.
+* Add "ntpq -c mrulist" similar to "ntpdc -c monlist" but not
+  limited to 600 rows, and with filtering and sorting options:
+  ntpq -c "mrulist mincount=2 laddr=192.168.1.2 sort=-avgint"
+  ntpq -c "mrulist sort=addr"
+  ntpq -c "mrulist mincount=2 sort=count"
+  ntpq -c "mrulist sort=-lstint"
+* Modify internal representation of MRU list to use l_fp fixed-point
+  NTP timestamps instead of seconds since startup.  This increases the
+  resolution and substantially improves accuracy of sorts involving
+  timestamps, at the cost of flushing all MRU entries when the clock is
+  stepped, to ensure the timestamps can be compared with the current
+  get_systime() results.
+* Add ntp.conf "mru" directive to configure MRU parameters, such as
+  "mru mindepth 600 maxage 64 maxdepth 5000 maxmem 1024" or
+  "mru initalloc 0 initmem 16 incalloc 99 incmem 4".  Several pairs are
+  equivalent with one in units of MRU entries and its twin in units of
+  kilobytes of memory, so the last one used in ntp.conf controls:
+  maxdepth/maxmem, initalloc/initmem, incalloc/incmem.  With the above
+  values, ntpd will preallocate 16kB worth of MRU entries, allocating
+  4kB worth each time more are needed, with a hard limit of 1MB of MRU
+  entries.  Until there are more than 600 entries none would be reused.
+  Then only entries for addresses last seen 64 seconds or longer ago are
+  reused.
+* Limit "ntpdc -c monlist" response in ntpd to 600 entries, the previous
+  overall limit on the MRU list depth which was driven by the monlist
+  implementation limit of one request with a single multipacket
+  response.
+* New "pool" directive implementation modeled on manycastclient.
+* Do not abort on non-ASCII characters in ntp.conf, ignore them.
+* ntpq: increase response reassembly limit from 24 to 32 packets, add
+  discussion in comment regarding results with even larger MAXFRAGS.
+* ntpq: handle "passwd MYPASSWORD" (without prompting) as with ntpdc.
+* ntpdc: do not examine argument to "passwd" if not supplied.
+* configure: remove check for pointer type used with qsort(), we
+  require ANSI C which mandates void *.
+* Reset sys_kodsent to 0 in proto_clr_stats().
+* Add sptoa()/sockporttoa() similar to stoa()/socktoa() adding :port.
+* Use memcpy() instead of memmove() when buffers can not overlap.
+* Remove sockaddr_storage from our sockaddr_u union of sockaddr,
+  sockaddr_in, and sockaddr_in6, shaving about 100 bytes from its size
+  and substantially decreasing MRU entry memory consumption.
+* Extend ntpq readvar (alias rv) to allow fetching up to three named
+  variables in one operation:  ntpq -c "rv 0 version offset frequency".
+* ntpq: use srchost variable to show .POOL. prototype associations'
+  hostname instead of address 0.0.0.0.
+* "restrict source ..." configures override restrictions for time
+  sources, allows tight default restrictions to be used with the pool
+  directive (where server addresses are not known in advance).
+* Ignore "preempt" modifier on manycastclient and pool prototype
+  associations.  The resulting associations are preemptible, but the
+  prototype must not be.
 * Maintain and use linked list of associations (struct peer) in ntpd,
   avoiding walking 128 hash table entries to iterate over peers.
 * Remove more workarounds unneeded since we require ISO C90 AKA ANSI C:
@@ -18,7 +81,7 @@
 * Correct Windows port's refclock_open() to return 0 on failure not -1.
 * Correct CHU, dumbclock, and WWVB drivers to check for 0 returned from
   refclock_open() on failure.
-* Repair ntpdate.c to handle no longer testing HAVE_TIMER_SETTIME.
+* Repair ntpdate.c to no longer test HAVE_TIMER_SETTIME.
 * Do not reference peer_node/unpeer_node after freeing when built with
   --disable-saveconfig and using DNS.
 (4.2.7p20) 2010/02/13 Released by Harlan Stenn <stenn@ntp.org>
index c0e2db011f72e10a8960366c3629901fc7ff3f7e..76b9b3f1512c391a4a690c682649a4cdd59decfb 100644 (file)
@@ -2423,8 +2423,8 @@ io_setbclient(void)
                        prev_refid = interf->addr_refid;
                        interf->addr_refid = addr2refid(&interf->sin);
                        if (prev_refid != interf->addr_refid)
-                               msyslog(LOG_NOTICE,     // !!!!!
-                                       "io_setbclient: addr_refid for %s updated %8.8x -> %8.8x",
+                               msyslog(LOG_NOTICE,
+                                       "io_setbclient: code is not dead, addr_refid for %s updated %8.8x -> %8.8x, please email hart@ntp.org to remove this message",
                                        stoa(&interf->sin), prev_refid,
                                        interf->addr_refid);
                }
index 995fcac79777931fdef5ba0128dc4550efca659d..c6af36065e97ae2049533f55134a6c363d61b8fe 100644 (file)
@@ -375,9 +375,6 @@ score_all(
 
        if (tamp != temp)
                temp = 0;
-       else // !!!!!
-               msyslog(LOG_INFO, "score_all(%s) min %d bye",
-                       stoa(&peer->srcadr), temp);
 
        return temp;
 }
index e9885a0c28d57d1461e0c5c65453d24303d4cc94..c129b285dd269affb8591bddd480f1f7db8c0e04 100644 (file)
@@ -3473,12 +3473,11 @@ pool_xmit(
        pool->sent++;
        pool->throttle += (1 << pool->minpoll) - 2;
 #ifdef DEBUG
-       msyslog(LOG_NOTICE, "transmit: at %ld %s->%s pool\n", /* !!!!! */
-                   current_time, latoa(lcladr), stoa(rmtadr));
        if (debug)
                printf("transmit: at %ld %s->%s pool\n",
                    current_time, latoa(lcladr), stoa(rmtadr));
 #endif
+       msyslog(LOG_INFO, "Soliciting pool server %s\n", stoa(rmtadr));
 #endif /* WORKER */
 }
 
index 3e7ae60c0024f0512f5538272616c3500c2ff7ed..072db0c433ad9b637e2745638167d4c61a575640 100644 (file)
@@ -2309,8 +2309,6 @@ collect_mru_list(
        while (TRUE) {
                if (debug)
                        fprintf(stderr, "READ_MRU: %s\n", req_buf);
-               // if (debug) !!!!!
-                       fprintf(stderr, "%d ", limit);
                                
                qres = doqueryex(CTL_OP_READ_MRU, 0, 0, strlen(req_buf),
                                 req_buf, &rstatus, &rsize, &rdata, TRUE);
@@ -2574,9 +2572,6 @@ collect_mru_list(
                NTP_INSIST(ri > 0 || NULL == recent);
        }
 
-       // if (debug)   !!!!!
-               fprintf(stderr, "\n");
-
        c_mru_l_rc = TRUE;
 
 cleanup_return:
@@ -2873,21 +2868,25 @@ mrulist(
                        fflush(fp);
        }
        fflush(fp);
-       // if (debug) !!!!!
-       fprintf(stderr, "--- completed, freeing sorted[] pointers\n");
-       fflush(stderr);
+       if (debug) {
+               fprintf(stderr,
+                       "--- completed, freeing sorted[] pointers\n");
+               fflush(stderr);
+       }
        free(sorted);
 
 cleanup_return:
-       // if (debug) !!!!!
-       fprintf(stderr, "... freeing MRU entries\n");
-       fflush(stderr);
+       if (debug) {
+               fprintf(stderr, "... freeing MRU entries\n");
+               fflush(stderr);
+       }
        ITER_DLIST_BEGIN(mru_list, recent, mlink, mru)
                free(recent);
        ITER_DLIST_END()
-       // if (debug) !!!!!
-       fprintf(stderr, "... freeing hash_table[]\n");
-       fflush(stderr);
+       if (debug) {
+               fprintf(stderr, "... freeing hash_table[]\n");
+               fflush(stderr);
+       }
        free(hash_table);
        hash_table = NULL;
        INIT_DLIST(mru_list, mlink);