Go to file
Ferenc Wágner 4aa460891e Make it impossible to truncate or overflow the connection description
It's hard to predict the length of formatted output, so we'd better
notice (and abort) if the description is truncated.  Incidentally,
mkdtemp() does this for us in the shared memory branch, but do an
explicit check there as well for consistency, and get rid of the wrongly
parametrized strncat() risking a buffer overflow (CONNECTION_DESCRIPTION
is not the length of the source "/qb").

Similar truncation checks should be added to qb_ipcs_{shm,us}_connect()
where they build the request/response names, and possibly to other
places using snprintf().
2019-04-23 14:02:56 +01:00
.tito build: tito: unify custom.py with pacemaker's version 2016-12-16 15:48:25 +01:00
build-aux build: release.mk: deal with trailing whitespace-to-comment-delimiter 2017-12-14 16:17:33 +01:00
docs Fix spelling: plaform -> platform 2019-04-23 14:02:56 +01:00
examples warnings cleanup: Wformat: sign-correct PRIu32 specifiers as appropriate 2017-12-21 01:50:15 +01:00
include Fix garbled Doxygen markup 2019-04-23 14:02:56 +01:00
lib Make it impossible to truncate or overflow the connection description 2019-04-23 14:02:56 +01:00
m4 configure: define AS_VAR_COPY (#267) 2017-09-18 11:31:43 +01:00
tests maint: fix "make maintainer-clean" not working in tests/functional 2017-12-21 13:42:19 +01:00
tools doc: qblog.h: syslog rarely appropriate for ordinary programs 2017-12-14 10:42:09 +01:00
.gitignore High: bare fix for libqb logging not working with ld.bfd/binutils 2.29+ 2017-12-12 23:23:35 +01:00
.tito.spec.tmpl build: allow for git -> automatic COPR builds integration 2016-11-18 23:32:44 +01:00
.travis.yml tests: new sort of tests dubbed "functional", cover linker vs. logging 2017-12-12 20:46:02 +01:00
autogen.sh build: follow-up on introducing custom m4 macros 2017-05-19 15:32:55 +02:00
check High: bare fix for libqb logging not working with ld.bfd/binutils 2.29+ 2017-12-12 23:23:35 +01:00
coding_style.txt Point the link to the Linux kernel coding style document to the right place (#256) 2017-05-26 14:15:32 +01:00
configure.ac warnings cleanup: give up on some warning classes for now 2017-12-21 01:56:06 +01:00
COPYING Re-license to LGPL 2.1 2010-05-25 06:11:59 +10:00
INSTALL The license is in COPYING, not LICENSE 2015-12-16 19:28:20 +01:00
libqb.spec.in tests: new sort of tests dubbed "functional", cover linker vs. logging 2017-12-12 20:46:02 +01:00
Lindent Change Lindent options to break the procedure type. 2011-06-22 14:19:14 +10:00
Makefile.am build: follow-up on introducing custom m4 macros 2017-05-19 15:32:55 +02:00
README.markdown doc: README: add a status badge+link for the COPR builds 2016-11-22 16:36:26 +01:00

libqb

What is libqb?

libqb is a library with the primary purpose of providing high-performance, reusable features for client-server architecture, such as logging, tracing, inter-process communication (IPC), and polling.

libqb is not intended to be an all-encompassing library, but instead provide focused APIs that are highly tuned for maximum performance for client-server applications.

Build Status COPR Build Status

For more information, see:

Dependencies

  • glib-2.0-devel (If you want to build the glib example code)
  • check-devel (If you want to run the tests)
  • doxygen and graphviz (If you want to build the doxygen man pages or html manual)

Source Control (GIT)

git clone git://github.com/ClusterLabs/libqb.git

See Github

Installing from source

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

How you can help

If you find this project useful, you may want to consider supporting its future development. There are a number of ways to support the project.