Hi, I wrote a trivial plugin which would print out an md5 checksum of
the message on stder r as well as storing the message on file
descriptor 4, it worked great when run with the spamassassin command
line

spamassassin -Lx < msg 4>output 1>/dev/null


I decided to see if it work correctly when run with spamd/spamc. So I
started of spamd
As soon as I started spamd via spamd -Lx -p 7830. I get the following
displayed in the terminal

6166c359a351a9ad990c05334ea520ec 
From: [EMAIL PROTECTED]
Message-Id:  <[EMAIL PROTECTED]>

I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads
I need to make this message body somewhat long so TextCat preloads

Is there a way to prevent this message from invoking plugins ?

Also, when I pass the message to spamc and redirect fd 4 to a file,
the output doesn't seem to go there unlike the invocation with
spamassassin. An empty file is created with the following invocation

spamc -Lx -p 7830 < msg 4>output 1>/dev/null

The plugin code is as follows
sub print_md5 {
  my ($self, $permsgstatus) = @_ ;
  open(MSG,">&=4");
  $md5 = Digest::MD5->new;
  $msgref = $permsgstatus->get_message();
  $msg = $msgref->get_pristine();
  $md5->add($msg);
  $digest = $md5->hexdigest;
  print MSG "$digest \n" ;
  print MSG "$msg";
  close(MSG);
}

Am I doing something wrong ?

Regards, Yusuf

Reply via email to