Vacation update

Just a quick update to explain the lack of commits to SVN recently!

I’ve found that Vacation does not handle folded RFC2822 headers correctly (at all in fact) and so I’ve been working on fixing that.

In the process I’ve come across a rather nice dual license BSD/GPL string library called bstrlib ( and I’ve started converting Vacation over to it as it both promises to make life easier for me and safer for you (it has far better security than the standard C string functions).

Current state of play is that my new code for reading email headers seems to work in a test harness and I’ve now got to start porting all the old code over to using it.

It’s a non-trivial update but one that I believe is well worth doing.

Vacation 1.27.0 beta 5 released

This release of vacation fixes a brown paper bag bug that broke compilation completely due to a duplicate case statement. Apologies to everyone for not spotting either the bug or the report on the tracker! 🙁

This release also fixes the case where a user who had configured a .forward file for vacation but had not created the database with the -i option (or had the database removed for some reason) would find that vacation generated an error. Vacation will now silently create the database if it is missing.

Please report any problems, I think we’re getting very close to a release!

SourceForge has the released sources.

Vacation beta 4 released

This beta release updates the build process to remove the -m486 flag on non-PPC systems as the distros are already doing this.

This may break backwards compatibility on AMD64/EM64T based systems, the fix is to run vacation -I to reinitialise your database of addresses you have received email from.

The option ‘-i’ has been added as an alias for ‘-I’ and documented in the manual page.

This release includes the Makefile changes from Marshal Newrock to build (hopefully) on FreeBSD with automatic detection of whether it is necessary.

There have been a few other housekeeping changes.

Please report any problems!

SourceForge has both the released sources and the ChangeLog.

Vacation released

This is a minor bugfix release to the 1.2.6 series of Vacation inspired by looking at the sorts of things Linux distros patch for their own usage.

Vacation no longer builds as -m486 by default, though it will build as 32-bit on AMD64/EM64T because GDBM is not 32/64-bit portable and trying to run a 64-bit version against a 32-bit created GDBM causes it to fail and syslog a success message. This is sub-optimal.

The Makefiles CFLAGS handling has been tidied up a fair bit as a consequence and will hopefully make life a little easier for distributors and it no longer tries to strip the vaclook Perl script on install, which was very silly.

Vacation also now accepts the -i option as well as -I to initialise its database.

Download from SourceForge here.

Continue reading

Vacation beta 3 released

Another quick release, this time changing the address parsing for From: and Reply-To: headers to use Eric Raymonds rfc822.c library from his Unix Cookbook and fetchmail rather than the old homebrew code which couldn’t parse many RFC2822 addresses. You can enable the old behaviour by compiling with the -DOLD compiler option (though you probably won’t want to).

It also fixes the bug that broke the -r option, there was a stray “:” in the getopt(3) call that meant it expected an (unnecessary) argument.

There’s a couple of trivial tweaks too.

Please report successful and unsuccessful uses!

Available here.

Vacation beta 2 released

This new beta may be more on the alpha side of beta as it includes a substantial number of changes to improve security. Rather than using the standard strcpy, strcat, etc it now uses the OpenBSD secure string handling functions strlcat and strlcpy and use of sprintf has been changed to snprintf to try and avoid possible buffer overruns. I’m not actually aware of any attacks but this is quite old code so you never know your luck.

I’ve also changed the implementation of the nsearch() function to use strcasestr() which makes it much simpler.

You can download the release from Sourceforge.

Please test and comment!

Continue reading

Vacation beta 1 released

Vacation beta1 has been released.

This is a complete rebase from the version of Vacation at Savannah Non-GNU which had been released under the modified BSD license with no advertising clause. This actually means Vacation finally links legally with GDBM (something I don’t believe people previously realised)!

This beta also includes a patch graciously supplied by Roberto Piola that makes Vacation ignore emails that have the SpamAssassin “X-Spam-Status: Yes” header set, indicating that it believes they are spam.

As a beta release from a new codebase you should keep the usual caveats in mind, it may not reply to emails, core dump randomly, blow up, eat your dog or even work properly. We would appreciate reports of all of those instances (well, except maybe for the dog) to the vacation-list kindly hosted at SourceForge.

See the mailing list summary for Vacation to find out how to join the list.

Nadolig Llawen a Blwyddyn Newydd Dda (as they say where I come from). 🙂


The Vacation Mail Responder – Released

The Vacation Mail Responder has been abandoned for over 5 years now, so I contacted the former maintainers and asked them about taking on the project. They were happy about that and so now I find myself looking after it, along with Brian May.

I’ve made a minor bug fix (to add the Precedence: bulk header to all responses it generates) and updated the maintainer information and just released, over 5 years from the release.

The main question is now, of course, where do we go from here ? One of the options we’re seriously considering is whether we should rebase from the native packages in Debian & Ubuntu as their version has been independently developed and gone much further than this one.

But for now I can go to sleep tonight feeling happy that I’ve taken on my first open source project and started to breath some life into it once more..