Blame SPECS/libqb.spec

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