Go to file
Christine Caulfield f950a5d3f8 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-09 10:56:51 +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 Typo fix + qb blackbox(8) tweaks and extension + gitignore follow-up (#262) 2017-08-07 10:21:25 +01:00
examples warnings cleanup: Wformat: sign-correct PRIu32 specifiers as appropriate 2017-12-21 01:50:15 +01:00
include warnings cleanup: Wsign-compare: hdb: uint32_t <-> int32_t 2017-12-20 22:19:17 +01:00
lib ipc: Use mkdtemp for more secure IPC files 2019-04-09 10:56:51 +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.