From cd2336807013b453449b66585e959837abfb666d9447dd2ef723de3623c68aac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 15:32:05 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main libqb revision 9d3bf59f35ba12c83397b6490fe367aa --- .gitattributes | 23 ++ _service | 24 ++ _servicedata | 8 + baselibs.conf | 4 + libqb-2.0.8+20230721.002171b.tar.xz | 3 + libqb.changes | 605 ++++++++++++++++++++++++++++ libqb.spec | 159 ++++++++ 7 files changed, 826 insertions(+) create mode 100644 .gitattributes create mode 100644 _service create mode 100644 _servicedata create mode 100644 baselibs.conf create mode 100644 libqb-2.0.8+20230721.002171b.tar.xz create mode 100644 libqb.changes create mode 100644 libqb.spec 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/_service b/_service new file mode 100644 index 0000000..c5609cc --- /dev/null +++ b/_service @@ -0,0 +1,24 @@ + + + git + https://github.com/ClusterLabs/libqb.git + yes + .git + + 2.0.8+%cd.%h + v2.0.8 + enable + + + + libqb*.tar + xz + + + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..0c1ebeb --- /dev/null +++ b/_servicedata @@ -0,0 +1,8 @@ + + + git://github.com/ClusterLabs/libqb.git + a2691b96188033b5ad5c08871982048ae1f4f4e8 + + + https://github.com/ClusterLabs/libqb.git + 002171bbcf4bc4728da56c1538afd9e9d814ecaf \ No newline at end of file diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..dd93121 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,4 @@ +libqb100 +libqb-devel + requires -libqb- + requires "libqb100- = " diff --git a/libqb-2.0.8+20230721.002171b.tar.xz b/libqb-2.0.8+20230721.002171b.tar.xz new file mode 100644 index 0000000..6d8d2c2 --- /dev/null +++ b/libqb-2.0.8+20230721.002171b.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52dd2f67617135b8ae5be4a4ffc4d9a1b4e9cfd45b8e2b1d6c96e9029fc3cf25 +size 191016 diff --git a/libqb.changes b/libqb.changes new file mode 100644 index 0000000..d42d84e --- /dev/null +++ b/libqb.changes @@ -0,0 +1,605 @@ +------------------------------------------------------------------- +Mon Jul 24 09:15:39 UTC 2023 - Yan Gao + +- Update to version 2.0.8+20230721.002171b (v2.0.8): +- log: fix potential overflow with long log messages (gh#ClusterLabs/libqb#490, CVE-2023-39976, bsc#1214066) + +------------------------------------------------------------------- +Mon Jun 19 18:31:05 UTC 2023 - Yan Gao + +- Update to version 2.0.7+20230607.06c8641 (v2.0.7): +- blackbox: fix potential overlow/memory corruption (gh#ClusterLabs/libqb#486) +- tests: allow -j to work (gh#ClusterLabs/libqb#485) +- strlcpy: avoid compiler warning from strncpy (gh#ClusterLabs/libqb#473) +- timer: Move state check to before time check (gh#ClusterLabs/libqb#479) +- ipc: Retry receiving credentials if the the message is short (gh#ClusterLabs/libqb#476, rh#2111711) +- lib: Fix some small bugs spotted by newest covscan (gh#ClusterLabs/libqb#471) +- doxygen2man: Fix function parameter alignment (gh#ClusterLabs/libqb#468) + +------------------------------------------------------------------- +Thu Apr 21 07:50:45 UTC 2022 - Dirk Müller + +- Make sure that the libstat_wrapper.so library is included in the libqb-tests RPM (when built) + +------------------------------------------------------------------- +Wed Mar 23 15:50:36 UTC 2022 - Yan Gao + +- Update to version 2.0.6+20220323.758044b (v2.0.6): +- test: Include ipc_sock.test in the libqb-tests rpm (gh#ClusterLabs/libqb##463) + +------------------------------------------------------------------- +Wed Mar 23 13:44:10 UTC 2022 - Yan Gao + +- Update to version 2.0.5+20220321.ccdaada (v2.0.5): +- blackbox: Sanitize items read from the blackbox header (gh#ClusterLabs/libqb#438) +- ipcc: Fix errno returned from qb_ipcc_connect (gh#ClusterLabs/libqb#460) +- util: reimplement time functions as a series of fallbacks (gh#ClusterLabs/libqb#457) +- util: use HAVE_GETTIMEOFDAY where appropriate + +- Retry if posix_fallocate is interrupted with EINTR (#453) (gh#ClusterLabs/libqb#451, bsc#1193737, bsc#1193912) +- Merge: + * bsc#1193737-0001-Retry-if-posix_fallocate-is-interrupted-with-EINTR-4.patch + +- ipcc: Add an async connect API (gh#ClusterLabs/libqb#450) + +------------------------------------------------------------------- +Fri Jan 14 08:06:10 UTC 2022 - Yan Gao + +- Retry if posix_fallocate is interrupted with EINTR (#453) (gh#ClusterLabs/libqb#451, bsc#1193737, bsc#1193912) + * bsc#1193737-0001-Retry-if-posix_fallocate-is-interrupted-with-EINTR-4.patch + +------------------------------------------------------------------- +Thu Nov 25 15:05:06 UTC 2021 - Dominique Leuenberger + +- Inject package version differently into the build system + (boo#1193087): + + Drop libqb-configure-package-version.patch + + copy the package version into .tarball-version (if it does not + exist and we would happen to use a tarball to build). + +------------------------------------------------------------------- +Tue Nov 16 08:42:20 UTC 2021 - Yan Gao + +- Update to version 2.0.4+20211112.a2691b9 (v2.0.4): +- poll: Don't log in a signal handler (gh#ClusterLabs/libqb##447) +- Fix pthread returns (gh#ClusterLabs/libqb#444) +- doxygen2man: print structure descriptions (gh#ClusterLabs/libqb#443) +- Implement heap based timer list (gh#ClusterLabs/libqb#439) + +------------------------------------------------------------------- +Thu Oct 07 11:39:16 UTC 2021 - Yan Gao + +- Update to version 2.0.3+20210303.404adbc (v2.0.3): +- syslog: Add a message-id parameter for messages (gh#ClusterLabs/libqb#433) +- timers: Add some locking (gh#ClusterLabs/libqb#436) +- ipcc: Have a few goes at tidying up after a dead server (gh#ClusterLabs/libqb#434) +- strlcpy: Check for maxlen underflow (gh#ClusterLabs/libqb#432) +- doxygen2man: fix printing of lines starting with '.' (gh#ClusterLabs/libqb#431) +- doxygen2man: ignore all-whitespace brief descriptions (gh#ClusterLabs/libqb#430) + +------------------------------------------------------------------- +Fri Dec 04 09:35:51 UTC 2020 - Yan Gao + +- Update to version 2.0.2+20201203.def947e (v2.0.2): +- ipcs : Decrease log level. (#426) +- cov: Quieten some covscan warnings (#427) +- doxygen2man: Fix a couple of covscan-detected errors (#425) +- ipcs: Add missing qb_list_del when freeing server (#423) (gh#ClusterLabs/libqb#422) +- ipc: add qb_ipcc_auth_get() API call (#418) +- doxygen2man: Remove horrible hack (#420) (gh#ClusterLabs/libqb#419) +- doxygen2man: Add support for @code blocks (#417) +- man: Tidy man pages (#416) +- doxygen2man: Add option to read copyright line from the header file (#415) (gh#ClusterLabs/libqb#414) + +------------------------------------------------------------------- +Wed Aug 26 10:29:23 UTC 2020 - Yan Gao + +- Update to version 2.0.1+20200729.416caf2 (v2.0.1): +- unix.c: use posix_fallocate() (#409) +- doxygen2man: Tidy RETURN VALUE +- doxygen2man - Print structure descriptions (where available) (#408) +- Make manpages (#405) +- doxygen2man: Fix a couple of the worst coverity errors (#404) +- doxygen2man - Lots of new features & fixes for parsing libqb manpages (#402) +- array: More locking fixes (#400) +- log: Fix threading races (#396) +- Some bugs spotted by coverity (#399) + +------------------------------------------------------------------- +Mon May 04 11:22:11 UTC 2020 - Yan Gao + +- Update to version 2.0.0+20200504.803d924 (v2.0.0): +- log: journal: fix forgotten syslog reload when flipped from journal +- Let remote_tempdir() assume a NUL-terminated name +- Make it impossible to truncate or overflow the connection description +- master: Issue 390: Clarify documentation of qb_loop_timer_expire_time_get and provide new function to return previously documented behavior (#391) (gh#ClusterLabs/libqb#390) + +------------------------------------------------------------------- +Mon May 04 11:20:23 UTC 2020 - Yan Gao + +- Update to version 1.9.1+20200318.93f9975 (v1.9.1): +- Doxygen2man (#388) +- trie: Don't assume that chars are unsigned < 126 (#386) +- list: fix list handling for gcc10 (#383) +- Set correct ownership if qb_ipcs_connection_auth_set() has been used (gh#ClusterLabs/libqb#369, rh#1836146) +- Allow group access to the IPC directory +- Errors are represented as negative values + +------------------------------------------------------------------- +Mon May 04 11:17:51 UTC 2020 - Yan Gao + +- Update to version 1.9.0+20191211.51a03aa (v1.9.0): +- lib: Fix some minor warnings from newer compilers +- ipc: Always initialize response struct +- ringbuffer: fix mistaken errno handling around _rb_chunk_reclaim +- array,log: Never set errno to a negative value +- log: Set errno when qb_log_target_alloc() fails +- ipc: Remove kqueue EOF log message +- ipc: fix force-filesystem-sockets +- IPC: server: avoid temporary channel priority loss, up to deadlock-worth (gh#ClusterLabs/libqb#352, rh#1718773, bsc#1188212) +- ipc: Use mkdtemp for more secure IPC files + +------------------------------------------------------------------- +Wed Jun 19 11:39:27 UTC 2019 - Yan Gao + +- Update to version 1.0.3+20190408.7cd7b06: +- ipc: fixes (CVE-2019-12779, bsc#1137835) +- Merge: + * bsc#1137835-0002-ipc-fixes.patch + +- ipc: use O_EXCL on SHM files, and randomize the names (CVE-2019-12779, bsc#1137835) +- Merge: + * bsc#1137835-0001-ipc-use-O_EXCL-on-SHM-files-and-randomize-the-names.patch + +------------------------------------------------------------------- +Tue Apr 2 16:48:36 UTC 2019 - Jan Engelhardt + +- Drop manual requires from libqb-tests. +- Let libqb-devel depend on the exact package, libqb20 not just + a virtual libqb provide. +- Drop redundant %if..%endif guards that do not affect the build. + +------------------------------------------------------------------- +Tue Apr 2 09:17:01 UTC 2019 - Yan Gao + +- Update to version 1.0.3+20190326.a521604: +- enable building / shipping of libqb-tests.rpm (bsc#1131328) + +------------------------------------------------------------------- +Thu Feb 7 16:48:54 UTC 2019 - ygao@suse.com + +- spec: libqb-tools conflicts with libqb0 <= 1.0.3 + +------------------------------------------------------------------- +Tue Jan 29 16:34:09 UTC 2019 - ygao@suse.com + +- spec: libqb20 provides libqb-%{version}-%{release} +- spec: add missing COPYING in libqb20 package + +------------------------------------------------------------------- +Tue Jan 29 12:21:19 UTC 2019 - Jan Engelhardt + +- Trim filler wording from descriptions. Remove unnecesary + pkgconfig Requires (automatically discovered). +- Split non-library parts of libqb20 into libqb-tools. + +------------------------------------------------------------------- +Thu Jan 24 13:24:10 UTC 2019 - ygao@suse.com + +- Update to version 1.0.3+20190115.c880fcf: +- Add Pthreads (and possibly other) flags to the pkg-config file (#332) +- skiplist: Fix previous skiplist fix + +------------------------------------------------------------------- +Mon Nov 12 16:35:19 UTC 2018 - ygao@suse.com + +- Update to version 1.0.3+20181112.926e851: +- log: Remove more dead code from linker callsites (#331) (bsc#1074327, bsc#1098449) +- Add the option of hi-res (millisecond) timestamps (#329) +- log: Add configure-time option to use systemd journal instead of syslog (#327) +- log: Add option to re-open a log file (#326) +- skiplist: fix use-after-free in the skiplist traversal + +------------------------------------------------------------------- +Mon Oct 1 14:57:23 UTC 2018 - ygao@suse.com + +- Update to version 1.0.3+20180927.633f262: +- logging: Remove linker 'magic' and just use statics for logging callsites (#322) (bsc#1074327, bsc#1098449) +- log: Use RTLD_NOOPEN when checking symbols (#310) +- low customisable log line length (#292) +- ipc_shm: Don't truncate SHM files of an active server (#307) + +------------------------------------------------------------------- +Tue Jan 2 10:08:14 UTC 2018 - ygao@suse.com + +- Update to version 1.0.3+20171226.6d62b64: +- build: fix configure script neglecting, re-enable out-of-tree builds + +------------------------------------------------------------------- +Fri Dec 22 03:45:53 UTC 2017 - ygao@suse.com + +- Update to version 1.0.3 +- warnings cleanup: fix initialiser warning +- warnings cleanup: Wformat: sign-correct PRIu32 specifiers as appropriate +- warnings cleanup: Wsign-compare: log_format: int32_t -> size_t +- warnings cleanup: Wsign-compare: hdb: uint32_t <-> int32_t +- warnings cleanup: Wsign-compare: array: int32_t -> size_t +- warnings cleanup: hdb+loop_timerlist: Wsign-compare: (canary?) variables +- warnings cleanup: Wshift-overflow: trigger arithmetic conv. to unsigned +- Upstream version cs: 28dff090c74b6ba8609c4797294a5afe3fe73987 (v1.0.3) + +------------------------------------------------------------------- +Thu Dec 14 14:26:00 UTC 2017 - ygao@suse.com + +- fix internal object symbol's leak & expose run-time lib version (bsc#1074327) +- bare fix for libqb logging not working with ld.bfd/binutils 2.29+ (bsc#1074327) +- add extra run-time (client, libqb) checks that logging will work (bsc#1074327) +- tests: add a script to generate callsite-heavy logging client... (bsc#1074327) +- tests: new sort of tests dubbed "functional", cover linker vs. logging (bsc#1074327) +- configure: check section boundary symbols present in the test (bsc#1074327) +- qblog.h: better explanation + behaviour of QB_LOG_INIT_DATA (bsc#1074327) +- log: use fdatasync instead of fsync where possible (#263) +- Upstream version cs: c011b12fcaf093f0463901154c475905f51d783a + +------------------------------------------------------------------- +Fri Jul 21 09:46:28 UTC 2017 - ygao@suse.com + +- loop: don't bring runtime down for a trivial API misuse +- Upstream version cs: ef4c3a15ea3d3c5d5f9364269cd02d78a308957b + +------------------------------------------------------------------- +Fri Jul 21 09:24:25 UTC 2017 - ygao@suse.com + +- Update to version 1.0.2 +- Memleak fixes (#194) +- Allow Linux to use filesystem sockets (#248) (fate#323415) +- Upstream version cs: 608de6d59a3de0eef0fbcbd8f284acbc018daa9a (v1.0.2) + +------------------------------------------------------------------- +Mon Mar 6 15:49:36 UTC 2017 - ygao@suse.com + +- loop: Fix splint error +- loop: Also set signals changed in qb_loop_signal_mod() back to SIG_DFL (bsc#1026176) +- loop: don't override external signal handlers (bsc#1026176) +- Upstream version cs: 59eacf07dd92af6917ed351c0c5e51ec5237965c + +------------------------------------------------------------------- +Wed Feb 22 13:08:00 UTC 2017 - jengelh@inai.de + +- RPM group fix; use find -delete over rm. + +------------------------------------------------------------------- +Mon Feb 20 16:50:39 UTC 2017 - ygao@suse.com + +- [ringbuffer] Return error from peek if RB is corrupted. (bsc#1026176) +- build: drop allegedly no longer intrusive syslog-tests opt-in switch +- Upstream version cs: afdff97f1af8e1be916816ad8b6d5530fa7c6637 + +------------------------------------------------------------------- +Mon Feb 20 16:48:52 UTC 2017 - ygao@suse.com + +- version: Update version for 1.0.1 release +- rb: use new qb_rb_close_helper able to resort to file truncating (bsc#1026176) +- rb: make it more robust against trivial IPC API misuses (bsc#1026176) +- log_thread: logt_wthread_lock is vital for logging thread (bsc#1026176) +- log: Don't overwrite valid tags (bsc#1026176) +- ipc_shm: fix superfluous NULL check +- log: Add missing z,j, & t types to the logger (bsc#1026176) +- log: check for appropriate space when serializing a char (bsc#1026176) +- Upstream version cs: 0a329683a76bc6aeb36f20f2bf6b43ba0440c4dc (v1.0.1) + +------------------------------------------------------------------- +Fri Apr 15 12:47:35 UTC 2016 - ygao@suse.com + +- further avoid magic in qblog.h by using named constants +- defs: add wrappers over preprocessor operators +- Upstream version cs: 6f2b3e85d0315288ee76869b99369e2b1f2f1b71 + +------------------------------------------------------------------- +Fri Apr 1 13:35:04 UTC 2016 - ygao@suse.com + +- Update to version 1.0.0 +- build: update library soname to 0.18.0 +- build: enable syslog tests when configuring in spec +- log: allow changing the identifier for syslog (+tests) +- ipc: return -errno when getsockopt/setsockopt fail +- ipc: set socket buffer size used by ipcs service +- ipc: set socket receive buffer +- includes: format __attribute__ func. annotations in qblog.h +- spec cleanup: get rid of redundant %clean section +- ipc: set gid on unix sockets +- lib: store server peer credentials in qb_ipcc_connection +- lib: create mmap files in socket directory +- includes: Fix format string +- ipc: Prevent fd and memory leaks in handle_new_connection() (bsc#947341) + * Drop bug-947341_libqb-ipc-fd-memory-leaks.patch which has been merged upstream + +- Upstream version cs: 6fc24f855bfc8dadb4c84bf823b225680670b1c3 (v1.0) + +------------------------------------------------------------------- +Thu Oct 8 13:18:22 UTC 2015 - ygao@suse.com + +- ipc: Prevent fd and memory leaks in handle_new_connection() (bsc#947341) + * bug-947341_libqb-ipc-fd-memory-leaks.patch + +------------------------------------------------------------------- +Thu Oct 8 13:15:12 UTC 2015 - ygao@suse.com + +- log: don't call dlopen inside dl_iterate_phdr() +- ipc: Don't send the dispatch_del() function a closed fd +- Upstream version cs: 1a7ea3b8d8bf9d5ffbbfdc785ace2b81e9f2356d + +------------------------------------------------------------------- +Thu Aug 27 16:16:14 UTC 2015 - ygao@suse.com + +- Update to version 0.17.2 (bsc#943486) +- ipcc: valgrind "invalid file descriptor" warning +- ipc: Increase the length of description field. +- Upstream version cs: 4d817cc7e0b620acda8cc45266dc085c5bf48c59 + +------------------------------------------------------------------- +Wed Jun 3 13:22:03 UTC 2015 - ygao@suse.com + +- log: Implement "extended" logging using a marker character +- Upstream version cs: 35faa45558b0ae44e3a244fbd3e8f9405d535526 + +------------------------------------------------------------------- +Thu Apr 30 12:30:07 UTC 2015 - ygao@suse.com + +- loop: fixes resource starvation in mainloop code (bsc#929835) +- Upstream version cs: c3bcf25b72bf451c2ef79ec3946a1c48077a50a0 + +------------------------------------------------------------------- +Mon Mar 9 16:10:28 UTC 2015 - ygao@suse.com + +- ipc_setup: yield to scheduler during new connection auth processing +- kqueue: The udata member of the kevent struct is a void * +- Upstream version cs: 83552692aa5425e50049b130eb2e17ea7b31217d + +------------------------------------------------------------------- +Tue Oct 21 10:15:58 UTC 2014 - ygao@suse.com + +- Bump release version to 0.17.1 +- check_ipc.c: improve error checking during ipc stress tests +- ipcs: Correctly allocate receive buffer size +- ipc_socket: Signalhandler must be resetted to Default, use only cleanup_sigpipe to return from qb_ipc_dgram_sock_setup. +- trie: allow modifying the trie map during the notify callback +- Upstream version cs: 3f7de657855bb9fb4e58777851735bf663fa7f3f + +------------------------------------------------------------------- +Mon Jul 28 05:57:43 UTC 2014 - ygao@suse.com + +- log: return filter type enum to preserve abi compatibilty with corosync +- Upstream version cs: e5b8950863b92b314675ba0cbba13f00b8b77c52 + +------------------------------------------------------------------- +Tue Jul 1 09:08:05 UTC 2014 - ygao@suse.com + +- epoll: don't miss poll events under high load +- ipc_shm: fix error handling in qb_ipcs_shm_connect() +- ringbuffer: fix size in qb_rb_create_from_file() +- trie: cleanup ref count logic in trie_notify_del +- ipcs: Cleanup unnecessary reference counting +- Upstream version cs: b103e1ae61f6fc288cfb228344f24508adaaba9a + +------------------------------------------------------------------- +Fri Mar 21 06:36:02 UTC 2014 - ygao@suse.com + +- ipcc: Properly timeout during recv when timeout value is provided +- Upstream version cs: c6f4fcd778248c41e5b108159d00cf1798a296d4 + +------------------------------------------------------------------- +Thu Feb 20 11:37:57 UTC 2014 - ygao@suse.com + +- Bump version to 0.17.0 +- ipc_socket: further optimize max msg size calculations for fbsd portability tests +- ipc_socket: Allow socket max msg size to be calculated more accurately +- Upstream version cs: 78978d07ac2f19a801ebde61379ac55359cc17f3 + +------------------------------------------------------------------- +Sat Feb 8 15:23:07 UTC 2014 - ygao@suse.com + +- ipcs: Prevent ipc server use after free. +- Upstream version cs: 29bbe615b5fe6da17db3d6774df557960ae78bbb + +------------------------------------------------------------------- +Fri Jan 17 13:34:43 UTC 2014 - ygao@suse.com + +- ipc: Remove ipc connection reference given to dispatch functions (bnc#857779) +- ipc: Fixes memory leak in server connection accept when client partially connects (bnc#857779) +- Upstream version cs: d9706f75619976e334a109d0dbfdeac3b1074fe4 + +------------------------------------------------------------------- +Thu Jan 9 15:18:57 UTC 2014 - ygao@suse.com + +- IPC: Increase the listen backlog of IPC server (bnc#857779) +- Upstream version cs: b579f7af151f453a870bbaac037084df13b45ef9 + +------------------------------------------------------------------- +Mon Nov 25 14:30:05 UTC 2013 - ygao@suse.com + +- New api function to retrieve client buffer size +- Enforce buffer size limits on the server side +- Filter logs using regex patter on function, format, or filename +- Upstream version cs: b09473fd4a03b4434efd44408f7ae631a855f9cd + +------------------------------------------------------------------- +Sat Nov 16 13:00:12 UTC 2013 - ygao@suse.com + +- Add libqb-configure-package-version.patch + * Build: Generate PACKAGE_VERSION according to the basename of the top directory + +------------------------------------------------------------------- +Wed Oct 23 15:16:01 UTC 2013 - ygao@suse.com + +- ipc_setup: Set SO_PASSCRED on listener socket +- log: Filtering by function and file must match exactly, no substring matches +- blackbox: Abort blackbox logging on ringbuffer overwrite reclaim error +- ipcs: Api function allowing server to retrieve client connection's ipc buffer size +- ringbuffer: Abort during chunk reclaim if OVERWRITE flag is set and reclaim fails. +- blackbox: unique blackbox ringbuffer files per pid +- ipc_socket: Fixes fd leak in socket ipc client disconnection +- Detect the max signal value that can be used using NSIG macro +- Avoid double-decrement of level->todo +- Upstream version cs: b4c36efff8b91f287da87590911a01184243cf64 + +------------------------------------------------------------------- +Tue Sep 24 11:57:57 UTC 2013 - ygao@suse.com + +- Add baselibs.conf + +------------------------------------------------------------------- +Fri Jul 26 01:19:30 UTC 2013 - ygao@suse.com + +- Bump version to 0.16.0 +- ipc_socket.c: Detect EOF connection on connection STREAM socket +- ipc_socket.c: Handle the unlikely event of an EAGAIN or EINTR during dgram max size detection +- Fixes sem leak +- Fixes less-than-zero comparision of unsigned int +- Fixes double fd close +- Fixes fd leak +- Fixes use ater free in shm disconnect +- Fixes use after free during ipcs client disconnect +- ipcc: Add abilty to verify dgram kernel buffer size meets max msg value +- Upstream version cs: 75f7ed373758b3cb9087e89e4fae17379dd7b483 (v0.16.0) + +------------------------------------------------------------------- +Mon Jul 22 07:38:56 UTC 2013 - ygao@suse.com + +- ringbuffer: Make max_size of ringbuffer accurate so shm ipc max msg size value is honored +- ipcs: For shm ipc, always retry outstanding notifications when next event is sent +- ipc_socket: In fbsd send() returns ENOBUFS when dgram queue is full, this should be treated similar to EAGAIN +- kqueue: Properly enable kqueue filter in poll loop +- ipcs: Attempt to resend outstanding event notifications during event send +- ipcs: Disconnect shm ipc connection when poll socket returns error on msg receive +- ipcs: Properly disconnect client connection on POLLNVAL or any other error causing connection removal from mainloop. +- Upstream version cs: 39e9ef542dc89893c7c5af4fbd539338266e8031 + +------------------------------------------------------------------- +Tue Jul 2 12:02:52 UTC 2013 - coolo@suse.com + +- disable _service services to be acceptable for factory. To + update tar, run osc service dr + +------------------------------------------------------------------- +Tue Jul 2 10:39:34 UTC 2013 - ygao@suse.com + +- Simplify internal ipcs ref counting, add comments and document api behavior +- Simplifies connection ref counting without changing behavior +- Fix: refcount leak +- Fix: ringbuffer: Add file header version field and detect reading corrupted blackbox files using hash value +- fix a problem when the character string beyond the number of the maximum characters is passed +- Add a IPC service context pointer and accessors from both the connection and service level. +- ringbuffer: use atomic ops on ringbuffer chunk magic +- IPC: make each connection ref the owning service +- Indicate when/why qb_rb_force_close() fails to remove share memory files +- Deal better with corrupt blackbox files. +- Upstream version cs: 7c6e109046ec772a97a7fe2cdf61f84fc2155b7e + +------------------------------------------------------------------- +Thu Mar 28 09:42:40 UTC 2013 - ygao@suse.com + +- IPC: fix the connection state checking +- LOG: copy the function/filename for dynamic callsites +- Properly discover SO_NOSIGPIPE and MSG_SIGNAL +- IPC: fix call to QB_SUN_LEN +- list: don't splice empty lists onto the head. +- rpl_sem: make destroy more compliant +- RB: make the "sem" abstraction into a notifier +- Upstream version cs: 258e86583ecd2437161211b9d70bc69229630e7e + +------------------------------------------------------------------- +Mon Feb 25 09:58:21 UTC 2013 - ygao@suse.com + +- Use dgram sockets for message oriented communications +- IPC: don't interpret EMSGSIZE and ENOMSG as a disconnect +- POLL: prevent a spin if the fd is not removed from the mainloop +- Upstream version cs: 31d9f0900db728cfe182799b61b05759a6a26e8b + +------------------------------------------------------------------- +Fri Feb 8 16:56:34 UTC 2013 - ygao@suse.com + +- IPC: make sure we return a consistent error when the message is too big. +- Upstream version cs: 9d2eca251bdd1833889f42f4e60238c4c774906e + +------------------------------------------------------------------- +Fri Jan 18 04:48:19 UTC 2013 - ygao@suse.com + +- Bump the version to 0.14.4 +- LOG: prevent the last char of the blackbox message from getting lost. +- Add the processing which remove notifier at skiplist_destroy function +- Add the processing which remove hash node and notifier at hashtable_destroy function +- Upstream version cs: 848242a7860c5a7e19240c2ded053fa9908af9e0 + +------------------------------------------------------------------- +Fri Jan 11 13:20:22 UTC 2013 - ygao@suse.com + +- Fix return code which is an error occurred at pthread function +- LOG: fix truncation in some messages that get padded. +- Fix the blackbox formatter when specifing the string len/precision +- Fix strlcpy and strlcat functions +- IPC: don't over log on disconnect +- LOG: Make sure we don't use the format string whilst it is getting changed. +- Upstream version cs: eceee03a7bc4962a0b136c38344c7e0c16908489 + +------------------------------------------------------------------- +Sun Dec 9 14:23:26 UTC 2012 - ygao@suse.com + +- ptrie: deref the current node in trie_iter_free() +- LOG: fix the format comparison to avoid generating multiple entries. +- LOG: set the return code when calloc fails +- Upstream version cs: 813dfb5fd2bce6ac1353b03b5bed3a7eb46dc278 + +------------------------------------------------------------------- +Tue Nov 20 11:20:48 UTC 2012 - ygao@suse.com + +- FATE#313816: Use libqb for logging and IPC + +------------------------------------------------------------------- +Fri Nov 16 06:24:09 UTC 2012 - ygao@suse.com + +- Bump the version to 0.14.3 +- IPC: call poll if we are mid message and get EAGAIN +- Make sure that mmap'ed files smaller than a page size are written to. +- IPC: Pass the timeout to poll() if the recv function returns EAGAIN +- LOG: make the format comparison safe and sane +- LOG: don't break on empty callsites, just ignore them +- LOG: use the array callback to register new callsites +- array: add a mechanism to get a callback when a bin is allocated +- Fix a crash in ptrie if you iterate over the map in the deleted notifier. +- Make sure atomic's are initialized (for non-gcc atomic). +- ipc_us: slightly more robust cmsg handling +- ipc_us: on Linux, set SO_PASSCRED on the sending socket too +- blackbox: fix 64-bit big-endian issues +- RB: change the #error to ENOTSUP if no usable shared process sem +- LOG: Make sure the semaphores are initialized. +- Upstream version cs: 709b32de434ec157ec2a73153e58ffec186ae660 + +------------------------------------------------------------------- +Fri Jul 20 02:56:12 UTC 2012 - ygao@suse.com + +- Bump the version to 0.14.1 +- RB: set the new read pointer after clearing the header. +- RB: if read or peek don't get the message then re-post to the semaphore +- IPC: use calloc instead of malloc to fix valgrind warnings +- Upstream version cs: 11b20e19beff7f1b6003be0b4c73da8ecf936442 + +------------------------------------------------------------------- +Mon Jun 25 10:46:03 UTC 2012 - tserong@suse.com + +- Bump the version to 0.14.0 +- Upstream version cs: 1c2b77f005a8011471af11839b7e1b67d147e10d + +------------------------------------------------------------------- +Thu Jun 21 09:19:13 UTC 2012 - ygao@suse.com + +- LOG: fix threaded logging. +- Add user control of the permissions that are set on the shared mem files +- Upstream version cs: b9f8ec34dfc25eb52f520fe76d8f97fe58da4dee + +------------------------------------------------------------------- +Fri Jun 8 09:11:17 UTC 2012 - tserong@suse.com + +- Initial SUSE packaging of libqb from upstream changeset + e70e7908f01ee17e9e8454602a5cfabe19ccc439 + diff --git a/libqb.spec b/libqb.spec new file mode 100644 index 0000000..7c8e0da --- /dev/null +++ b/libqb.spec @@ -0,0 +1,159 @@ +# +# spec file for package libqb +# +# Copyright (c) 2023 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/ +# + + +%bcond_without check +%bcond_without testsrpm +%bcond_without doxygen2man + +Name: libqb +Version: 2.0.8+20230721.002171b +Release: 0 +Summary: An IPC library for high performance servers +License: LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +URL: https://github.com/ClusterLabs/libqb +Source0: %{name}-%{version}.tar.xz +Source1: baselibs.conf + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: check-devel +BuildRequires: doxygen +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: procps +BuildRequires: util-linux +# Need git so build-aux/git-version-gen can extract the version number and +# commit hash during autogen run (not used currently) +#BuildRequires: git + +%description +libqb is a library providing high performance client server reusable +features. It provides logging, tracing, IPC, and polling. + +%package -n libqb100 +Summary: An IPC library for high performance servers +Group: System/Libraries + +%description -n libqb100 +libqb is a library providing high performance client server reusable +features. It provides logging, tracing, IPC, and polling. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries/C and C++ +Requires: libqb100 = %{version}-%{release} + +%description devel +libqb is a library providing high performance client server reusable +features. It provides logging, tracing, IPC, and polling. + +%package tools +Summary: Utilities from libqb, an IPC library +Group: Development/Tools/Other +Conflicts: libqb0 <= 1.0.3 +Provides: libqb0:%{_sbindir}/qb-blackbox + +%description tools +libqb is a library providing high performance client server reusable +features. It provides logging, tracing, IPC, and polling. + +%prep +%setup -q -n %{name}-%{version} + +%build +if [ ! -f .tarball-version ]; then + echo %{VERSION} > .tarball-version +fi +./autogen.sh +%configure \ +%if %{with testsrpm} + --enable-install-tests \ +%endif + --disable-static +%make_build + +%if 0%{?with_check} +%check +# Tests require writable /dev/shm and /var/run +# TODO: This test might not be quite right -- it seems to fail on OBS, +# but OBS is capable of doing "make check" successfully, whereas +# "osc build" in a chroot fails. +if [ -w /dev/shm -a -w %{_localstatedir}/run ] ; then + + %make_build check +fi +%endif + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print +rm -rf %{buildroot}%{_datadir}/doc + +%post -n libqb100 -p /sbin/ldconfig + +%postun -n libqb100 -p /sbin/ldconfig + +%files -n libqb100 +%license COPYING +%{_libdir}/libqb.so.* + +%files devel +%license COPYING +%doc README.markdown +%{_includedir}/qb/ +%{_libdir}/libqb.so +%{_libdir}/pkgconfig/libqb.pc +%{_mandir}/man3/qb*3%{?ext_man} + +%files tools +%license COPYING +%{_sbindir}/qb-blackbox +%{_mandir}/man8/qb-blackbox.8%{?ext_man} + +%package tests +Summary: Test suite for %{name} +Group: Development/Tools/Other + +%files tests +%license COPYING +%dir %{_libdir}/libqb +%dir %{_libdir}/libqb/tests +%{_libdir}/libqb/tests/* + +%description tests +The %{name}-tests package contains the %{name} test suite. + +%if %{with doxygen2man} +%package -n doxygen2man +Summary: tool to generate man pages from Doxygen XML files +Group: Development/Tools/Doc Generators +BuildRequires: pkgconfig +BuildRequires: pkgconfig(libxml-2.0) +Requires: libqb100 = %{version}-%{release} + +%files -n doxygen2man +%{_bindir}/doxygen2man +%{_mandir}/man1/doxygen2man.1%{?ext_man} +%license COPYING + +%description -n doxygen2man +The doxygen2man package contains the doxygen2man utility. +%endif + +%changelog