chiark / gitweb /
timesyncd: reduce log chattiness a bit
[elogind.git] / src / timesync / timesyncd-manager.c
index ef5854d07ebaa3dcc9af20cf2652ad07d2f4ae6d..d3c62c9023c6bb56ebfa0a3b742a62d77f29064c 100644 (file)
@@ -147,10 +147,6 @@ static double ts_to_d(const struct timespec *ts) {
         return ts->tv_sec + (1.0e-9 * ts->tv_nsec);
 }
 
-static double square(double d) {
-        return d * d;
-}
-
 static int manager_timeout(sd_event_source *source, usec_t usec, void *userdata) {
         _cleanup_free_ char *pretty = NULL;
         Manager *m = userdata;
@@ -428,7 +424,7 @@ static bool manager_sample_spike_detection(Manager *m, double offset, double del
 
         j = 0;
         for (i = 0; i < ELEMENTSOF(m->samples); i++)
-                j += square(m->samples[i].offset - m->samples[idx_min].offset);
+                j += pow(m->samples[i].offset - m->samples[idx_min].offset, 2);
         m->samples_jitter = sqrt(j / (ELEMENTSOF(m->samples) - 1));
 
         /* ignore samples when resyncing */
@@ -529,7 +525,8 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
                 return manager_connect(m);
         }
 
-        if (iov.iov_len < sizeof(struct ntp_msg)) {
+        /* Too short or too long packet? */
+        if (iov.iov_len < sizeof(struct ntp_msg) || (msghdr.msg_flags & MSG_TRUNC)) {
                 log_warning("Invalid response from server. Disconnecting.");
                 return manager_connect(m);
         }
@@ -679,9 +676,9 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
                         log_error_errno(errno, "Failed to call clock_adjtime(): %m");
         }
 
-        log_info("interval/delta/delay/jitter/drift " USEC_FMT "s/%+.3fs/%.3fs/%.3fs/%+ippm%s",
-                 m->poll_interval_usec / USEC_PER_SEC, offset, delay, m->samples_jitter, m->drift_ppm,
-                 spike ? " (ignored)" : "");
+        log_debug("interval/delta/delay/jitter/drift " USEC_FMT "s/%+.3fs/%.3fs/%.3fs/%+ippm%s",
+                  m->poll_interval_usec / USEC_PER_SEC, offset, delay, m->samples_jitter, m->drift_ppm,
+                  spike ? " (ignored)" : "");
 
         r = manager_arm_timer(m, m->poll_interval_usec);
         if (r < 0)