import CS chrony-4.5-3.el9
This commit is contained in:
		
							parent
							
								
									eabe0132fc
								
							
						
					
					
						commit
						c1afb8d1ba
					
				
							
								
								
									
										42
									
								
								SOURCES/chrony-leaplist-man.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								SOURCES/chrony-leaplist-man.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | |||||||
|  | --- chrony-4.5/doc/chrony.conf.man.in	2023-12-05 14:26:13.000000000 +0100
 | ||||||
|  | +++ chrony.conf.man.in	2024-07-30 14:17:30.000000000 +0200
 | ||||||
|  | @@ -908,9 +915,10 @@
 | ||||||
|  |  .RS 4 | ||||||
|  |  This option indicates that the reference clock keeps time in TAI instead of UTC | ||||||
|  |  and that \fBchronyd\fP should correct its offset by the current TAI\-UTC offset. The | ||||||
|  | -\fBleapsectz\fP directive must be used with this option and the
 | ||||||
|  | -database must be kept up to date in order for this correction to work as
 | ||||||
|  | -expected. This option does not make sense with PPS refclocks.
 | ||||||
|  | +\fBleapsectz\fP or \fBleapseclist\fP directive must be
 | ||||||
|  | +used with this option and the database must be kept up to date in order for
 | ||||||
|  | +this correction to work as expected. This option does not make sense with PPS
 | ||||||
|  | +refclocks.
 | ||||||
|  |  .RE | ||||||
|  |  .sp | ||||||
|  |  \fBlocal\fP | ||||||
|  | @@ -1652,6 +1660,25 @@
 | ||||||
|  |  .if n .RE | ||||||
|  |  .RE | ||||||
|  |  .sp | ||||||
|  | +\fBleapseclist\fP \fIfile\fP
 | ||||||
|  | +.RS 4
 | ||||||
|  | +This directive specifies the path to a file containing a list of leap seconds
 | ||||||
|  | +and TAI\-UTC offsets in NIST/IERS format. It is recommended to use
 | ||||||
|  | +the file \fIleap\-seconds.list\fP usually included with the system timezone
 | ||||||
|  | +database. The behaviour of this directive is otherwise equivalent to
 | ||||||
|  | +\fBleapsectz\fP.
 | ||||||
|  | +.sp
 | ||||||
|  | +An example of this directive is:
 | ||||||
|  | +.sp
 | ||||||
|  | +.if n .RS 4
 | ||||||
|  | +.nf
 | ||||||
|  | +.fam C
 | ||||||
|  | +leapseclist /usr/share/zoneinfo/leap\-seconds.list
 | ||||||
|  | +.fam
 | ||||||
|  | +.fi
 | ||||||
|  | +.if n .RE
 | ||||||
|  | +.RE
 | ||||||
|  | +.sp
 | ||||||
|  |  \fBmakestep\fP \fIthreshold\fP \fIlimit\fP | ||||||
|  |  .RS 4 | ||||||
|  |  Normally \fBchronyd\fP will cause the system to gradually correct any time offset, | ||||||
							
								
								
									
										1304
									
								
								SOURCES/chrony-leaplist.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1304
									
								
								SOURCES/chrony-leaplist.patch
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										291
									
								
								SOURCES/chrony-logreload.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										291
									
								
								SOURCES/chrony-logreload.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,291 @@ | |||||||
|  | commit 78707d0717db7f410b3b1e1d4ae13d5cbf863a5e | ||||||
|  | Author: Miroslav Lichvar <mlichvar@redhat.com> | ||||||
|  | Date:   Tue Aug 6 10:45:55 2024 +0200 | ||||||
|  | 
 | ||||||
|  |     test: extend 008-confload test | ||||||
|  | 
 | ||||||
|  | diff --git a/test/system/008-confload b/test/system/008-confload
 | ||||||
|  | index 7e806988..b978c190 100755
 | ||||||
|  | --- a/test/system/008-confload
 | ||||||
