Update 2015-03-09: This release has unfortunately been yanked due
to serious regressions in launching background processes. It has been
replaced by v1.12
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?
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.
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.
On one of the last days of 2014 I release pimdv2.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! :-)
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.
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.
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.