- if ($message_status->{score} >= $self->{main}->{conf}->{required_score} ) {
- #hey we have spam
- print $sock "e:spam:$len\n";
- } else {
- print $sock "e:ham:$len\n";
- }
- print $sock "s:$score\n";
- my @tmp_array;
- my @tests = @{$message_status->{test_names_hit}};
-
- my $buffersize = $self->{main}->{conf}->{collectd_buffersize};
- dbg("collectd: buffersize: $buffersize");
-
- while (scalar(@tests) > 0) {
- push (@tmp_array, pop(@tests));
- if (length(join(',', @tmp_array) . '\n') > $buffersize) {
- push (@tests, pop(@tmp_array));
- if (length(join(',', @tmp_array) . '\n') > $buffersize or scalar(@tmp_array) == 0) {
- dbg("collectd: this shouldn't happen. Do you have tests"
- ." with names that have more than ~ $buffersize Bytes?");
- return 1;
- } else {
- dbg ( "collectd: c:" . join(',', @tmp_array) . "\n" );
- print $sock "c:" . join(',', @tmp_array) . "\n";
- #clean the array
- @tmp_array = ();
- }
- } elsif ( scalar(@tests) == 0 ) {
- dbg ( "collectd: c:" . join(',', @tmp_array) . '\n' );
- print $sock "c:" . join(',', @tmp_array) . "\n";
+ my $score = $message_status->{score};
+ #get the size of the message
+ my $body = $message_status->{msg}->{pristine_body};
+
+ my $len = length($body);
+
+ if ($message_status->{score} >= $self->{main}->{conf}->{required_score} ) {
+ #hey we have spam
+ print $sock "e:spam:$len\n";
+ } else {
+ print $sock "e:ham:$len\n";
+ }
+ print $sock "s:$score\n";
+ my @tmp_array;
+ my @tests = @{$message_status->{test_names_hit}};
+
+ my $buffersize = $self->{main}->{conf}->{collectd_buffersize};
+ dbg("collectd: buffersize: $buffersize");
+
+ while (scalar(@tests) > 0) {
+ push (@tmp_array, pop(@tests));
+ if (length(join(',', @tmp_array) . '\n') > $buffersize) {
+ push (@tests, pop(@tmp_array));
+ if (length(join(',', @tmp_array) . '\n') > $buffersize or scalar(@tmp_array) == 0) {
+ dbg("collectd: this shouldn't happen. Do you have tests"
+ ." with names that have more than ~ $buffersize Bytes?");
+ return 1;
+ } else {
+ dbg ( "collectd: c:" . join(',', @tmp_array) . "\n" );
+ print $sock "c:" . join(',', @tmp_array) . "\n";
+ #clean the array
+ @tmp_array = ();
+ }
+ } elsif ( scalar(@tests) == 0 ) {
+ dbg ( "collectd: c:" . join(',', @tmp_array) . '\n' );
+ print $sock "c:" . join(',', @tmp_array) . "\n";
+ }