On 3/27/2013 12:41 PM, James Curtis wrote:
> Can't imagine the amount of errors I'll incur when creating a new
> sub-routine for my_graphdefang_log(), but it will be a fun time.  I'm
> assuming that I start with the code from md_graphdefang_log and
> remove the variables.


Precisely. I'd suggest adding the new function to your filter instead
of modifying mimedefang.pl . Also, note this excerpt from the
mimedefang.pl man page:

  TESTING FILTERS
       You are strongly recommended to test your filter before
  installing it in /etc/mail/mimedefang-filter.  To test the filter,
  save it in a file (e.g. test-filter) and run this command:

            mimedefang.pl -f test-filter -test

       This  tests  the filter for syntactic correctness.  If it
  passes, you can install it as a production filter.  (Note that the
  test tests only for correct Perl syntax; it doesn’t make sure your
  filter does something sensible.)



As a simple example, you could start with something like this, which is
basically a stripped-down md_graphdefang_log():

sub my_graphdefang_log($;$$)
{
    return unless defined($GraphDefangSyslogFacility);

    my $event = shift;
    my $value1 = shift;
    my $value2 = shift;

    $value1 = "" unless defined($value1);
    $value2 = "" unless defined($value2);

    # Make values safe for graphdefang
    $event = percent_encode_for_graphdefang($event);
    $value1 = percent_encode_for_graphdefang($value1);
    $value2 = percent_encode_for_graphdefang($value2);

    md_syslog("$GraphDefangSyslogFacility|info","MYLOG,_NOMSGID_," .
              "$event,$value1,$value2,_NOSENDER_,_NORECIP_,_NOSUBJ_");
}


That should work from filter_relay() onwards.  It's up to you what you
want to log, as long as you don't try to access any variables that are
not defined in the current state of the milter.

_______________________________________________
NOTE: If there is a disclaimer or other legal boilerplate in the above
message, it is NULL AND VOID.  You may ignore it.

Visit http://www.mimedefang.org and http://www.roaringpenguin.com
MIMEDefang mailing list MIMEDefang@lists.roaringpenguin.com
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

Reply via email to