|  | +++ b/test/system/008-confload
 | ||||||
|  | @@ -77,7 +77,32 @@ check_chronyc_output "^[^=]*
 | ||||||
|  |  .. 127\.123\.5\.3 *[05]   7 [^^]* | ||||||
|  |  .. 127\.123\.5\.6 [^^]*$" || test_fail | ||||||
|  |   | ||||||
|  | +run_chronyc "reload sources" || test_fail
 | ||||||
|  | +run_chronyc "reload sources" || test_fail
 | ||||||
|  | +
 | ||||||
|  | +rm $TEST_DIR/conf5.d/{3,5,6}.sources
 | ||||||
|  | +echo "server 127.123.5.7" > $TEST_DIR/conf5.d/7.sources
 | ||||||
|  | +
 | ||||||
|  | +run_chronyc "reload sources" || test_fail
 | ||||||
|  | +
 | ||||||
|  | +run_chronyc "sources" || test_fail
 | ||||||
|  | +check_chronyc_output "^[^=]*
 | ||||||
|  | +=*
 | ||||||
|  | +.. 127\.123\.1\.1 [^^]*
 | ||||||
|  | +.. 127\.123\.1\.3 [^^]*
 | ||||||
|  | +.. 127\.123\.1\.4 [^^]*
 | ||||||
|  | +.. 127\.123\.3\.1 [^^]*
 | ||||||
|  | +.. 127\.123\.2\.2 [^^]*
 | ||||||
|  | +.. 127\.123\.2\.3 [^^]*
 | ||||||
|  | +.. 127\.123\.4\.4 [^^]*
 | ||||||
|  | +.. 127\.123\.1\.2 *[05]   6 [^^]*
 | ||||||
|  | +.. 127\.123\.5\.2 *[05]   5 [^^]*
 | ||||||
|  | +.. 127\.123\.5\.7 [^^]*$" || test_fail
 | ||||||
|  | +
 | ||||||
|  | +run_chronyc "reload sources" || test_fail
 | ||||||
|  | +
 | ||||||
|  |  stop_chronyd || test_fail | ||||||
|  | -check_chronyd_message_count "Could not add source" 1 1 || test_fail
 | ||||||
|  | +check_chronyd_message_count "Could not add source.*\.5\.5.*in use" 3 3 || test_fail
 | ||||||
|  | +check_chronyd_message_count "Could not add source" 3 3 || test_fail
 | ||||||
|  |   | ||||||
|  |  test_pass | ||||||
|  | 
 | ||||||
|  | commit 3cac849bbfdc02625969cb721207d5436dc03ee4 | ||||||
|  | Author: Miroslav Lichvar <mlichvar@redhat.com> | ||||||
|  | Date:   Tue Aug 6 11:28:26 2024 +0200 | ||||||
|  | 
 | ||||||
|  |     conf: merge ntp_source_ids with ntp_sources | ||||||
|  |      | ||||||
|  |     Keep the configuration IDs of sources loaded from sourcedir in the | ||||||
|  |     NTP_Source structure itself to simplify the code. | ||||||
|  |      | ||||||
|  |     (Rebased to 4.5) | ||||||
|  | 
 | ||||||
|  | diff --git a/conf.c b/conf.c
 | ||||||
|  | index 146389aa..dad874b0 100644
 | ||||||
|  | --- a/conf.c
 | ||||||
|  | +++ b/conf.c
 | ||||||
|  | @@ -287,15 +287,14 @@ typedef struct {
 | ||||||
|  |    NTP_Source_Type type; | ||||||
|  |    int pool; | ||||||
|  |    CPS_NTP_Source params; | ||||||
|  | +  uint32_t conf_id;
 | ||||||
|  |  } NTP_Source; | ||||||
|  |   | ||||||
|  |  /* Array of NTP_Source */ | ||||||
|  |  static ARR_Instance ntp_sources; | ||||||
|  |  /* Array of (char *) */ | ||||||
|  |  static ARR_Instance ntp_source_dirs; | ||||||
|  | -/* Array of uint32_t corresponding to ntp_sources (for sourcedirs reload) */
 | ||||||
