while (1) {
local $/="\n";
+ $!=undef();
my $length=<STDIN>;
- confess "Unexpected EOF" if !defined $length;
+ confess "Unexpected EOF: $!" if !defined $length;
confess "Missing EOL" if $length!~s/\n$//s;
exit 0 if $length eq "BYE";
confess "Unrecognized length: $length" if $length!~/^\d+$/;
return @AuditStored!=$did_last;
}
+sub writeto
+{
+my($filename)=@_;
+
+ local *F;
+ open F,$filename or confess "open $filename: $!";
+ print F $Message or confess "write $filename: $!";
+ close F or confess "close $filename: $!";
+ return 1;
+}
+
# Never use Mail::Audit->store() as it will reformat MIME bodies and possibly corrupt OpenPGP!
sub write_message
{
# prevent Razor2's: Can't call method "log" on unblessed reference at Razor2/Client/Agent.pm line 212.
local $ENV{"HOME"}=$HOME;
# 2>/dev/null to prevent error messages to corrupt inetd() output of perlmail-accept(1)
- open CHILD,"|$cmd >/dev/null 2>/dev/null"
+ open CHILD,"|$cmd &>/dev/null"
+ # Workaround: spamassassin-3.1.3-1.fc5
+ #.q{|awk '/^X-Spam-Flag: YES$/{if (!body) exit 1;}/^$/{body=1;}'}
+ # Original:
+ #." >/dev/null 2>/dev/null"
or return 0;
print CHILD $Message;
close CHILD;