Blame SPECS/libqb.spec

632cf8
%bcond_with check
016175
%bcond_without testsrpm
78c599
78c599
Name:           libqb
78c599
Version:        1.0.3
b1db6f
Release:        13%{?dist}
78c599
Summary:        An IPC library for high performance servers
78c599
78c599
Group:          System Environment/Libraries
78c599
License:        LGPLv2+
78c599
URL:            https://github.com/ClusterLabs/libqb
78c599
Source0:        https://github.com/ClusterLabs/libqb/releases/download/v%{version}/%{name}-%{version}.tar.xz
78c599
78c599
Patch0: bz1615945-remove-linker-callsites.patch
016175
Patch1: bz1682119-install-tests.patch
016175
Patch2: bz1714854-improve-shm-security.patch
016175
Patch3: bz1718773-avoid-ipc-deadlock.patch
632cf8
Patch4: bz1836146-ipc_set_ownership.patch
632cf8
Patch5: bz1836146-covscan-fixes.patch
b1db6f
Patch6: bz2111711-connretry-recv.patch
78c599
78c599
BuildRequires:  autoconf automake libtool doxygen procps check-devel
78c599
# https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequires_and_Requires
78c599
BuildRequires:  gcc
78c599
# git-style patch application
78c599
#BuildRequires: git  # for when patches around
78c599
78c599
%description
78c599
libqb provides high-performance, reusable features for client-server
78c599
architecture, such as logging, tracing, inter-process communication (IPC),
78c599
and polling.
78c599
78c599
%prep
78c599
%setup
78c599
#autosetup -p1 -S git_am  # for when patches around
78c599
%patch0 -p1 -b .bz1615945-remove-linker-callsites
016175
%patch1 -p1 -b .bz1682119-install-tests
016175
%patch2 -p1 -b .bz1714854-improve-shm-security.patch
632cf8
%patch3 -p1 -b .bz1718773-avoid-ipc-deadlock.patch
632cf8
%patch4 -p1 -b .bz1836146-ipc_set_ownership.patch
632cf8
%patch5 -p1 -b .bz1836146-covscan-fixes.patch
b1db6f
%patch6 -p1 -b .bz2111711-connretry-recv.patch
78c599
78c599
%build
78c599
./autogen.sh
016175
%configure \
016175
%if %{with testsrpm}
016175
 --enable-install-tests \
016175
%endif
016175
 --disable-static
78c599
make %{?_smp_mflags} V=1
78c599
78c599
%if 0%{?with_check}
78c599
%check
78c599
make VERBOSE=1 check \
78c599
  && make -C tests/functional/log_internal VERBOSE=1 check
