Vacation 1.2.7.0 Released!

I’m happy to announce the release of Vacation 1.2.7.0.

This is a complete rebase of the current Vacation code base from the closely related version at http://savannah.nongnu.org/cvs/?group=vacation which had been released under the two clause BSD license (no advertising clause).

This means Vacation finally links legally with the GPL’d GDBM (something I don’t believe people previously realised)!

New features in this version are:

  • Vacation will not reply to emails that have the SpamAssassin “X-Spam-Status: Yes” header, thanks to Roberto Piola.
  • It uses the OpenBSD secure string handling functions strlcat and strlcpy and use of sprintf has been changed to snprintf to enhance resilience.
  • Vacation now uses Eric Raymonds rfc822.c library from his Unix Cookbook for much better parsing RFC2822 email addresses.
  • Should (hopefully!) compile on FreeBSD thanks to Marshal Newrock.
  • Vacation will silently create its database if it is missing (previously it just crashed!).
  • Lots of bug fixes!

This version (still) does not implement support for folded headers for those headers it worries about (From:, Reply-To:, etc), that requires a major reworking of the code that is currently underway in the trunk of the Subversion repository.

Thanks to all those who’ve submitted bug fixes, requested enhancements and sent patches, especially Roberto Piola, Marshal Newrock and Daniel Pittman.

You can download the program from http://sourceforge.net/project/showfiles.php?group_id=3852&package_id=3820&release_id=611078.

6 thoughts on “Vacation 1.2.7.0 Released!

  1. Hi, do I need the fetchmail sources?

    This is on CentOS 5.2:

    + make 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables'
    gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -Xlinker -warn-common -D_PATH_VACATION=\"/usr/bin/vacation\" -o vacation vacation.c strlcpy.c strlcat.c rfc822.c -lgdbm
    vacation.c: In function 'initialize':
    vacation.c:799: warning: ignoring return value of 'system', declared with attribute warn_unused_result
    rfc822.c:34:23: error: fetchmail.h: No such file or directory
    rfc822.c:35:18: error: i18n.h: No such file or directory
    rfc822.c: In function 'reply_hack':
    rfc822.c:82: error: 'outlevel' undeclared (first use in this function)
    rfc822.c:82: error: (Each undeclared identifier is reported only once
    rfc822.c:82: error: for each function it appears in.)
    rfc822.c:82: error: 'O_DEBUG' undeclared (first use in this function)
    rfc822.c:83: warning: implicit declaration of function 'report_build'
    rfc822.c:83: warning: implicit declaration of function 'GT_'
    rfc822.c:89: warning: implicit declaration of function 'xrealloc'
    rfc822.c:89: warning: assignment makes pointer from integer without a cast
    rfc822.c:218: warning: implicit declaration of function 'report_complete'
    make: *** [vacation] Error 1

  2. Nope, it should just work out of the box, I’ve not needed that on Ubuntu before and nobody has reported that to date. I’ll check it out!

    Could you log a bug against it on SourceForge too please ?

  3. OK – just tested in on a Centos 5 box I have access to and I can’t replicate that – it compiles cleanly out of the box:

    gcc -g -Wall -DMAIN -Xlinker -warn-common -D_PATH_VACATION=\"/usr/bin/vacation\" -o vacation vacation.c strlcpy.c strlcat.c rfc822.c -lgdbm

    Looking at your CFLAGS you’ve missed -DMAIN which is needed for 1.2.7 to avoid the includes that you’re hitting!

  4. Ah, ok. I had this in my RPM spec file:
    make CFLAGS="$RPM_OPT_FLAGS"
    out of habit.

    since the RPM opt flags already were in the Makefile I just changed that to

    make

    If you’d like I can send the .spec file I used for inclusion in the tarball (so one can do “rpm -ta vacation-1.2.7.0.tar.gz”)

Comments are closed.