|  | -static ARR_Instance ntp_source_ids;
 | ||||||
|  | -/* Flag indicating ntp_sources and ntp_source_ids are used for sourcedirs */
 | ||||||
|  | +/* Flag indicating ntp_sources is used for sourcedirs after config load */
 | ||||||
|  |  static int conf_ntp_sources_added = 0; | ||||||
|  |   | ||||||
|  |  /* Array of RefclockParameters */ | ||||||
|  | @@ -396,7 +395,6 @@ CNF_Initialise(int r, int client_only)
 | ||||||
|  |    init_sources = ARR_CreateInstance(sizeof (IPAddr)); | ||||||
|  |    ntp_sources = ARR_CreateInstance(sizeof (NTP_Source)); | ||||||
|  |    ntp_source_dirs = ARR_CreateInstance(sizeof (char *)); | ||||||
|  | -  ntp_source_ids = ARR_CreateInstance(sizeof (uint32_t));
 | ||||||
|  |    refclock_sources = ARR_CreateInstance(sizeof (RefclockParameters)); | ||||||
|  |    broadcasts = ARR_CreateInstance(sizeof (NTP_Broadcast_Destination)); | ||||||
|  |   | ||||||
|  | @@ -456,7 +454,6 @@ CNF_Finalise(void)
 | ||||||
|  |    ARR_DestroyInstance(init_sources); | ||||||
|  |    ARR_DestroyInstance(ntp_sources); | ||||||
|  |    ARR_DestroyInstance(ntp_source_dirs); | ||||||
|  | -  ARR_DestroyInstance(ntp_source_ids);
 | ||||||
|  |    ARR_DestroyInstance(refclock_sources); | ||||||
|  |    ARR_DestroyInstance(broadcasts); | ||||||
|  |   | ||||||
|  | @@ -825,6 +822,8 @@ parse_source(char *line, char *type, int fatal)
 | ||||||
|  |    } | ||||||
|  |   | ||||||
|  |    source.params.name = Strdup(source.params.name); | ||||||
|  | +  source.conf_id = 0;
 | ||||||
|  | +
 | ||||||
|  |    ARR_AppendElement(ntp_sources, &source); | ||||||
|  |  } | ||||||
|  |   | ||||||
|  | @@ -1678,7 +1677,6 @@ reload_source_dirs(void)
 | ||||||
