]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
Don't allow maxpoll to be set shorter than minpoll
authorMiroslav Lichvar <mlichvar@redhat.com>
Fri, 17 Jan 2014 16:37:07 +0000 (17:37 +0100)
committerMiroslav Lichvar <mlichvar@redhat.com>
Fri, 17 Jan 2014 16:37:07 +0000 (17:37 +0100)
ntp_core.c

index f2f67afadd2fa1f21f2a080d4127716caf227a03..58e8aae3dfafaf14d11c17532cfb141c28bb2247 100644 (file)
@@ -289,6 +289,8 @@ NCR_GetInstance(NTP_Remote_Address *remote_addr, NTP_Source_Type type, SourcePar
 
   result->minpoll = params->minpoll;
   result->maxpoll = params->maxpoll;
+  if (result->maxpoll < result->minpoll)
+    result->maxpoll = result->minpoll;
   result->min_stratum = params->min_stratum;
 
   result->presend_minpoll = params->presend_minpoll;
@@ -1606,6 +1608,8 @@ NCR_ModifyMinpoll(NCR_Instance inst, int new_minpoll)
 {
   inst->minpoll = new_minpoll;
   LOG(LOGS_INFO, LOGF_NtpCore, "Source %s new minpoll %d", UTI_IPToString(&inst->remote_addr.ip_addr), new_minpoll);
+  if (inst->maxpoll < inst->minpoll)
+    NCR_ModifyMaxpoll(inst, inst->minpoll);
 }
 
 /* ================================================== */
@@ -1615,6 +1619,8 @@ NCR_ModifyMaxpoll(NCR_Instance inst, int new_maxpoll)
 {
   inst->maxpoll = new_maxpoll;
   LOG(LOGS_INFO, LOGF_NtpCore, "Source %s new maxpoll %d", UTI_IPToString(&inst->remote_addr.ip_addr), new_maxpoll);
+  if (inst->minpoll > inst->maxpoll)
+    NCR_ModifyMinpoll(inst, inst->maxpoll);
 }
 
 /* ================================================== */