Package: spamassassin
Version: 3.2.4-2
Severity: normal
Tags: patch

With vpopmail configuration (/etc/default/spamassassin):

ENABLED=1
CRON=yes
NICE="--nicelevel 5"
TMPDIR=/var/tmp/spamd
OPTIONS="--nouser-config --create-prefs --max-children=32
--min-children=6 --min-spare=4 --max-spare=8 --syslog-socket=unix"
# Cfr.: /usr/share/doc/spamassassin/README.spamd-vpopmail
OPTIONS="${OPTIONS} -v -u vpopmail"

when arrive a valid message the mail.log reports:

spamd[4943]: spamd: connection from localhost [127.0.0.1] at port 50132
spamd[4943]: Use of uninitialized value $vpopdir in concatenation (.) or
string at /usr/sbin/spamd line 2106, <GEN10> line 2.
spamd[4943]: Can't exec "/bin/vuserinfo": No such file or directory at
/usr/sbin/spamd line 2106, <GEN10> line 2.
spamd[4943]: Use of uninitialized value $vpopdir in concatenation (.) or
string at /usr/sbin/spamd line 2111, <GEN10> line 2.
spamd[4943]: Can't exec "/bin/valias": No such file or directory at
/usr/sbin/spamd line 2111, <GEN10> line 2.
spamd[4943]: Use of uninitialized value $dir in scalar chomp at
/usr/sbin/spamd line 2118, <GEN10> line 2.

the problem is in the subroutine handle_user_set_user_prefs. The working
solution is to check if exist $dir variable:

--- spamd.orig  2008-05-14 03:58:52.000000000 +0200
+++ spamd       2008-05-28 12:28:53.000000000 +0200
@@ -2099,6 +2099,7 @@
 sub handle_user_set_user_prefs {
   my ($dir, $username) = @_;
 
+if (defined $dir) {    #+20080318 <[EMAIL PROTECTED]>
   # If vpopmail config enabled then set $dir to virtual homedir
   #
   if ( $opt{'vpopmail'} ) {
@@ -2117,6 +2118,7 @@
     }
     chomp($dir);
   }
+}
 
   # don't do this if we weren't passed a directory
   if ($dir) {

I hope this is usefull.
                                Thank you, Guido Bozzetto.

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (560, 'testing'), (550, 'testing'), (540, 
'testing-proposed-updates'), (460, 'stable'), (450, 'stable'), (440, 
'proposed-updates'), (20, 'unstable')
Architecture: i386 (x86_64)

Kernel: Linux 2.6.24-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages spamassassin depends on:
ii  libdigest-sha1-perl           2.11-2+b1  NIST SHA-1 message digest algorith
ii  libhtml-parser-perl           3.56-1+b1  A collection of modules that parse
ii  libnet-dns-perl               0.63-1+b1  Perform DNS queries from a Perl sc
ii  libsocket6-perl               0.20-1     Perl extensions for IPv6
ii  libsys-hostname-long-perl     1.4-2      Figure out the long (fully-qualifi
ii  libwww-perl                   5.812-1    WWW client/server library for Perl
ii  perl                          5.10.0-10  Larry Wall's Practical Extraction 
ii  perl-modules [libarchive-tar- 5.10.0-10  Core Perl modules

Versions of packages spamassassin recommends:
ii  gcc                           4:4.2.2-2  The GNU C compiler
ii  gnupg                         1.4.6-2.2  GNU privacy guard - a free PGP rep
ii  libc6-dev                     2.7-10     GNU C Library: Development Librari
ii  libmail-spf-perl              2.005-1    Perl implementation of Sender Poli
ii  libsys-syslog-perl            0.24-1+b1  Perl interface to the UNIX syslog(
ii  make                          3.81-4     The GNU version of the "make" util
ii  re2c                          0.13.3-1   tool for generating fast C-based r
ii  spamc                         3.2.4-2    Client for SpamAssassin spam filte

-- debconf information:
  spamassassin/upgrade/2.40:
  spamassassin/upgrade/2.40w:
  spamassassin/upgrade/cancel: Continue
  spamassassin/upgrade/2.42m: No
  spamassassin/upgrade/2.42u: No
--- spamd.orig	2008-05-14 03:58:52.000000000 +0200
+++ spamd	2008-05-28 12:28:53.000000000 +0200
@@ -2099,6 +2099,7 @@
 sub handle_user_set_user_prefs {
   my ($dir, $username) = @_;
 
+if (defined $dir) {	#+20080318 <[EMAIL PROTECTED]>
   # If vpopmail config enabled then set $dir to virtual homedir
   #
   if ( $opt{'vpopmail'} ) {
@@ -2117,6 +2118,7 @@
     }
     chomp($dir);
   }
+}
 
   # don't do this if we weren't passed a directory
   if ($dir) {

Reply via email to