#29 MTA/Milter.pm fix, AV/FPROTD.pm fix and modification

Jonathan Hankins

This diff is against amavis-ng-

I found that the x-header functionality present in in Milter.pm was gone in, due to a change in amavis-milter (addition of -x option to enable x-header generation) and changed Milter.pm to add the -x option to the command line when it calls amavis-milter.

I also found that the FPROTD.pm module didn't work as it was, because the question mark (?) component of the URL for the GET request to f-protd was missing.

Also, the f-protd manual page (F-Prot for Linux Enterprise Business v3.13) says:

"The daemon binds itself to a port in the range 10200-10204 (inclusive) on the loopback address. ... The daemon is designed to automatically update itself by exec()'ing its own binary when a new version is in place. The newly exec()'ed copy is forced to bind to another port since the outdated process stays alive for about half a minute. This is done to guarantee that there is always at least one daemon available at any given time. Clients are expected to cycle through the port range to find a live daemon when the one they were previously using dies."

So, I modified F-PROTD.pm to try connecting to each port in the range [(port portion of) $cfg_fprotd_socket] to port + 4 (five ports inclusive, per the manual page.)

I have verified that f-protd does behave the way the manual page suggests, and that my modifications to f-protd work as expected, picking the first available port, and failing if none of the five are available.

Have been running with these changes for a couple of days without problems.


  • Lars Hecking
    Lars Hecking

    • assigned_to: nobody --> bengen
  • Lars Hecking
    Lars Hecking

    Logged In: YES

    Re amavis-milter, my beta testers found this a bit
    confusing, so I
    have changed this behaviour in 0.3.13 and amavisd-0.1.1. The
    header is now added by default, and -x switches it off.

    I find it makes more sense the other way round :-/

  • Hilko Bengen
    Hilko Bengen

    • assigned_to: bengen --> braeucup