Rant: All the C Compiler Warnings ...

- 2 mins read

Enable all the warnings!

This is one of the truths you learn when you start working with C. Most of the time adding CPPFLAGS="-W -Wall -Werror" is all you need to find all the nasty bugs. And if that’s not enough, there are tons of tools for static code analysis, like scan-build in Clang, and Coverity Scan, to help you find all the bugs!

However, these pesky warnings (some of which cannot even be disabled!) are sometimes more of a nuisance than help. Sometimes you know that some parameters to a function will remain unused – it’s a callback, and you don’t need all the data given to you. So you start adding all kinds of voodoo, like __attribute__ ((unused)) … seriously?

Recent Open Source Work

- 1 min read
I’m a coder, not a writer. Here’s what I’ve been working on during the winter holidays: A new feature release of Finit is coming shortly, which will use libuEv and feature inetd support built-in! Another minor release of my own take on event loops, libuEv v1.0.3. This time with a heavy focus on documentation and Q&A, extensive validation testing have been done on this release. Released another minor release of mrouted, v3.

Blog Restoration Project

- 2 mins read

I’ve had this long-standing issue with backups. It’s deadly boring to set up and maintain, so I don’t do any. Until today!

Today I moved the sources for my Octopress blag to GitHub, which also prompted me to set up a mirror on GitHub Pages. As usual, reading up on the subject and muster enough motivation took me about three months, whereas the actual work took about 4h.

pimd v2.2.0 -- The last release of pimd?

- 2 mins read

On one of the last days of 2014 I release pimd v2.2.0, which is an awesome release with a lot of new features and bug fixes!

However, it could very well be the last release I do. Even though its one of my most popular projects on GitHub I have not had enough time to dedicate to it over the years. I will continue to do fixes and merge pull requests until someone else steps up to take over. There is also the distinct possibility that the Xorp PIM-SM or the new Quagga PIM-SSM implementations will (finally) make good old pimd completely redundant.

At work we will likely start using the Quagga PIM rather than pimd in WeOS.

For now though, enjoy pimd v2.2.0. It’s been tested in both my Qemu based virtual testbed and a few setups using Linux’ netns feature in CORE – awesome little proggy! :-)

TFTP blocksize negotiation in uftpd v1.7

- 1 min read
New release of uftpd, this time with TFTP blocksize negotiation, RFC 2348. Making it a lot faster to transfer files over TFTP. Try it out!

HowTo: Add Multicast Routing to FreeBSD kernel

- 1 min read
This is a very short blog post, mostly intended as a reminder to myself. Basically, there are two methods of adding multicast routing support to the FreeBSD kernel: Rebuild the kernel with options MROUTING Load the kernel module: kldload ip_mroute The kernel rebuild assumes the src.txz set was installed previously. cd /usr/src cd sys/amd64/conf cat GENERIC | sed 's/GENERIC$/MULTICAST/' > MULTICAST echo 'options MROUTING # Multicast routing' >> MULTICAST echo 'options PIM # Enable for pimd' >> MULTICAST cd - make kernel KERNCONF=MULTICAST reboot That’s it.

GnuTLS support in Inadyn and fixes to uftpd

- 1 min read
Quite a few changes lately. I finally got around to adding support for GnuTLS to Inadyn, hopefully this will get into Debian … unless the Jessie freeze prevents that. Also, thanks to a friend of mine trying out uftpd recently I discovered that libuev has been missing from the tarball since the release of the TFTP support. Fixed. Another great piece of news is that Coverity accepted uftpd as an Open Source project, I’ve been hard at work fixing nasty bugs uncovered by the Coverity Scan.

Bugfix release of uftpd

- 1 min read
So them pesky details of /etc/inetd.conf really are important? This is a small bugfix release of uftpd. Version 1.4 is basically just to change nowait to wait for the TFTP service in /etc/inetd.conf, but there’s also a minor man page update. Enjoy! :)