commit 4baea44c248edd662ab136db6ec90c385ed32429a871b89c97a7bee0a5bf76ef Author: Roger Zhou Date: Thu Nov 14 06:37:24 2024 +0000 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/corosync?expand=0&rev=199 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-harden-services-with-systemd-sandboxing.patch b/0001-harden-services-with-systemd-sandboxing.patch new file mode 100644 index 0000000..d797559 --- /dev/null +++ b/0001-harden-services-with-systemd-sandboxing.patch @@ -0,0 +1,53 @@ +From 6d977c3f286a39b7e35c46ad3642a34617bdd833 Mon Sep 17 00:00:00 2001 +From: nicholasyang +Date: Wed, 13 Nov 2024 14:28:53 +0800 +Subject: [PATCH] harden services with systemd sandboxing + +--- + init/corosync-notifyd.service.in | 10 ++++++++++ + init/corosync.service.in | 10 ++++++++++ + 2 files changed, 20 insertions(+) + +diff --git a/init/corosync-notifyd.service.in b/init/corosync-notifyd.service.in +index 410a6837..604a2a47 100644 +--- a/init/corosync-notifyd.service.in ++++ b/init/corosync-notifyd.service.in +@@ -10,5 +10,15 @@ ExecStart=@SBINDIR@/corosync-notifyd -f $OPTIONS + Type=notify + Restart=on-failure + ++# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort ++ProtectSystem=full ++ProtectHome=true ++PrivateDevices=true ++ProtectHostname=true ++ProtectClock=true ++ProtectKernelTunables=true ++ProtectKernelModules=true ++ProtectKernelLogs=true ++ + [Install] + WantedBy=multi-user.target +diff --git a/init/corosync.service.in b/init/corosync.service.in +index bd2a48a9..63381f47 100644 +--- a/init/corosync.service.in ++++ b/init/corosync.service.in +@@ -30,5 +30,15 @@ StandardError=null + # rewrite according to environment. + #ExecStartPre=/sbin/modprobe softdog + ++# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort ++ProtectSystem=full ++ProtectHome=true ++PrivateDevices=true ++ProtectHostname=true ++ProtectClock=true ++ProtectKernelTunables=true ++ProtectKernelModules=true ++ProtectKernelLogs=true ++ + [Install] + WantedBy=multi-user.target +-- +2.47.0 + diff --git a/_service b/_service new file mode 100644 index 0000000..5facc25 --- /dev/null +++ b/_service @@ -0,0 +1,19 @@ + + + https://github.com/corosync/corosync.git + git + corosync + 3.1.8+%cd.%h + 40e08b21 + enable + + + + corosync*.tar + gz + + + + corosync + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..fc76599 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/corosync/corosync.git + 40e08b219de94f3850f8f39291d89a5713e32f06 \ No newline at end of file diff --git a/corosync-3.1.8.tar.gz b/corosync-3.1.8.tar.gz new file mode 100644 index 0000000..4a142ca --- /dev/null +++ b/corosync-3.1.8.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7023544fa3bb36c00bbcabd9935b7269b41d896738a108ed32ea9b9c9b27ec3d +size 1169570 diff --git a/corosync.changes b/corosync.changes new file mode 100644 index 0000000..cfb8744 --- /dev/null +++ b/corosync.changes @@ -0,0 +1,1868 @@ +------------------------------------------------------------------- +Wed Nov 13 06:48:08 UTC 2024 - Nicholas Yang + +- Add a patch to harden services with systemd sandboxing + +------------------------------------------------------------------- +Wed May 15 12:18:23 UTC 2024 - Emil Penchev + +- Update to version 3.1.8 + * Handling integer overflow issues + * rust: Improve vector initialisation + * man: Update the corosync_overview manpage + * config: Fail to start if ping timers are invalid + * rust: Remove some pointless casts + * parser: Allow a non-breaking space as 'whitespace' + * spec: Migrate to SPDX license + * build: Fix rust make -j build dep for distcheck + * rust: Remove tests from check scripts + * Rust: Remove obsolete bindgen flag + * knet: use knet TRACE logging level if available + * Rust: 'fix' clippys for Rust 1.67 + * rust: Make it work on FreeBSD + * bindings: Add Rust bindings + * totemconfig: Add support for knet_mtu + * configure: Modernize configure.ac a bit + * log: Configure knet logging to the same as corosync + * logrotate: Use copytruncate method by default + * totemconfig: Check uname return value correctly + * totempg: Fix alignment handling + * pkgconfig: Export corosysconfdir + * Remove bashism from configure script + * totemudpu: Don't block local socketpair + * build: Add explicit dependency for used libraries + * totemsrp: Switch totempg buffers at the right time + * cpghum: Allow to continue if corosync is restarted + * man: Fix consensus timeout + * logsys: Unlock config mutex on error + * totem: Add cancel_hold_on_retransmit config option + * totemconfig: Knet nodeid must be < 65536 + * totemconfig: Ensure all knet hosts has a nodeid + * cfgtool: Use CS_PRI_NODE_ID for formatting nodeid + * cfgtool: Fix brief mode display of localhost + * cfgtool: Set nodeid indexes after sort + * totemconfig: Put autogenerated nodeid back to cmap + * cfgtool: Check existence of at least one of nodeid + * totemconfig: Do not process totem.nodeid + * knet: Fix node status display + * main: Add support for cgroup v2 and auto mode + * stats: fix crash when iterating over deleted keys + * man: Add note about single node configuration + * Revert "main: Add support for cgroup v2" + * Revert "man: Add info about cgroup v2 behavior" + * man: Add info about cgroup v2 behavior + * cfg: corosync_cfg_trackstop blocks forever + * main: Add support for cgroup v2 + * main: Mark crypto_model key read only + * totemconfig: Ensure strncpy is always terminated + * config: Properly check crypto and compress models + * man: corosync-cfgtool.8: use proper single quotes + * knet: pass correct handle to knet_handle_compress + * totemconfig: fix integer underflow and logic bug + * totemconfig: change udp netmtu value as a constant + * totemknet: retry knet_handle_new if it fails + * main: Check memlock rlimit + * configure: drop unnecessary check and define + * configure: move exec_prefix sanitize + * configure: drop dead code + * configure: detect and init pkg-config with macro + * main: Close race condition when moving to statedir + * init: Use corosync-cfgtool for shutdown + * test: Add testcfg to exercise some cfg functions + * cfg: Reinstate cfg tracking + * cfg: Improve nodestatusget versioning + * cfg: New API to get extended node/link infomation + * totemknet: Check both cipher and hash for crypto + * The ring id file needn't be executable + * pkgconfig: export LOGDIR in corosync.pc + * spec: Add isa version of corosync-devel provides + * totemconfig: remove redundant nodeid error log + * totemsrp: More informative messages + * config: Increase default token timeout to 3000 ms + * man: votequorum.5: use proper single quotes + * man: fix typo: avaialable + * tests: Use CS_DISPATCH_BLOCKING instead of cycle + * quorum: Add support for nodelist callback + * man: reload during rolling upgrade + * totemsrp: Move token received callback + * common_lib: Remove trailing spaces in cs_strerror + * totemconfig: improve linknumber checking + * totemconfig: add interface number to the error str + * cfg: enhance message_handler_req_lib_cfg_killnode + * totemconfig: validate totem.transport value + * cmapctl: return error on no result of print prefix + * cmapctl: check NULL for key type and value for -p + * quorumtool: strict check for -o option + * quorumtool: Help shouldn't require running service + * cfgtool: Return error when -i doesn't match + * man: update output of -s and -b for cfgtool + * cmapctl: return EXIT_FAILURE on failure + * tools: use util_strtonum for options checking + * cfgtool: enhancement -a option + * cfgtool: output error messages to stderr + * configure: Use default systemd path with prefix + * build: Use git-version-gen during specfile build + * build: Update git-version-gen + * spec: Require at least knet 1.18 for crypto reload + * config: Allow reconfiguration of crypto options + * test: Fix cpgtest + * config: Fix crash when a reload fails twice + * config: Don't free pointers used by transports + * config: don't reload vquorum if reload fails + * cfg: Improve error return to cfgtool -R + * config: Reorganise the config system + * Revert "totemip: compare sin6_scope_id and interface_num" + * Revert "totemip: Add support for sin6_scope_id" + * cfgtool: Fix error code as described in MP + * icmap: icmap_init_r() leaks if trie_create() fails + * votequorum: set wfa status only on startup + * quorumtool: exit on invalid expected votes + * votequorum: Change check of expected_votes + * cfgtool: Simplify output a bit for link status + * man: Enhance link_mode priority description + * main: Add schedmiss timestamp into message + * totemip: compare sin6_scope_id and interface_num + * totemip: Really remove totemip_copy_endian_convert + * totemip: Remove unused totemip_copy_endian_convert + * totemip: Add support for sin6_scope_id + * cfgtool: Improve link status display + * totemknet: Change the initial value of the status + * stats: Use nanoseconds from epoch for schedmiss + * stats: Add stats for scheduler misses + * votequorum: Reflect runtime change of 2Node to WFA + * cpg: Change downlist log level + * man: move cmap_keys man page from section 8 to 7 + * stats: Check return code of stats_map_get + * quorumtool: Assert copied string length + * notifyd: Check cmap_track_add result + * cmapctl: Free bin_value on error + * cfgtool: Remove unused callbacks + * cpghum: Remove unused time variables and functions + * votequorum: Assert copied strings length + * totemknet: Assert strcpy length + * totemknet: Check result of fcntl O_NONBLOCK call + * totemconfig: Initialize warnings variable + * sync: Assert sync_callbacks.name length + * totemknet: Don't mix corosync and knet error codes + * stats: Assert value_len when value is needed + * cmap: Assert copied string length + * totemconfig: Reuse already fetched pointer + * logconfig: Remove double free of value + * votequorum: Ignore the icmap_get_* return value + * totemconfig: Free leaks found by coverity + * icmap: fix the icmap_get_*_r functions + * pkgconfig: Add libqb dependency + * Initialize stack allocated memory + * man: Fix corosync.conf knet pong count default + * totemsrp: Reduce MTU to left room second mcast + * totempg: Check sanity (length) of received message + * build: add option for enabling sanitizer builds + * totemknet: Add locking for log call + * man: Fix link_mode priority description + * notifyd: Don't dereference NULL key_name + * totem: Increase ring_id seq after load + * init: Use cpgtool instead of cfgtool + * notifyd: Fix warning produced by 32-bit compiler + * cfgtool: Remove unused code + * logging: Add CS_PRI_NODE_ID and CS_PRI_RING_ID + * vqsim: Fix gitignore + * totemknet: Disable forwarding on shutdown + * totemconfig: Fix compiler warning + * totem: fix check if all nodes have same number of links + * totem: fix check if all nodes have name attrs in multi-link setups + * corosync-notifyd: Add option to disable DNS lookup + * totemsrp: Fix warnings produced by gcc 9.1 + * cpg: Move filling of member_list to subfunction + * cpg: Add more comments to notify_lib_joinlist + * cpg: send single confchg event per group on joinlist + * cpg: notify_lib_joinlist: drop conn parameter + * vqsim: Check length of copied optarg + * vqsim: Check result of icmap_set_uint32 + * vqsim: Remove unused total_nodes + * vqsim: Free allocated newvq on error + * vqsim: Check length of received message + * vqsim: Check write result + * vqsim: Do not access unitialized argv[0] + * totemknet: Initialize return value in setup_nozzle + * totemknet: macaddr_str is always set + * totemknet: Ignore icmap_get_string result + * totemknet: create_nozzle_device simplify check + * totemip: Use res in totemip_sa_equal + * totemconfig: ipaddr_equal use switch + * configure: Fix GDB_CFLAGS typo + * man: Add vqsim man page into distributed tarball + * spec: Add support for user-flags configure option + * man: Enahnce block_unlisted_ips description + * man: Enhance corosync.conf mp a bit + * cfgtool: Fix link status display + * knet: Use block_unlisted_ips + * udpu: Drop packets from unlisted IPs + * knet: Fix initialising of knet access lists. + * knet: allow corosync to use knet access lists + * man: Enhance token_retransmit description + * totemconfig: Fix minimum limit for hold timeout + * vqsim: Enhance vqsim + * knet: Fix a couple of errors when adding a new link + * totemconfig: fix autogen mcastaddr for ipv6-4 + * totemconfig: Ensure nodeid is specified for IPv6 + * vqsim: Fix vqsim for corosync 3.0 + * vqsim: Make vqsim compile + * totemconfig: ipaddr_equal check just addr part + * cpg: Add CPG_REASON_UNDEFINED + * crypto: re-introduce secauth parameter + * totemconfig: Remove support for 3des + * keygen: Reflect change in knet + * set totem.keyfile and totem.key to RO + * Revert "init: Enable StopWhenUnneeded" + * totemsrp: Word spelling mistake + * coroparse: Fix compiler warning + * configure: Do not autodetect nozzle + * nozzle: Add support for libnozzle devices + * quorumtool: Fix exit status codes + * corosync-cfgtool: Fix -i matching + * build: Use the AWK variable provided by configure + * build: Use the SED variable provided by configure + * configure.ac: AC_PROG_SED is already present + * corosync.conf.5: typography fixes + * corosync.conf.5: fix grammar + * cfgtool: Improve link status display + * doc: Update INSTALL file + * init: Enable StopWhenUnneeded + * totemip: Use AF_UNSPEC for ipv4-6 and ipv6-4 + * [totemknet] update for libknet.so.2.0.0 init API + * Config version must be specified + * Don't declare success early + * More natural error messages + * main: Rename run_dir to state_dir + * totemconfig: Enhance totem.ip_version + * totemip: Add debug information to totemip_parse + * totemconfig: Add IPs to family mismatch error + * config: Look up hostnames in a defined order + * Fix corosync.conf.5 manpage typos + * man: Add some information about address resolution + * totemconfig: Really use totemip_parse results + * man: Add instructions for adding/removing nodes + * config: Disallow corosync-cmapctl updates of nodelist + * config: Report IP addr/nodename parse errors back + * coroparse: Remove unused cs_err initialization + * cpghum: Check cpg_local_get return code + * testcpg2: Check cpg_dispatch return code + * notifyd: Delete registered tracking keys + * stats: Fix delete of track + * init: Fix init script to work with containers + * main: Remove COROSYNC_RUN_DIR + * man: Describe nodelist.node.name properly + * main: Remove COROSYNC_TOTEM_AUTHKEY_FILE + * main: Replace COROSYNC_MAIN_CONFIG_FILE + * main: Move sched paramaters to config file + * configure: move to AC_COMPILE_IFELSE + * logsys: Make hires timestamp default + * logsys: Support hires timestamp + * totemconfig: Fix logging of freed string + * config: Allow generated nodeis for UDP & UDPU + * config example: Migrate to newer syntax + * log: Implement support for reopening log files + * totemconfig: Replace strcpy by strncpy + * config: Fix crash in reload if new interfaces are added + * man: Fix default knet_pmtud_interval to match code + * build: Remove totempg shared library leftovers + * build: Do not compile totempg as a shared library + * man: Fix typo conains -> contains + * man: Fix typo connnections -> connections + * build: Remove NSS dependencies + * cts: Remove CTS + * man: Fix crypto_hash and crypto_cipher defaults + * coroparse: Fix newly introduced warning + * Add option to force cluster into GATHER state + * coroparse: Use key_name for error message + * coroparse: Add file name and line to error message + * coroparse: Be more strict in what is parsed + * coroparse: Fix remove_whitespace end condition + * coroparse: Check icmap_set results + * coroparse: Return error if config line is too long + * notifyd: Propagate error to exit code + * git-version-gen: Fail on UNKNOWN version + * build: Support for git archive stored tags + * man: fix cmap key name runtime.config.totem.token + * Remove libcgroup + * systemd: prevent redundancy in journal + * Add token_warning configuration option + * corosync-notifyd: Rename global local_nodeid + * totemsrp: Add assert into memb_lowest_in_config + * totemconfig: Enlarge error_string_response + * ipc_glue: Fix strncpy in pid_to_name function + * cmap: Fix strncpy warning in cmap_iter_next + * util: Fix strncpy in setcs_name_t function + * totemknet: Free instance on failure exit + * spec: Add explicit gcc build requirement + * Add option for quiet operation to corosync-cmapctl + * totemudpu: Pass correct paramto totemip_nosigpipe + * totemudpu: Add local loop support + * config: Fail config validation if not all nodes have all links + * config: Enforce use of 'name' node attribute in multi-link clusters + * totemconfig: Check for things that cannot be changed on the fly + * Fix snprintf warnings + * init: Use existing env variable from sysconf + * upstart: Remove notifyd upstart unit + * knet: Don't try to create loopback interface twice + * knet: Fix knet log buffer size + * cpg: Inform clients about left nodes during pause + * man: Make the manpages reproducible + * totemsrp: Fix leave message regression + * totemsrp: Log proc/fail lists in memb_join_process + * totemsrp: Fix srp_addr_compare + * tools: don't distribute what we can easily make + * Drop all references to SECURITY file + * SECURITY: Remove SECURITY file + * NSS_NoDB_Init: the parameter is reserved, must be NULL + * Fix typo: defualt -> default + * Fix typo: sucesfully -> successfully + * totemsrp: Check join and leave msg length + * totemsrp: Implement sanity checks of received msgs + * cpg: Handle fragmented message sending interrupt + * totem: Display IP of sender + * totemsrp: Add magic and version into header + * knet: Fix display of links with unconfigured link0 + * main: Set errno before calling of strtol + * quorumtool: Don't set our_flags without v_handle + * sam_test_agent: Remove unused assignment + * blackbox: Quote subshell result properly + * init: Quote subshell result properly + * cfgtool: Don't assume link ID is a single char + * knet: Always use link0 for loopback + * totem: Fix debug warnings printed by knet + * config: Allow use of ring0_addr + * config: Update message when local host isn't found + * cfg: Fix cfg_get_node_addrs so that DLM works + * totem: Return interface count correctly + * totem: Use nodeid ONLY in srp_addr + * [rpm] use rpm macros to identify build distro + * [rpm] fixup corosync.spec.in to build on opensuse + * totempg: Fix corrupted messages + * totempg: use iovec[i].iov_len instead of copy_len + * totempg: Fix fragmentation segfault + * [build] fix build with non-standard knet location + * [man] fix regression introduced by 7162e75dcf81b7e475536e3060bf5e9312cd43b8 + * Man: Move overview mp to sections 3 and 7 from 8 + * logging: Close before and open blackbox after fork + * logging: Make blackbox configurable + * corosync-notifyd: improve error handling + * spec: Modernize spec to comply with newest Fedora + * build: Remove support for upstart + * build: Replace -lknet with autoconf generated vars + * build: Remove rdma/ibverbs + * qdevice: Remove qdevices + * config: Don't fudge port numbers + * knet: Allow ping_timers to be auto-configured + * cts: Make code compatible with Python 3 + * corosync-notifyd: make SNMP work again + * build: Add the headers necessary for RPM build + * config: if local node addr is wrong, fail with a sensible message + * totemknet: Drop truncated packets on receive + * totemudp: Make use of UDP_RECEIVE_FRAME_SIZE_MAX + * totemudpu: Export and rename UDPU_FRAME_SIZE_MAX + * totemconfig: Fix UDP autogeneration of mcast addr + * totemudpu: Scale receive buffer + * config: Allow selection of crypto_model + * libcpg: Fix issue with partial big packet assembly + * qdevice: mv free(str) after port validation + * corosync.aug: Add missing options + * config: Allow links to have different ip_versions + * Fix compile errors in qdevice and vqsim on FreeBSD + * cmapctl: mention the Clear stats option in usage message + * corosync-cfgtool: refactor cli parameters handling + * wd: fix snprintf warnings + * totemsrp: Revert totemsrp_get_ifaces() changes + * man: Add note about corosync not using name option + * corosync.conf: publicize nodelist.node.name + * man: fixes for corosync.conf man page + * cmapctl: add "-m" option into help message + * totemconfig: remove duplicate aes256 test + * fix output format for corosync-cfgtool with knet (#283) + * sync: Call sync_init of all services at once + * sync: Remove unneeded determine sync code + * stats: Add some missing knet stats + * man: Add note about qdevice parallel cmds start + * man: corosync-qdevice: some more stylistics + * systemd: corosync-qdevice can not run without corosync + * man: corosync-qdevice: fix formatting vs. punctuation + * configure: kill off INITWRAPPERSDIR + * corosync-qdevice: send startup notification to systemd + * corosync-qnetd: send startup notification to systemd + * Send corosync-notifyd startup notification to systemd + * Make systemd stop corosync-notifyd if corosync is stopped + * corosync.spec: Add system-devel build requirement + * Send corosync startup notification to systemd + * quorumtool: Use full buffer size in snprintf + * cpghum: Mark print/log functions with printf attr + * cpg_test_agent: Fix snprintf compiler warnings + * sam: Fix snprintf compiler warnings + * coroparse: Do not convert empty uid, gid to 0 + * cmapctl: Add option to clear the stats + * stats: Don't display errors when reading knet stat + * make the output of "corosync-cfgtool -s" more readable (#269) + * cfg: nodeid should be unsigned int + * quorumtool: remove duplicated help message + * man: fix cpg_mcast_joined.3.in + * man: Add stats.clear keys to the cmap_keys man pg + * stats: Add cmap key to clear the various stats. + * Use RuntimeDirectory instead of tmpfiles.d + * totemconfig: generate mcast icmap items for UDP + * Use static case blocks to determine distro flavor + * configure: add --with-initconfigdir option + * totemconfig: add nodeid check for knet + * man: support SOURCE_DATE_EPOCH + * man:fix in corosync-qdevice.8 + * man: must set nodeid for knet in nodelist + * logsys: Avoid redundant callsite section checking + * config: Fix memory leak + * knet: Add support for knet compression + * qdevice: Add support for heuristics + * Spec: fix arch-qualified dependencies + * cmap: Remove noop highest config version check + * cmap: don't shutdown highest config_version node + * totemudp: Remove memb_join discarding + * votequorum: make atb consistent on nodelist reload + * totem: Remove unnecessary NSS headers + * config: Allow dynamic link configuration + * totemudp: Retry if bind fails + * corosync.conf.5: watchdog support is conditional + * wd: default to not using a watchdog + * wd: remove extra capitalization typo + * corosync.conf.5: add warning about slow watchdogs + * totemknet: fix debug message typo + * corosync.conf.5: Fix watchdog documentation + * wd: fix typo + * Include fcntl.h for F_* and O_* defines + * stats: add knet 'handle' stats + * main: use syslog & printf directly for early log messages + * totempg: Allow space for incoming overflow + * cpghum: Add options to change flood start/mult/end sizes (#237) + * totemknet: Use knet's LOOPBACK transport (#236) + * CFG: Remove ring-reenable code + * main: Add support for libcgroup + * stats: Add map with on-demand statistics + * ipc: Check for the libraries sending invalid message IDs + * main: Add option to set priority + * totemknet: Prevent dead-loop in log_flush_messages + * corosync-keygen: Display number of needed bits + * totemknet: Flush knet log messages + * corosync-keygen: Make less-secure default + * corosync-keygen: Adapt to knet key sizes + * totemconfig: Make crypto work again + * knet: Compile with latest knet API + * totem: Propagate totem initialization failure + * totemknet: Use new knet_link_set_config() API + * coroapi: Use size_t for private_data_size + * votequorum: Report errors from votequorum_exec_send_reconfigure + * cpghum: remove space after delimiter + * cpghum: Add interim RTT to cpghum + * configure: Enable C99 language standard + * main: Display reason why cluster cannot be formed + * notifyd: Add the community name to an SNMP trap + * cpghum: Add machine-readable output + * test: Fold cpgbench into cpghum (#205) + * knet: Allow space for encapsulated messages + * Main: Call mlockall after fork + * Fix typos in README.recovery + * coroparse: Use readdir instead of readdir_r + * totemknet: Handle logpipe creation failure + * wd: Report error when close of wd fails + * Qnetd lms: Use UTILS_PRI_RING_ID printf format str + * cpghum: Fix printf of size_t variable + * totemknet: Got back to recvmsg() from recvmmsg() + * totemconfig: Prefer nodelist over bindnetaddr + * knet: Close libknet down cleanly at shutdown + * man: Document -a option to corosync-quorumtool + * cpghum test: Improve error codes + * quorumtool: Add option to show all node addresses + * cpghum: Stop cpghum from reporting fake CRC errors + * logconfig: Do not overwrite logger_subsys priority + * totem: Fix buffer sizes + * main: Don't ask libqb to handle segv, it doesn't work + * Logsys: Change logsys syslog_priority priority + * knet: improve logging messages by adding knet subsystem + * cpghum: Add abort_on_error option + * cpghum: Add min rtt and print stats every alarm + * cpghum: Add Round Trip Time (RTT) reporting + * knet: Change nodeids to knet_node_id_t for new knet compatibility + * knet: Fix MTU sizes & allow transport config in corosync.conf + * knet: PMTUd data_mtu already accounts for IP and knet header overheads + * knet: switch from write to sendto() + * knet: Change nodeids to 8 bit for new knet compatibility + * doc: document watchdog_device parameter + * knet: Fix member_remove to shut down existing links first + * Spec: make internal dependencies arch-qualified + * Spec: drop unneeded dependency + * knet: Reduce default pong count to 2 for faster startup + * totemknet: Make it compile with kronosnet git master + * Qdevice: fix spell errors in qdevice + * Remove redundant header file inclusion + * Remove deprecated doxygen flags + * upstart: Add softdog module loading example + * Totempg: remove duplicate memcpy in mcast_msg func + * man: Modify man-page according to command usage + * init: Add doc URIs to the systemd service files + * Fix typo: Destorying -> Destroying + * man: Fix typos in man page + * totempg: totempg_groups_join return valid error + * systemd: Delete unnecessary soft_margin + * knet: Support reload of link parameters + * list: Unify the list processing with qb_list func + * knet: Allow configuration of more params + * knet: Don't lose log messages when knet gets busy (#165) + * libvotequorum: Bump version + * list: Replace for_each by safe version where need + * list: Remove list.h + * list: Replace uses of list.h with qblist.h + * [build] Fix build on RHEL7.3 latest + * Change a type of NodeID. + * vqsim: Fix Makefile.am + * configure: Remove RDMA (again) + * vqsim: Add Quorum simulator program + * Build: Fail configure if knet is not installed + * totem: add totemknet.[ch] + * cfg: Prevents use of uninitialized buffer + * totem: Add Kronosnet transport. + * coropase: Set a poll_period value for wd monitor + * votequorum: simplify reconfigure message handling + * votequorum: Don't update expected_votes display if value is too high + * Fix various typos + * init: corosync and cman aren't system facilities + * conf: be explicit about the mcast src/dst ports + + Added: + corosync-3.1.8.tar.gz + Removed: + corosync-2.4.6.tar.gz + bug-1001164_corosync.conf-example.patch + bug-1032634_fix-ifdown-udp.patch + bug-1083561_upgrade-from-1-x-y.patch + bug-882449_corosync-conf-example.patch + corosync-2.3.4-fix-bashisms.patch + corosync-init-lockfile-path-error.patch + corosync-start-stop-level.patch + Fix-compile-warnings-with-GCC-7.2.1.patch + upstream-afd97d7884940_coroapi-Use-size_t-for-private_data_size.patch + baselibs.conf + + Modified: + _service + _servicedata + corosync.changes: add changelogs + corosync.spec: updates to corosync3 + +------------------------------------------------------------------- +Mon Feb 26 10:52:30 UTC 2024 - Dominique Leuenberger + +- Use %autosetup macro. Allows to eliminate the usage of deprecated + PatchN. + +------------------------------------------------------------------- +Thu Jan 25 09:04:02 UTC 2024 - Dominique Leuenberger + +- Provide user(coroqnetd) and group(coroqnetd) in the -qnetd + package: user and group are generated by the pre script. + +------------------------------------------------------------------- +Mon Nov 21 19:56:53 UTC 2022 - Emil Penchev + +- Update to version 2.4.6: + * totemsrp: More informative messages + * icmap: fix the icmap_get_*_r functions + * stats: Add basic schedule-miss stats to needle + * icmap: icmap_init_r() leaks if trie_create() fails + * test: Fix cpgtest + * pkgconfig: Add libqb dependency + * man: votequorum.5: use proper single quotes + * cpg: Change downlist log level + * totem: Increase ring_id seq after load + * totempg: Check sanity (length) of received message + * totemsrp: Reduce MTU to left room second mcast + * qnetd: Rename qnetd-log.c to log.c + * qnetd: Fix double -d description + * qnetd: Check log initialization error + * qnetd: Add function to set log target + * qdevice: Use log instead of libqb log + * qdevice: Import log instead of qdevice-log + * qdevice: Merge msg_decode_error functions + * qnetd: Use log-common for nodelist debug dump + * qdevice: Configurable log priority bump + * tests: Add utils_parse_bool_str test + * qdevice: Free memory used by log + * qdevice: Add log test + * qdevice: Add header files to list of test sources + * qdevice: Add chk variant of vsyslog to test-log + * qdevice: Add prototype of __vsyslog_chk + * votequorum: Ignore the icmap_get_* return value + * logconfig: Remove double free of value + * cmap: Assert copied string length + * sync: Assert sync_callbacks.name length + * votequorum: Assert copied strings length + * cpghum: Remove unused time variables and functions + * cfgtool: Remove unused callbacks + * cmapctl: Free bin_value on error + * quorumtool: Assert copied string length + * votequorum: Reflect runtime change of 2Node to WFA + * main: Add schedmiss timestamp into message + * votequorum: Change check of expected_votes + * quorumtool: Fix exit status codes + * quorumtool: exit on invalid expected votes + * votequorum: set wfa status only on startup + * Revert "totemip: Add support for sin6_scope_id" + * Revert "totemip: compare sin6_scope_id and interface_num" + * main: Make schedmiss in cmap and log equal + * totemip: Add support for sin6_scope_id + * qnetd: Do not call ffsplit_do on shutdown + * qdevice: Fix connect heuristics result callback + * qdevice: Fix connect heuristics result callback + * qdevice: Log adds newline automatically + * qnetd: Fix dpd timer + * qnetd: Add support for keep active partition vote + * common_lib: Remove trailing spaces in cs_strerror + * totemsrp: Move token received callback + * tests: Use CS_DISPATCH_BLOCKING instead of cycle + * qnetd: Fix NULL dereference of client + * qnetd: Simplify KAP Tie-breaker logic + * totem: Add cancel_hold_on_retransmit config option + * logsys: Unlock config mutex on error + * totemsrp: Switch totempg buffers at the right time + * totemudpu: Don't block local socketpair + * configure.ac: fix pkgconfig issue of rdma + * totemip: Add support for sin6_scope_id + * totemip: compare sin6_scope_id and interface_num + * qdevice: Change log level to NOTICE on PASS + * cfgtool: output error messages to stderr + * tools: use util_strtonum for options checking + * cmapctl: return EXIT_FAILURE on failure + * quorumtool: Help shouldn't require running service + * quorumtool: strict check for -o option + * cmapctl: check NULL for key type and value for -p + * man: adjust description about interface section + * qnetd: sort by node_id when add new client + * man: replace votequorum_poll for actually used fn + +------------------------------------------------------------------- +Mon Apr 11 16:06:20 UTC 2022 - Emil Penchev + +- Update to version corosync-2.4.5+git.5d625cef: + * totemudpu: Don't block local socketpair + * totemsrp: Switch totempg buffers at the right time + * logsys: Unlock config mutex on error + +------------------------------------------------------------------- +Mon Aug 23 10:02:21 UTC 2021 - varkoly@suse.com + +- Update to version 2.4.5+git70.64010f57: + * totem: Add cancel_hold_on_retransmit config option + +------------------------------------------------------------------- +Tue Jun 01 14:00:15 UTC 2021 - varkoly@suse.com + +- Update to version 2.4.5+git69.6236728a: + * man: replace votequorum_poll for actually used fn + * qnetd: sort by node_id when add new client + * man: adjust description about interface section + * qnetd: Simplify KAP Tie-breaker logic + * qnetd: Fix NULL dereference of client + * man: votequorum.5: use proper single quotes + * tests: Use CS_DISPATCH_BLOCKING instead of cycle + * totemsrp: Move token received callback + * common_lib: Remove trailing spaces in cs_strerror + * totemsrp: More informative messages +- Remove patches: + bug-1166899-quorumtool-Fix-exit-status-codes.patch + bug-1163460-totemip-Add-support-for-sin6_scope_id.patch + +------------------------------------------------------------------- +Tue Mar 9 13:47:45 UTC 2021 - Dominique Leuenberger + +- Drop the script-dependencies on /sbin/chkconfig: deprecated +- Drop the main package's dependency on /usr/sbin/adduser: the main + package does not call this in the pre scripts. +- Change Requires(pre): shadow in corosync-qdevice to + Requires(pre): /usr/sbin/adduser (support alternartive + implementations). +- Use %systemd_ordering for the various, too strict, systemd script + dependencies. + +------------------------------------------------------------------- +Tue Oct 27 14:25:29 UTC 2020 - Aleksei Burlakov + +- (Again) Fix bsc#1163460 Corosync does not support link-local IPv6 addresses + Added: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch + + Reason: This time the path will NOT cause problems when doing rolling + upgrade, see bsc#1168771 + +------------------------------------------------------------------- +Wed Aug 19 10:18:14 UTC 2020 - Dominique Leuenberger + +- Stop mangling libexecdir: it's not needed at all. + +------------------------------------------------------------------- +Wed Apr 22 14:13:26 UTC 2020 - XinLiang + +- Revoke the patch bug-1163460-totemip-Add-support-for-sin6_scope_id.patch + Deleted: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch + + Reason: That path will cause problems while doing rolling upgrade, see bsc#1168771 + +------------------------------------------------------------------- +Fri Mar 20 14:07:26 UTC 2020 - XinLiang + +- Fix bsc#1163460 Corosync does not support link-local IPv6 addresses + Added: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch + +------------------------------------------------------------------- +Wed Mar 18 02:47:13 UTC 2020 - XinLiang + +- Fix bsc#1166899, return value of "corosync-quorumtool -s" was not correct + Added: bug-1166899-quorumtool-Fix-exit-status-codes.patch + +------------------------------------------------------------------- +Fri Jan 3 11:30:41 UTC 2020 - matthias.gerstner@suse.com + +- Don't package sysconfig file in tmpfiles.d, it's a bug. Instead correctly + add it to /etc/sysconfig, invoking fillup accordingly. + +------------------------------------------------------------------- +Thu Nov 7 06:26:20 UTC 2019 - Yuan Ren + +- Packaging bug updating Corosync(bsc#1155792) + Some noisy output from Tumbleweed caused by RPM macro not fairly used + Make sure corosync sysconfig keep original configured firstly(bsc1153502) + Store the tmp file to a more security directory + +------------------------------------------------------------------- +Wed Oct 9 07:55:48 UTC 2019 - Yuan Ren + +- Replace corosync-2.4.5.tar.gz with a clean source.tar.gz(bsc#1144200) + The reason is some binaries left in corosync-2.4.5.tar.gz + +------------------------------------------------------------------- +Fri Aug 16 09:50:28 UTC 2019 - Yuan Ren + +- corosync-2.4.5 upgrade(bsc#1144200) + block_unlisted_ips block package from ips not in nodelist + Qnetd now supports updated NSS database format + Partly fixed problem with ifdown (only for UDPU) + + Added: + corosync-2.4.5.tar.gz + bug-1001164_corosync.conf-example.patch + corosync-init-lockfile-path-error.patch + Deleted: + corosync-2.4.4.tar.gz + 0003-fix-tmpfiles-create.patch + 0004-mark-corosync-as-a-static-service.patch + 0005-do-not-convert-empty-uid-gid-to-0.patch + 0007-add-config-for-corosync-qnetd.patch + 0009-bsc#1088619-add-version.patch + 0010-qdevice-net-instance.c-optarg-should-be-str.patch + 0011-NSS_NoDB_Init-the-parameter-is-reserved-must-be-NULL.patch + 0012-cpg-Inform-clients-about-left-nodes-during-pause.patch + bnc#872651-stop-cluster.patch + disable-build-html-docs.patch + Renamed: + 0001-coroapi-Use-size_t-for-private_data_size.patch -> upstream-afd97d7884940_coroapi-Use-size_t-for-private_data_size.patch + 0006-Fix-compile-warnings-with-GCC-7.2.1.patch -> Fix-compile-warnings-with-GCC-7.2.1.patch + 0008-bsc#1083561-upgrade-from-1-x-y.patch -> bug-1083561_upgrade-from-1-x-y.patch + bnc#882449-corosync-conf-example.patch -> bug-882449_corosync-conf-example.patch + 0002-fix-ifdown-udp.patch -> bug-1032634_fix-ifdown-udp.patch + bsc#1001164-corosync.conf-example.patch -> bug-1001164_corosync.conf-example.patch + +------------------------------------------------------------------- +Wed May 2 02:36:56 UTC 2018 - bliu@suse.com + +- cpg: Inform clients about left nodes during pause(bsc#1091593) + Added: 0012-cpg-Inform-clients-about-left-nodes-during-pause.patch + +------------------------------------------------------------------- +Thu Apr 26 06:43:54 UTC 2018 - bliu@suse.com + +- NSS_NoDB_Init: the parameter is reserved, must be NULL(bsc#1090996) + Added: 0011-NSS_NoDB_Init-the-parameter-is-reserved-must-be-NULL.patch + +------------------------------------------------------------------- +Tue Apr 17 10:19:52 UTC 2018 - bliu@suse.com + +- corosync-2.4.4 is available now(bsc#1089836) + man:fix in corosync-qdevice.8 + quorumtool: remove duplicated help message + cfg: nodeid should be unsigned int + coroparse: Use readdir instead of readdir_r + wd: fix snprintf warnings + Fix compile errors in qdevice on FreeBSD + qdevice: mv free(str) after port validation + Fix various typos + Fix typo: recomended -> recommended + man: support SOURCE_DATE_EPOCH + configure: add --with-initconfigdir option + Use static case blocks to determine distro flavor + Use RuntimeDirectory instead of tmpfiles.d + coroparse: Do not convert empty uid, gid to 0 + sam: Fix snprintf compiler warnings + quorumtool: Use full buffer size in snprintf + man: Add note about qdevice parallel cmds start + sync: Remove unneeded determine sync code + sync: Call sync_init of all services at once + corosync.conf: publicize nodelist.node.name + totemudp[u]: Drop truncated packets on receive + logging: Make blackbox configurable + logging: Close before and open blackbox after fork + init: Quote subshell result properly + blackbox: Quote subshell result properly + qdevice: quote certutils scripts properly + sam_test_agent: Remove unused assignment + qdevice: Fix NULL pointer dereference + quorumtool: Don't set our_flags without v_handle + qdevice: Nodelist is set into string not array + qdevice: Check if user_data can be dereferenced + qdevice: Add safer wrapper of strtoll + qdevice: Replace strtol by strtonum + qnetd: Replace strtol by strtonum + main: Set errno before calling of strtol + totemcrypto: Implement bad crypto header guess + cpg: Use list_del instead of qb_list_del + totemcrypto: Check length of the packet + totemsrp: Implement sanity checks of received msgs + totemsrp: Check join and leave msg length + totemudp: Check lenght of message to sent + qdevice msgio: Fix reading of msg longer than i32 + logsys: Avoid redundant callsite section checking + man: corosync-qdevice: fix formatting vs. punctuation + man: corosync-qdevice: some more stylistics + man: fix cpg_mcast_joined.3.in + libcpg: Fix issue with partial big packet assembly + totempg: Fix fragmentation segfault + totempg: use iovec[i].iov_len instead of copy_len + totempg: Fix corrupted messages + cpg: Handle fragmented message sending interrupt + corosync.aug: Add missing options + systemd: Delete unnecessary soft_margin + + Added: + corosync-2.4.4.tar.gz + 0010-qdevice-net-instance.c-optarg-should-be-str.patch + Deleted: + 0007-sync-Call-sync_init-of-all-services-at-once.patch + 0008-wd-fix-snprintf-warnings.patch + 0009-add-config-for-corosync-qnetd.patch + 0010-qdevice-mv-free-str-after-port-validation.patch + 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch + 0012-totemudp-u-Drop-truncated-packets-on-receive.patch + 0013-logging-Make-blackbox-configurable.patch + 0014-logging-Close-before-and-open-blackbox-after-fork.patch + 0015-coverity-fixes.patch + 0018-bsc#1089346-corosync-Integer-overflow-in-totemcrypto.patch + corosync-2.4.3.tar.gz + Renamed: + 0009-add-config-for-corosync-qnetd.patch -> 0007-add-config-for-corosync-qnetd.patch + 0016-bsc#1083561-upgrade-from-1-x-y.patch -> 0008-bsc#1083561-upgrade-from-1-x-y.patch + 0017-bsc#1088619-add-version.patch -> 0009-bsc#1088619-add-version.patch + +------------------------------------------------------------------- +Fri Apr 13 05:17:10 UTC 2018 - bliu@suse.com + +- (CVE-2018-1084) VUL-0: CVE-2018-1084: corosync: Integer overflow in totemcrypto(bsc#1089346) + Added: 0018-bsc#1089346-corosync-Integer-overflow-in-totemcrypto.patch + +------------------------------------------------------------------- +Tue Apr 10 02:46:08 UTC 2018 - bliu@suse.com + +- UNKNOWN version in corosync pkg-config(bsc#1088619) + Added: 0017-bsc#1088619-add-version.patch + +------------------------------------------------------------------- +Thu Mar 8 06:19:09 UTC 2018 - bliu@suse.com + +- [Build 489.1] Corosync is not working after upgrade from sle11sp4-ha to sle15-ha(bsc#1083561) + Added: 0016-bsc#1083561-upgrade-from-1-x-y.patch + +------------------------------------------------------------------- +Mon Mar 5 08:24:30 UTC 2018 - bliu@suse.com + +- some coverity fixes for corosync on upstream(bsc#1083895) + Added: 0015-coverity-fixes.patch + +------------------------------------------------------------------- +Wed Jan 31 05:59:06 UTC 2018 - bliu@suse.com + +- corosync exposes itself for a self-crash under rare circumstance(bsc#1078412) + Added: 0013-logging-Make-blackbox-configurable.patch + 0014-logging-Close-before-and-open-blackbox-after-fork.patch + + Modified: remove unncessary git commit messages + 0001-coroapi-Use-size_t-for-private_data_size.patch + 0002-fix-ifdown-udp.patch + 0005-do-not-convert-empty-uid-gid-to-0.patch + 0008-wd-fix-snprintf-warnings.patch + 0010-qdevice-mv-free-str-after-port-validation.patch + 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch + 0012-totemudp-u-Drop-truncated-packets-on-receive.patch + +------------------------------------------------------------------- +Wed Jan 10 02:36:24 UTC 2018 - bliu@suse.com + +- totemudp[u]: Drop truncated packets on receive(bsc#1075300) + Added: 0012-totemudp-u-Drop-truncated-packets-on-receive.patch + +------------------------------------------------------------------- +Thu Jan 4 04:36:41 UTC 2018 - bliu@suse.com + +- issue with partial packets assembly when multiple nodes are sending big packets(bsc#1074929) + Added: 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch + +------------------------------------------------------------------- +Tue Jan 2 06:15:29 UTC 2018 - bliu@suse.com + +- qdevice failed to run(bsc#1074276) + Added: 0010-qdevice-mv-free-str-after-port-validation.patch + +------------------------------------------------------------------- +Wed Dec 27 05:49:39 UTC 2017 - bliu@suse.com + +- add support for corosync-qdevice in yast2-cluster and bootstrap(bsc#1070961) + Added: 0009-add-config-for-corosync-qnetd.patch + +------------------------------------------------------------------- +Tue Dec 5 06:13:13 UTC 2017 - bliu@suse.com + +- wd: gcc shows snprintf warnings(bsc#1071187) + Added: 0008-wd-fix-snprintf-warnings.patch + +------------------------------------------------------------------- +Thu Nov 23 13:48:33 UTC 2017 - rbrown@suse.com + +- Replace references to /var/adm/fillup-templates with new + %_fillupdir macro (boo#1069468) + +------------------------------------------------------------------- +Fri Nov 17 02:54:23 UTC 2017 - bliu@suse.com + +- corosync race condition when node leaves immediately after joining(bsc#1067958) + Added: 0007-sync-Call-sync_init-of-all-services-at-once.patch + +------------------------------------------------------------------- +Thu Nov 9 03:06:36 UTC 2017 - bliu@suse.com + +- gcc: snprintf gives warning: ‘%s’ directive output may be truncated writing + 8 bytes into a region of size between 1 and 255(bsc#1066090) + Added: 0006-Fix-compile-warnings-with-GCC-7.2.1.patch + +------------------------------------------------------------------- +Mon Nov 6 09:14:55 UTC 2017 - bliu@suse.com + +- coroparse: uidgid with empty uid or gid results into add uid 0(bsc#1066585) + Added: 0005-do-not-convert-empty-uid-gid-to-0.patch + Modified: 0005-do-not-convert-empty-uid-gid-to-0.patch, + check whether the uid, gid is empty before calling strtol + +------------------------------------------------------------------- +Mon Oct 23 03:12:42 UTC 2017 - bliu@suse.com + +- Upgrade corosync-2.4.2 to corosync-2.4.3(fate#321385) + doc: document watchdog_device parameter + Main: Call mlockall after fork + Totempg: remove duplicate memcpy in mcast_msg func + Qdevice: fix spell errors in qdevice + logconfig: Do not overwrite logger_subsys priority + totemconfig: Prefer nodelist over bindnetaddr + cpghum: Fix printf of size_t variable + Qnetd lms: Use UTILS_PRI_RING_ID printf format str + wd: Report error when close of wd fails + votequorum: Don't update expected_votes display if value is too high + votequorum: simplify reconfigure message handling + quorumtool: Add option to show all node addresses + main: Don't ask libqb to handle segv, it doesn't work + man: Document -a option to corosync-quorumtool + main: use syslog & printf directly for early log messages + votequorum: make atb consistent on nodelist reload + Fix typo: Destorying -> Destroying + init: Add doc URIs to the systemd service files + wd: fix typo + corosync.conf.5: Fix watchdog documentation + corosync.conf.5: add warning about slow watchdogs + wd: remove extra capitalization typo + corosync.conf.5: watchdog support is conditional + notifyd: Add the community name to an SNMP trap + Logsys: Change logsys syslog_priority priority + totemrrp: Fix situation when all rings are faulty + main: Display reason why cluster cannot be formed + totem: Propagate totem initialization failure + totemcrypto: Refactor symmetric key importing + totemcrypto: Use different method to import key + main: Add option to set priority + main: Add support for libcgroup + totemcrypto: Fix compiler warning + cmap: Remove noop highest config version check + qdevice: Add support for heuristics + Spec: drop unneeded dependency + Spec: make internal dependencies arch-qualified + cmap: don't shutdown highest config_version node + totemudp: Remove memb_join discarding + Spec: fix arch-qualified dependencies + Include fcntl.h for F_* and O_* defines + totemudp: Retry if bind fails + Remove deprecated doxygen flags + man: Fix typos in man page + man: Modify man-page according to command usage + Remove redundant header file inclusion + upstart: Add softdog module loading example + + Added: + corosync-2.4.3.tar.gz + Removed: + corosync-2.4.2.tar.gz + bsc#1047860-add-version.patch + 0001-Logsys-Change-logsys-syslog_priority-priority.patch + 0001-logconfig.c-make-logging.syslog_priority-and-logging.patch + 0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch + 0002-Main-call-mlock-after-fork.patch + 0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch + 0004-main-Display-reason-why-cluster-cannot-be-formed.patch + 0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch + 0007-Make-corosync-work-when-FIPS-mode-is-enabled.patch + 0008-main.c-add-option-to-set-priority.patch + 0009-totem-Propagate-totem-initialization-failure.patch + + Modified: + bsc#1047860-add-version.patch: change version to 2.4.3 + corosync.changes: add changelogs + corosync.spec: remove unnecessary patches + + Renamed: + 0006-coroapi-Use-size_t-for-private_data_size.patch -> 0001-coroapi-Use-size_t-for-private_data_size.patch + 0010-fix-ifdown-udp.patch -> 0002-fix-ifdown-udp.patch + 0011-fix-tmpfiles-create.patch -> 0003-fix-tmpfiles-create.patch + 0012-mark-corosync-as-a-static-service.patch -> 0004-mark-corosync-as-a-static-service.patch + +------------------------------------------------------------------- +Thu Sep 28 06:15:35 UTC 2017 - bliu@suse.com + +- wrong "service_del_postun corosync.service"(bsc#1060767) + Modified: corosync.spec, remove service_del_postun in postun of corosync + +------------------------------------------------------------------- +Tue Sep 12 14:40:51 UTC 2017 - jengelh@inai.de + +- Restore conformance to shared library packaging guideline. +- Remove redundant cleaning in %install and %clean. + +------------------------------------------------------------------- +Tue Aug 29 07:50:16 UTC 2017 - bliu@suse.com + +- corosync.service should be marked as a static service(bsc#1055585) + Added: 0012-mark-corosync-as-a-static-service.patch + +------------------------------------------------------------------- +Tue Aug 8 08:17:27 UTC 2017 - jengelh@inai.de + +- Fix RPM groups. + +------------------------------------------------------------------- +Thu Aug 3 02:50:00 UTC 2017 - bliu@suse.com + +- L3: corosync: assert(sender_node != NULL) fails after tearing down a network interface(bsc#1032634) + Added: 0010-fix-ifdown-udp.patch + +- Fix rpmlint warnings + Added: 0011-fix-tmpfiles-create.patch + +------------------------------------------------------------------- +Thu Aug 3 02:49:21 UTC 2017 - bliu@suse.com + +- some errors in spec file(bsc#1047862) + Modified:corosync.spec + 1) as in openSUSE:factory, there are %define, but bcond_with coudld be toggled by osc command , change %define to %bcond_with and %bcond_without + 2) change service_del_postun to service_del_preun, since service_del_postun is not a right macro + 3) remove macro tpmfiles_create define from corosync.spec. + + +------------------------------------------------------------------- +Mon Jul 31 02:54:49 UTC 2017 - bliu@suse.com + +- make corosync.spec uniform (bsc#1051385) +Modified: corosync.spec + 1. there are some lines are commented in corosync.spec, will define new macro to make these lines uncommented + 2. in former, xmlconf, rdma and snmp were disabled, these features are wrongly enabled, will disable them + +------------------------------------------------------------------- +Wed Jul 12 05:25:45 UTC 2017 - bliu@suse.com + +- some upstream fixes for corosync(bsc#1048259) +Added: + bsc#1047860-add-version.patch + 0007-Make-corosync-work-when-FIPS-mode-is-enabled.patch + 0008-main.c-add-option-to-set-priority.patch + 0009-totem-Propagate-totem-initialization-failure.patch + +Removed: + bnc#867767-add-version.patch + 0007-improve-corosync-keygen.patch(since this patch is not for corosync v2.x) + +Modified: + corosync.spec, add judgement whether /etc/sysconfig/corosycn* exist before remove these files + +------------------------------------------------------------------- +Mon Jul 10 06:54:23 UTC 2017 - bliu@suse.com + +- some errors in spec file(bsc#1047862) +Modified: + corosync.spec + +- improvement for corosync-keygen(bsc#1047861) +Added: + 0007-improve-corosync-keygen.patch + +- 1047860corosync report wrong version number(bsc#1047860) +Modified: + bnc#867767-add-version.patch + +------------------------------------------------------------------- +Wed Jun 7 06:06:38 UTC 2017 - bliu@suse.com + +- some Fixes from upstream(bsc#1043045) +Added: + 0004-main-Display-reason-why-cluster-cannot-be-formed.patch + 0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch + 0006-coroapi-Use-size_t-for-private_data_size.patch + +------------------------------------------------------------------- +Tue Jun 6 16:57:05 UTC 2017 - bliu@suse.com +[patch-lost-in-sle] Missing issues in openSUSE:Factory/corosync(bsc#1041587) + add change log for upgrading corosync to v2.3.6 and make this change log contain all records in SLE12 SP3 + make the format consistent + +------------------------------------------------------------------- +Tue May 16 03:05:05 UTC 2017 - bliu@suse.com + +- totemrrp: Fix situation when all rings are faulty(bsc#1039215) +Added: + 0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch + +------------------------------------------------------------------- +Tue May 9 04:17:35 UTC 2017 - bliu@suse.com + +- calling mlockall before corosync_tty_detach is noop when corosync is executed as a daemon(bsc#1038147) +Added: + 0002-Main-call-mlock-after-fork.patch + +------------------------------------------------------------------- +Mon Apr 10 06:42:51 UTC 2017 - bliu@suse.com + +- [upgrade] Changing the pre-upgrade role for node failed(bsc#1030437) +Added: + 0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch + +Removed: + 0001-totemip.c-Fixed-Evicted-from-CPG-membership.patch + +------------------------------------------------------------------- +Tue Mar 14 07:14:58 UTC 2017 - bliu@suse.com + +- L3-Question: corosync logging priority takes no effect(bsc#1023959) +Added: + 0001-Logsys-Change-logsys-syslog_priority-priority.patch + 0001-logconfig.c-make-logging.syslog_priority-and-logging.patch + +------------------------------------------------------------------- +Tue Dec 6 08:19:09 UTC 2016 - bliu@suse.com + +- Corosync 2.4.1 still produces libvotequorum.so.7.0.0, just like Corosync 2.3.6.(bsc#1013842) +Added: + disable-build-html-docs.patch + +upgrade to corosync-2.4.2: + Man: Fix corosync-qdevice-net-certutil link + man: mention qdevice incompatibilites in votequorum.5 + Qnetd LMS: Fix two partition use case + cfg: Prevents use of uninitialized buffer + +------------------------------------------------------------------- +Mon Oct 17 08:28:33 UTC 2016 - bliu@suse.com + +- upgrade to corosync-2.4.1(bsc#1004967) +Added: + corosync-start-stop-level.patch + +Deleted: + Config-Flag-config-uidgid-entries.patch + cfg-Prevents-use-of-uninitialized-buffer.patch + cts-Make-it-run-with-pacemaker-1.13.patch + get_cluster_mcast_addr-error-is-not-fatal.patch + totemsrp-Addition-of-the-log.patch + +modified: bnc#867767-add-version.patch, change version to 2.4.1 +corosync-2.4.1: + Low: totemsrp: Addition of the log. + cts: Make it run with pacemaker-1.13+ + Config: Flag config uidgid entries + Spec: Qdevice require same version of corosync + +corosync-2.4.0: + qdevice and qnet + config: get_cluster_mcast_addr error is not fatal + some typo fixes +------------------------------------------------------------------- +Thu Oct 15 05:19:36 UTC 2016 - bliu@suse.com + +upgrade corosync-v2.3.5 to corosync-v2.3.6, and backport patches from v2.4.2(FATE#322113, bsc#1020550) +Added: + Config-Flag-config-uidgid-entries.patch + cfg-Prevents-use-of-uninitialized-buffer.patch + cts-Make-it-run-with-pacemaker-1.13.patch + get_cluster_mcast_addr-error-is-not-fatal.patch + totemsrp-Addition-of-the-log.patch + +Removed: + corosync-cts-api-error.patch + +v2.3.6 +- logconfig: Fix logging reload disabling logfiles +- wd: Warn if values are out of range +- parser: WD Read type correctly from corosync.conf +- Add some more RO keys +- Reapply config defaults corosync.conf reload +- schedwrk: Cleanup and make it work on PPC BE +- cmapctl: Handle corosync errors in print_key func +- Adds doxygen stubs to include directory +- Add clang-format configuration file +- wd: make watchdog device configurable +- logging: Use our own version of basename +- logsys: fix TOTEM logging when corosync built out of tree +- parser: Make config file parser more hierarchy +- totemconfig: Explicitly pass IP version +- cpg: Handle ipc error in cpg_zcb_alloc/free +- cpg: Memory not unmapped in cpg_zcb_free +- totempg: Fix memory leak +- Fix spelling errors +- Add section in manual title for cpg_zcb_free 3 +- Add section in manual title for cpg_zcb_alloc 3 +- Update corosync.spec source link +- Update gitignore files +- Remove all links to old ML +- totemsrp: Fix clang warning (tautological compare) +- configure.ac: Make location of .pc overrideable +- Remove a few unused variables and functions +- configure.ac: We don't need no C++ compiler +- configure.ac: Remove deprecated AC_PROG_LIBTOOL +- configure.ac: make foreign apply to all Makefiles +- Remove unused, obsolete check +- Fix detection of qb_log_thread_priority_set +- cpghum: Fix type of recv_crc +- Check for fdatasync +- Fix detection of warning flags for clang +- quorum: Display node id as unsigned int. +- cts: InitClusterManager is now BootCluster +- totemudp: Move udp bind() so that multicast works with IPv6 +- cfgtool: Display nodeid as unsigned int +- votequorum: Don't send multiple callbacks when nodes join +- man: Add synopsis for cpg_zcb_alloc and free +- man html index: Update index +- votequorum: Make sure cs_error_t is defined +- Doxygen fix for cmap_iter_next() +- configure: Correct help entry for logdir +- totmesrp: Fix typo in log message +- configure: typo in include +- man page: Correct option letter for DBus +- wd: fix setting of watchdog timeouts +- CFG: Prevent CFG orignating messages during SYNC + +------------------------------------------------------------------- +Tue Sep 27 07:33:09 UTC 2016 - bliu@suse.com + +- Default token timeout was 5000 ms in SLE 11 SP4, but is 1000 ms in SLE 12(bsc#1001164) + Added: bsc#1001164-corosync.conf-example.patch + +------------------------------------------------------------------- +Wed Sep 7 07:35:12 UTC 2016 - bliu@suse.com + +- Fix: [s390]Upgrade from SP1-GM + HA to SP2-RC2 +: Failed to start Corosync Cluster engine(bsc#996230) +- modify corosync.spec to remove "chkconfig --add" +- remove corosync-devel and require lines from baselibs.conf + +------------------------------------------------------------------- +Thu Jul 14 07:59:03 UTC 2016 - bliu@suse.com +- corosync process still exists when stop pacemaker service(bnc#988683) + +------------------------------------------------------------------- +Mon Aug 17 15:09:13 UTC 2015 - bliu@suse.com +- remove git files from tarball(bnc#941910) +- modify corosync.spec to delete logrotate.d + +------------------------------------------------------------------- +Wed Jul 21 15:12:26 UTC 2015 - bliu@suse.com + +update from v2.3.3 to v2.3.5 (bnc#939328) +v2.3.5 +- Log: Add logrotate configuration file +- totemsrp: Improve logging of left/down nodes +- totemconfig: Check for duplicate nodeids +- Really add cpghum +- cpg: Add support for messages larger than 1Mb +- Handle adding and removing UDPU members atomically + +- add patches: + * corosync-cts-api-error.patch + * bnc#867767-add-version.patch + +------------------------------------------------------------------- +Wed Jul 1 17:30:22 UTC 2015 - bliu@suse.com + +- mv the place of corosync.conf.example*(fate#318190) + +------------------------------------------------------------------- +Wed Nov 19 22:24:13 UTC 2014 - dimstar@opensuse.org + +- Replace systemd BuildRequires with pkgconfig(systemd): we do not + require the full installation / dep chain of systemd. + +------------------------------------------------------------------- +Mon Nov 17 04:01:00 UTC 2014 - Led + +- fix bashisms in mem_leak_test.sh script +- add patches: + * corosync-2.3.4-fix-bashisms.patch + +------------------------------------------------------------------- +Mon Nov 17 04:00:00 UTC 2014 - Led + +- fix bashism in preun script + +------------------------------------------------------------------- +Mon Sep 1 08:01:50 UTC 2014 - xli@suse.com + +- Update to corosync 2.3.4 +- Drop the obsoleted patches + - corosync-cts-api-error.patch + - bnc#867767-add-version.patch + - bnc#881142-fix-shm-leak.patch +- quorumtool: Sort output by nodeid +- YKD: Fix loading of YKD quorum module +- corosync-quorumtool: add sort options +- cleanup after test-driver +- be consistent in using CPPFLAGS vs CFLAGS +- totemsrp: Fix typo with cont gather +- cpg: Refactor mh_req_exec_cpg_procleave +- cpg: Make sure nodid is always logged as hex num +- cpg: Make sure left nodes are really removed +- mon: Make mon compilable with libstatgrab ver 0.9 +- mon: Fix comparsion typo +- mon: Pass correct pointer to inst +- mon: Make monitoring work +- config: Handle totem_set_volatile_defaults errors +- config: Allow dynamic change of token_coefficient +- Log: Make reload of logging work +- Really clear totemconfig nodes on reload +- Add token_coefficient option +- init: Make init script configurable +- totemiba: Fix incorrect failed log message +- logsys: Log error if blackbox cannot be created +- logsys: Log warning if flightrecorder init fails +- Introduce get_run_dir function +- Move ringid store and load from totem library +- coroparse: More strict numbers parsing +- Doc: Enhance INSTALL file a bit +- Make config.reload_in_progress key read only +- Fix compiler warning introduced by previous patch +- totemconfig: Free ifaddrs list +- totemconfig: Make sure join timeout is less than consensus +- totemconfig: Key change process dependencies +- totemconfig: Log errors on key change and reload +- totemconfig: totem_config_get_ip_version +- totemconfig: refactor nodelist_to_interface func +- corosync-keygen: Replace printf/exit call with err +- votequorum: Add cmap key to reset wait_for_all +- votequorum: Return current ring id in callback +- votequorum: Add ring id to poll call +- votequorum: Do not process events during reload +- votequorum: Block sync until qdevice poll +- votequorum: Make qdev timeout in sync configurable +- votequorum: Properly initialize atb and atb_string +- ipc: Process votequorum messages during sync +- testvotequorum2: Opt for polling with old ringid +- TODO: Remove TODO file +- Makefile: Do not install TODO file +- totem: Inform RRP about membership changes +- totemnet: Add totemnet_member_set_active +- totemrrp: Implement *_membership_changed +- totemudpu: Implement member_set_active +- totemudpu: Send msgs to all members occasionally +- Cancel token holding while in retransmition +- upstart: Make job conf file configurable +- systemd: Config example for corosync wd service +- Install doc: Correct a typo +- init: change return value when starting corosync +- Free object allocated at quorum_register_callback +- corosync-cmapctl: Allow -p option to delete keys +- Implement config file testing mode +- Slightly rework corosync-keygen. +- totemiba: Add multicast recovery +- Indent: Remove space in negation of expression +- Indent: Remove newline before else branch start +- fix memory leak produced by 'corosync -v' +- Handle SIGSEGV and SIGABRT signals + +------------------------------------------------------------------- +Thu Jul 3 05:07:13 UTC 2014 - lzhong@suse.com + +- comment out line: to_logfile:no (bnc#882449) + work on patch bnc#882449-corosync-conf-example.patch + +------------------------------------------------------------------- +Wed Jul 2 05:48:47 UTC 2014 - yzou@suse.com + +- Fixed shared memory leak. + + bnc#881142-fix-shm-leak.patch + +------------------------------------------------------------------- +Fri Jun 13 03:13:13 UTC 2014 - lzhong@suse.com + +- Update corosync.conf.example and corosync.conf.example.udpu(bnc#882449) + - remove corosync-conf-example.patch + + add bnc#882449-corosync-conf-example.patch + +------------------------------------------------------------------- +Fri Apr 11 06:50:17 UTC 2014 - lzhong@suse.com + +- Fix `systemctl stop pacemaker` leaves corosync running + + bnc#872651-stop-cluster.patch +- Ensure that libopenais3 is removed on update of corosync(bnc#872122) + +------------------------------------------------------------------- +Wed Mar 12 08:41:21 UTC 2014 - lzhong@suse.com + +- Modify spec file:add symlink rccorosync to /usr/sbin/service (bnc#866057) +- Fix corosync -v show UNKNOW (bnc#867767) + + bnc#867767-add-version.patch + +------------------------------------------------------------------- +Tue Jan 21 07:48:22 UTC 2014 - xli@suse.com + +- Update to corosync 2.3.3 +- Properly check result of symlink +- Fix cppchecks warning +- Close devnull file handler +- votequorum: Add missing man pages +- totem: Drop invalid join msg in operational state +- systemd unit: Make sure network is really up +- votequorum: Improve/add documentation for quorum device API +- votequorum: Add persistent expected_votes tracking. +- Upstream version cs: 45dd9861ff78362068d214cf520006a1b26376cd + +------------------------------------------------------------------- +Thu Jan 9 09:14:50 UTC 2014 - xli@suse.com + +- Add patch to fix cts api wrong issue + + corosync-cts-api-error.patch +- Add patch to change default settings of conf.example + + corosync-conf-example.patch + +------------------------------------------------------------------- +Thu Dec 12 06:35:17 UTC 2013 - xli@suse.com + +- Update to corosync 2.3.2 +- cfgtool: return error on reload failure +- man pages: Note that votequorum's allow_downscale is unsupported +- logsys: Make logging of totem work again +- totemsrp: Show English message when memb_state_gather_enter is called +- totemiba: Check if configured MTU is allowed by HW +- totemiba: Fix parameters position for poll_add +- totemiba: Del channel fd from poll before destroy +- totemiba: Properly allocate RDMA buffers +- Upstream version cs: 7014f10123a634cf026491edc9a09d6044106116 + +------------------------------------------------------------------- +Fri Nov 29 21:49:07 UTC 2013 - lmb@suse.com + +- Obsolete openais so that updates work automatically and uninstall the + openais package. + +------------------------------------------------------------------- +Fri Sep 13 03:26:31 UTC 2013 - xli@suse.com + +- Upstream version cs: c6688c6e11a35d13293f9b610faca5c7beb7e5cb +- Reload: document config.reload_in_progress in man page +- Reload: Add atomic reload to log config +- Reload: Add atomic reload to totemconfig +- Reload: Add reload code to cfg +- Reload: Make coroparse use a designated icmap hash table +- icmap: Add func to test equality of two key values +- [PATCH] Replace freopen with open/dup2 when daemonizing +- Add log message to exit signal handler +- icmap: Add map copy function +- icmap: Add function to return item data pointer +- icmap: Fix value len checking for strings +- icmap: Add function to return global icmap +- icmap: Allow multiple icmap instances +- Fix scheduler pause-detection timeout + +------------------------------------------------------------------- +Fri Sep 6 05:47:16 UTC 2013 - xli@suse.com + +- Update corosync-2.3.1.tar.gz for cts file missing + +------------------------------------------------------------------- +Thu Jul 25 02:17:50 UTC 2013 - xli@suse.com + +- Fix corosync start failed issue + + corosync-init-lockfile-path-error.patch + +------------------------------------------------------------------- +Tue Jul 23 09:44:07 UTC 2013 - xli@suse.com + +- Update to corosync 2.3.1 stable release +- Remove patches for all merged in the upstream or obsoleted + - corosync-confexample-timestamp.patch + - corosync-cpg-procdown.patch + - corosync-revert-cs2429.patch + - corosync.conf.example.patch + - corosync_reduce_RR_priority.patch + - fix-nodeid-conflicting.patch + +------------------------------------------------------------------- +Fri May 10 13:18:25 UTC 2013 - tserong@suse.com + +- Update to corosync 1.4.5 stable release (bnc#799031) +- coroipc: Handle pfd.revents as bit-field +- Check socket_recv error code in ipc_dispatch_get +- On places with POLLERR check also POLLNVAL +- coroipc: Don't spin when waiting on semaphore +- log: Handle race in printf_to_logs and format_set +- objdb: Don't read uninitialized memory in inc/dec +- Add waiting_trans_ack also to fragmentation layer +- Handle segfault in backlog_get +- Fix problem with sync operations under very rare circumstances +- manpages: Add confdb_key_get man page +- manpages: Add links for referenced confdb calls +- manpages: Fix typo in evs* manpages +- If failed_to_recv is set, consensus can be empty +- Ignore sync barrier msgs if sync doesn't started +- Make service_build contain correct number of msgs +- Handle sync and service unload correctly +- Don't call sync_* funcs for unloaded services +- Return back "Totem is unable to form..." message +- Move "Totem is unable to form..." message to main +- Use unix socket for local multicast loop +- cpg: Enhance downlist selection algorithm +- cpg: Process join list after downlists +- cpg: Never choose downlist with localnode +- Fix cpg_membership_get() +- Don't access invalid mem in totemconfig +- Move some totem and cpg messages to trace level +- flatiron: Free outq items list on conn exit +- Fix nodeid conflicting issue (bnc#806634) + + Added fix-nodeid-conflicting.patch +- change the default priority to RR(1) same as pacemaker(bnc#804707) + + Added corosync_reduce_RR_priority.patch + +------------------------------------------------------------------- +Thu Mar 21 11:59:58 UTC 2013 - mmeister@suse.com + +- Added url as source. + Please see http://en.opensuse.org/SourceUrls + +------------------------------------------------------------------- +Fri Jun 8 07:46:10 UTC 2012 - tserong@suse.com + +- Update to corosync 1.4.3 stable release. +- Add calls to missing object_find_destroy() to fix mem leaks +- Free mem allocated by getaddrinfo +- corosync.conf.example: change bindnetaddr, mcastaddr, add comments +- Store error str if can't open logfile +- Wait for corosync-notifyd exit in init script +- iba: Use configured node id +- Unlink shm buffers if init fails +- Fix memory leaks when nss fails +- Madvise NOSYNC flag only if available +- Include net/if_var.h header only when needed +- Include stdint.h because funcs uses int16_t +- Use install instead of cp +- Don't unlock mutex in different threads +- Revert "Use install instead of cp" +- Add support for per OS CP flags +- Remove cloned lines in main of main.c +- Fixed bug when corosync receive JoinMSG in OPERATIONAL state +- Correct nodeid of token when we retransmit it +- Correct nodeid in memb_state_commit_token_send function + +------------------------------------------------------------------- +Sun Feb 5 11:44:40 UTC 2012 - jjzhang@suse.com + +- Send CPG_REASON_PROCDOWN when really needed (bnc#740343) + +------------------------------------------------------------------- +Tue Sep 20 13:15:22 UTC 2011 - tserong@suse.com + +- Changes since corosync 1.4.1 stable release: +* Resolve a deadlock between the timer and serialize locks. +* totemconfig: change minimum RRP threshold +* Ignore memb_join messages during flush operations +* rrp: Higher threshold in passive mode for mcast (bnc#712037) +* rrp: Handle endless loop if all ifaces are faulty (bnc#712037) +* A CPG client can sometimes lockup if the local node is in the downlist +* Handle errors from totem_mcast +* coroipcc: use malloc for path in service_connect +* Version cs: 23112099e1c2b620e6976ca099d2b9afc80721aa +- corosync 1.4.1 stable release: +* main: let poll really stop before totempg_finalize +* totemsrp: fix buffer overflows for large clusters (> 100 nodes) +* rrp: Handle rollower in passive rrp properly +* rrp: handle rollover in active rrp properly +* totemconfig: Change default FAIL_TO_RECV_CONST +* Fix problem where corosync will segfault if there are gaps in recovery + queue +* cpgtool/cfgtool: print list of IP with space between items +* RRP: redundant ring automatic recovery (fate#310284) +* fix typos in cpg_mcast_joined.3 and cpg_zcb_mcast_joined.3 +* Remove spinlocks +* confdb: Resolve dispatch deadlock +* RRP: Fix ring initialization issue for UDPU mode +* crypto: rng_make_prng prevent buf overflow +* cpg: do_proc_join change list_slice to list_add +* totemudp: memset of proper size +* coroipcs: init buf in coroipcs_handler_dispatch +* iazc: Reduce number of mem alloc and memcpy +* coroipcc: Fix unhandled BSD EOF in coroipcc_dispatch_get() +* cpg: fix sync master selection when one node paused +* totemsrp: Enhance mcast failure detection +* coroipcs: Deny connect to service without initfn +* Add ipc_refcnt to message_handler_req_{exec, lib}_cfg_ringreenable() +- corosync 1.3.1 release: +* corosync crashing when a network becomes disrupted and then restored + (bnc#685241) +* Align IPC on 8 byte boundaries for performance and avoid bus errors. +* Provide better checking of the message type. +* totemsrp: free messages originated in recovery rather then rely on + messages_free +* Resolve abort during simulatenous stopping of at least 4 nodes. +* Don't assert when ring id file is less then 8 bytes (possibly after + local fs problems). +* Handle delayed multicast packets that occur with switches. +* CPG: make sure coroipcc_service_disconnect() is always called. +* Fix abort when token is lost in RECOVERY state (bnc#677779) + +------------------------------------------------------------------- +Sat Sep 17 23:53:47 UTC 2011 - jengelh@medozas.de + +- Remove redundant tags/sections from specfile +- Add baselibs configuration + +------------------------------------------------------------------- +Tue Feb 8 13:03:11 UTC 2011 - tserong@novell.com + +- Update to corosync 1.3.0 +- Set the max buffer size for sockets to reduce message dropping +- diags: add a mechanism to trigger the writing the flight data +- Add the UDPU transport (UDP transport for corosync) +- Remove delay in library on corosync shutdown +- Check for a properly configured multicast address. +- cpg: fix sync'ing the downlist. +- POLL: gracefully handle running out of file descriptors. +- Return CS_ERR_NO_RESOURCES when the server is low on available file + descriptors. +- Remove checking of subparameters in service.d files. +- Only allow corosync to run one copy via a lock file. +- When used with the openais ckpt service, don't disconnect an ipc + connection during configuration change that takes longer then 2 + seconds. +- Remove the token cancel retransmit timeout on receipt of a multicast + message. + +------------------------------------------------------------------- +Thu Aug 5 04:55:08 UTC 2010 - tserong@novell.com + +- Update to corosync 1.2.7 + - Remove consensus check for two node cluster cases which can have smaller + consensus values. Document in man page the behavior of consensus. + +------------------------------------------------------------------- +Tue Jul 27 11:48:21 UTC 2010 - tserong@novell.com + +- Fix problem where flow control could lock up ipc under very heavy load in + very rare circumstances (upstream cs 3003) +- SYNC: always call sync_aborted() in sync_confchg_fn() (upstream cs 3000) +- SYNCV2: reset the my_memb_determine_ring_id in sync_v2_memb_list_abort() + (upstream cs 2999) +- Fix logging_daemon config parser code (rhbz#615203) (upstream cs 2998) +- Remove reset of token timeout on retransmitted token reception. Fixes + membership problems with certain timing parametrs (upstream cs 2989) +- Speed up IPC connection process (upstream cs 2987) +- Fix fail list fault that occurs in very rare circumstances (upstream cs 2985) + +------------------------------------------------------------------- +Thu Jul 22 03:31:59 UTC 2010 - tserong@novell.com + +- Update to corosync 1.2.6 + - 80% packet loss networks were resulting in problems with totem. + - Fixed ~40 scanning errors found with coverity. + - cpg_membership_get now functional. + - errors logged prior to the start of the daemon were not flushed. + - Fixes defects in logsys which are crashing pacemaker installations. + - Adds man pages for all binaries + - Fixes several defects found in high packet loss field environments. + - Send proper notification code of CPG_REASON_LEAVE in cpg service. + - Fix segfault when pacemaker forks new processes + - Unlock global serializer lock during shutdown to prevent spinning on + single cpu systems or high cpu use on mulitple cpu systems + - Stop totem statistics updater timer during shutdown to prevent a + segfault during shutdown. + - Fix problem where glibc's fork() implementation may cause segfaults in + Pacemaker's use of the fork() system call. + - Fix problem where a full /dev/shm would result in client segfault - + instead an error is returned in this situation. + - Fix problem where flight recorder leaks files in shared memory + filesystem. Also clean up the error handling of the shared memory + allocation code of the flight recorder. + - Fix problem where a failure in glibc's pathconf API would result in + segfault. + - Add corosync and corosync-blackbox man pages. + +------------------------------------------------------------------- +Fri Jul 9 08:53:55 UTC 2010 - dmuhamedagic@novell.com + +- prevent corosync-cfgtool from hanging (bnc#616183) + +------------------------------------------------------------------- +Wed Jun 2 11:53:28 UTC 2010 - tserong@novell.com + +- Set sensible defaults for Pacemaker in corosync.conf.example (bnc#610663) +- Clarify bindnetaddr option in corosync.conf.5 manpage (upstream cs 2856) + +------------------------------------------------------------------- +Mon May 10 14:59:13 UTC 2010 - dmuhamedagic@novell.com + +- Handle POLLNVAL in coroipcc +- Save the ring id and restore it properly when the recovery operation fails +- increase maximum entries in the retransmit queue when recovery takes place. +- fix one-off error in memove +- discard and report unknown messages + +------------------------------------------------------------------- +Mon Apr 26 14:40:44 UTC 2010 - dmuhamedagic@novell.com + +- fix valgrind reported problems (upstream cs 2787) + - Memset for res_setup variable in coroipcs:req_setup_send + - Two memset in logsys for buffers + - Problem in corosync_totem_stats_updater where + avg_token_holdtime has size of avg_backlog_calc + - corosync_totem_stats_init where avg_backlog_calc is 32 bits (not 64) + - objdb problem if new_valie_len != object->value_len. In + such case newly allocated memory is not initialized and in some + situations, value_len is not updated. +- select a new sync member if the node with the lowest nodeid has + left (upstream cs 2785) +- fix a crash in YKD + +------------------------------------------------------------------- +Fri Apr 9 15:09:11 UTC 2010 - dmuhamedagic@novell.com + +- clear the ring id on sync abort (bnc#590666) +- fix unloading of evs +- change sign of all exit codes (normal error exit is now 1) +- objdb: fix key change notifications (don't notify if the key + wasn't changed; notify on key inc/dec) +- fix possible lockup when a dispatch handler function is NULL +- upstream version cs 2756 + +------------------------------------------------------------------- +Mon Mar 29 14:15:43 UTC 2010 - dmuhamedagic@novell.com + +- fix lockup that occurs sometimes before exiting +- fix problem where retransmissions don't occur resulting in failure + to receive condition +- add a reload callback to libconfdb +- support for lib_cpg_finalize +- cpg join with undelivered leave message (fixes problems with nodes + joining cpg twice in quick succession) +- fix error handling to avoid segfaults/leaks on error + in coroipcc_service_connect +- upstream release 1.2.1 + +------------------------------------------------------------------- +Thu Mar 4 18:43:07 UTC 2010 - dmuhamedagic@novell.com + +- retain nodeid compatibility with openais (revert patch from cs 2429) + +------------------------------------------------------------------- +Wed Mar 3 16:41:12 CST 2010 - jjzhang@novell.com + +- minor enhancement to corosync.conf man page (bnc#580180) + +------------------------------------------------------------------- +Tue Mar 2 22:01:26 UTC 2010 - dmuhamedagic@novell.com + +- upstream version cs 2667 +- allow empty (default) consensus timeout +- fix freeze of IPC library connection on sem_wait +- fix malloc deadlock in signal handler (rhbz#547511) +- fix coroipcs message corruption that occurs when a message fills the + remainder of the dispatch buffer with a full message +- totemsrp: fix transitional configuration changes with long token timeouts +- remove a double list_del() when a tracking CFG client shuts down without + calling cfg_track_stop (it caused corosync to crash) +- use nodeid instead of localhost ip for the case when binding to a loalhost + interface +- fix corosync shutdown process +- add augeas lense for corosync.conf +- patch to set unset value in token hold cancel structure as to not crash + wireshark +- convert unsafe function to thread-safe reentrant equivalents + +------------------------------------------------------------------- +Mon Feb 22 15:53:00 UTC 2010 - dmuhamedagic@novell.com + +- SP1 beta5 (no code changes) + +------------------------------------------------------------------- +Mon Feb 8 14:53:31 UTC 2010 - dmuhamedagic@novell.com + +- turn timestamp off in corosync.conf.example (there was a problem + reported in connection with not thread-safe glibc functions used + in concert with this option, which hasn't yet been resolved) + +------------------------------------------------------------------- +Wed Jan 27 13:44:58 UTC 2010 - dmuhamedagic@novell.com + +- add cs2646 patch from upstream, fixes cs2642 +- add patch to accept on/off for the various log directives (bnc#573451) + +------------------------------------------------------------------- +Thu Jan 21 14:21:44 UTC 2010 - dmuhamedagic@novell.com + +- %pre script moved to openais + +------------------------------------------------------------------- +Mon Jan 18 16:36:24 UTC 2010 - dmuhamedagic@novell.com + +- remove init script +- add %pre script to copy openais.conf and authkey to /etc/corosync +- add patch 2642 (parser fix) +- fix some obsoletes/requires + +------------------------------------------------------------------- +Mon Jan 11 16:08:35 UTC 2010 - lmb@novell.com + +- Update to corosync 1.2.0. + +------------------------------------------------------------------- +Tue Dec 29 10:23:21 UTC 2009 - dmuhamedagic@novell.com + +- init script changes: + + replace killall with checkproc, otherwise corosync can't stop + + test if sbd/lrmadmin exist, because corosync has no dependency + on cluster-glue + +------------------------------------------------------------------- +Tue Dec 15 15:27:37 UTC 2009 - dmuhamedagic@novell.com + +- update to the corosync upstream release 1.2.0 +- add suse init script +- don't create rccorosync, because users should be using + rcopenais to start a cluster +- rename corosynclib to libcorosync4 (similar for the devel package) + (http://en.opensuse.org/Shared_Library_Packaging_Policy) +- Autotools generated version from the released upstream version 1.2.0 +- some specfile changes (initddir -> initrddir, header) diff --git a/corosync.spec b/corosync.spec new file mode 100644 index 0000000..a0bd533 --- /dev/null +++ b/corosync.spec @@ -0,0 +1,361 @@ +# +# spec file for package corosync +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%if ! %{defined _fillupdir} + %define _fillupdir /var/adm/fillup-templates +%endif + +# Conditionals +# Invoke "rpmbuild --without " or "rpmbuild --with " +# to disable or enable specific features +%bcond_with watchdog +%bcond_with monitoring +%bcond_with snmp +%bcond_with nozzle +%bcond_with dbus +%bcond_with xmlconf +%bcond_with vqsim +%bcond_without runautogen +%bcond_without systemd +%bcond_with userflags + +%global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}} +%global gittarver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}} + +%if 0%{?sles_version} == 12 +%ifnarch s390 s390x +%define buildib 1 +%endif +%endif +%if 0%{?suse_version} +%define _libexecdir %{_libdir} +%endif + +Name: corosync +Summary: The Corosync Cluster Engine and Application Programming Interfaces +License: BSD-3-Clause +Group: Productivity/Clustering/HA +Version: 3.1.8 +Release: 0 +URL: http://corosync.github.io/corosync/ +Source0: https://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz +Patch0: 0001-harden-services-with-systemd-sandboxing.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-build +# provide openais on purpose, the package has been deleted. + +# Runtime bits +# The automatic dependency overridden in favor of explicit version lock +Requires: %{name}-libs = %{version}-%{release} + +# Support crypto reload +Requires: libknet1 >= 1.28 +# NSS crypto plugin should be always installed +Requires: libknet1-crypto-nss-plugin >= 1.28 + +# Build bits +BuildRequires: gcc + +BuildRequires: groff-full +BuildRequires: libknet-devel >= 1.28 +BuildRequires: libqb-devel +BuildRequires: zlib-devel +%if %{with runautogen} +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +%endif +%if %{with monitoring} +BuildRequires: libstatgrab-devel +%endif +%if %{with snmp} +BuildRequires: net-snmp-devel +%endif +%if %{with dbus} +BuildRequires: dbus-1-devel +%endif +%if %{with nozzle} +BuildRequires: libnozzle-devel +%endif +%if %{with systemd} +BuildRequires: systemd-devel +BuildRequires: pkgconfig(systemd) +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%endif +%if %{with xmlconf} +Requires: libxslt +%endif +%if %{with vqsim} +BuildRequires: readline-devel +%endif +Obsoletes: libcfg6 +Obsoletes: libcmap4 +Obsoletes: libcorosync_common4 +Obsoletes: libcpg4 +Obsoletes: libquorum5 +Obsoletes: libsam4 +Obsoletes: libtotem_pg5 +Obsoletes: libvotequorum8 + +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%prep +%autosetup -p1 -n %{name}-%{version} + +rm -f .git* +echo %{version} > .tarball-version +echo %{version} > .version + +%build +%if %{with runautogen} +./autogen.sh +%endif + +%{configure} \ +%if %{with watchdog} + --enable-watchdog \ +%endif +%if %{with monitoring} + --enable-monitoring \ +%endif +%if %{with snmp} + --enable-snmp \ +%endif +%if %{with dbus} + --enable-dbus \ +%endif +%if %{with systemd} + --enable-systemd \ +%endif +%if %{with xmlconf} + --enable-xmlconf \ +%endif +%if %{with nozzle} + --enable-nozzle \ +%endif +%if %{with vqsim} + --enable-vqsim \ +%endif +%if %{with userflags} + --enable-user-flags \ +%endif + --with-initddir=%{_initrddir} \ + --with-systemddir=%{_unitdir} + +make %{_smp_mflags} + +%install +%make_install + +%if %{with dbus} +mkdir -p -m 0700 %{buildroot}/%{_sysconfdir}/dbus-1/system.d +install -m 644 %{_builddir}/%{name}-%{version}/conf/corosync-signals.conf %{buildroot}/%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf +%endif +%if %{with systemd} +ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccorosync +ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccorosync-notifyd +%endif + +## tree fixup +# drop static libs +rm -f %{buildroot}%{_libdir}/*.a +rm -f %{buildroot}%{_libdir}/*.la +# drop docs and html docs for now +rm -rf %{buildroot}%{_docdir}/* +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +mkdir -p %{buildroot}/usr/share/doc/packages/corosync/ +mkdir -p %{buildroot}%{_fillupdir}/ +mkdir -p %{buildroot}%{_sysconfdir}/init.d/ +# /etc/sysconfig/corosync-notifyd +install -m 644 tools/corosync-notifyd.sysconfig.example \ + %{buildroot}%{_fillupdir}/sysconfig.corosync-notifyd +install -m 0644 conf/corosync.conf.example* %{buildroot}/usr/share/doc/packages/corosync/ +mkdir -p %{buildroot}/usr/lib/corosync +rm -rf %{buildroot}/etc/corosync/corosync.conf.example* +rm -rf %{buildroot}/etc/logrotate.d/ +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +install -m 644 init/corosync.sysconfig.example \ + %{buildroot}%{_fillupdir}/sysconfig.corosync +rm -rf %{buildroot}%{localstatedir}/run/ + +%description +This package contains the Corosync Cluster Engine Executive, several default +APIs and libraries, default configuration files, and an init script. + +%pre +%service_add_pre corosync.service corosync-notifyd.service + +%post +%{fillup_and_insserv -n corosync} +%{fillup_and_insserv -n corosync-notifyd} +%service_add_post corosync.service corosync-notifyd.service + +rm -rf %{_sysconfdir}/corosync/corosync.conf.example %{_sysconfdir}/corosync/corosync.conf.example.unicast +ln -s /usr/share/doc/packages/corosync/corosync.conf.example %{_sysconfdir}/corosync/ + +%preun +%service_del_preun corosync.service corosync-notifyd.service + +%postun +if [ -f /etc/sysconfig/corosync ]; then + rm /etc/sysconfig/corosync +fi + +%files +%defattr(-,root,root,-) +%doc LICENSE +%{_sbindir}/corosync +%{_sbindir}/corosync-keygen +%{_sbindir}/corosync-cmapctl +%{_sbindir}/corosync-cfgtool +%{_sbindir}/corosync-cpgtool +%{_sbindir}/corosync-quorumtool +%{_sbindir}/corosync-notifyd +%if %{with systemd} +%{_sbindir}/rccorosync +%{_sbindir}/rccorosync-notifyd +%endif +%{_bindir}/corosync-blackbox +%if %{with xmlconf} +%{_bindir}/corosync-xmlproc +%dir %{_datadir}/corosync +%config(noreplace) %{_sysconfdir}/corosync/corosync.xml.example +%{_datadir}/corosync/xml2conf.xsl +%{_mandir}/man8/corosync-xmlproc.8* +%{_mandir}/man5/corosync.xml.5* +%endif +%dir %{_sysconfdir}/corosync +%dir %{_sysconfdir}/corosync/uidgid.d +%dir %{_datadir}/doc/corosync/ +%dir /usr/lib/corosync/ +%config(noreplace) /usr/share/doc/packages/corosync/corosync.conf.example +%config(noreplace) %{_fillupdir}/sysconfig.corosync-notifyd +%config(noreplace) %{_fillupdir}/sysconfig.corosync + +%if %{with dbus} +%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf +%endif +%if %{with snmp} +%{_datadir}/snmp/mibs/COROSYNC-MIB.txt +%endif +%if %{with systemd} +%{_unitdir}/corosync.service +%{_unitdir}/corosync-notifyd.service +%else +%dir %{_datadir}/corosync +%{_datadir}/corosync/corosync +%{_datadir}/corosync/corosync-notifyd +%endif +%dir %{_localstatedir}/lib/corosync +%dir %{_localstatedir}/log/cluster +%{_mandir}/man7/corosync_overview.7* +%{_mandir}/man8/corosync.8* +%{_mandir}/man8/corosync-blackbox.8* +%{_mandir}/man8/corosync-cmapctl.8* +%{_mandir}/man8/corosync-keygen.8* +%{_mandir}/man8/corosync-cfgtool.8* +%{_mandir}/man8/corosync-cpgtool.8* +%{_mandir}/man8/corosync-notifyd.8* +%{_mandir}/man8/corosync-quorumtool.8* +%{_mandir}/man5/corosync.conf.5* +%{_mandir}/man5/votequorum.5* +%{_mandir}/man7/cmap_keys.7* +%{_datadir}/doc/corosync/* + +#library +# +%package libs +Summary: The corosync Cluster Engine Libraries + +%description libs +This package contains corosync libraries. + +%files libs +%doc LICENSE +%{_libdir}/libcfg.so.* +%{_libdir}/libcpg.so.* +%{_libdir}/libcmap.so.* +%{_libdir}/libquorum.so.* +%{_libdir}/libvotequorum.so.* +%{_libdir}/libsam.so.* +%{_libdir}/libcorosync_common.so.* + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%package devel +Summary: The Corosync Cluster Engine Development Kit +Group: Development/Libraries/C and C++ +Requires: %{name}-libs = %{version}-%{release} +Requires: pkgconfig +Provides: %{name}-devel = %{version} + +%description devel +This package contains include files and man pages used to develop using +The Corosync Cluster Engine APIs. + +%files devel +%defattr(-,root,root,-) +%doc LICENSE +%dir %{_includedir}/corosync/ +%{_includedir}/corosync/corodefs.h +%{_includedir}/corosync/cfg.h +%{_includedir}/corosync/cmap.h +%{_includedir}/corosync/corotypes.h +%{_includedir}/corosync/cpg.h +%{_includedir}/corosync/hdb.h +%{_includedir}/corosync/sam.h +%{_includedir}/corosync/quorum.h +%{_includedir}/corosync/votequorum.h +%{_libdir}/libcfg.so +%{_libdir}/libcpg.so +%{_libdir}/libcmap.so +%{_libdir}/libquorum.so +%{_libdir}/libvotequorum.so +%{_libdir}/libsam.so +%{_libdir}/libcorosync_common.so +%{_libdir}/pkgconfig/*.pc +%{_mandir}/man3/cpg_*3* +%{_mandir}/man3/quorum_*3* +%{_mandir}/man3/votequorum_*3* +%{_mandir}/man3/sam_*3* +%{_mandir}/man3/cmap_*3* + +%if %{with vqsim} +%package vqsim +Summary: The Corosync Cluster Engine - Votequorum Simulator +Requires: %{name}-libs = %{version}-%{release} +Requires: pkgconfig + +%description vqsim +A command-line simulator for the corosync votequorum subsystem. +It uses the same code as the corosync quorum system but forks +them into subprocesses to simulate nodes. +Nodes can be added and removed as well as partitioned (to simulate +network splits) + +%files vqsim +%doc LICENSE +%{_bindir}/corosync-vqsim +%{_mandir}/man8/corosync-vqsim.8* +%endif + +%changelog