Go to file
Christine Caulfield 6a4067c1d1 ipc: Use mkdtemp for more secure IPC files
Use mkdtemp makes sure that IPC files are only visible to the
owning (client) process and do not use predictable names outside
of that.

This is not meant to be the last word on the subject, it's mainly a
simple way of making the current libqb more secure. Importantly, it's
backwards compatible with an old server.

It calls rmdir on the directory created by mkdtemp way too often, but
it seems to be the only way to be sure that things get cleaned up on
the various types of server/client exit. I'm sure we can come up with
something tidier for master but I hope this, or something similar, will
be OK for 1.0.x.
2019-04-08 16:24:19 +01:00
.tito build: tito: unify custom.py with pacemaker's version 2016-12-16 15:48:25 +01:00
build-aux UPDATED: doc (ABI comparison) and various other fixes (#324) 2018-09-25 08:38:37 +01:00
docs Fix comment typo (#296) 2018-03-20 13:12:06 +00:00
examples Add the option of hi-res (millisecond) timestamps (#329) 2018-11-09 09:56:44 +00:00
include log: Remove more dead code from linker callsites (#331) 2018-11-12 15:55:33 +00:00
lib ipc: Use mkdtemp for more secure IPC files 2019-04-08 16:24:19 +01:00
m4 tests: use RUNPATH instead of RPATH consistently (#309) 2018-05-03 16:03:54 +01:00
tests tests: allow blackbox-segfault.sh to run out-of-tree 2019-03-26 11:31:05 +00:00
tools doc: qblog.h: syslog rarely appropriate for ordinary programs 2017-12-14 10:42:09 +01:00
.gitattributes build: allow for being consumed in a (non-endorsed) form of snapshots 2018-09-13 10:54:16 +02:00
.gitignore build: allow for being consumed in a (non-endorsed) form of snapshots 2018-09-13 10:54:16 +02:00
.tito.spec.tmpl build: allow for git -> automatic COPR builds integration 2016-11-18 23:32:44 +01:00
.travis.yml log: Remove more dead code from linker callsites (#331) 2018-11-12 15:55:33 +00:00
autogen.sh build: allow for being consumed in a (non-endorsed) form of snapshots 2018-09-13 10:54:16 +02:00
check UPDATED: doc (ABI comparison) and various other fixes (#324) 2018-09-25 08:38:37 +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 [tests] allow installation of test suite 2019-03-26 11:31:05 +00: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] enable building / shipping of libqb-tests.rpm 2019-03-26 11:31:05 +00:00
Lindent Change Lindent options to break the procedure type. 2011-06-22 14:19:14 +10:00
Makefile.am [tests] export SOCKETDIR from tests/Makefile.am 2019-03-26 11:31:05 +00: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.