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

Reply via email to