Group support for cmocka

Last Friday I’ve released cmocka 0.4.0. It has several bugfixes and at least two new features. One is support for groups. This means you can define a setup and teardown function for a group of unit tests. I think some people have been waiting for this.

You can find an example here. It is simple and easy to use.
The other small feature is a new macro: assert_return_code(). It is designed for standard C function return values which return 0 for success and less than 0 to indicate an error with errno set. It will produce a nice error message! The rest are bugfixes and improvements for error message.

Thanks to all contributor and bug reporter!

If you think cmocka is a great piece of software, please vote it up on stackoverflow, thanks.

The Gold Linker

After the Update to Fedora 20 I forgot to update the linker to Gold. Today I released that linking Samba is horribly slow. Time to change the linker to Gold again:


ll /etc/alternatives/ld
/usr/sbin/alternatives --set ld /usr/bin/


ll /etc/alternatives/ld
/usr/sbin/update-alternatives --set ld /usr/bin/

To still build a special project with ld.bfq use:


cwrap 1.0.0 – testing your full software stack …

on one single machine!

FOSDEM/Brussels, February 2nd, I gave a talk about cwrap. I announced and released version 1.0.0 of cwrap, a set of tools to create a fully isolated network environment to test client/server components on a single host.
It provides synthetic account information, hostname resolution and privilege separation support. The heart of cwrap consists of three libraries you can preload to any executable.
The libc wrapper project does not require virtualization and can be used to build environments on different operating systems. The project
consists of a socket wrapper, NSS module wrapper (users, groups, hosts), and a (s)uid wrapper with support for GNU/Linux, BSD and Solaris.

The origin of these wrappers is the Samba project, where the wrappers are in use since many years to successfully test their protocol implementations. Now it is possible to use them outside of the Samba project. The wrappers have been improved and are loaded with new features.

Learn more at

libssh 0.6.0 released

After another development cycle, this time of 2,5 years, the libssh Team is proud to announce version 0.6.0 of libssh.

The most important functionality which has been added is a new callback-based server API. Also we added ECDSA support and a new algorithm called gro.h1500568656ssbil1500568656@652a1500568656hs-911500568656552ev1500568656ruc1500568656 for key exchange to have something better than the NIST curves. OpenSSH also uses gro.h1500568656ssbil1500568656@652a1500568656hs-911500568656552ev1500568656ruc1500568656 as the default for key exchange. For ECDSA there is a complete new API for public key management available. Also a big improvement is Kerberos support which has been tested by Red Hat engineers with FreeIPA and gssproxy.

Thanks to all contributors!


I spent the day to look at tmux and vim and found a lot of great plugins. What I really like for tmux and also vim is powerline. Powerline is a status-line and prompts utility to change the look and feel of your vim or tmux status lines. It looks like this:


It consists of a special font, a python tool and plugins for applications. I’ve created package for Fedora and submitted a review request here.

Curve25519-SHA256 is the default KEX in openSSH too now!

Since some hours txt.g1500568656ro.hs1500568656sbil@1500568656652ah1500568656s-915150056865652evr1500568656uc1500568656"> gro.h1500568656ssbil1500568656@652a1500568656hs-911500568656552ev1500568656ruc1500568656 is the default KEX in OpenSSH!


Several weeks ago Aris added a new Elliptic Curve algorithm for key exchange using Curve25519. After he wrote some kind of a RFC and implemented it in libssh he started to suggest a patch for OpenSSH which finally has been integrated.

A new release of csync

Finally after 3 years there is a new version of csync available. csync is a file synchronizer especially designed for you, the normal user. About two years ago, Klaas started to use csync as the backend for the owncloud sync client. The last years we added a lot of features, improved our test framework and fixed several bugs. I have to thank Klaas for all the work he did on csync. Improving it, porting features back to csync master and cleaning up his working tree over and over again 🙂 Also thanks to all the contributers for bugs and patches!

We relicensed libcsync to LGPL and hope for broader use and more patches to come!

Unit testing with mock objects in C

The article Jakub Hrozek and I wrote for Linux Weekly News ( about CMocka and using mock objects is available to the public now. You can find it here:

Unit testing with mock objects in C

cmocka is a unit testing framework for C with support for mock objects. It is used by several Free Software projects like libssh, csync, SSSD or Elasto Cloud.

If you don’t have a subscription you should consider getting one 😉