[Mimedefang] Syslog problem with Mimedefang 2.68 on FreeBSD

Mark Costlow cheeks at swcp.com
Sat Sep 25 12:37:45 EDT 2010


I'm using Mimedefang 2.68 on FreeBSD 8.0.  I just updated it from
2.67 and mimedefang wont start because of a problem with syslog.

First it bailed because I did not have Unix::Syslog or Sys::Syslog
installed.  (2.67 worked without these).  I installed Unix::Syslog.

Now the error I get is:

Slave 1 stderr: Usage: Unix::Syslog::LOG_FAC(p) at (eval 122) line 1.
Reap: slave 1 (pid 24105) exited normally with status 1 (SLAVE DIED UNEXPECTEDLY)

I've traced this as far as this code in sub _make_fac_map:

  my $value = eval "Unix::Syslog::$constant()";

When $constant is "fac" this expression fails.  It seems to succeed with
other names while it's building the map (emerg, alert, quit, err, etc...).

I haven't succeeded at building a test case for this outside of mimedefang.
I get perl errors when I try to invoke "Unix::Syslog::$constant()";
under any conditions I've tried.

In my mimedefang_filter md_syslog is invoked like so:

my_syslog("warning","loading hostmap from $hostmapfile and getting db handles.");
sub my_syslog(){
  my($l,$i) = @_ ;
  if ( exists &md_syslog ) {
    md_syslog($l,"$i") ;
  } else {
    print "\[$$\] $l: $i\n";
  }
}

If I remove the call to md_syslog() the filter runs, but I want to use
syslog :-)

2.68 is the version in the FreeBSD ports.  I downloaded the newer versions
but didn't see any changes which looked related.

Any suggestions?

Thanks,

Mark
-- 
Mark Costlow    | Southwest Cyberport | Fax:   +1-505-232-7975
cheeks at swcp.com | Web:   www.swcp.com | Voice: +1-505-232-7992

abq-strange.com -- Interesting photos taken in Albuquerque, NM
                   Last post: Shoe Pole - 2009-07-07 20:18:22



More information about the MIMEDefang mailing list