|  |  { | ||||||
|  |    NTP_Source *prev_sources, *new_sources, *source; | ||||||
|  |    unsigned int i, j, prev_size, new_size, unresolved; | ||||||
|  | -  uint32_t *prev_ids, *new_ids;
 | ||||||
|  |    char buf[MAX_LINE_LENGTH]; | ||||||
|  |    NSR_Status s; | ||||||
|  |    int d, pass; | ||||||
|  | @@ -1687,13 +1685,9 @@ reload_source_dirs(void)
 | ||||||
|  |    if (!conf_ntp_sources_added) | ||||||
|  |      return; | ||||||
|  |   | ||||||
|  | -  prev_size = ARR_GetSize(ntp_source_ids);
 | ||||||
|  | -  if (ARR_GetSize(ntp_sources) != prev_size)
 | ||||||
|  | -    assert(0);
 | ||||||
|  | +  prev_size = ARR_GetSize(ntp_sources);
 | ||||||
|  |   | ||||||
|  | -  /* Save the current sources and their configuration IDs */
 | ||||||
|  | -  prev_ids = MallocArray(uint32_t, prev_size);
 | ||||||
|  | -  memcpy(prev_ids, ARR_GetElements(ntp_source_ids), prev_size * sizeof (prev_ids[0]));
 | ||||||
|  | +  /* Save the current sources */
 | ||||||
|  |    prev_sources = MallocArray(NTP_Source, prev_size); | ||||||
|  |    memcpy(prev_sources, ARR_GetElements(ntp_sources), prev_size * sizeof (prev_sources[0])); | ||||||
|  |   | ||||||
|  | @@ -1711,8 +1705,6 @@ reload_source_dirs(void)
 | ||||||
|  |   | ||||||
|  |    new_size = ARR_GetSize(ntp_sources); | ||||||
|  |    new_sources = ARR_GetElements(ntp_sources); | ||||||
|  | -  ARR_SetSize(ntp_source_ids, new_size);
 | ||||||
|  | -  new_ids = ARR_GetElements(ntp_source_ids);
 | ||||||
|  |    unresolved = 0; | ||||||
|  |   | ||||||
|  |    LOG_SetContext(LOGC_SourceFile); | ||||||
|  | @@ -1728,14 +1720,14 @@ reload_source_dirs(void)
 | ||||||
|  |   | ||||||
|  |        /* Remove missing sources before adding others to avoid conflicts */ | ||||||
|  |        if (pass == 0 && d < 0 && prev_sources[i].params.name[0] != '\0') { | ||||||
|  | -        NSR_RemoveSourcesById(prev_ids[i]);
 | ||||||
|  | +        NSR_RemoveSourcesById(prev_sources[i].conf_id);
 | ||||||
|  |        } | ||||||
|  |   | ||||||
|  |        /* Add new sources */ | ||||||
|  |        if (pass == 1 && d > 0) { | ||||||
|  |          source = &new_sources[j]; | ||||||
|  |          s = NSR_AddSourceByName(source->params.name, source->params.port, source->pool, | ||||||
|  | -                                source->type, &source->params.params, &new_ids[j]);
 | ||||||
|  | +                                source->type, &source->params.params, &source->conf_id);
 | ||||||
|  |   | ||||||
|  |          if (s == NSR_UnresolvedName) { | ||||||
|  |            unresolved++; | ||||||
|  | @@ -1750,7 +1742,7 @@ reload_source_dirs(void)
 | ||||||
|  |   | ||||||
|  |        /* Keep unchanged sources */ | ||||||
|  |        if (pass == 1 && d == 0) | ||||||
|  | -        new_ids[j] = prev_ids[i];
 | ||||||
|  | +        new_sources[j].conf_id = prev_sources[i].conf_id;
 | ||||||
|  |      } | ||||||
|  |    } | ||||||
|  |   | ||||||
|  | @@ -1759,7 +1751,6 @@ reload_source_dirs(void)
 | ||||||
|  |    for (i = 0; i < prev_size; i++) | ||||||
|  |      Free(prev_sources[i].params.name); | ||||||
|  |    Free(prev_sources); | ||||||
|  | -  Free(prev_ids);
 | ||||||
|  |   | ||||||
|  |    if (unresolved > 0) | ||||||
|  |      NSR_ResolveSources(); | ||||||
|  | @@ -1858,7 +1849,6 @@ CNF_AddSources(void)
 | ||||||
|  |   | ||||||
|  |    /* The arrays will be used for sourcedir (re)loading */ | ||||||
|  |    ARR_SetSize(ntp_sources, 0); | ||||||
|  | -  ARR_SetSize(ntp_source_ids, 0);
 | ||||||
|  |    conf_ntp_sources_added = 1; | ||||||
|  |   | ||||||
|  |    reload_source_dirs(); | ||||||
|  | 
 | ||||||
|  | commit 8126dbd2de30957de32ce3e55ce367b7145a4c33 | ||||||
|  | Author: Miroslav Lichvar <mlichvar@redhat.com> | ||||||
|  | Date:   Tue Aug 6 12:56:39 2024 +0200 | ||||||
|  | 
 | ||||||
