Top  Previous  Next

Changes in version (October 29, 2008)




A problem was reported by 2-3 users where greylisting was turned off without the users knowledge.


We were able to duplicate this manually under certain conditions, however were never able to duplicate this under the conditions reported.


When the greylist service is stopped, it sets the "Use Greylisting" flag to false. This is set to true again when the greylisting service is started so theoretically there should never be a problem. However it may be possible on certain systems under certain conditions where the services take longer to stop than they should. If the greylist service has built up a large buffer it may take a few seconds to perform its housekeeping functions on shutdown, and other components may see the greylisting flag set to false when it is really a shutdown not a stop. It is also possible that some systems with large greylist databases may take longer to load the database and the flag is not set when other services start. For example, the SMTP service reads this flag and uses greylisting depending on how this flag is set. If the greylist service has not completed its startup and set the flag when the SMTP service loads, the SMTP service may think greylisting is not being used.


There is only one place in the entire Alligate package where the greylisting flag is set to false programmatically. Since the issue cannot be duplicated as reported, we must assume that one of the above scenarios or something similar is responsible. To correct this and ensure that this flag can never be set accidentally, the area where this is performed has been disabled. We have tested this and there are no adverse consequences. It was initially used when greylisting was first introduced to Alligate when users were unsure as to whether or not to use it. It is no longer necessary because other checks have been put in place since then to verify whether or greylisting is running.