[Greylist-users] Error: Attempt to free unreferenced scalar
(relaydelay-0.4)
Harald Hutter
hutter at ihs.ac.at
Fri Feb 6 03:13:30 PST 2004
Hi all,
I know this was already posted on this list, but I couldn't find a solution
working for me in the archives.
I try to use relaydelay-0.4, but I always get the error message:
Attempt to free unreferenced scalar at /usr/local/sbin/relaydelay.pl line 432.
I also looked at the cvs sources (see below), but if possible I prefer using
released code.
Note that I have to run relaydelay not as root, as I have a
dual sendmail setup with amavisd-new and spamassassin.
relaydelay-0.4, should running as user "smmsp" as this is the user the
receving MTA is run as. (rx sendmail instance passes mail to amavisd-new,
setup works without relaydelay)
Here is the verbose output:
mailhost:~/relaydelay-0.04 # su -l smmsp -c 'perl -w
/usr/local/sbin/relaydelay.pl'
Loading Config File: /etc/mail/relaydelay.conf
Using connection 'local:/var/run/relaydelay/relaydelay.sock' for filter
relaydelay
DBI Connecting to DBI:mysql:database=relaydelay:host=dbhost:port=3306
Starting Sendmail::Milter 0.18 engine.
=== 2004-02-06 11:03:41 ===
Stored Sender: <hutter at mailhost.ihs.ac.at>
Passed Recipient: <hutter at mailhost.ihs.ac.at>
Attempt to free unreferenced scalar at /usr/local/sbin/relaydelay.pl line 432.
NOTE: I changed the socket location to /var/run/relaydelay/ to prevent
sendmail from complaining about "local socket name /var/run/relaydelay.sock
unsafe" (directory relaydelay is owned by smmsp user). I also changed line
432 in relaydelay.pl from:
$ctx->setpriv(undef);
to:
$ctx->setpriv(undef) if (defined $privdata_ref);
I did grab this from the cvs source, but it didn't change anything!
In /var/log/messages I got the following entry:
Feb 6 11:03:42 mailhost perl: relaydelay: private data not NULL
Here are the Details of my setup:
OS: SuSe Linux 9.0
uname -a
Linux mailhost 2.4.21-144-default #1 Fri Nov 14 00:01:36 UTC 2003 i686 i686
i386 GNU/Linux
------
Perl: perl -v
This is perl, v5.8.1 built for i586-linux-thread-multi
-----
Sendmail: sendmail -d0.1 -bp
Version 8.12.10
Compiled with: DNSMAP EGD LDAPMAP LOG MAP_REGEX MATCHGECOS MILTER
MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETUNIX NEWDB
NIS
NISPLUS PIPELINING SASLv2 SCANF STARTTLS TCPWRAPPERS USERDB
USE_LDAP_INIT
------
Sendmail-Milter-0.18
------
And on dbhost (same OS like on mailhost):
MySQl:
Server version 4.0.15-Max-log
Protocol version 10
------
If I add the following line after line 427 (my $ctx = shift;):
print " IN ABORT CALLBACK: " . $ctx . "\n" if ($verbose);
I get the following:
=== 2004-02-06 10:58:00 ===
Stored Sender: <hutter at mailhost.ihs.ac.at>
Passed Recipient: <hutter at mailhost.ihs.ac.at>
IN ABORT CALLBACK: Sendmail::Milter::Context=SCALAR(0x83b9bc8)
Attempt to free unreferenced scalar at /usr/local/sbin/relaydelay.pl line 433.
Feb 6 10:58:01 mailhost perl: relaydelay: private data not NULL
Sorry for the long email, any help will be appreciated.
Harald
More information about the Greylist-users
mailing list