|  |     conf: save source status in sourcedir reload | ||||||
|  |      | ||||||
|  |     Save the NSR status when adding a source from a sourcedir and don't | ||||||
|  |     hide sources that failed the addition by clearing their name. | ||||||
|  |      | ||||||
|  |     (Rebased to 4.5) | ||||||
|  | 
 | ||||||
|  | diff --git a/conf.c b/conf.c
 | ||||||
|  | index dad874b0..6020e880 100644
 | ||||||
|  | --- a/conf.c
 | ||||||
|  | +++ b/conf.c
 | ||||||
|  | @@ -287,6 +287,7 @@ typedef struct {
 | ||||||
|  |    NTP_Source_Type type; | ||||||
|  |    int pool; | ||||||
|  |    CPS_NTP_Source params; | ||||||
|  | +  NSR_Status status;
 | ||||||
|  |    uint32_t conf_id; | ||||||
|  |  } NTP_Source; | ||||||
|  |   | ||||||
|  | @@ -822,6 +823,7 @@ parse_source(char *line, char *type, int fatal)
 | ||||||
|  |    } | ||||||
|  |   | ||||||
|  |    source.params.name = Strdup(source.params.name); | ||||||
|  | +  source.status = NSR_NoSuchSource;
 | ||||||
|  |    source.conf_id = 0; | ||||||
|  |   | ||||||
|  |    ARR_AppendElement(ntp_sources, &source); | ||||||
|  | @@ -1719,30 +1721,30 @@ reload_source_dirs(void)
 | ||||||
|  |          d = i < prev_size ? -1 : 1; | ||||||
|  |   | ||||||
|  |        /* Remove missing sources before adding others to avoid conflicts */ | ||||||
|  | -      if (pass == 0 && d < 0 && prev_sources[i].params.name[0] != '\0') {
 | ||||||
|  | +      if (pass == 0 && d < 0 && prev_sources[i].status == NSR_Success) {
 | ||||||
|  |          NSR_RemoveSourcesById(prev_sources[i].conf_id); | ||||||
|  |        } | ||||||
|  |   | ||||||
|  | -      /* Add new sources */
 | ||||||
|  | -      if (pass == 1 && d > 0) {
 | ||||||
|  | +      /* Add new sources and sources that could not be added before */
 | ||||||
|  | +      if (pass == 1 && (d > 0 || (d == 0 && prev_sources[i].status != NSR_Success))) {
 | ||||||
|  |          source = &new_sources[j]; | ||||||
|  |          s = NSR_AddSourceByName(source->params.name, source->params.port, source->pool, | ||||||
|  |                                  source->type, &source->params.params, &source->conf_id); | ||||||
|  | +        source->status = s;
 | ||||||
|  |   | ||||||
|  |          if (s == NSR_UnresolvedName) { | ||||||
|  |            unresolved++; | ||||||
|  |          } else if (s != NSR_Success) { | ||||||
|  |            LOG(LOGS_ERR, "Could not add source %s : %s", | ||||||
|  |                source->params.name, NSR_StatusToString(s)); | ||||||
|  | -
 | ||||||
|  | -          /* Mark the source as not present */
 | ||||||
|  | -          source->params.name[0] = '\0';
 | ||||||
|  |          } | ||||||
|  |        } | ||||||
|  |   | ||||||
|  |        /* Keep unchanged sources */ | ||||||
|  | -      if (pass == 1 && d == 0)
 | ||||||
|  | +      if (pass == 1 && d == 0) {
 | ||||||
|  | +        new_sources[j].status = prev_sources[i].status;
 | ||||||
|  |          new_sources[j].conf_id = prev_sources[i].conf_id; | ||||||
|  | +      }
 | ||||||
|  |      } | ||||||
|  |    } | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | commit 7cd5d065fc17a0ec871df2ffdc74caf6d16d9f6a | ||||||
|  | Author: Miroslav Lichvar <mlichvar@redhat.com> | ||||||
|  | Date:   Tue Aug 6 13:05:26 2024 +0200 | ||||||
|  | 
 | ||||||
