Hi, Toomas Aas am Donnerstag, 5. Februar 2004 12:08: > Hello! > > I'm using SpamAssassin through amavisd-new, installed from these > FreeBSD ports: > > amavisd-new-20030616.p7 > p5-Mail-SpamAssassin-2.62 > > Today, I made some changes to my local.cf and then ran > /usr/local/etc/rc.d/amavisd.sh stop, followed by > /usr/local/etc/rc.d/amavisd.sh start. > > To my surprise, amavisd failed to start with the following error > message: > > Problem in the antispam code: Can't use subscript on split at > /usr/local/lib/perl5/site_perl/5.005/Mail/SpamAssassin.pm line 100, > near "1]" BEGIN failed--compilation aborted at (eval 50) line 11. > > I reversed my changes to local.cf and tried again, but got the same > error message. I also tried removing local.cf entirely, but the > error message still remained.
I've got the same problem. take a look here: http://www.ijs.si/software/amavisd/#faq-trouble especially this chapter: Tips and FAQ -- Net::Server If during startup the Net::Server complains that it can not change UID to the required $daemon_user and $daemon_group: Net::Server: ... Couldn't become uid ..., it probably means that Perl can not change real uid of the process (variable $<) the way the author of Net::Server (in version 0.85) had in mind. This is commonly reported on FreeBSD platforms, but applies to other platforms as well, including Linux. It is advised to apply net-server.patch to Net::Server 0.85. The patch is already included in Net::Server version 0.86, thanks to Net::Server CPAN maintainer Rob Brown. There is another small security fix net-server.patch2, which applies to both 0.85 and 0.86, but is only needed on BSD platforms (at least on FreeBSD). It does not hurt to apply it for other platforms. It fixes the problem where real UID can not be changed if effective UID has already been changed, resulting in the warning: NOTICE: Effective UID changed, but Real UID is 0: ... Alternatively, one can start amavisd the traditional way (only applicable if not running chroot-ed): # su - vscan -c /usr/local/sbin/amavisd or if some comand line options need to be specified, e.g.: # su - vscan -c '/usr/local/sbin/amavisd -c /etc/amavisd-test.conf debug' After changing $inet_socket_bind in amavisd.conf, the amavisd process must be stopped and restarted. The HUP method causes amavisd to stumble over its feet. ciao dieter