78c599
%endif
78c599
78c599
%install
78c599
make install DESTDIR=$RPM_BUILD_ROOT
78c599
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
78c599
rm -rf $RPM_BUILD_ROOT/%{_docdir}/*
78c599
78c599
%post -p /sbin/ldconfig
78c599
78c599
%postun -p /sbin/ldconfig
78c599
78c599
%files
78c599
%license COPYING
78c599
%{_sbindir}/qb-blackbox
78c599
%{_libdir}/libqb.so.*
78c599
%{_mandir}/man8/qb-blackbox.8*
78c599
78c599
%package        devel
78c599
Summary:        Development files for %{name}
78c599
Group:          Development/Libraries
78c599
Requires:       %{name}%{?_isa} = %{version}-%{release}
78c599
Requires:       pkgconfig
78c599
78c599
%description    devel
78c599
The %{name}-devel package contains libraries and header files for
78c599
developing applications that use %{name}.
78c599
78c599
%files          devel
78c599
%doc README.markdown
78c599
%license COPYING
78c599
%{_includedir}/qb/
78c599
%{_libdir}/libqb.so
78c599
%{_libdir}/pkgconfig/libqb.pc
78c599
%{_mandir}/man3/qb*3*
78c599
016175
%if %{with testsrpm}
016175
%package        tests
016175
Summary:        Test suite for %{name}
016175
Group:          Development/Libraries
016175
Requires:       %{name}%{?_isa} = %{version}-%{release}
016175
016175
%files          tests
016175
%doc COPYING
016175
%{_libdir}/libqb/tests/*
016175
016175
%description    tests
016175
The %{name}-tests package contains the %{name} test suite.
016175
%endif
016175
016175
78c599
%changelog
b1db6f
* Mon Dec 12 2022  Christine Caulfield <ccaulfie@redhat.com> - 1.0.3-13
b1db6f
  ipc: Retry receiving credentials if the the message is short
b1db6f
  Resolves: rhbz#2151300
b1db6f
632cf8
* Wed May 20 2020  Christine Caulfield <ccaulfie@redhat.com> - 1.0.3-11
632cf8
  Correctly set socket directory permissions when
632cf8
  qb_ipcs_connection_auth_set() is called
632cf8
  Resolves: rhbz#1836146
632cf8
016175
* Mon Jun 10 2019  Christine Caulfield <ccaulfie@redhat.com> - 1.0.3-10
016175
  Avoid deadlock in IPC connections
016175
  Resolves: rhbz#1718773
016175
016175
* Thu Jun 6 2019  Christine Caulfield <ccaulfie@redhat.com> - 1.0.3-9
016175
  Improve security of SHM files used for IPCs
016175
  Resolves: rhbz#1714854
016175
016175
* Thu Mar 28 2019  Christine Caulfield <ccaulfie@redhat.com> - 1.0.3-8
016175
- Add RHEL-8.1 gating tests
016175
  Resolves: rhbz#1682119
016175
78c599
* Mon Sep 17 2018  Christine Caulfield <ccaulfie@redhat.com> - 1.0.3-7
78c599
- Remove linker magic in the logging code.
78c599
  Resolves: rhbz#1615945
78c599
78c599
* Mon Jul 30 2018 Florian Weimer <fweimer@redhat.com> - 1.0.3-6
78c599
- Rebuild with fixed binutils
78c599
78c599
* Tue Jun 05 2018 Christine Caulfield <ccaulfie@redhat.com> - 1.0.3-5
78c599
- Rebuild with newer binutils (hopefully to fix pacemaker/corosync linkage issue)
78c599
78c599
* Wed Mar 07 2018 Adam Williamson <awilliam@redhat.com> - 1.0.3-4
78c599
- Rebuild to fix GCC 8 mis-compilation
78c599
  See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64")
78c599
78c599
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.0.3-3
78c599
- Escape macros in %%changelog
78c599
78c599
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3-2
78c599
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
78c599
78c599
* Thu Dec 21 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.3-1
78c599
- Update to libqb-1.0.3, for list of changes see:
78c599
  https://github.com/ClusterLabs/libqb/releases/tag/v1.0.3
78c599
78c599
* Tue Dec 12 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-15
78c599
- Evolution of the previous (rhbz#1478089)
78c599
78c599
* Wed Nov 15 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-14
78c599
- Evolution of the previous (rhbz#1478089)
78c599
- Make -devel package dependency on the main package arch-qualified
78c599
78c599
* Tue Oct 31 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-13
78c599
- Evolution of the previous (rhbz#1478089)
78c599
78c599
* Wed Oct 25 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-12
78c599
- Evolution of the previous (rhbz#1478089)
78c599
78c599
* Wed Oct 18 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-11
78c599
- Evolution of the previous (rhbz#1478089)
78c599
78c599
* Fri Oct 13 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-10
78c599
- Evolution of the previous (rhbz#1478089)
78c599
78c599
* Mon Oct 09 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-9
78c599
- Evolution of the previous (rhbz#1478089)
78c599
78c599
* Fri Oct 06 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-8
78c599
- Evolution of the previous (rhbz#1478089)
78c599
- New test included in check phase (as per upsteam)
78c599
78c599
* Mon Sep 04 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-7
78c599
- Evolution of the previous (rhbz#1478089)
78c599
78c599
* Fri Sep 01 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-6
78c599
- Better approach so as to mitigate changed treatment of orphaned sections
78c599
  in ld.bfd/binutils-2.29, resulting in logging facility silently out of order
78c599
  (rhbz#1478089)
78c599
- Related to that, build commands now shown in full to ease the sanity checking
78c599
- Adapt spec file per the upstream version (conditionalizing build through
78c599
  --enable-syslog-tests no longer relevant since v1.0.2)
78c599
78c599
* Fri Aug 11 2017 Kalev Lember <klember@redhat.com> - 1.0.2-5
78c599
- Bump and rebuild for an rpm signing issue
78c599
78c599
* Thu Aug 10 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-4
78c599
- Mitigate changed treatment of orphaned sections in ld.bfd/binutils-2.29,
78c599
  resulting in logging facility silently out of order (rhbz#1478089)
78c599
78c599
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-3
78c599
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
78c599
78c599
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-2
78c599
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
78c599
78c599
* Fri May 19 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-1
78c599
- Update to libqb-1.0.2, for list of changes see:
78c599
  https://github.com/ClusterLabs/libqb/releases/tag/v1.0.2
78c599
78c599
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-2
78c599
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
78c599
78c599
* Fri Nov 25 2016 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.1-1
78c599
- Update to libqb-1.0.1, for list of changes see:
78c599
  https://github.com/ClusterLabs/libqb/releases/tag/v1.0.1
78c599
- Move qb-blackbox manual page from libqb-devel to libqb
78c599
  (where the utility itself resides)
78c599
78c599
* Mon Apr 4 2016 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0-1
78c599
- Update to libqb-1.0, for list of changes see, in order:
78c599
  https://github.com/ClusterLabs/libqb/releases/tag/v1.0rc1
78c599
  https://github.com/ClusterLabs/libqb/releases/tag/v1.0rc2
78c599
  https://github.com/ClusterLabs/libqb/releases/tag/v1.0rc3
78c599
  https://github.com/ClusterLabs/libqb/releases/tag/v1.0rc4
78c599
  https://github.com/ClusterLabs/libqb/releases/tag/v1.0
78c599
- Adapt spec file per the upstream version (drop defattr statements,
78c599
  autogen.sh call with %%build, conditionalize build process)
78c599
- Add gcc as an explicit BuildRequires (required per the new guidelines)
78c599
- Do not depend on the rpmbuild-imposed man page archiving method
78c599
78c599
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.2-2
78c599
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
78c599
78c599
* Thu Oct 15 2015 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 0.17.2-1
78c599
- Update to libqb-0.17.2 + fix check_ipc tests, for list of changes see:
78c599
  https://github.com/ClusterLabs/libqb/releases/tag/v0.17.2
78c599
78c599
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.17.1-2
78c599
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
78c599
78c599
* Tue Aug 26 2014 David Vossel <dvossel@redhat.com> - 0.17.1-1
78c599
Fix: ipcs: Correctly allocate receive buffer size
78c599
Fix: ipc_socket: Signalhandler must be resetted to Default, use only cleanup_sigpipe to return from qb_ipc_dgram_sock_setup.
78c599
Fix: trie: allow modifying the trie map during the notify callback
78c599
Fix: fix invalid option when run 'ipcclient -h'
78c599
Fix: epoll: don't miss poll events under high load
78c599
Fix: ipc_shm: fix error handling in qb_ipcs_shm_connect()
78c599
Fix: ringbuffer: fix size in qb_rb_create_from_file()
78c599
Fix: ringbuffer: fix qb_rb_open_2() debug format string
78c599
Fix: trie: fixes regression caused by ref count refactoring
78c599
Fix: ipcc: Properly timeout during recv when timeout value is provided
78c599
78c599
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.17.0-4
78c599
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
78c599
78c599
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.17.0-3
78c599
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
78c599
78c599
78c599
* Thu Feb 20 2014 David Vossel <dvossel@redhat.com> - 0.17.0-2
78c599
Fix testsuite timing values
78c599
78c599
* Wed Feb 19 2014 David Vossel <dvossel@redhat.com> - 0.17.0-1
78c599
Fix: build: Allow 'make rpm' to work with lightweight tags for release candidates
78c599
Fix: spec: reference correct url in spec file
78c599
Doc: update broken doxygen link to something that exists
78c599
Bump version to 0.17.0
78c599
Low: ipc_socket: further optimize max msg size calculations for fbsd portability tests
78c599
Low: ipc_socket: Allow socket max msg size to be calculated more accurately
78c599
Fix: fixes travis compile time error
78c599
Low: tests: Fixes compile time issue with make check
78c599
High: ipcs: Prevent ipc server use after free.
78c599
Low: ipc: Remove ipc connection reference given to dispatch functions
78c599
High: ipc: Fixes memory leak in server connection accept when client partially connects
78c599
IPC: Increase the listen backlog of IPC server
78c599
Low: ipcs: Clarifications to the ipcs server callback documentation.
78c599
Fix rb.test to avoid overwriting memory during reading.
78c599
Low: example: Update client/server example to use server enforced buffer size
78c599
Low: Client side buffer retrieval regression test
78c599
Feature: New api function to retrieve client buffer size
78c599
Low: check_ipc.c: Verify server enforced buffer sizes work
78c599
Feature: Enforce buffer size limits on the server side
78c599
Low: regession tests for regex log filters
78c599
Feature: Filter logs using regex patter on function, format, or filename
78c599
ipc_setup: Set SO_PASSCRED on listener socket
78c599
Fix: log: Filtering by function and file must match exactly, no substring matches
78c599
Low: blackbox: Abort blackbox logging on ringbuffer overwrite reclaim error
78c599
High: ipcs: Api function allowing server to retrieve client connection's ipc buffer size
78c599
Low: ringbuffer: Abort during chunk reclaim if OVERWRITE flag is set and reclaim fails.
78c599
High: blackbox: unique blackbox ringbuffer files per pid
78c599
Low: ipc_socket: Fixes fd leak in socket ipc client disconnection
78c599
Use sizeof to get the correct size of the sockaddr_un sun_path member in a portable way. Fixes corosync on Mac OS X.
78c599
Detect the max signal value that can be used using NSIG macro
78c599
Avoid double-decrement of level->todo
78c599
78c599
* Thu Aug 1 2013 David Vossel <dvossel@redhat.com> - 0.16.0-1
78c599
Bump version to 0.16.0 ... do not use version 0.15.0
78c599
Update release gpg sign key
78c599
Bump the version to 0.15.0
78c599
Merge pull request #83 from davidvossel/master
78c599
Low: ipc_socket: Output send event failure as debug instead of error
78c599
Low: ipcserver.c: Fix example server's glib mainloop implementation
78c599
High: ipc_socket.c: Detect EOF connection on connection STREAM socket
78c599
Merge pull request #81 from davidvossel/dgram_max_msg
78c599
Low: tests: Add dgram max size detection test
78c599
Low: ipc_socket.c: Handle the unlikely event of an EAGAIN or EINTR during dgram max size detection
78c599
Merge pull request #82 from davidvossel/master
78c599
Fixes detect disconnect on send for tcp example
78c599
Fixes sem leak
78c599
Fixes less-than-zero comparision of unsigned int
78c599
fixes double close
78c599
Fixes double close
78c599
Fixes double fd close
78c599
Fixes fd leak
78c599
Prevent use after free in benchmark util
78c599
Fixes use ater free in shm disconnect
78c599
Fixes use after free during ipcs client disconnect
78c599
Remove dead code
78c599
Low: check_ipc.c: Verify dgram max size during tests
78c599
High: ipcc: Add abilty to verify dgram kernel buffer size meets max msg value
78c599
Fixes travis build error
78c599
Merge pull request #80 from davidvossel/master
78c599
Low: check_ipc.c: fix debug message to only display once.
78c599
High: ringbuffer: Make max_size of ringbuffer accurate so shm ipc max msg size value is honored
78c599
Low: ipcs: For shm ipc, always retry outstanding notifications when next event is sent
78c599
Low: tests: Added test to verify sending ipc msg equal to max size succeeds
78c599
Merge pull request #79 from davidvossel/master
78c599
Merge pull request #78 from davidvossel/master
78c599
Fix: ipcs: Fixes compile time issue reported by travis
78c599
Merge pull request #77 from davidvossel/stress_tests_fixes
78c599
Low: loop_pool_kqueue: remove potentially noisy dbug statement
78c599
Low: tests: rework bulk event msg ipc test
78c599
Account for fbsd ENOBUFS during stress test
78c599
Low: tests: Adds ipc event stress test to testsuite
78c599
Low: ipc_socket: In fbsd send() returns ENOBUFS when dgram queue is full, this should be treated similar to EAGAIN
78c599
High: kqueue: Properly enable kqueue filter in poll loop
78c599
Low: ipcs: Attempt to resend outstanding event notifications during event send
78c599
Merge pull request #75 from davidvossel/ref_count_cleanup
78c599
Low: qbipcs.h: update ipcs connection iterator documentation
78c599
Merge pull request #74 from davidvossel/ref_count_cleanup
78c599
Fix: ipcs: Disconnect shm ipc connection when poll socket returns error on msg receive
78c599
Fix: ipcs: Properly disconnect client connection on POLLNVAL or any other error causing connection removal from mainloop.
78c599
Simplify internal ipcs ref counting, add comments and document api behavior
78c599
Simplifies connection ref counting without changing behavior
78c599
Low remove ref-count error in example ipcserver.
78c599
Merge pull request #73 from davidvossel/ref_count_cleanup
78c599
Merge pull request #72 from davidvossel/master
78c599
Low: tests: Verify reading valid blackbox file works
78c599
Fix: refcount leak
78c599
Fix: ringbuffer: Add file header version field and detect reading corrupted blackbox files using hash value
78c599
Fix: tests: On some platforms -ECONNRESET is returned rather than -ENOTCONN after server failure
78c599
Fix: tests: Make blackbox_segfault.sh not depend on bash
78c599
Hopefully this is the last travis link fix
78c599
Fix travis icon (travis is case sensitive)
78c599
Fix the github links
78c599
Merge pull request #70 from yuusuke/fix_logging
78c599
fix a problem when the character string beyond the number of the maximum characters is passed
78c599
Merge pull request #68 from r1mikey/upstream
78c599
Add a IPC service context pointer and accessors from both the connection and service level.
78c599
Enable distcheck on the travis tests
78c599
Add atomic_int.h to noinst_HEADERS
78c599
Use the new atomic ops in the ringbuffer
78c599
Add internal support for the new __atomic gcc builtins
78c599
Rename the configure macros from atomic to sync
78c599
ringbuffer: use atomic ops on ringbuffer chunk magic
78c599
Remove some test code mistakenly committed to the example program.
78c599
IPC: make each connection ref the owning service
78c599
Indicate when/why qb_rb_force_close() fails to remove share memory files
78c599
Typo fixed in configure
78c599
Fix "make srpm"
78c599
Remove doxygen from travis deps to try and get the job working.
78c599
Fix make distcheck
78c599
Merge pull request #60 from t-matsuo/fix-makefile-of-tests
78c599
add file_change_bytes into check_PROGRAMS and fix a typo
78c599
Deal better with corrupt blackbox files.
78c599
Merge pull request #58 from inouekazu/fix_connection_state_checking
78c599
IPC: fix the connection state checking
78c599
LOG: copy the function/filename for dynamic callsites
78c599
Deal with /dev/shm issue on Travis builders
78c599
Properly discover SO_NOSIGPIPE and MSG_SIGNAL
78c599
IPC: fix call to QB_SUN_LEN
78c599
list: don't splice empty lists onto the head.
78c599
rpl_sem: make destroy more compliant
78c599
test: fix unused-but-set-variable warning
78c599
test: fix missing-format-attribute warning
78c599
RB: make the "sem" abstraction into a notifier
78c599
IPC: clean up the connection state checking
78c599
Use dgram sockets for message oriented communications
78c599
IPC: don't interpret EMSGSIZE and ENOMSG as a disconnect
78c599
POLL: prevent a spin if the fd is not removed from the mainloop
78c599
add TAGS and ~ files to .gitignore
78c599
docs: install qb-blackbox.8 if doxygen is not available.
78c599
IPC: seperate ipc_us.c into 2 files
78c599
IPC: move utility functions to unix.c
78c599
IPC: make sure we return a consistent error when the message is too big.
78c599
78c599
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.14.4-2
78c599
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
78c599
78c599
* Thu Jan 17 2013 Angus Salkeld <asalkeld@redhat.com> - 0.14.4-1
78c599
LOG: prevent the last char of the blackbox message from getting lost.
78c599
Example: make the blackbox example more practical.
78c599
Add the processing which remove notifier at skiplist_destroy function
78c599
Add the processing which remove hash node and notifier at hashtable_destroy function
78c599
Unify to QB_TRUE/QB_FALSE a boolean value
78c599
Document the default prefix in INSTALL
78c599
Unify the list processing with qb_list function
78c599
Add travis link to the readme.
78c599
Fix return code which is an error occurred at pthread function
78c599
TEST: add a progam to compare the speed of vsnprintf and qb_vsnprintf_serialize
78c599
LOG: add a test for a padded hex int.
78c599
Fedora's splint has a strange syntax error, don't fail on it.
78c599
LOG: fix truncation in some messages that get padded.
78c599
Fix the blackbox formatter when specifing the string len/precision
78c599
Fix strlcpy and strlcat functions
78c599
IPC: don't over log on disconnect
78c599
Make sure we don't use the format string whilst it is getting changed.
78c599
ptrie: deref the current node in trie_iter_free()
78c599
LOG: fix the format comparison to avoid generating multiple entries.
78c599
LOG: set the return code when calloc fails
78c599
IPC: call poll if we are mid message and get EAGAIN
78c599
Remove extra ";"
78c599
IPC: set the error more correctly when qb_sys_mmap_file_open() fails.
78c599
Make sure that mmap'ed files smaller than a page size are written to.
78c599
example/test: check for error in qb_ipc_run()
78c599
example: check for error in qb_ipc_run()
78c599
TEST: fix typo s/,/; in check_ipc.c
78c599
78c599
* Mon Oct 29 2012 Angus Salkeld <asalkeld@redhat.com> - 0.14.3-2
78c599
Fix test code highlighted by new check version
78c599
Remove the call to autogen.sh - not needed anymore.
78c599
78c599
* Mon Oct 29 2012 Angus Salkeld <asalkeld@redhat.com> - 0.14.3-1
78c599
IPC: Pass the timeout to poll() if the recv function returns EAGAIN
78c599
LOG: make the format comparison safe and sane
78c599
LOG: don't break on empty callsites, just ignore them
78c599
LOG: use the array callback to register new callsites
78c599
array: add a mechanism to get a callback when a bin is allocated
78c599
Solaris based operating systems don't define MSG_NOSIGNAL and SO_NOSIGPIPE.
78c599
Make sure atomic's are initialized (for non-gcc atomic).
78c599
78c599
* Wed Sep 12 2012 Angus Salkeld <asalkeld@redhat.com> - 0.14.2-2
78c599
Fix a crash in ptrie if you iterate over the map in the deleted notifier.
78c599
78c599
* Mon Sep 10 2012 Angus Salkeld <asalkeld@redhat.com> - 0.14.2-1
78c599
Get libqb building on cygwin.
78c599
ipc_us: slightly more robust cmsg handling
78c599
ipc_us: on Linux, set SO_PASSCRED on the sending socket too
78c599
ipc_us: clear request unused fields
78c599
TEST: Include writing and reading the blackbox in the log_long_msg test
78c599
LOG: fix qb_vsnprintf_deserialize()
78c599
blackbox: fix 64-bit big-endian issues
78c599
Remove IPC_NEEDS_RESPONSE_ACK and turn off shm ipc on solaris
78c599
Define unix path max for openbsd
78c599
Only turn on ipc_needs_response_ack=yes for solaris
78c599
Some improvements to kqueue usage.
78c599
kqueue: drop log message to trace.
78c599
Fix splint warning
78c599
openbsd requires netinet/in.h before arpa/inet.h
78c599
Avoid strcpy() use strlcpy() instead.
78c599
Fix kqueue complile warnings
78c599
openbsd doesn't have EBADMSG
78c599
openbsd has a different UNIX_PATH_MAX
78c599
LOG: change qb_vsprintf_serialize() into qb_vsnprintf_serialize()
78c599
TEST: increase timeout to 6 secs as the recv timeout is 5 secs
78c599
TEST: get the logic right - grrr.
78c599
Turn off attribute_section on netbsd
78c599
Some missing pshared semaphore checks
78c599
Cleanup the checks for pshared semaphores
78c599
Add a config check for pthread_mutexattr_setpshared
78c599
Remove uses of timersub and use qb_util_stopwatch
78c599
RB: change the #error to ENOTSUP if no usable shared process sem
78c599
LOOP-KQUEUE: fix reference before assignment.
78c599
build: fix libqb.pc creation and make maintainer-clean
78c599
LOG: Make sure the semaphores are initialized.
78c599
build: remove bashism in cc support check
78c599
Catch disconnected sockets on Solaris
78c599
Don't free rb->shared_hdr in qb_rb_create_from_file()
78c599
Check error return of qb_ipcs_uc_recv_and_auth()
78c599
Fix removal of automatically installed doc files when building rpms
78c599
Add the mailing list to the travis email notifications.
78c599
Work around debian not setting the arch path in splint.
78c599
Remove color-tests and parallel-tests automake options.
78c599
Add travis continuous integration config
78c599
LOG: Invoke custom log filter function if tag changes
78c599
tests/rbwriter: don't ignore write failure
78c599
ipcs: avoid use-after-free for size-0 || disconnect-request
78c599
78c599
* Wed Jul 18 2012 Angus Salkeld <asalkeld@redhat.com> - 0.14.1-1
78c599
RB: set the new read pointer after clearing the header (#839605).
78c599
RB: improve the debug print outs
78c599
RB: be more explicit about the word alignment
78c599
RB: cleanup the macros for wrapping the index
78c599
RB: use sem_getvalue as a tie breaker when read_pt == write_pt
78c599
RB: if read or peek don't get the message then re-post to the semaphore
78c599
RB: convert the rb_peek() status into a recv like status.
78c599
RB: use internal reclaim function
78c599
IPC: use calloc instead of malloc to fix valgrind warnings
78c599
Upgrade the doxygen config.
78c599
Fix a valgrind error.
78c599
78c599
* Sun Jun 24 2012 Angus Salkeld <asalkeld@redhat.com> - 0.14.0-1
78c599
LOG: fix threaded logging.
78c599
Add user control of the permissions that are set on the shared mem files
78c599
LOG: Restrict string trucation during serialization to when a precision is specified
78c599
LOG: Gracefully fail when the caller exceeds QB_LOG_MAX_LEN
78c599
LOG: Observe field widths when serializing string arguments
78c599
RB: use the same mechanism in reclaim as read/peek to detect end-of-ring
78c599
Add needs_response_ack option to ./check
78c599
RB: fix wrong sem_flg IPC_NOWAIT option
78c599
TESTS: fix warning about unused functions
78c599
Remove D_FORTIFY_SOURCE from check.
78c599
Open shared mem file in /dev/shm only for linux
78c599
Don't use msg_flags on solaris (recvmsg).
78c599
Turn off attribute_section on solaris
78c599
ipc example: add -e (events) option
78c599
IPC: if the server returns EAGAIN or ETIMEOUT the check the connection
78c599
LOG: make it possible to fsync() on each file log.
78c599
IPC: make sure that the created callback happens before dispatches
78c599
LOG: fix the printing of %%p in the blackbox
78c599
IPC: On bsd's use the notifier for responses
78c599
IPC: interpret ECONNRESET and EPIPE as ENOTCONN
78c599
cleanup some warnings
78c599
config: use newer AC_COMPILE_IFELSE()
78c599
blackbox: fix %%p formatting
78c599
LOG: put all fields in the blackbox (added priority and tags)
78c599
example: make the priority uint8_t
78c599
Remove strerror out of check_funcs
78c599
RB: fix compiler warning.
78c599
Add replacement function stpcpy
78c599
Add missing AC_TYPE_UINT16_T to configure.ac
78c599
Use AC_FUNC_STRERROR_R and STRERROR_R_CHAR_P
78c599
Add stpcpy strcasecmp to the check_funcs
78c599
Move some conditional defines into code (from the configure script)
78c599
Remove some unused configure checks
78c599
Remove message queues
78c599
Check for union semun properly
78c599
Blackbox: provide more space for log messages when reading from the blackbox.
78c599
Add the blackbox reader manpage to the spec file
78c599
Enable error logging for the blackbox reader
78c599
RB: Read the file size into an initialized variable of the correct size
78c599
Add a tool to dump the blackbox.
78c599
RB: to be safer save the read and write pointers at the top of the blackbox
78c599
avoid unwarranted use of strncpy: use memcpy instead
78c599
blackbox: fix the print_from_file()
78c599
RB: add an option to not use any semaphores
78c599
LOG: tweak the blackbox format string
78c599
LOG: accept NULL strings into the blackbox
78c599
LOG: protect close and reload from calling log
78c599
Add benchmark option (-b) to examples/ipcclient
78c599
TEST: make rbreader/writer more like the other benchmarking apps
78c599
IPC: log the connection description in all logs
78c599
TEST: re-organise the ipc test suites
78c599
IPC: only modify the dispatch if we get EAGAIN
78c599
Correctly display timestamp in blackbox
78c599
78c599
* Thu May 10 2012 Angus Salkeld <asalkeld@redhat.com> - 0.13.0-1
78c599
- Remove unneccessary __attribute__ ((aligned(8))) from internal headers
78c599
- IPC: add a new function to get (and alloc) the extended stats.
78c599
- Revert "Add the event queue length to the connection stats."
78c599
- IPC: cleanup better on a failed client connect.
78c599
- IPC(soc): be more consistent with control struct size
78c599
- IPC: kill a compiler warning
78c599
- IPC(soc): pass in the correct size into munmap()
78c599
- TEST: Use /bin/sh not /bin/bash
78c599
- TEST: check for lost shared mem on bsd too
78c599
- rb: cleanup the semaphores
78c599
- Fix some small issues in ./check
78c599
- Cleanup the .gitignore files
78c599
- configure.ac tweaks
78c599
- Remove HZ and use sysconf instead.
78c599
- SUN_LEN() macro is present if __EXTENSIONS__ is defined on Illumos
78c599
- PF_UNIX is a POSIX standard name
78c599
- Test for log facility names
78c599
- IPC: drop log message to debug.
78c599
- IPC: fix retrying of partial recv's and sends.
78c599
- IPC: initialize enough shared mem for all 3 one way connections.
78c599
- IPC: keep retrying to recv the socket message if partially recv'ed (part 2)
78c599
- IPC: keep retrying to recv the socket message if partially recv'ed
78c599
- IPC: handle the server shutdown better
78c599
- IPC: handle a connection disconnect from the server better
78c599
- IPC: make it possible to send events in the connected callback.
78c599
- Add the event queue length to the connection stats.
78c599
- IPC: add a is_connected client side function.
78c599
- Fix typo in ./check
78c599
- docs: clarify the need to use request/response headers
78c599
- Remove unused local variable
78c599
- IPC: change the socket recv function to read the response header.
78c599
- Add some special commands into the ipc example
78c599
- TEST: improve the tracing in the ipc tests.
78c599
- Make "make (s)rpm" work more reliably
78c599
- TEST: add a test to confirm we get the events we send.
78c599
- TEST: reuse send_and_check for events.
78c599
- IPC: make it possible for a root client to talk to a non-root server.
78c599
- Run ./Lindent in the examples directory
78c599
- Add some debug code to the ipcclient example
78c599
- IPC: make sure ipc (socket) clients can connect to a server running as root.
78c599
- IPC: allow qb to bump the max_message_size
78c599
- IPC: check for a sane minimum max_message_size
78c599
- add rpl_sem.h loop_poll_int.h to noinst_headers
78c599
- Handle errors more consistently
78c599
- call recv_ready on socket types
78c599
- Handle a recv of size 0
78c599
- make bsd shm path better by default.
78c599
- Fix kqueue on freebsd.
78c599
- Get the example socket includes right.
78c599
- Fix kqueue compiling.
78c599
- POLL: seperate out the poll/epoll and add kqueue
78c599
- Test existence of getpeer* functions
78c599
- Add inet header to tcpclient example
78c599
- Don't link with setpshared if unavailable
78c599
- NetBSD doesn't have semun defined
78c599
- Use MADV_NOSYNC only on systems where available
78c599
- Use SCHED_BATCH only on platforms where available
78c599
- Fix a bug introduced by the bsd patch.
78c599
- Cleanup the selection of semaphores to use
78c599
- Fix some leaks in the logging.
78c599
- Try and improve the portability on bsd variants.
78c599
78c599
* Sun Mar 11 2012  Angus Salkeld <asalkeld@redhat.com> - 0.11.1-1
78c599
- configue libqb to not use epoll as it seems broken (#800865)
78c599
- LOOP: remove some old timerfd code.
78c599
- TEST: add a test to check the order of the jobs
78c599
- LOOP: when new jobs are added they are added to the head instead of the tail.
78c599
- LOG: Now the array is self locking we can make the lookup array dynamic
78c599
- Add locking to the array when growing.
78c599
- IPC: make the _request_q_len_get() function more obvious.
78c599
- IPC: fix multiple receives from qb_ipc_us_recv()
78c599
- IPC: make sure that the wrong union member is not written to.
78c599
- TIMER: check for null timer handle
78c599
78c599
Wed Mar 7 2012  Angus Salkeld <asalkeld@redhat.com> - 0.11.0-1
78c599
- ARRAY: cleanup the pointer sizeof()
78c599
- LOG: turn off __attribute__(section) for powerpc (not working)
78c599
- TESTS: move the util tests into "slow-tests" (i.e. optional)
78c599
- TEST: make the test_priority the same type as in the callsite
78c599
- LOG: make the log arrays manually grow-able since we need to lock the calls.
78c599
- RB: fix test failure on ppc
78c599
- RB: change the name of the size to word_size to be more clear
78c599
- TEST: add some more signal tests.
78c599
- LOOP: fix deletion of signal handlers when they are pending
78c599
- LOOP: signal handlers were always added as high priority.
78c599
- TEST: deal with mac's limited sed
78c599
- check: add debugging to the configure options and remove unused options
78c599
- TEST: properly clear the filters
78c599
- LOG: expose the mechanism to get a dynamic callsite.
78c599
- Revert part of my COARSE grained timer commit
78c599
- Remove timerfd usage and go back to timelist.
78c599
- UTIL: if possible use COARSE resolution clocks - they are much faster.
78c599
- ARRAY: save memory (in the bins array) and allow holes in the array
78c599
- LOOP: add qb_loop_timer_is_running()
78c599
- LOOP: allow stop() and run() to be called with NULL loop instance.
78c599
- LOOP: fix doxygen parameter comment
78c599
- LOG: add stdout target
78c599
- LOOP: add a function to delete jobs
78c599
- LOG: remove debug printf's
78c599
- LOG: remove an old/incorrect doxygen comment.
78c599
- LOG: add a hostname %%H format specifier.
78c599
- LOG: Add qb_log_filter_fn_set()
78c599
78c599
* Tue Feb 14 2012 Angus Salkeld <asalkeld@redhat.com> - 0.10.1-1
78c599
- Fix "make distcheck" add include path to AM_CPPFLAGS
78c599
- Bump the version to 0.10.1
78c599
- clang: Remove unused code
78c599
- TEST: make the ipc failure test closer to corosync's case.
78c599
- RB: add a debug message if trying to read a message of the wrong size
78c599
- IPC: split up the recv into chuncks of 2 seconds. (#788742)
78c599
- Be more consistent with the internal logs.
78c599
- LOOP: make it possible to pass in NULL as the default loop instance
78c599
- RB: use the proper struct not the typedef in the implementation.
78c599
- RB: Fix potential mem leak
78c599
- Don't mix enums (QB_TRUE/TRUE)
78c599
- use random() not rand()
78c599
- Remove dead code
78c599
- set umask before calling mkstemp()
78c599
- Use safer versions of string functions (strcpy -> strlcpy)
78c599
- Increase the coverity aggressiveness
78c599
- TEST: make the loop ratelimit test more forgiving.
78c599
78c599
* Tue Feb 07 2012 Angus Salkeld <asalkeld@redhat.com> - 0.10.0-1
78c599
- LOOP: handle errors from the poll function
78c599
- LOOP: make the item type applicable to jobs too.
78c599
- LOOP: fix the todo calculations.
78c599
- TEST: check for a single job causing a cpu spin
78c599
- LOOP: prevent jobs from consuming too much cpu.
78c599
- Get coverity to ignore this warning.
78c599
- Change example code to use fgets instead of gets
78c599
- LOG: pass the result of qb_log_thread_start() back to the user
78c599
- Fix some issues found by clang
78c599
- Add clang-analyzer check
78c599
- Add a split timer to the stopwatch.
78c599
- IPC: merge common code into new function
78c599
- IPC: better handle a disconnect been called from within connection_created()
78c599
- IPC: fix scary typo
78c599
- IPC: fix server error handling
78c599
78c599
* Mon Feb 06 2012 Angus Salkeld <asalkeld@redhat.com> - 0.9.0-2
78c599
- Fix a spin in the mainloop when a timer or poll gets removed
78c599
  When in the job queue (#787196).
78c599
78c599
* Fri Jan 27 2012  Angus Salkeld <asalkeld@redhat.com> - 0.9.0-1
78c599
- Rebased to 0.9.0
78c599
78c599
* Tue Jan 10 2012  Angus Salkeld <asalkeld@redhat.com> - 0.8.1-2
78c599
- fix qb_timespec_add_ms()
78c599
78c599
* Thu Jan 5 2012  Angus Salkeld <asalkeld@redhat.com> - 0.8.1-1
78c599
- Rebased to 0.8.1 (#771914)
78c599
78c599
* Thu Nov 17 2011 Angus Salkeld <asalkeld@redhat.com> - 0.7.0-1
78c599
- Rebased to 0.7.0 (#754610)
78c599
78c599
* Thu Sep 1 2011 Angus Salkeld <asalkeld@redhat.com> - 0.6.0-2
78c599
- LOG: fix the default syslog filter
78c599
78c599
* Tue Aug 30 2011 Angus Salkeld <asalkeld@redhat.com> - 0.6.0-1
78c599
- Rebased to 0.6.0 which includes (#734457):
78c599
- Add a stop watch
78c599
- LOG: serialize the va_list, don't snprintf
78c599
- LOG: change active list into array access
78c599
- atomic: fix qb_atomic_pointer macros
78c599
- LOG: allow the thread priority to be set.
78c599
- Fix splint warning on ubuntu 11.04
78c599
78c599
* Mon Jul 18 2011 Angus Salkeld <asalkeld@redhat.com> - 0.5.1-1
78c599
- Rebased to 0.5.1 which includes:
78c599
- LOOP: make the return more consistent in qb_loop_timer_expire_time_get()
78c599
- LOG: add string.h to qblog.h
78c599
- Add a qb_strerror_r wrapper.
78c599
- don't let an invalid time stamp provoke a NULL dereference
78c599
- LOG: move priority check up to prevent unnecessary format.
78c599
- rename README to README.markdown
78c599
78c599
* Wed Jun 8 2011 Angus Salkeld <asalkeld@redhat.com> - 0.5.0-1
78c599
- Rebased to 0.5.0 which includes:
78c599
- new logging API
78c599
- support for sparc
78c599
- coverity fixes
78c599
78c599
* Tue Feb 8 2011 Angus Salkeld <asalkeld@redhat.com> - 0.4.1-2
78c599
- SPEC: improve devel files section
78c599
- SPEC: remove global variables
78c599
78c599
* Mon Jan 31 2011 Angus Salkeld <asalkeld@redhat.com> - 0.4.1-1
78c599
- SPEC: add procps to BuildRequire
78c599
- SPEC: remove automake and autoconf from BuildRequire
78c599
- SPEC: remove call to ./autogen.sh
78c599
- SPEC: update to new upstream version 0.4.1
78c599
- LOOP: check read() return value
78c599
- DOCS: add missing @param on new timeout argument
78c599
- BUILD: only set -g and -O options if explicitly requested.
78c599
- BUILD: Remove unneccessary check for library "dl"
78c599
- BUILD: improve the release build system
78c599
78c599
* Fri Jan 14 2011 Angus Salkeld <asalkeld@redhat.com> - 0.4.0-2
78c599
- remove "." from Summary
78c599
- Add "check-devel to BuildRequires
78c599
- Add "make check" to check section
78c599
- Changed a buildroot to RPM_BUILD_ROOT
78c599
- Document alphatag, numcomm and dirty variables.
78c599
78c599
* Sun Jan 09 2011 Angus Salkeld <asalkeld@redhat.com> - 0.4.0-1
78c599
- Initial release