|  |     conf: don't repeat error message when adding sourcedir source | ||||||
|  |      | ||||||
|  |     When a source from a configured sourcedir cannot be added (e.g. it is a | ||||||
|  |     duplicate of another source), log the error message only on the first | ||||||
|  |     attempt adding the source, until the source is removed and added to a | ||||||
|  |     sourcedir again. | ||||||
|  |      | ||||||
|  |     This avoids spamming of the system log with error messages if the | ||||||
|  |     reload sources command is called frequently (e.g. from a DHCP renewal | ||||||
|  |     networking script). | ||||||
|  | 
 | ||||||
|  | diff --git a/conf.c b/conf.c
 | ||||||
|  | index 6020e880..522e235a 100644
 | ||||||
|  | --- a/conf.c
 | ||||||
|  | +++ b/conf.c
 | ||||||
|  | @@ -1734,7 +1734,7 @@ reload_source_dirs(void)
 | ||||||
|  |   | ||||||
|  |          if (s == NSR_UnresolvedName) { | ||||||
|  |            unresolved++; | ||||||
|  | -        } else if (s != NSR_Success) {
 | ||||||
|  | +        } else if (s != NSR_Success && (d > 0 || s != prev_sources[i].status)) {
 | ||||||
|  |            LOG(LOGS_ERR, "Could not add source %s : %s", | ||||||
|  |                source->params.name, NSR_StatusToString(s)); | ||||||
|  |          } | ||||||
|  | diff --git a/test/system/008-confload b/test/system/008-confload
 | ||||||
|  | index b978c190..b107d709 100755
 | ||||||
|  | --- a/test/system/008-confload
 | ||||||
|  | +++ b/test/system/008-confload
 | ||||||
|  | @@ -102,7 +102,7 @@ check_chronyc_output "^[^=]*
 | ||||||
|  |  run_chronyc "reload sources" || test_fail | ||||||
|  |   | ||||||
|  |  stop_chronyd || test_fail | ||||||
|  | -check_chronyd_message_count "Could not add source.*\.5\.5.*in use" 3 3 || test_fail
 | ||||||
|  | -check_chronyd_message_count "Could not add source" 3 3 || test_fail
 | ||||||
|  | +check_chronyd_message_count "Could not add source.*\.5\.5.*in use" 1 1 || test_fail
 | ||||||
|  | +check_chronyd_message_count "Could not add source" 1 1 || test_fail
 | ||||||
|  |   | ||||||
|  |  test_pass | ||||||
							
								
								
									
										86
									
								
								SOURCES/chrony-reload.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								SOURCES/chrony-reload.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,86 @@ | |||||||
|  | commit f49be7f06343ee27fff2950937d7f6742f53976f | ||||||
|  | Author: Miroslav Lichvar <mlichvar@redhat.com> | ||||||
|  | Date:   Tue Mar 12 14:30:27 2024 +0100 | ||||||
|  | 
 | ||||||
|  |     conf: don't load sourcedir during initstepslew and RTC init | ||||||
|  |      | ||||||
|  |     If the reload sources command was received in the chronyd start-up | ||||||
|  |     sequence with initstepslew and/or RTC init (-s option), the sources | ||||||
|  |     loaded from sourcedirs caused a crash due to failed assertion after | ||||||
|  |     adding sources specified in the config. | ||||||
|  |      | ||||||
|  |     Ignore the reload sources command until chronyd enters the normal | ||||||
|  |     operation mode. | ||||||
|  |      | ||||||
|  |     Fixes: 519796de3756 ("conf: add sourcedirs directive") | ||||||
|  | 
 | ||||||
|  | diff --git a/conf.c b/conf.c
 | ||||||
|  | index 6eae11c9..8849bdce 100644
 | ||||||
|  | --- a/conf.c
 | ||||||
|  | +++ b/conf.c
 | ||||||
