Branch: refs/heads/gh-pages Home: https://github.com/ClusterLabs/libqb Commit: 3d6135967a156abaa414ef5c3ca27145eb5e0377 https://github.com/ClusterLabs/libqb/commit/3d6135967a156abaa414ef5c3ca27145... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-03-01 (Tue, 01 Mar 2016)
Changed paths: M tests/Makefile.am M tests/check_array.c A tests/check_common.h M tests/check_ipc.c M tests/check_log.c M tests/check_loop.c M tests/check_map.c M tests/check_rb.c M tests/check_util.c
Log Message: ----------- tests: refactor test case defs using versatile add_tcase macro
This reduces repeated code significantly, and allows for easier supervision of what's being grouped to the suites + possibly what timeouts apply.
Note that some artificial test case identifiers (in check_array.c, check_log.c, check_loop.c, check_rb.c, check_utils.c) got changed so they now follow 1:1 the test (function) name that is being run for the case at hand without the "test_" prefix (strict convention). Exception to this are test_ipc_disp_* tests in check_ipc.c that got, conversely, changed to test_ipc_dispatch_* to follow the test case identifiers.
Commit: c148444d20a9ad7d8d1ec557d8777b8dbe459695 https://github.com/ClusterLabs/libqb/commit/c148444d20a9ad7d8d1ec557d8777b8d... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-03-04 (Fri, 04 Mar 2016)
Changed paths: M include/qb/qblog.h
Log Message: ----------- Low: explain mysterious lines in a public header (qblog.h)
Also fix the previous inversion of the expression that in fact did not use to check for anything (for "assert(1)" being a NOOP).
Commit: 9b6783568a4c79f8e264df0f3acc8a93500a9c46 https://github.com/ClusterLabs/libqb/commit/9b6783568a4c79f8e264df0f3acc8a93... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-03-04 (Fri, 04 Mar 2016)
Changed paths: M include/qb/qbdefs.h
Log Message: ----------- defs: add wrappers over preprocessor operators
Commit: 9d696f5f5ae68e53da8bc24eb2dcd7bef37a7e67 https://github.com/ClusterLabs/libqb/commit/9d696f5f5ae68e53da8bc24eb2dcd7be... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-03-04 (Fri, 04 Mar 2016)
Changed paths: M include/qb/qblog.h M lib/log.c
Log Message: ----------- Low: further avoid magic in qblog.h by using named constants
Also advise to use these constants and obey this in the internal code.
Commit: f5ed676fe917ed6491a65bd4aa4b57fe2a28f711 https://github.com/ClusterLabs/libqb/commit/f5ed676fe917ed6491a65bd4aa4b57fe... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-03-04 (Fri, 04 Mar 2016)
Changed paths: M configure.ac
Log Message: ----------- build: be more restrictive about QB_HAVE_ATTRIBUTE_SECTION
That's because the code relies on (fairly unportable) treatment by the linker, specifically ld linker from binutils suite:
https://sourceware.org/binutils/docs/ld/Orphan-Sections.html
and without that in place, QB_HAVE_ATTRIBUTE_SECTION cannot be enabled as the __{start,stop}_SECNAME extern references in qb/qblog.h will not get resolved at the link time.
Commit: 6bd3f0865a713e641e37c98a391696a5383abd4e https://github.com/ClusterLabs/libqb/commit/6bd3f0865a713e641e37c98a391696a5... Author: Svante Signell svante.signell@gmail.com Date: 2016-03-17 (Thu, 17 Mar 2016)
Changed paths: M configure.ac M lib/log_thread.c M lib/util.c
Log Message: ----------- Add Hurd support
* configure.ac: Define QB_GNU. Add a check for a working clock_getres for the CLOCK_MONOTONIC option defining HAVE_CLOCK_GETRES_MONOTONIC.
* lib/log_thread.c: Replace second argument of qb_log_thread_priority_set(): logt_sched_param.sched_priority by 0 when not supported by the OS.
* lib/util.c: Use the CLOCK_REALTIME option in clock_getres() if HAVE_CLOCK_GETRES_MONOTONIC os not defined.
Commit: 6677fe6971c49a3ed6c6874e62887b57614066c5 https://github.com/ClusterLabs/libqb/commit/6677fe6971c49a3ed6c6874e62887b57... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-04-01 (Fri, 01 Apr 2016)
Changed paths: M tests/Makefile.am M tests/check_array.c A tests/check_common.h M tests/check_ipc.c M tests/check_log.c M tests/check_loop.c M tests/check_map.c M tests/check_rb.c M tests/check_util.c
Log Message: ----------- Merge pull request #191 from jnpkrn/refactor-test-case-defs
tests: refactor test case defs using versatile add_tcase macro
Commit: 67af307953e673add6863df2e0f6bc201290594d https://github.com/ClusterLabs/libqb/commit/67af307953e673add6863df2e0f6bc20... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-04-01 (Fri, 01 Apr 2016)
Changed paths: M configure.ac M include/qb/qbdefs.h M include/qb/qblog.h M lib/log.c
Log Message: ----------- Merge pull request #196 from jnpkrn/demystify-qblog.h
Low: explain mysterious lines in a public header (qblog.h)
Commit: 137b3dea5bbe408f5e24220a5122c1dcb3d6cc5e https://github.com/ClusterLabs/libqb/commit/137b3dea5bbe408f5e24220a5122c1dc... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-04-01 (Fri, 01 Apr 2016)
Changed paths: M configure.ac M include/qb/qbconfig.h.in M tests/.gitignore M tests/Makefile.am A tests/print_ver.c
Log Message: ----------- API: introduce alternative, header-based versioning
Mainly as a light-weight alternative to full-blown autoconf/pkg-config machineries, whereby one can:
* workaround functionality not present in libqb up to 1.0 (inclusive) - note that this versioning schema is being introduced *after* 1.0.0 release so one cannot tell that version from any older, but will be able to safely identify any later one (1.0.1+) and act accordingly - example: #if !defined(QB_VER_MAJOR) || ((QB_VER_MAJOR == 1) && (QB_VER_MINOR < 1)) #warning "Feature X not supported" int do_foo(int arg) { }; #else int do_foo(int arg) { /* use feature X of libqb */ } #endif
* make its program report libqb API version it was built with by emitting QB_VER_STR symbolic string (see tests/print_ver.c for example)
Also added is a print_ver test program to:
* emit how original unparsed version is parsed to particular components defined in qbconfig.h (QB_VER_{MAJOR,MINOR,PATCH} symbolic integer constants and QB_VER_REST symbolic string) when being compiled
* emit mentioned QB_VER_STR symbolic string joining the components back to a single string, plus the components themselves
Resolves: https://github.com/ClusterLabs/libqb/issues/186
Commit: 5e1aef1ba485e55586e87e7721724e451b9222a3 https://github.com/ClusterLabs/libqb/commit/5e1aef1ba485e55586e87e7721724e45... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-04-04 (Mon, 04 Apr 2016)
Changed paths: M build-aux/git-version-gen
Log Message: ----------- build: use latest git-version-gen from gnulib (rev. 6118065)
Preserve, however, the modification by David Vossel to keep the script working as expected also with lightweight tags (e.g., v1.0rc3).
Commit: bd31052e7d80e04c22865a3662a7e81ba909202d https://github.com/ClusterLabs/libqb/commit/bd31052e7d80e04c22865a3662a7e81b... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-04-04 (Mon, 04 Apr 2016)
Changed paths: M Makefile.am M configure.ac
Log Message: ----------- build: persuade git-version-gen vMAJOR.MINOR tags just miss .0
Recent "v1.0" discovered this discrepancy propagated all around and also this is not very compatible with the logic of commit 26d3911.
Treat missing "patch" component of the version as an implicit zero to make such oddity go away.
Adjust spec file generation accordingly.
Commit: 15176fc360038dbcdae93d47fe5753853ebb32cd https://github.com/ClusterLabs/libqb/commit/15176fc360038dbcdae93d47fe575385... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-04-07 (Thu, 07 Apr 2016)
Changed paths: M Makefile.am M configure.ac M include/qb/qbconfig.h.in M tests/.gitignore M tests/Makefile.am A tests/print_ver.c
Log Message: ----------- Merge pull request #207 from jnpkrn/alternative-header-based-versioning
API: introduce alternative, header-based versioning
Commit: 6f2b3e85d0315288ee76869b99369e2b1f2f1b71 https://github.com/ClusterLabs/libqb/commit/6f2b3e85d0315288ee76869b99369e2b... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-04-07 (Thu, 07 Apr 2016)
Changed paths: M build-aux/git-version-gen
Log Message: ----------- Merge pull request #208 from jnpkrn/update-git-version-gen
build: use latest git-version-gen from gnulib (rev. 6118065)
Commit: 5accb7ae8cd15af64345935784c9b18bd8673267 https://github.com/ClusterLabs/libqb/commit/5accb7ae8cd15af64345935784c9b18b... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-04-18 (Mon, 18 Apr 2016)
Changed paths: M configure.ac M include/qb/qbconfig.h.in M tests/print_ver.c
Log Message: ----------- API: header-based versioning: s/PATCH/MICRO
Under the influence of libxml2 and considering that actual "patch" information in fact, if significant, ends up encoded in QB_VER_REST, shift away from convention codified, e.g., by semver.org (not adored by libqb, anyway) and rename designated PATCH component of the version to MICRO accordingly.
Note that at this point, after a release without any header-based versioning present and just a few commits after it was tentatively introduced, it's a painless change. Once this PATCH nomenclature is leaked into a full release, there's no way to get rid of it reasonably...
Commit: 267c2492e611900b407e9196b4396a1e9462f502 https://github.com/ClusterLabs/libqb/commit/267c2492e611900b407e9196b4396a1e... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-04-19 (Tue, 19 Apr 2016)
Changed paths: M configure.ac M include/qb/qbconfig.h.in M tests/print_ver.c
Log Message: ----------- Merge pull request #209 from jnpkrn/header-based-versioning-PATCH-to-MICRO
API: header-based versioning: s/PATCH/MICRO
Commit: 8ab27995992cc2e4ef716716c01d025e4c661d9e https://github.com/ClusterLabs/libqb/commit/8ab27995992cc2e4ef716716c01d025e... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-04-28 (Thu, 28 Apr 2016)
Changed paths: M .travis.yml M libqb.spec.in
Log Message: ----------- tests: ensure verbose output on failure w/ more recent automake
...so as to obtain a first glance diagnostics in all cases with possibly remote build system preventing other means of investigation.
Commit: 0f1523ff09a70f1d4f8c1ec006c38ee2b6be5ba5 https://github.com/ClusterLabs/libqb/commit/0f1523ff09a70f1d4f8c1ec006c38ee2... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-04-29 (Fri, 29 Apr 2016)
Changed paths: M .travis.yml M libqb.spec.in
Log Message: ----------- Merge pull request #210 from jnpkrn/tests-ensure-failure-output
tests: ensure verbose output on failure w/ more recent automake
Commit: c61ee802d95e2bc214c3d296bb728c92f221ac30 https://github.com/ClusterLabs/libqb/commit/c61ee802d95e2bc214c3d296bb728c92... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-05-05 (Thu, 05 May 2016)
Changed paths: M tests/check_ipc.c
Log Message: ----------- tests: make clang-friendly (avoid using run-time VLAs)
This is to also get libqb from the Debian's shame list: http://clang.debian.net/status.php?version=3.4.2&key=VARIABLE_LENGTH_ARR...
Commit: 43efb5197ca64c40afc73b839fe753c56b49d246 https://github.com/ClusterLabs/libqb/commit/43efb5197ca64c40afc73b839fe753c5... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-05-05 (Thu, 05 May 2016)
Changed paths: M .travis.yml
Log Message: ----------- CI: make travis use also clang compiler (for good measure)
Also, unify the indentation.
Commit: 70340f72f6a2586fe4d9c5529f02ce9ad8c5f781 https://github.com/ClusterLabs/libqb/commit/70340f72f6a2586fe4d9c5529f02ce9a... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-05-06 (Fri, 06 May 2016)
Changed paths: M .travis.yml M tests/check_ipc.c
Log Message: ----------- Merge pull request #211 from jnpkrn/CI-travis-clang
CI: make travis use also clang compiler (for good measure)
Commit: afcdcba16c4eda49487961d8aad5b6f0044000e9 https://github.com/ClusterLabs/libqb/commit/afcdcba16c4eda49487961d8aad5b6f0... Author: bin.liu bliu@suse.com Date: 2016-06-06 (Mon, 06 Jun 2016)
Changed paths: M include/qb/qbhdb.h
Log Message: ----------- low:fixed:Spelling error of failure in qbhdb.h
There are spelling error in include/qb/qbhdb.h, "failure" is wroten as "faliure"
Commit: 907e49b999900d8ef672a72617923b470d4b71bf https://github.com/ClusterLabs/libqb/commit/907e49b999900d8ef672a72617923b47... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-06-06 (Mon, 06 Jun 2016)
Changed paths: M include/qb/qbhdb.h
Log Message: ----------- Merge pull request #213 from liu4480/master
low:fixed:Spelling error of failure in qbhdb.h
Commit: 17e5a36b18b1b9b02383ecc478e1f447c9b8c392 https://github.com/ClusterLabs/libqb/commit/17e5a36b18b1b9b02383ecc478e1f447... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-06-17 (Fri, 17 Jun 2016)
Changed paths: M lib/log_format.c
Log Message: ----------- Low: log: check for appropriate space when serializing a char
... where appropriate space is measured for, surprisingly, a char, not for an int. Note that's also the actual type used for both de-/serializing, so there's no conflict.
Also bother to explain why, now surprisingly for real, an unsigned int is scraped out from va_list (akin to to STDARG(3)).
Commit: 22ac41108ec3ad273905c67ac5ef5be01bb0f268 https://github.com/ClusterLabs/libqb/commit/22ac41108ec3ad273905c67ac5ef5be0... Author: Christine Caulfield ccaulfie@redhat.com Date: 2016-06-20 (Mon, 20 Jun 2016)
Changed paths: M lib/log_format.c M tests/check_log.c
Log Message: ----------- log: Add missing z,j, & t types to the logger
Signed-off-by: Christine Caulfield ccaulfie@redhat.com Reviewed-by: Ken Gaillot kgaillot@redhat.com Reviewed-by: Jan Pokorný jpokorny@redhat.com
Commit: 84b131c27e8455f65f47412c756a4f9292e0baa5 https://github.com/ClusterLabs/libqb/commit/84b131c27e8455f65f47412c756a4f92... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-06-20 (Mon, 20 Jun 2016)
Changed paths: M lib/log_format.c
Log Message: ----------- Merge pull request #217 from jnpkrn/log-serialize-check-char-properly
Low: log: check for appropriate space when serializing a char
Commit: bf3abb45c11c052857f299f6c8d404eb698c45fe https://github.com/ClusterLabs/libqb/commit/bf3abb45c11c052857f299f6c8d404eb... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-06-29 (Wed, 29 Jun 2016)
Changed paths: M include/qb/qblog.h
Log Message: ----------- Fix typo: qblog.h: q{g -> b}_log_filter_ctl
Commit: 495389d03ad2a8e5061b5f2acf1034fbe5426b5d https://github.com/ClusterLabs/libqb/commit/495389d03ad2a8e5061b5f2acf1034fb... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-06-30 (Thu, 30 Jun 2016)
Changed paths: M include/qb/qblog.h
Log Message: ----------- Merge pull request #221 from jnpkrn/typo-qblog.h
Fix typo: qblog.h: q{g -> b}_log_filter_ctl
Commit: d7aaae8497b86922de9aedaf3fb92f3d6463d276 https://github.com/ClusterLabs/libqb/commit/d7aaae8497b86922de9aedaf3fb92f3d... Author: Ferenc Wágner wferi@niif.hu Date: 2016-07-31 (Sun, 31 Jul 2016)
Changed paths: M include/qb/qbdefs.h
Log Message: ----------- docs: qbdefs.h: description must directly follow @file
If we want to see it again in the man page NAME section, where it can be indexed by apropos or whatis.
Commit: 4dff79e3f3b218dbc4e91f104548307649412a3b https://github.com/ClusterLabs/libqb/commit/4dff79e3f3b218dbc4e91f1045483076... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-08-01 (Mon, 01 Aug 2016)
Changed paths: M include/qb/qbdefs.h
Log Message: ----------- Merge pull request #218 from wferi/apropos
docs: qbdefs.h: description must directly follow @file
Commit: 6da5cc1368739c9274112a36631ebe70faa5c912 https://github.com/ClusterLabs/libqb/commit/6da5cc1368739c9274112a36631ebe70... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-09-22 (Thu, 22 Sep 2016)
Changed paths: M libqb.spec.in
Log Message: ----------- maint: qb-blackbox man page should accompany the binary
Commit: 04442d41d5dcc8e920dd21ee510b6a1148f2a49f https://github.com/ClusterLabs/libqb/commit/04442d41d5dcc8e920dd21ee510b6a11... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-09-23 (Fri, 23 Sep 2016)
Changed paths: M libqb.spec.in
Log Message: ----------- Merge pull request #223 from jnpkrn/maint
maint: qb-blackbox man page should accompany the binary
Commit: db7dcd141182da44a99e850699b31bcd28c68e8a https://github.com/ClusterLabs/libqb/commit/db7dcd141182da44a99e850699b31bcd... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-09-30 (Fri, 30 Sep 2016)
Changed paths: M configure.ac M lib/log_thread.c
Log Message: ----------- Build: configure: do not check for unused "sched" functions
Do not compile-time-conditionalize based on one of them being available, either.
Commit: d2b15efe60c6ed67ac428ec8e4b3a7dee7e9a35b https://github.com/ClusterLabs/libqb/commit/d2b15efe60c6ed67ac428ec8e4b3a7de... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-09-30 (Fri, 30 Sep 2016)
Changed paths: M include/qb/qbipcc.h M include/qb/qbipcs.h
Log Message: ----------- Fix typo: asyncronous -> asynchronous
Commit: e3d569c331f12dcd1ebbea114f10db382ab37e64 https://github.com/ClusterLabs/libqb/commit/e3d569c331f12dcd1ebbea114f10db38... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-10-04 (Tue, 04 Oct 2016)
Changed paths: M configure.ac M include/qb/qbipcc.h M include/qb/qbipcs.h M lib/log_thread.c
Log Message: ----------- Merge pull request #224 from jnpkrn/maint
Maint: typo + unused functions checked in configure
Commit: 485885597c9ae532183b97943cb456393f3c0da1 https://github.com/ClusterLabs/libqb/commit/485885597c9ae532183b97943cb45639... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-07 (Fri, 07 Oct 2016)
Changed paths: M tests/check_ipc.c
Log Message: ----------- Fix typos: differ{ne -> en}t, is -> if
Commit: 8cc165a87ba02ceea3ccc812ae62fd20ba5e6cde https://github.com/ClusterLabs/libqb/commit/8cc165a87ba02ceea3ccc812ae62fd20... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-07 (Fri, 07 Oct 2016)
Changed paths: M tests/resources.test
Log Message: ----------- tests: resources: check for proper names of leftover processes
Unfortunately, the change in test names introduced with commit e990681 hadn't been reflected (until now).
Also reformat shell syntax per more usual convention.
Commit: 164ba7b6af2a8eadc66a117a7bbd416fd73ec937 https://github.com/ClusterLabs/libqb/commit/164ba7b6af2a8eadc66a117a7bbd416f... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-10-11 (Tue, 11 Oct 2016)
Changed paths: M tests/check_ipc.c M tests/resources.test
Log Message: ----------- Merge pull request #226 from jnpkrn/maint
Maint: fix typos + resources.test
Commit: e77383897e7ee1c14008853d4bfb0f64947f3352 https://github.com/ClusterLabs/libqb/commit/e77383897e7ee1c14008853d4bfb0f64... Author: Christine Caulfield ccaulfie@redhat.com Date: 2016-10-11 (Tue, 11 Oct 2016)
Changed paths: M configure.ac M lib/log_thread.c M lib/util.c
Log Message: ----------- Merge branch 'Svante-Signell-Hurd' of https://github.com/jnpkrn/libqb into jnpkrn-Svante-Signell-Hurd
Commit: 2f6f5892fe1663fa58ef5dcf285763fa25273969 https://github.com/ClusterLabs/libqb/commit/2f6f5892fe1663fa58ef5dcf285763fa... Author: Christine Caulfield ccaulfie@redhat.com Date: 2016-10-11 (Tue, 11 Oct 2016)
Changed paths: M configure.ac M lib/log_thread.c M lib/util.c
Log Message: ----------- Merge branch 'jnpkrn-Svante-Signell-Hurd'
Commit: b7f6dae97af3736a39fc44294e7028882defc8f6 https://github.com/ClusterLabs/libqb/commit/b7f6dae97af3736a39fc44294e702888... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-12 (Wed, 12 Oct 2016)
Changed paths: M include/qb/qbipcs.h M lib/ipc_socket.c M tests/check_ipc.c
Log Message: ----------- Fix typos: availabi{l -> li}ty, explici{lt -> tl}y
Commit: c1c26c94cb38e1b40d063a7e5fa29f2de033ed37 https://github.com/ClusterLabs/libqb/commit/c1c26c94cb38e1b40d063a7e5fa29f2d... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-17 (Mon, 17 Oct 2016)
Changed paths: M examples/ipcserver.c M include/qb/qbipcc.h M include/qb/qbipcs.h M tests/bmcpt.c M tests/bms.c
Log Message: ----------- Low: sanitize import of <qb/qbarray.h> symbols
Commit: ab78f2a4fd44f7d75ae632f2df08c649861697e8 https://github.com/ClusterLabs/libqb/commit/ab78f2a4fd44f7d75ae632f2df08c649... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-17 (Mon, 17 Oct 2016)
Changed paths: M include/qb/qbipcc.h M include/qb/qbloop.h M lib/ipc_setup.c M lib/ipc_shm.c M lib/ipc_socket.c M lib/ipcc.c M lib/ipcs.c
Log Message: ----------- Low: sanitize import of <poll.h> symbols
Commit: d107a2ab3bac3d4afed10528b15e0f99d59f47fe https://github.com/ClusterLabs/libqb/commit/d107a2ab3bac3d4afed10528b15e0f99... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-17 (Mon, 17 Oct 2016)
Changed paths: M include/qb/qbipcc.h M include/qb/qbipcs.h
Log Message: ----------- Low: further sanitize qbipc[cs].h public headers wrt. includes
Commit: 617730b3ede009a65fe10bc6cb3bf482f2389269 https://github.com/ClusterLabs/libqb/commit/617730b3ede009a65fe10bc6cb3bf482... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-17 (Mon, 17 Oct 2016)
Changed paths: M docs/mainpage.h
Log Message: ----------- doc: elaborate more on thread safety as it's not so pure
Commit: 6743206b72055d7f3f4de63583d668f01ecb928e https://github.com/ClusterLabs/libqb/commit/6743206b72055d7f3f4de63583d668f0... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-17 (Mon, 17 Oct 2016)
Changed paths: M lib/ipc_shm.c
Log Message: ----------- Low: ipc_shm: fix superfluous NULL check
That's what qb_rb_chunk_reclaim does since commit ef7739873842a3e7933ef610b9b61e0f4a7d2fde that made this check redundant.
Signed-off-by: Jan Pokorný jpokorny@redhat.com
Commit: b40c499d7de6a9abca20aa1ad7917b5a99b0c208 https://github.com/ClusterLabs/libqb/commit/b40c499d7de6a9abca20aa1ad7917b5a... Author: Christine Caulfield ccaulfie@redhat.com Date: 2016-10-18 (Tue, 18 Oct 2016)
Changed paths: M lib/log.c
Log Message: ----------- log: Don't overwrite valid tags
If a tag of 0 is passed into the logger and an existing callsite is found with a non-zero tag, the don't overwrite the existing tag.
Signed-off-by: Christine Caulfield ccaulfie@redhat.com
Commit: 0d90bcb0ada7df96690dface569e938e16862ac2 https://github.com/ClusterLabs/libqb/commit/0d90bcb0ada7df96690dface569e938e... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-19 (Wed, 19 Oct 2016)
Changed paths: M tests/check_ipc.c
Log Message: ----------- tests: SIGSTOP cannot be caught, blocked, or ignored
...per signal(7), so it is foolish trying to do so.
Commit: 0d6a6989319bad67f9aab830eabb819559a9638b https://github.com/ClusterLabs/libqb/commit/0d6a6989319bad67f9aab830eabb8195... Author: Christine Caulfield ccaulfie@redhat.com Date: 2016-10-20 (Thu, 20 Oct 2016)
Changed paths: M lib/log_thread.c
Log Message: ----------- log: Remove check for HAVE_SCHED_GET_PRIORITY_MAX
it doesn't exist
Signed-off-by: Christine Caulfield ccaulfie@redhat.com
Commit: e13d15e99368428fae372735380b9fa8a0915fbe https://github.com/ClusterLabs/libqb/commit/e13d15e99368428fae372735380b9fa8... Author: Christine Caulfield ccaulfie@redhat.com Date: 2016-10-20 (Thu, 20 Oct 2016)
Changed paths: M tests/check_log.c
Log Message: ----------- tests: Unit test for previous zero tag patch
Signed-off-by: Christine Caulfield ccaulfie@redhat.com
Commit: 07542cf69360200762ec4131d3bf98fc63632954 https://github.com/ClusterLabs/libqb/commit/07542cf69360200762ec4131d3bf98fc... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-21 (Fri, 21 Oct 2016)
Changed paths: M lib/log_thread.c M tests/check_log.c
Log Message: ----------- Med: log_thread: logt_wthread_lock is vital for logging thread
This fixes issue with would-fail-if-applied-to-thread-right-away qb_log_thread_priority_set invocation when logging thread doesn't exist yet, which will arrange for calling itself at the time of thread's birth that is the moment it will actually fail. In this + lock-could-not-have-been-initialized corner cases, the already running thread would proceed as allowed by error condition handling in the main thread, trying to dereference uninitialized (or outdated) pointer to the lock at hand, resulting in segfault.
Also include the test that would have been caught that (we use the fact that it doesn't matter whether setting of the scheduler parameters fails due to bad input or just because of lack of privileges as it's the failure at the right moment that is of our interest).
See also: https://github.com/ClusterLabs/libqb/issues/229
Commit: ca710b2505befa6d1b680261263b44ab0610b86e https://github.com/ClusterLabs/libqb/commit/ca710b2505befa6d1b680261263b44ab... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-10-21 (Fri, 21 Oct 2016)
Changed paths: M lib/log_thread.c
Log Message: ----------- Refactor: log_thread: fix and diminish inferior comments
Commit: 7e5212b6a30bafddc1e23c8a6e2464b3c81795e5 https://github.com/ClusterLabs/libqb/commit/7e5212b6a30bafddc1e23c8a6e2464b3... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-10-21 (Fri, 21 Oct 2016)
Changed paths: M docs/mainpage.h M examples/ipcserver.c M include/qb/qbipcc.h M include/qb/qbipcs.h M include/qb/qbloop.h M lib/ipc_setup.c M lib/ipc_shm.c M lib/ipc_socket.c M lib/ipcc.c M lib/ipcs.c M tests/bmcpt.c M tests/bms.c M tests/check_ipc.c
Log Message: ----------- Merge pull request #228 from jnpkrn/maint
Various cleanups (symbol imports, typos, doc)
Commit: 026aaa7bdecd94592d03f148f2ec0b54b88067c8 https://github.com/ClusterLabs/libqb/commit/026aaa7bdecd94592d03f148f2ec0b54... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-10-21 (Fri, 21 Oct 2016)
Changed paths: M lib/log_thread.c M tests/check_log.c
Log Message: ----------- Merge pull request #230 from jnpkrn/log_thread
Med: log_thread: logt_wthread_lock is vital for logging thread
Commit: c5aaea9207f8508c4e46479900e035938501ab82 https://github.com/ClusterLabs/libqb/commit/c5aaea9207f8508c4e46479900e03593... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-11-04 (Fri, 04 Nov 2016)
Changed paths: M lib/ipc_shm.c
Log Message: ----------- Refactor: ipc_shm: better grip on ringbuffers to close
Also remove unused comment-introduced section of code.
Commit: 189ca28db91f2af3a2641362ff85aa6c8960f999 https://github.com/ClusterLabs/libqb/commit/189ca28db91f2af3a2641362ff85aa6c... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-11-04 (Fri, 04 Nov 2016)
Changed paths: M lib/ipc_shm.c M lib/log_blackbox.c M lib/ringbuffer_int.h
Log Message: ----------- Med: rb: make it more robust against trivial IPC API misuses
...using a new private inline helper that is intended to "decorate" argument (plus extra reference level added) to qb_rb_{force_,}close(). It is purposefully not hardwired to neither qb_rb_close (it's a public API function that should not change its semantics) nor qb_rb_force_close (just for symmetry, preempting issues when the two would differ, and also makes them more mutually compatible, which is already expected at qb_ipcc_shm_disconnect).
It sets the original ringbuffer pointer to NULL (having the immediate impact on other threads/asynchronous handling) and also sets the (currently underused) reference counter set to exacly 1 (that is subsequently going to be decremented in qb_rb_close so that it's sound in the current arrangement).
More in the comment at the helper. Suitable places are also made to use it right away.
Commit: 7286215ec7bb2a4bf5d26e90d87e509f958cdc0a https://github.com/ClusterLabs/libqb/commit/7286215ec7bb2a4bf5d26e90d87e509f... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-11-04 (Fri, 04 Nov 2016)
Changed paths: M configure.ac M lib/unix.c M lib/util_int.h
Log Message: ----------- Low: unix: new qb_sys_unlink_or_truncate{,_at} helpers
These are intended for subsequent qb_rb_{force_,}close refactorization and utilization of this new truncate as a fallback after unlink failure as detailed in the commit to follow.
For newer POSIX revision compliant systems, there's "at" variant using openat/unlinkat functions so that paths do not have to be traversed in full anew when not needed (as both unlink and truncate operate on the same path).
Commit: 15591922346ad485eb054f4c611b226dc6315393 https://github.com/ClusterLabs/libqb/commit/15591922346ad485eb054f4c611b226d... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-11-04 (Fri, 04 Nov 2016)
Changed paths: M lib/ringbuffer.c M lib/ringbuffer_helper.c M lib/ringbuffer_int.h
Log Message: ----------- Med: rb: use new qb_rb_close_helper able to resort to file truncating
This changeset builds on previous 2-3 commits and represents the main libqb's answer to the original question behind pacemaker's security defect known as CVE-2016-7035.
Beside the helper partly unifying handling of qb_rb_force_close and qb_rb_close, it provides the former with ability to use file truncating as a fallback for when unlinking fails, e.g., because client (note that mentioned is currently only relevant for the client side as normally server is responsible for the lifecycle of the materialized files, unless it crashes and only client is left to do its best) is not the owner while they are placed at a directory with restricted deletion, which enforces this very ownership condition.
In practice, this means that, at worst, just the zero-size files are left behind, so not that much space exhaustion (usually "ramdisk" like tmpfs is what backs default storage directory /dev/shm, so it boils down to physical memory exhaustion, even if it can be just for page cache and related overhead) can happen even on repeated crashes as the memory mappings are cleared as much as possible.
Also openat/unlinkat functions (sported in qb_sys_unlink_or_truncate_at as of the previous commit) are, when applicable, used so as to limit possible race conditions between/during individual path traversals (both files being got rid of presumably share the same directory).
Few words on which actions are attempted in which order for the equivalent of qb_rb_force_close now: There are subtle interactions between what's externally visible (files) and what's not (memory mappings associated with such files), and perhaps between memory pages management from the perspective of the former (usually "ramdisk"/tmpfs) and the latter (mmap + munmap). If the associated file is no longer publicly exposed by the means of unlink (even if the object survives internally as refcounting is in the game, with mmap holding a reference), memory mapping is not affected. On the other hand, if it's just limited by truncation to zero size, memory mapping is aware and generates SIGBUS in response to accessing respective addresses. Similarly, accessing munmap'd (no refcounting here) memory generates SIGSEGV. For delicacy, the inputs for all of unlink, truncate, and munmap are stored at the mmap'd location we are about to drop, but that's just a matter of making copies ahead of time. At Ken's suggestion, the scheme is: (unlink or truncate) then munmap, which has a benefit that externally visible (and program's life span otherwise surviving!) part is eliminated first, with memory mappings (disposed at program termination automatically at latest) to follow. (There was originally a paranoid expectation on my side that truncate on tmpfs actually does silent munmap, so that our munmap could in fact tear down the mapping added in the interim by the libraries, signal handler or due to requirements of another thread, also because of munmap on the range without any current mappings will not fail, and thus there's likely no portable way to non-intrusively check the status, but also due to documented SIGBUS vs. SIGSEGV differences the whole assumption appears bogus on the second thought.)
Relevant unit tests that exercise client-side unlinking: - check_ipc: test_ipc_server_fail_shm, test_ipc_exit_shm - new test in a subsequent commit
Commit: f610b1b161950f37e1a43cb927a3d956e8738fec https://github.com/ClusterLabs/libqb/commit/f610b1b161950f37e1a43cb927a3d956... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-11-04 (Fri, 04 Nov 2016)
Changed paths: M configure.ac M tests/Makefile.am A tests/_failure_injection.c A tests/_failure_injection.h M tests/check_ipc.c M tests/resources.test
Log Message: ----------- tests: start stdlib failures injection effort with unlink{,at} + test
There are not many ways to test alternate code paths having failure of some function from standard library as a precondition.
For a starter, we need to test failing unlink{,at} functions in a controlled manner to mimic client and server path of the IPC connection having different privileges to validate the previous commit. But the test suite cannot assume it has root privileges (so as to add artificial user system-wide, which is a pretty stupid idea on its own), cannot generally use stuff like chroot/namespacing (not to speak about synergies of the former like docker). So what's left is to make our own playground, or better yet, use existing playground but just to modify the rules of the game a bit when it's desired -- a variation of old good LD_PRELOAD trick.
Note that this concept was already used in syslog tests (see commit 642f74d) and is now further extended using dlsym(RTLD_NEXT, "symbol") to resolve the standard library symbol being shadowed by our little "module". This hence yields a customized wrapping we use to either inject a call failure or to increase an invocation counter so as to assure something has indeed been called. As the mechanisms used are not supposed to be available everywhere, the build system is conditionalized respectively.
Back to our test when unlink{,at} fails, with the help of the described mechanism, it was actually easy to massage test_ipc_server_fail_shm into test_ipcc_truncate_when_unlink_fails_shm desired addition, which is also featured in this commit, together with a modification to resources.test script so that it expects particular number of empty file leftovers (see previous commit).
It's expected that the module for failure injections will keep growing so as to enable better overall coverage of the code (on the platforms where this provision is available).
Commit: b67f8ff9f46c40aa03c8dd33de1bab83bc92fd68 https://github.com/ClusterLabs/libqb/commit/b67f8ff9f46c40aa03c8dd33de1bab83... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-11-08 (Tue, 08 Nov 2016)
Changed paths: M configure.ac M lib/ipc_shm.c M lib/log_blackbox.c M lib/ringbuffer.c M lib/ringbuffer_helper.c M lib/ringbuffer_int.h M lib/unix.c M lib/util_int.h M tests/Makefile.am A tests/_failure_injection.c A tests/_failure_injection.h M tests/check_ipc.c M tests/resources.test
Log Message: ----------- Merge pull request #231 from jnpkrn/unlink-or-truncate
Unlink or truncate (as a fallback) files when shm IPC client terminates connection forcibly
Commit: f6e40425dc342034df6ad045d257ba2eb4c82713 https://github.com/ClusterLabs/libqb/commit/f6e40425dc342034df6ad045d257ba2e... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-11-18 (Fri, 18 Nov 2016)
Changed paths: M tests/Makefile.am
Log Message: ----------- build: ensure check_SCRIPTS are distributed
(discovered during git -> automatic COPR builds integration)
Commit: 85b82bd6159d0b8b3b57fd7ed7072c047e894b92 https://github.com/ClusterLabs/libqb/commit/85b82bd6159d0b8b3b57fd7ed7072c04... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-11-18 (Fri, 18 Nov 2016)
Changed paths: M docs/Makefile.am M tests/Makefile.am
Log Message: ----------- build: ensure debug make flags are not derived when unsuitable
Unfortunately, debug messages of GNU make are emitted to stdout, which spoils the extracted output we rely on. So prevent it (as well as any other extraneous option) by force.
(discovered during git -> automatic COPR builds integration)
Commit: 27d51a83393b4d39d48e547527bd0e56306e57f2 https://github.com/ClusterLabs/libqb/commit/27d51a83393b4d39d48e547527bd0e56... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-11-18 (Fri, 18 Nov 2016)
Changed paths: A .tito.spec.tmpl A .tito/custom.py A .tito/tito.props
Log Message: ----------- build: allow for git -> automatic COPR builds integration
New tito-related files makes the repository compatible with tito method of building in COPR (https://fedorahosted.org/copr/wiki/UserDocs#Tito).
Commit: 45712eae1b83b98e13179669de2b7c7cd3770331 https://github.com/ClusterLabs/libqb/commit/45712eae1b83b98e13179669de2b7c7c... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-11-22 (Tue, 22 Nov 2016)
Changed paths: A .tito.spec.tmpl A .tito/custom.py A .tito/tito.props M docs/Makefile.am M tests/Makefile.am
Log Message: ----------- Merge pull request #232 from jnpkrn/copr-tito
build: allow for git -> automatic COPR builds integration
Commit: 704c1964260076069be66d327bb1864618506f11 https://github.com/ClusterLabs/libqb/commit/704c1964260076069be66d327bb18646... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-11-22 (Tue, 22 Nov 2016)
Changed paths: M README.markdown
Log Message: ----------- doc: README: add a status badge+link for the COPR builds
Commit: 77cb88d6f86a2dc33557058292e3cfa112801ef3 https://github.com/ClusterLabs/libqb/commit/77cb88d6f86a2dc33557058292e3cfa1... Author: Jan Pokorný jpokorny@redhat.com Date: 2016-11-23 (Wed, 23 Nov 2016)
Changed paths: M .tito/custom.py M .tito/tito.props
Log Message: ----------- build: tito: minor adjustments
Commit: 3ca533b44e19ddd48ccd05514a84227f7c4a95ed https://github.com/ClusterLabs/libqb/commit/3ca533b44e19ddd48ccd05514a84227f... Author: Chrissie Caulfield ccaulfie@redhat.com Date: 2016-11-24 (Thu, 24 Nov 2016)
Changed paths: M .tito/custom.py M .tito/tito.props M README.markdown
Log Message: ----------- Merge pull request #233 from jnpkrn/copr-tito
build: git -> automatic COPR builds integration followup
Commit: 0a329683a76bc6aeb36f20f2bf6b43ba0440c4dc https://github.com/ClusterLabs/libqb/commit/0a329683a76bc6aeb36f20f2bf6b43ba... Author: Christine Caulfield ccaulfie@redhat.com Date: 2016-11-24 (Thu, 24 Nov 2016)
Changed paths: M lib/Makefile.am
Log Message: ----------- version: Update version for 1.0.1 release
Commit: 6bf19b7b342a718a1d7de51eb574ef928d472643 https://github.com/ClusterLabs/libqb/commit/6bf19b7b342a718a1d7de51eb574ef92... Author: Christine Caulfield ccaulfie@redhat.com Date: 2016-11-24 (Thu, 24 Nov 2016)
Changed paths: A .tito.spec.tmpl A .tito/custom.py A .tito/tito.props M .travis.yml M Makefile.am M README.markdown M build-aux/git-version-gen M configure.ac M docs/Makefile.am M docs/mainpage.h M examples/ipcserver.c M include/qb/qbconfig.h.in M include/qb/qbdefs.h M include/qb/qbhdb.h M include/qb/qbipcc.h M include/qb/qbipcs.h M include/qb/qblog.h M include/qb/qbloop.h M lib/Makefile.am M lib/ipc_setup.c M lib/ipc_shm.c M lib/ipc_socket.c M lib/ipcc.c M lib/ipcs.c M lib/log.c M lib/log_blackbox.c M lib/log_format.c M lib/log_thread.c M lib/ringbuffer.c M lib/ringbuffer_helper.c M lib/ringbuffer_int.h M lib/unix.c M lib/util.c M lib/util_int.h M libqb.spec.in M tests/.gitignore M tests/Makefile.am A tests/_failure_injection.c A tests/_failure_injection.h M tests/bmcpt.c M tests/bms.c M tests/check_array.c A tests/check_common.h M tests/check_ipc.c M tests/check_log.c M tests/check_loop.c M tests/check_map.c M tests/check_rb.c M tests/check_util.c A tests/print_ver.c M tests/resources.test
Log Message: ----------- Merge branch 'master' of https://github.com/ClusterLabs/libqb into gh-pages
Commit: fee0c7b572b97a0f97079456566a42f5c8e984d5 https://github.com/ClusterLabs/libqb/commit/fee0c7b572b97a0f97079456566a42f5... Author: Christine Caulfield ccaulfie@redhat.com Date: 2016-11-24 (Thu, 24 Nov 2016)
Changed paths: A 1.0.1/1.0_to_1.0.1.html A 1.0.1/Changelog.txt A 1.0.1/doxygen/annotated.html A 1.0.1/doxygen/bc_s.png A 1.0.1/doxygen/bdwn.png A 1.0.1/doxygen/classes.html A 1.0.1/doxygen/closed.png A 1.0.1/doxygen/deprecated.html A 1.0.1/doxygen/dir_99176029e6245da7be482686d42cbcde.html A 1.0.1/doxygen/dir_99176029e6245da7be482686d42cbcde_dep.dot A 1.0.1/doxygen/dir_99176029e6245da7be482686d42cbcde_dep.md5 A 1.0.1/doxygen/dir_d44c64559bbebec7f509842c48db8b23.html A 1.0.1/doxygen/dir_d44c64559bbebec7f509842c48db8b23_dep.dot A 1.0.1/doxygen/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 A 1.0.1/doxygen/doxygen.css A 1.0.1/doxygen/doxygen.png A 1.0.1/doxygen/dynsections.js A 1.0.1/doxygen/examples.html A 1.0.1/doxygen/files.html A 1.0.1/doxygen/ftv2blank.png A 1.0.1/doxygen/ftv2cl.png A 1.0.1/doxygen/ftv2doc.png A 1.0.1/doxygen/ftv2folderclosed.png A 1.0.1/doxygen/ftv2folderopen.png A 1.0.1/doxygen/ftv2lastnode.png A 1.0.1/doxygen/ftv2link.png A 1.0.1/doxygen/ftv2mlastnode.png A 1.0.1/doxygen/ftv2mnode.png A 1.0.1/doxygen/ftv2mo.png A 1.0.1/doxygen/ftv2node.png A 1.0.1/doxygen/ftv2ns.png A 1.0.1/doxygen/ftv2plastnode.png A 1.0.1/doxygen/ftv2pnode.png A 1.0.1/doxygen/ftv2splitbar.png A 1.0.1/doxygen/ftv2vertline.png A 1.0.1/doxygen/functions.html A 1.0.1/doxygen/functions_func.html A 1.0.1/doxygen/functions_vars.html A 1.0.1/doxygen/globals.html A 1.0.1/doxygen/globals_0x66.html A 1.0.1/doxygen/globals_0x68.html A 1.0.1/doxygen/globals_0x6c.html A 1.0.1/doxygen/globals_0x70.html A 1.0.1/doxygen/globals_0x71.html A 1.0.1/doxygen/globals_0x74.html A 1.0.1/doxygen/globals_defs.html A 1.0.1/doxygen/globals_enum.html A 1.0.1/doxygen/globals_eval.html A 1.0.1/doxygen/globals_func.html A 1.0.1/doxygen/globals_type.html A 1.0.1/doxygen/globals_vars.html A 1.0.1/doxygen/graph_legend.dot A 1.0.1/doxygen/graph_legend.html A 1.0.1/doxygen/graph_legend.md5 A 1.0.1/doxygen/index.html A 1.0.1/doxygen/ipcclient_8c-example.html A 1.0.1/doxygen/ipcserver_8c-example.html A 1.0.1/doxygen/jquery.js A 1.0.1/doxygen/mainpage_8h.html A 1.0.1/doxygen/nav_f.png A 1.0.1/doxygen/nav_g.png A 1.0.1/doxygen/nav_h.png A 1.0.1/doxygen/open.png A 1.0.1/doxygen/pages.html A 1.0.1/doxygen/qb_array_overview.html A 1.0.1/doxygen/qb_atomic_overview.html A 1.0.1/doxygen/qb_hdb_overview.html A 1.0.1/doxygen/qb_ipc_overview.html A 1.0.1/doxygen/qb_list_overview.html A 1.0.1/doxygen/qb_log_overview.html A 1.0.1/doxygen/qb_loop_overview.html A 1.0.1/doxygen/qb_map_overview.html A 1.0.1/doxygen/qb_rb_overview.html A 1.0.1/doxygen/qb_util_overview.html A 1.0.1/doxygen/qbarray_8h.html A 1.0.1/doxygen/qbarray_8h__dep__incl.dot A 1.0.1/doxygen/qbarray_8h__dep__incl.md5 A 1.0.1/doxygen/qbarray_8h__incl.dot A 1.0.1/doxygen/qbarray_8h__incl.md5 A 1.0.1/doxygen/qbatomic_8h.html A 1.0.1/doxygen/qbatomic_8h__incl.dot A 1.0.1/doxygen/qbatomic_8h__incl.md5 A 1.0.1/doxygen/qbconfig_8h.html A 1.0.1/doxygen/qbconfig_8h__dep__incl.dot A 1.0.1/doxygen/qbconfig_8h__dep__incl.md5 A 1.0.1/doxygen/qbconfig_8h__incl.dot A 1.0.1/doxygen/qbconfig_8h__incl.md5 A 1.0.1/doxygen/qbdefs_8h.html A 1.0.1/doxygen/qbdefs_8h__dep__incl.dot A 1.0.1/doxygen/qbdefs_8h__dep__incl.md5 A 1.0.1/doxygen/qbhdb_8h.html A 1.0.1/doxygen/qbhdb_8h__incl.dot A 1.0.1/doxygen/qbhdb_8h__incl.md5 A 1.0.1/doxygen/qbipc__common_8h.html A 1.0.1/doxygen/qbipc__common_8h__dep__incl.dot A 1.0.1/doxygen/qbipc__common_8h__dep__incl.md5 A 1.0.1/doxygen/qbipc__common_8h__incl.dot A 1.0.1/doxygen/qbipc__common_8h__incl.md5 A 1.0.1/doxygen/qbipcc_8h.html A 1.0.1/doxygen/qbipcc_8h__incl.dot A 1.0.1/doxygen/qbipcc_8h__incl.md5 A 1.0.1/doxygen/qbipcs_8h.html A 1.0.1/doxygen/qbipcs_8h__incl.dot A 1.0.1/doxygen/qbipcs_8h__incl.md5 A 1.0.1/doxygen/qblist_8h.html A 1.0.1/doxygen/qblist_8h__incl.dot A 1.0.1/doxygen/qblist_8h__incl.md5 A 1.0.1/doxygen/qblog_8h.html A 1.0.1/doxygen/qblog_8h__incl.dot A 1.0.1/doxygen/qblog_8h__incl.md5 A 1.0.1/doxygen/qbloop_8h.html A 1.0.1/doxygen/qbloop_8h__dep__incl.dot A 1.0.1/doxygen/qbloop_8h__dep__incl.md5 A 1.0.1/doxygen/qbloop_8h__incl.dot A 1.0.1/doxygen/qbloop_8h__incl.md5 A 1.0.1/doxygen/qbmap_8h.html A 1.0.1/doxygen/qbmap_8h__incl.dot A 1.0.1/doxygen/qbmap_8h__incl.md5 A 1.0.1/doxygen/qbrb_8h.html A 1.0.1/doxygen/qbrb_8h__incl.dot A 1.0.1/doxygen/qbrb_8h__incl.md5 A 1.0.1/doxygen/qbutil_8h.html A 1.0.1/doxygen/qbutil_8h__dep__incl.dot A 1.0.1/doxygen/qbutil_8h__dep__incl.md5 A 1.0.1/doxygen/qbutil_8h__incl.dot A 1.0.1/doxygen/qbutil_8h__incl.md5 A 1.0.1/doxygen/search/all_5f.html A 1.0.1/doxygen/search/all_5f.js A 1.0.1/doxygen/search/all_61.html A 1.0.1/doxygen/search/all_61.js A 1.0.1/doxygen/search/all_63.html A 1.0.1/doxygen/search/all_63.js A 1.0.1/doxygen/search/all_64.html A 1.0.1/doxygen/search/all_64.js A 1.0.1/doxygen/search/all_65.html A 1.0.1/doxygen/search/all_65.js A 1.0.1/doxygen/search/all_66.html A 1.0.1/doxygen/search/all_66.js A 1.0.1/doxygen/search/all_68.html A 1.0.1/doxygen/search/all_68.js A 1.0.1/doxygen/search/all_69.html A 1.0.1/doxygen/search/all_69.js A 1.0.1/doxygen/search/all_6a.html A 1.0.1/doxygen/search/all_6a.js A 1.0.1/doxygen/search/all_6c.html A 1.0.1/doxygen/search/all_6c.js A 1.0.1/doxygen/search/all_6d.html A 1.0.1/doxygen/search/all_6d.js A 1.0.1/doxygen/search/all_6e.html A 1.0.1/doxygen/search/all_6e.js A 1.0.1/doxygen/search/all_70.html A 1.0.1/doxygen/search/all_70.js A 1.0.1/doxygen/search/all_71.html A 1.0.1/doxygen/search/all_71.js A 1.0.1/doxygen/search/all_72.html A 1.0.1/doxygen/search/all_72.js A 1.0.1/doxygen/search/all_73.html A 1.0.1/doxygen/search/all_73.js A 1.0.1/doxygen/search/all_74.html A 1.0.1/doxygen/search/all_74.js A 1.0.1/doxygen/search/classes_71.html A 1.0.1/doxygen/search/classes_71.js A 1.0.1/doxygen/search/close.png A 1.0.1/doxygen/search/defines_5f.html A 1.0.1/doxygen/search/defines_5f.js A 1.0.1/doxygen/search/defines_68.html A 1.0.1/doxygen/search/defines_68.js A 1.0.1/doxygen/search/defines_6c.html A 1.0.1/doxygen/search/defines_6c.js A 1.0.1/doxygen/search/defines_71.html A 1.0.1/doxygen/search/defines_71.js A 1.0.1/doxygen/search/enums_71.html A 1.0.1/doxygen/search/enums_71.js A 1.0.1/doxygen/search/enumvalues_71.html A 1.0.1/doxygen/search/enumvalues_71.js A 1.0.1/doxygen/search/files_6d.html A 1.0.1/doxygen/search/files_6d.js A 1.0.1/doxygen/search/files_71.html A 1.0.1/doxygen/search/files_71.js A 1.0.1/doxygen/search/functions_5f.html A 1.0.1/doxygen/search/functions_5f.js A 1.0.1/doxygen/search/functions_71.html A 1.0.1/doxygen/search/functions_71.js A 1.0.1/doxygen/search/mag_sel.png A 1.0.1/doxygen/search/nomatches.html A 1.0.1/doxygen/search/pages_61.html A 1.0.1/doxygen/search/pages_61.js A 1.0.1/doxygen/search/pages_63.html A 1.0.1/doxygen/search/pages_63.js A 1.0.1/doxygen/search/pages_64.html A 1.0.1/doxygen/search/pages_64.js A 1.0.1/doxygen/search/pages_68.html A 1.0.1/doxygen/search/pages_68.js A 1.0.1/doxygen/search/pages_69.html A 1.0.1/doxygen/search/pages_69.js A 1.0.1/doxygen/search/pages_6c.html A 1.0.1/doxygen/search/pages_6c.js A 1.0.1/doxygen/search/pages_6d.html A 1.0.1/doxygen/search/pages_6d.js A 1.0.1/doxygen/search/pages_72.html A 1.0.1/doxygen/search/pages_72.js A 1.0.1/doxygen/search/search.css A 1.0.1/doxygen/search/search.js A 1.0.1/doxygen/search/search_l.png A 1.0.1/doxygen/search/search_m.png A 1.0.1/doxygen/search/search_r.png A 1.0.1/doxygen/search/typedefs_71.html A 1.0.1/doxygen/search/typedefs_71.js A 1.0.1/doxygen/search/variables_5f.html A 1.0.1/doxygen/search/variables_5f.js A 1.0.1/doxygen/search/variables_61.html A 1.0.1/doxygen/search/variables_61.js A 1.0.1/doxygen/search/variables_63.html A 1.0.1/doxygen/search/variables_63.js A 1.0.1/doxygen/search/variables_64.html A 1.0.1/doxygen/search/variables_64.js A 1.0.1/doxygen/search/variables_65.html A 1.0.1/doxygen/search/variables_65.js A 1.0.1/doxygen/search/variables_66.html A 1.0.1/doxygen/search/variables_66.js A 1.0.1/doxygen/search/variables_68.html A 1.0.1/doxygen/search/variables_68.js A 1.0.1/doxygen/search/variables_69.html A 1.0.1/doxygen/search/variables_69.js A 1.0.1/doxygen/search/variables_6a.html A 1.0.1/doxygen/search/variables_6a.js A 1.0.1/doxygen/search/variables_6c.html A 1.0.1/doxygen/search/variables_6c.js A 1.0.1/doxygen/search/variables_6d.html A 1.0.1/doxygen/search/variables_6d.js A 1.0.1/doxygen/search/variables_6e.html A 1.0.1/doxygen/search/variables_6e.js A 1.0.1/doxygen/search/variables_70.html A 1.0.1/doxygen/search/variables_70.js A 1.0.1/doxygen/search/variables_72.html A 1.0.1/doxygen/search/variables_72.js A 1.0.1/doxygen/search/variables_73.html A 1.0.1/doxygen/search/variables_73.js A 1.0.1/doxygen/search/variables_74.html A 1.0.1/doxygen/search/variables_74.js A 1.0.1/doxygen/simplelog_8c-example.html A 1.0.1/doxygen/structqb__hdb.html A 1.0.1/doxygen/structqb__hdb__coll__graph.dot A 1.0.1/doxygen/structqb__hdb__coll__graph.md5 A 1.0.1/doxygen/structqb__hdb__handle.html A 1.0.1/doxygen/structqb__hdb__handle__coll__graph.dot A 1.0.1/doxygen/structqb__hdb__handle__coll__graph.md5 A 1.0.1/doxygen/structqb__ipc__request__header.html A 1.0.1/doxygen/structqb__ipc__request__header__coll__graph.dot A 1.0.1/doxygen/structqb__ipc__request__header__coll__graph.md5 A 1.0.1/doxygen/structqb__ipc__response__header.html A 1.0.1/doxygen/structqb__ipc__response__header__coll__graph.dot A 1.0.1/doxygen/structqb__ipc__response__header__coll__graph.md5 A 1.0.1/doxygen/structqb__ipcs__connection__stats.html A 1.0.1/doxygen/structqb__ipcs__connection__stats__2.html A 1.0.1/doxygen/structqb__ipcs__connection__stats__2__coll__graph.dot A 1.0.1/doxygen/structqb__ipcs__connection__stats__2__coll__graph.md5 A 1.0.1/doxygen/structqb__ipcs__connection__stats__coll__graph.dot A 1.0.1/doxygen/structqb__ipcs__connection__stats__coll__graph.md5 A 1.0.1/doxygen/structqb__ipcs__poll__handlers.html A 1.0.1/doxygen/structqb__ipcs__poll__handlers__coll__graph.dot A 1.0.1/doxygen/structqb__ipcs__poll__handlers__coll__graph.md5 A 1.0.1/doxygen/structqb__ipcs__service__handlers.html A 1.0.1/doxygen/structqb__ipcs__service__handlers__coll__graph.dot A 1.0.1/doxygen/structqb__ipcs__service__handlers__coll__graph.md5 A 1.0.1/doxygen/structqb__ipcs__stats.html A 1.0.1/doxygen/structqb__ipcs__stats__coll__graph.dot A 1.0.1/doxygen/structqb__ipcs__stats__coll__graph.md5 A 1.0.1/doxygen/structqb__list__head.html A 1.0.1/doxygen/structqb__list__head__coll__graph.dot A 1.0.1/doxygen/structqb__list__head__coll__graph.md5 A 1.0.1/doxygen/structqb__log__callsite.html A 1.0.1/doxygen/structqb__log__callsite__coll__graph.dot A 1.0.1/doxygen/structqb__log__callsite__coll__graph.md5 A 1.0.1/doxygen/sync_off.png A 1.0.1/doxygen/sync_on.png A 1.0.1/doxygen/tab_a.png A 1.0.1/doxygen/tab_b.png A 1.0.1/doxygen/tab_h.png A 1.0.1/doxygen/tab_s.png A 1.0.1/doxygen/tabs.css A 1.0.1/doxygen/tcpserver_8c-example.html A 1.0.1/doxygen/unionqb__log__ctl2__arg__t.html A 1.0.1/doxygen/unionqb__log__ctl2__arg__t__coll__graph.dot A 1.0.1/doxygen/unionqb__log__ctl2__arg__t__coll__graph.md5
Log Message: ----------- Add online documentation for v1.0.1
Compare: https://github.com/ClusterLabs/libqb/compare/4933d5bcc96c...fee0c7b572b9
quarterback-devel@lists.fedorahosted.org