mirror of
https://salsa.debian.org/ha-team/libqb
synced 2026-01-15 21:31:06 +00:00
Linux doesn't pass credential information by default, only when it has been specifically requested with SO_PASSCRED. This means there's a race between when the ipc server side has set up and is listening on the socket, and when the client may connect; if the client connects and sends its first message before the server has set SO_PASSCRED on the socket, then there will be no ucred information associated with the message. The fix is to set SO_PASSCRED on the client socket as well, so that the message will always have a ucred associated with it when the server reads it. Without this change, around 1% of cpg_model_initialize() calls fail with CS_ERR_ACCESS. (This Linux behaviour was introduced just on a year ago in 16e5726269611b71c930054ffe9b858c1cea88eb "af_unix: dont send SCM_CREDENTIALS by default".) |
||
|---|---|---|
| build-aux | ||
| docs | ||
| examples | ||
| include | ||
| lib | ||
| tests | ||
| tools | ||
| .gitignore | ||
| .travis.yml | ||
| autogen.sh | ||
| check | ||
| coding_style.txt | ||
| configure.ac | ||
| COPYING | ||
| INSTALL | ||
| libqb.spec.in | ||
| Lindent | ||
| Makefile.am | ||
| README.markdown | ||
libqb
What is libqb?
libqb is a library with the primary purpose of providing high performance client server reusable features. It provides high performance logging, tracing, ipc, and poll.
We don't intend be an all encompassing library, but instead provide very specially focused APIs that are highly tuned for maximum performance for client/server applications.
For more information look at:
-
You can build it yourself with the following commands:
$ make doxygen $ firefox ./doc/html/index.html
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/asalkeld/libqb.git
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.
- Test and report issues.
- Help others on the mailing list.
- Contribute documentation, examples and test cases.
- Contribute patches.
- Spread the word.