|  | @@ -298,6 +298,8 @@ static ARR_Instance ntp_sources;
 | ||||||
|  |  static ARR_Instance ntp_source_dirs; | ||||||
|  |  /* Array of uint32_t corresponding to ntp_sources (for sourcedirs reload) */ | ||||||
|  |  static ARR_Instance ntp_source_ids; | ||||||
|  | +/* Flag indicating ntp_sources and ntp_source_ids are used for sourcedirs */
 | ||||||
|  | +static int conf_ntp_sources_added = 0;
 | ||||||
|  |   | ||||||
|  |  /* Array of RefclockParameters */ | ||||||
|  |  static ARR_Instance refclock_sources; | ||||||
|  | @@ -1689,8 +1691,12 @@ reload_source_dirs(void)
 | ||||||
|  |    NSR_Status s; | ||||||
|  |    int d, pass; | ||||||
|  |   | ||||||
|  | +  /* Ignore reload command before adding configured sources */
 | ||||||
|  | +  if (!conf_ntp_sources_added)
 | ||||||
|  | +    return;
 | ||||||
|  | +
 | ||||||
|  |    prev_size = ARR_GetSize(ntp_source_ids); | ||||||
|  | -  if (prev_size > 0 && ARR_GetSize(ntp_sources) != prev_size)
 | ||||||
|  | +  if (ARR_GetSize(ntp_sources) != prev_size)
 | ||||||
|  |      assert(0); | ||||||
|  |   | ||||||
|  |    /* Save the current sources and their configuration IDs */ | ||||||
|  | @@ -1859,7 +1865,10 @@ CNF_AddSources(void)
 | ||||||
|  |      Free(source->params.name); | ||||||
|  |    } | ||||||
|  |   | ||||||
|  | +  /* The arrays will be used for sourcedir (re)loading */
 | ||||||
|  |    ARR_SetSize(ntp_sources, 0); | ||||||
|  | +  ARR_SetSize(ntp_source_ids, 0);
 | ||||||
|  | +  conf_ntp_sources_added = 1;
 | ||||||
|  |   | ||||||
|  |    reload_source_dirs(); | ||||||
|  |  } | ||||||
|  | diff --git a/test/simulation/203-initreload b/test/simulation/203-initreload
 | ||||||
|  | new file mode 100755 | ||||||
|  | index 00000000..cf7924b8
 | ||||||
|  | --- /dev/null
 | ||||||
|  | +++ b/test/simulation/203-initreload
 | ||||||
|  | @@ -0,0 +1,26 @@
 | ||||||
|  | +#!/usr/bin/env bash
 | ||||||
|  | +
 | ||||||
|  | +. ./test.common
 | ||||||
|  | +
 | ||||||
|  | +check_config_h 'FEAT_CMDMON 1' || test_skip
 | ||||||
|  | +
 | ||||||
|  | +# Test fix "conf: don't load sourcedir during initstepslew and RTC init"
 | ||||||
|  | +
 | ||||||
|  | +test_start "reload during initstepslew"
 | ||||||
|  | +
 | ||||||
|  | +client_conf="initstepslew 5 192.168.123.1
 | ||||||
|  | +sourcedir tmp"
 | ||||||
|  | +client_server_conf="#"
 | ||||||
|  | +chronyc_conf="reload sources"
 | ||||||
|  | +chronyc_start=4
 | ||||||
|  | +
 | ||||||
|  | +echo 'server 192.168.123.1' > tmp/sources.sources
 | ||||||
|  | +
 | ||||||
|  | +run_test || test_fail
 | ||||||
|  | +check_chronyd_exit || test_fail
 | ||||||
|  | +check_source_selection || test_fail
 | ||||||
|  | +check_sync || test_fail
 | ||||||
|  | +
 | ||||||
|  | +check_log_messages "Added source 192\.168\.123\.1" 1 1 || test_fail
 | ||||||
|  | +
 | ||||||
|  | +test_pass
 | ||||||
