On Tue, Apr 30, 2002 at 01:42:26AM +0100, Sean Rima wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Tue, 30 Apr 2002, Sean Rima said:
>
>
> >>> SR> Use of uninitialized value at
> >>> SR> /usr/lib/perl5/site_perl/5.005/Mail/SpamAssassin/Dns.pm line
> >>> SR> 270. DCC check skipped: Undefined subroutine
> >>> SR> &Mail::SpamAssassin::PerMsgStatus::open2 called at
> >>> SR> /usr/lib/perl5/site_perl/5.005/Mail/SpamAssassin/Dns.pm line
> >>> SR> 270.
> >>>
> >>> Weird again. Given that we've just required IPC::Open2 a few lines
> >>> above, I don't see how it can now be failing to find open2() -- I
> >>> suppose it might need to be IPC::Open2::open2() or something.
> >>> Again, I'll see what I can do after installing DCC.
> >>
> >> I changed line 270 to:
> >> $pid = IPC::Open2::open2(....) and the result was:
> >> Use of uninitialized value at
> >> /usr/lib/perl5/site_perl/5.005/Mail/SpamAssassin/Dns.pm line 270.
> >> DCC check skipped: open2: wtr should not be null at
> >> /usr/lib/perl5/site_perl/5.005/Mail/SpamAssassin/Dns.pm line 270
> >>
> >
> > Okay I did:
> > use IPC::Open2;
> > instead of require IPC::Open2; and changed line 270 back to what you
> > had it, that gets rid of the Use of uninitialized value line but
> > not the wtr error
>
> I did this:
> $pid = open2(\*Dccout, \*Dccin, '......
Hrm. Typeglobs have always scared me for somereason. Then again, so has
open2. It's always seemed so kludgy.
Here's my fix from the latest CVS code which fixes both the warnings.
$ cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/spamassassin
diff -u spamassassin/lib/Mail/SpamAssassin/Dns.pm
Index: spamassassin/lib/Mail/SpamAssassin/Dns.pm
===================================================================
RCS file: /cvsroot/spamassassin/spamassassin/lib/Mail/SpamAssassin/Dns.pm,v
retrieving revision 1.34
diff -u -r1.34 Dns.pm
--- spamassassin/lib/Mail/SpamAssassin/Dns.pm 29 Apr 2002 22:56:22 -0000 1.34
+++ spamassassin/lib/Mail/SpamAssassin/Dns.pm 30 Apr 2002 06:42:21 -0000
@@ -247,7 +247,7 @@
sub dcc_lookup {
my ($self, $fulltext) = @_;
my $response = undef;
- my %count = { };
+ my %count;
$count{body} = 0;
$count{fuz1} = 0;
@@ -259,8 +259,13 @@
}
eval {
- require IPC::Open2;
+ use IPC::Open2;
+ use Symbol;
+
my ($dccin, $dccout, $pid);
+
+ $dccin = gensym();
+ $dccout = gensym();
local $SIG{ALRM} = sub { die "alarm\n" };
local $SIG{PIPE} = sub { die "brokenpipe\n" };
--
Kelsey Cummings - [EMAIL PROTECTED] sonic.net
System Administrator 300 B Street, Ste 101
707.522.1000 (Voice) Santa Rosa, CA 95404
707.547.2199 (Fax) http://www.sonic.net/
Fingerprint = 7F 59 43 1B 44 8A 0D 57 91 08 73 73 7A 48 90 C5
_______________________________________________
Spamassassin-talk mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/spamassassin-talk