You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@spamassassin.apache.org by Matthias Fuhrmann <Ma...@stud.uni-hannover.de> on 2005/07/10 23:18:39 UTC

SA 2.63 vs 2.64

Hello,

nearly a year ago, i had trouble upgrading to 2.64. the problem ist still
present.
running 2.64 leads to mass syslog filling due to this lines:

Jul 10 22:41:35 xxxxxx spamd[15244]: Use of uninitialized value in
concatenation (.) or string at /opt/gnu/lib/perl5/site_perl/5.8.3/Mail/S
pamAssassin/PerMsgStatus.pm line 1342, <GEN57> line 68.
Jul 10 22:41:35 xxxxxx spamd[15244]: Use of uninitialized value in
concatenation (.) or string at /opt/gnu/lib/perl5/site_perl/5.8.3/Mail/S
pamAssassin/PerMsgStatus.pm line 1343, <GEN57> line 68.

and:

Jul 10 22:41:43 xxxxxx spamd[15253]: Use of uninitialized value in
concatenation (.) or string at /opt/gnu/lib/perl5/site_perl/5.8.3/Mail/S
pamAssassin/Bayes.pm line 460, <GEN61> line 106.
Jul 10 22:41:43 xxxxxx spamd[15253]: Use of uninitialized value in
concatenation (.) or string at /opt/gnu/lib/perl5/site_perl/5.8.3/Mail/S
pamAssassin/Bayes.pm line 461, <GEN61> line 106.

the other day i thought it was connected to spamcopuri, but i guess this
was wrong, since it also happens without it.

for Bayes.pm i figured out, there was a code change:

inBayes.pm  2.64:

sub tokenize_headers {
  my ($self, $msg) = @_;

  my @hdrs = ();
  my $length = 0;

  my $hdr;
  foreach $hdr ($msg->get_all_headers()) {
    last if ($length + length($hdr) > MAX_HEADER_LENGTH);

    my($key, $value) = split(/:/, $hdr, 2);

    # limit the length of the pairs we store
    if (length($key) > MAX_HEADER_KEY_LENGTH) {
      $key = substr($key, 0, MAX_HEADER_KEY_LENGTH);
    }
    if (length($value) > MAX_HEADER_VALUE_LENGTH) {
      $value = substr($value, 0, MAX_HEADER_VALUE_LENGTH);
    }
    push(@hdrs, "$key:$value");
    $length += length "$key:$value";
  }

  my $hdrs = join('', @hdrs);
  undef @hdrs;

  # jm: do not...

and here the 2.63 version:

sub tokenize_headers {
  my ($self, $msg) = @_;

  my $hdrs = $msg->get_all_headers();

  # jm: do not...

the lines from Bayes.pm fits to the error messages. didnt checked
PerMsgStatus.pm, but i guess its the same issue.
can someone explain the difference or the impact to the problem, described
above?

what about replacing the line of 2.64 with the old working one from 2.63?
hope i'm not too wrong, since i try debugging for some hours now :)

best regards,
Matthias

Re: SA 2.63 vs 2.64

Posted by Matthias Fuhrmann <Ma...@stud.uni-hannover.de>.
On Sun, 10 Jul 2005, Matthias Fuhrmann wrote:

[...]
>   # jm: do not...
>
> the lines from Bayes.pm fits to the error messages. didnt checked
> PerMsgStatus.pm, but i guess its the same issue.
> can someone explain the difference or the impact to the problem, described
> above?
>
> what about replacing the line of 2.64 with the old working one from 2.63?
> hope i'm not too wrong, since i try debugging for some hours now :)

just in case someone starts bothering. i've upgraded to 3.0.4 and
surprisingly there were only some rules to fix and bayesdb, which we had
to convert.
best of all, the error messages from 2.64 are gone and syslog outputs are
now a lot more verbose, very nice :)

regards,
Matthias