| @ -9,7 +9,7 @@ | |||||||
| 
 | 
 | ||||||
| Name:           chrony | Name:           chrony | ||||||
| Version:        4.5 | Version:        4.5 | ||||||
| Release:        1%{?dist} | Release:        3%{?dist} | ||||||
| Summary:        An NTP client/server | Summary:        An NTP client/server | ||||||
| 
 | 
 | ||||||
| License:        GPLv2 | License:        GPLv2 | ||||||
| @ -31,6 +31,14 @@ Patch2:         chrony-keys.patch | |||||||
| Patch3:         chrony-services.patch | Patch3:         chrony-services.patch | ||||||
| # fix serverstats to correctly count authenticated packets | # fix serverstats to correctly count authenticated packets | ||||||
| Patch4:         chrony-serverstats.patch | Patch4:         chrony-serverstats.patch | ||||||
|  | # fix crash on reload command during start | ||||||
|  | Patch5:         chrony-reload.patch | ||||||
|  | # don't repeat error log messages when reloading sourcedir | ||||||
|  | Patch6:         chrony-logreload.patch | ||||||
|  | # add support for leap-seconds.list file | ||||||
|  | Patch7:         chrony-leaplist.patch | ||||||
|  | # update asciidoctor-generated man page | ||||||
|  | Patch8:         chrony-leaplist-man.patch | ||||||
| 
 | 
 | ||||||
| BuildRequires:  gnutls-devel libcap-devel libedit-devel pps-tools-devel | BuildRequires:  gnutls-devel libcap-devel libedit-devel pps-tools-devel | ||||||
| BuildRequires:  gcc gcc-c++ make bison systemd gnupg2 | BuildRequires:  gcc gcc-c++ make bison systemd gnupg2 | ||||||
| @ -65,6 +73,10 @@ service to other computers in the network. | |||||||
| %patch2 -p1 -b .keys | %patch2 -p1 -b .keys | ||||||
| %patch3 -p1 -b .services | %patch3 -p1 -b .services | ||||||
| %patch4 -p1 -b .serverstats | %patch4 -p1 -b .serverstats | ||||||
|  | %patch5 -p1 | ||||||
|  | %patch6 -p1 | ||||||
|  | %patch7 -p1 | ||||||
|  | %patch8 -p1 | ||||||
| 
 | 
 | ||||||
| %{?gitpatch: echo %{version}-%{gitpatch} > version.txt} | %{?gitpatch: echo %{version}-%{gitpatch} > version.txt} | ||||||
| 
 | 
 | ||||||
| @ -217,6 +229,13 @@ fi | |||||||
| %dir %attr(750,chrony,chrony) %{_localstatedir}/log/chrony | %dir %attr(750,chrony,chrony) %{_localstatedir}/log/chrony | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Thu Aug 08 2024 Miroslav Lichvar <mlichvar@redhat.com> 4.5-3 | ||||||
|  | - don't repeat error log messages when reloading sourcedir (RHEL-51786) | ||||||
|  | - add support for leap-seconds.list file (RHEL-53484) | ||||||
|  | 
 | ||||||
|  | * Thu Jun 13 2024 Miroslav Lichvar <mlichvar@redhat.com> 4.5-2 | ||||||
|  | - fix crash on reload command during start (RHEL-28945) | ||||||
|  | 
 | ||||||
| * Tue Jan 09 2024 Miroslav Lichvar <mlichvar@redhat.com> 4.5-1 | * Tue Jan 09 2024 Miroslav Lichvar <mlichvar@redhat.com> 4.5-1 | ||||||
| - update to 4.5 (RHEL-6522 RHEL-6520 RHEL-9969 RHEL-9971 RHEL-9973 RHEL-9975 | - update to 4.5 (RHEL-6522 RHEL-6520 RHEL-9969 RHEL-9971 RHEL-9973 RHEL-9975 | ||||||
|   RHEL-12411) |   RHEL-12411) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user