Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pacemaker for openSUSE:Factory checked in at 2026-06-03 20:21:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pacemaker (Old) and /work/SRC/openSUSE:Factory/.pacemaker.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pacemaker" Wed Jun 3 20:21:27 2026 rev:171 rq:1356667 version:3.0.2+20260601.c75e25851c Changes: -------- --- /work/SRC/openSUSE:Factory/pacemaker/pacemaker.changes 2026-05-20 16:48:20.617732322 +0200 +++ /work/SRC/openSUSE:Factory/.pacemaker.new.1937/pacemaker.changes 2026-06-03 20:22:25.569197590 +0200 @@ -1,0 +2,6 @@ +Tue Jun 02 01:11:56 UTC 2026 - Yan Gao <[email protected]> + +- Update to version 3.0.2+20260601.c75e25851c (Pacemaker-3.0.2): +- Low: libcrmcommon, tools: Fix NULL dereference in crm_resource.c + +------------------------------------------------------------------- Old: ---- pacemaker-3.0.2+20260515.277473d9.tar.xz New: ---- pacemaker-3.0.2+20260601.c75e25851c.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pacemaker.spec ++++++ --- /var/tmp/diff_new_pack.zfkVsD/_old 2026-06-03 20:22:26.837250194 +0200 +++ /var/tmp/diff_new_pack.zfkVsD/_new 2026-06-03 20:22:26.841250360 +0200 @@ -128,7 +128,7 @@ %define with_regression_tests 0 Name: pacemaker -Version: 3.0.2+20260515.277473d9 +Version: 3.0.2+20260601.c75e25851c Release: 0 Summary: Scalable High-Availability cluster resource manager # AGPL-3.0 licensed extra/clustermon.sh is not present in the binary ++++++ _service ++++++ --- /var/tmp/diff_new_pack.zfkVsD/_old 2026-06-03 20:22:26.889252351 +0200 +++ /var/tmp/diff_new_pack.zfkVsD/_new 2026-06-03 20:22:26.893252517 +0200 @@ -11,7 +11,7 @@ <param name="version">3.0.2</param> --> <param name="versionformat">3.0.2+%cd.%h</param> - <param name="revision">277473d9f5</param> + <param name="revision">Pacemaker-3.0.2</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.zfkVsD/_old 2026-06-03 20:22:26.925253845 +0200 +++ /var/tmp/diff_new_pack.zfkVsD/_new 2026-06-03 20:22:26.929254011 +0200 @@ -5,6 +5,6 @@ </service> <service name="tar_scm"> <param name="url">https://github.com/ClusterLabs/pacemaker.git</param> - <param name="changesrevision">277473d9f5ddfdc7c737c047a7bada85f7bc04a3</param></service></servicedata> + <param name="changesrevision">c75e25851c05c6b0ff48caeaa15854d5868ce428</param></service></servicedata> (No newline at EOF) ++++++ pacemaker-3.0.2+20260515.277473d9.tar.xz -> pacemaker-3.0.2+20260601.c75e25851c.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-3.0.2+20260515.277473d9/ChangeLog.md new/pacemaker-3.0.2+20260601.c75e25851c/ChangeLog.md --- old/pacemaker-3.0.2+20260515.277473d9/ChangeLog.md 2026-05-15 23:30:53.000000000 +0200 +++ new/pacemaker-3.0.2+20260601.c75e25851c/ChangeLog.md 2026-06-01 19:01:19.000000000 +0200 @@ -1,23 +1,5 @@ -# Pacemaker-3.0.2 (11 May 2026) -* 45 commits with 49 files changed, 949 insertions(+), 867 deletions(-) - -## Fixes since Pacemaker-3.0.2-rc1 - -* **libcib:** Full-CIB replace op no longer segfaults with `cib_xpath` -* **libcib:** Handle `cib_xpath_address` for an XPath query for an attribute -* **libcib:** Prevent crashing when handling an XPath query for an attribute - *(regression introduced in 3.0.1)* -* **libcrmcommon:** Avoid leak in `pcmk__xe_dereference_children()` test -* **libpe_status:** Avoid leaking a `pcmk_resource_t's` xml/orig_xml - -## Public API changes since Pacemaker-3.0.2-rc1 - -* **libcrmcommon:** Deprecate `PCMK_dh_max_bits.` -* **libcrmcommon:** Deprecate `pcmk_unpack_nvpair_blocks()` -* **libpe_status:** `get_meta_attributes()` rsc argument is now const - -# Pacemaker-3.0.2 (23 Apr 2026) -* 1806 commits with 607 files changed, 38242 insertions(+), 30786 deletions(-) +# Pacemaker-3.0.2 (01 Jun 2026) +* 1856 commits with 615 files changed, 39078 insertions(+), 31526 deletions(-) ## Features added since Pacemaker-3.0.1 @@ -83,6 +65,8 @@ *(regression introduced in 3.0.1)* * **libcib:** Fix setting origin attributes in CIB updates *(regression introduced in 2.1.6)* +* **libcib:** Prevent crashing when handling an XPath query for an attribute + *(regression introduced in 3.0.1)* * **agents:** Error check calling `attrd_updater` in HealthCPU. * **agents:** Error check calling `attrd_updater` in HealthIOWait. * **agents:** Error check calling `attrd_updater` in HealthSMART. @@ -152,9 +136,13 @@ * **libcib:** Explicitly handle receiving a NACK from based. * **libcib:** Explicitly handle receiving a NACK from fenced. * **libcib:** Fix `cib__signon_retry()` return code +* **libcib:** Full-CIB replace op no longer segfaults with `cib_xpath` +* **libcib:** Handle `cib_xpath_address` for an XPath query for an attribute * **libcrmcommon, libpacemaker:** Don't assign const char * to char * +* **libcrmcommon, tools:** Fix NULL dereference in `crm_resource.c` * **libcrmcommon:** Allow empty string values in `pcmk__scan_nvpair()` * **libcrmcommon:** Avoid integer overflow in `seconds_to_hms()` +* **libcrmcommon:** Avoid leak in `pcmk__xe_dereference_children()` test * **libcrmcommon:** Avoid overflow in `crm_time_add_months()` * **libcrmcommon:** Avoid overflow when negating `INT_MIN` * **libcrmcommon:** Create a log file if it doesn't exist. @@ -194,6 +182,7 @@ * **libpacemaker:** If `process_rsc_history` exits early, free the list. * **libpe:** Free elements of `rsc->priv->ticket_constraints`... * **libpe:** If `pe__clone_default` exits early, free the lists. +* **libpe_status:** Avoid leaking a `pcmk_resource_t's` xml/orig_xml * **libpe_status:** Use first operations child when expanding template * **libraries:** Ensure includes are outside extern in public headers * **libservices:** Deal with fgets errors in `services__get_lsb_metadata.` @@ -201,6 +190,7 @@ * **pacemaker-attrd:** Wipe CIB along with memory * **pacemakerd:** Correctly detect ping requests from sbd * **pacemakerd:** Match correctly in `PCMK_{valgrind,callgrind}_enabled` +* **pacemakerd:** Properly find and track all existing sub-daemons * **scheduler:** promoted state with promoted state with attribute * **sysconfig:** Remove `--leak-check=full` from default `VALGRIND_OPTS.` * **tools:** Avoid memory leak in `crm_resource --clear` @@ -215,6 +205,7 @@ * **tools:** Free the list at the end of `cli_resource_print_operations.` * **tools:** Handle large timeouts correctly in `crm_resource --wait` * **tools:** Improve some cibadmin error messages +* **tools:** Use the VERSION variable instead of invoking `crm_attribute --version`. * **various:** Always NULL-check return value of `pcmk__find_client()` * **various:** Use const for a few string pointer variables @@ -292,6 +283,7 @@ * **libcrmcommon:** Deprecate `pcmk_all_flags_set()` * **libcrmcommon:** Deprecate `pcmk_any_flags_set()` * **libcrmcommon:** Deprecate `pcmk_daemon_user()` +* **libcrmcommon:** Deprecate `PCMK_dh_max_bits.` * **libcrmcommon:** Deprecate `PCMK_FENCING_HOST_ARGUMENT` * **libcrmcommon:** Deprecate `PCMK_FENCING_HOST_CHECK` * **libcrmcommon:** Deprecate `pcmk_is_set()` @@ -318,6 +310,7 @@ * **libcrmcommon:** Deprecate `PCMK_XA_ORPHANED` * **libcrmcommon:** Deprecate `PCMK_XA_STONITH_ENABLED` * **libcrmcommon:** Deprecate `PCMK_XA_STONITH_TIMEOUT_MS` +* **libcrmcommon:** Deprecate `pcmk_unpack_nvpair_blocks()` * **libcrmcommon:** Deprecate `save_xml_to_file()` * **libcrmcommon:** Deprecate struct `crm_time_period_s` * **libcrmcommon:** Deprecate struct `crm_time_s` @@ -370,6 +363,7 @@ * **liblrmd:** Deprecate struct `lrmd_s` * **libpacemaker:** Convert the `pcmk_rc_disp_flags` enum to use `UINT32_C`. * **libpacemaker:** Convert the `pcmk_sim_flags` enum to use `UINT32_C`. +* **libpe_status:** `get_meta_attributes()` rsc argument is now const * **libstonithd:** Convert the `stonith_call_options` enum to use `UINT32_C`. * **libstonithd:** Deprecate `stonith_t` * **schemas:** Add a schema for `cibadmin` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-3.0.2+20260515.277473d9/lib/common/ipc_controld.c new/pacemaker-3.0.2+20260601.c75e25851c/lib/common/ipc_controld.c --- old/pacemaker-3.0.2+20260515.277473d9/lib/common/ipc_controld.c 2026-05-15 23:30:53.000000000 +0200 +++ new/pacemaker-3.0.2+20260601.c75e25851c/lib/common/ipc_controld.c 2026-06-01 19:01:19.000000000 +0200 @@ -623,8 +623,11 @@ unsigned int pcmk_controld_api_replies_expected(const pcmk_ipc_api_t *api) { - struct controld_api_private_s *private = api->api_data; + struct controld_api_private_s *private = NULL; + CRM_CHECK(api != NULL, return 0); + + private = api->api_data; return private->replies_expected; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-3.0.2+20260515.277473d9/tools/crm_resource.c new/pacemaker-3.0.2+20260601.c75e25851c/tools/crm_resource.c --- old/pacemaker-3.0.2+20260515.277473d9/tools/crm_resource.c 2026-05-15 23:30:53.000000000 +0200 +++ new/pacemaker-3.0.2+20260601.c75e25851c/tools/crm_resource.c 2026-06-01 19:01:19.000000000 +0200 @@ -268,16 +268,24 @@ start_mainloop(pcmk_ipc_api_t *capi) { // @TODO See if we can avoid setting exit_code as a global variable - unsigned int count = pcmk_controld_api_replies_expected(capi); + unsigned int count = 0; - if (count > 0) { - out->info(out, "Waiting for %u %s from the controller", - count, pcmk__plural_alt(count, "reply", "replies")); - exit_code = CRM_EX_DISCONNECT; // For unexpected disconnects - mainloop = g_main_loop_new(NULL, FALSE); - pcmk__create_timer(MESSAGE_TIMEOUT_S * 1000, resource_ipc_timeout, NULL); - g_main_loop_run(mainloop); + if (capi == NULL) { + // Should happen only during a dry run due to CIB_file being set + return; } + + count = pcmk_controld_api_replies_expected(capi); + if (count == 0) { + return; + } + + out->info(out, "Waiting for %u %s from the controller", count, + pcmk__plural_alt(count, "reply", "replies")); + exit_code = CRM_EX_DISCONNECT; // For unexpected disconnects + mainloop = g_main_loop_new(NULL, false); + pcmk__create_timer((MESSAGE_TIMEOUT_S * 1000), resource_ipc_timeout, NULL); + g_main_loop_run(mainloop); } static GList *
