View | Details | Raw Unified | Return to bug 5310
Collapse All | Expand All

(-)Mail-SpamAssassin-3.1.7.orig/lib/Mail/SpamAssassin/Conf.pm (+34 lines)
Lines 783-788 Link Here
783
    }
783
    }
784
  });
784
  });
785
785
786
=item header_report_multiline { 0 | 1 }          (default: 0)
787
788
By default, SpamAssassin will use one header line for X-Spam-Report.
789
Usually this can fold into many lines.  Every line after after the
790
first one starts with a tab indicating that it is a continuation of the
791
previous one.
792
793
This is fine for most maillers.  However some like Ximian's Evolution
794
prefer to rewrite the message headers at its on.  This causes the header
795
to lose its formatting which is essessial for a clean read of X-Spam-Report.
796
797
Setting this option will cause SpamAssassin to issue a X-Spam-Report header
798
for each line, instead of issuing only the first one. This will force the
799
formatting to be preserved.
800
801
=cut
802
803
  push (@cmds, {
804
    setting => 'header_report_multiline',
805
    default => 0,
806
    code => sub {
807
      my ($self, $key, $value, $line) = @_;
808
      if ($value eq '') {
809
        return $MISSING_REQUIRED_VALUE;
810
      }
811
      elsif ($value !~ /^[01]$/) {
812
        return $INVALID_VALUE;
813
      }
814
815
      $self->{header_report_multiline} = $value+0;
816
    }
817
  });
818
819
786
=back
820
=back
787
821
788
=head2 LANGUAGE OPTIONS
822
=head2 LANGUAGE OPTIONS
(-)Mail-SpamAssassin-3.1.7.orig/lib/Mail/SpamAssassin/PerMsgStatus.pm (-3 / +20 lines)
Lines 768-774 Link Here
768
    my $data = $self->{conf}->{headers_spam}->{$header};
768
    my $data = $self->{conf}->{headers_spam}->{$header};
769
    my $line = $self->_process_header($header,$data);
769
    my $line = $self->_process_header($header,$data);
770
    $line = $self->qp_encode_header($line);
770
    $line = $self->qp_encode_header($line);
771
    $newmsg .= "X-Spam-$header: $line\n" # add even if empty
771
772
    if ($header eq 'Report' && $self->{conf}->{header_report_multiline} ) {
773
      my @report = split (/\n/, $line);
774
      foreach (@report) {
775
        $newmsg .= "X-Spam-$header: $_\n";
776
      }
777
    } else {
778
      $newmsg .= "X-Spam-$header: $line\n"; # add even if empty
779
    }
780
772
  }
781
  }
773
782
774
  if (defined $self->{conf}->{report_safe_copy_headers}) {
783
  if (defined $self->{conf}->{report_safe_copy_headers}) {
Lines 948-956 Link Here
948
  while (my ($header, $data) = each %{$self->{conf}->{$addition}}) {
957
  while (my ($header, $data) = each %{$self->{conf}->{$addition}}) {
949
    my $line = $self->_process_header($header,$data);
958
    my $line = $self->_process_header($header,$data);
950
    $line = $self->qp_encode_header($line);
959
    $line = $self->qp_encode_header($line);
951
    $new_hdrs_pre .= "X-Spam-$header: $line\n";
952
  }
953
960
961
    if ($header eq 'Report' && $self->{conf}->{header_report_multiline} ) {
962
      my @report = split (/\n/, $line);
963
      foreach (@report) {
964
        $new_hdrs_pre .= "X-Spam-$header: $_\n";
965
      }
966
    } else {
967
      $new_hdrs_pre .= "X-Spam-$header: $line\n"; # add even if empty
968
    }
969
970
  }
954
  return $new_hdrs_pre.$new_hdrs_post.$separator.
971
  return $new_hdrs_pre.$new_hdrs_post.$separator.
955
            $self->{msg}->get_pristine_body();
972
            $self->{msg}->get_pristine_body();
956
}
973
}

Return to bug 5310