Mailing List Message #100956
From: Nicolas Hatier <>
Subject: Re: helper timeout
Date: Tue, 26 Oct 2010 13:13:35 -0400
To: CommuniGate Pro Discussions <>
Ok, here's a summary.

The current version takes a domain list from the sqlite database, this is the list of domains that has to be relayed, including IPs, port and the desired order if there is many IPs for one domain. There is also a domain alias table to avoid repeating entries.

The filter obviously works as an external authenticator. When it receives a request, it first rejects anything which is not [MAIL], doesn't have a fully qualified email address, or for which the domain part does not match an entry in the alias or the domain table. CGP then processes the things the filter rejected normally, either passing them to another authenticator or using its own routing table.

The filter then retrieves the connection data for this domain, including a previously opened socket if any (the filter caches connection for as long as it can). It checks in its account_cache database for the presence of a previous positive or negative result that is not yet expired (default: 24 hours), to avoid querying the target server for things it already knows. If found, it returns the answer to CGP, whether or not this is a known account.

If nothing is found in the cache or entries are expired, the filter tries an SMTP connection, reusing the previous connection if any, and issues a simple Mail From <>, RCPT TO: target email, to see if the target server would accept the email. This should work with most SMTP servers, providing it is configured to give an immediate valid answer to this query to your relay server. This is of course not intended to relay mail to servers not under your (at least indirect) control.

The filter finally caches the information and returns the final answer to CGP.

This should probably match most of the functions present in the other authBackupChecker filters.

There is a few command line switches, to clear the account cache on startup, to be more verbose, and to set the cache expire delay.

The domain list setup, however, has to be done by hand using an sqlite tool. The filter is started to create the database, and the administrator then connects to it using an sqlite command line tool or another such as the SQLite Manager extension for Firefox to populate the domain and domain_alias tables, which are pretty self-explanatory.

I'm not sure exactly if this is enough or if a better domain list management tool has to be created, be it from a config file or something else.

A trial license will be available. The filter is stable and reliable, mostly ready for production use after a few final tests, and is available for the 10 OS/platform combination we usually support - Linux (32/64), FreeBSD (32/64), Solaris (386/sparc), OSX (Intel/PPC) and Windows (XP and up, 32/64). The *nix platform support requires glibc 2.5 and up.

What remain to be done is some documentation, in fact a more verbose version of what's described here...

Nicolas Hatier

On 2010-10-26 10:37, John Souvestre wrote:

Hello Nicolas.


Fantastic!  I’m certainly interested.



    John Souvestre - New Orleans LA


From: CommuniGate Pro Discussions [] On Behalf Of Nicolas Hatier
Sent: Tuesday, October 26, 2010 8:42 AM
To: CommuniGate Pro Discussions
Subject: Re: helper timeout


I have C++ code here based on one of the authBackupChecker scripts. It uses SMTP to verify if the account is valid at the other end, and caches the result (including negative results) for a predetermined amount of time in a sqlite database.

If enough people are interested, licenses for the program could be made available, I just need to apply a few modifications.

Nicolas Hatier

On 2010-10-26 02:44, Kirnauskis Postmaster wrote:

My tests indicate that Stalker's is more or less useless. I haven't tested the alternative script because its old and poorly documented. 
Unfortunately my Perl skills are not good enough to make modifications to improve the robustness of either version, so I'm back to square one on my original problem. :(
On 25.10.2010, at 18:38, John Souvestre wrote:
Yes, that is the script.  I spoke with the person who reworked the Stalker
script to produce it but he has moved on and doesn't use it himself any
longer.  I also spoke with Roman regarding the Stalker script.
I would have thought that there would be a fair amount of interest from
people using it, but it seems that not many do.
On 25.10.2010, at 17:45, John Souvestre wrote:
There is an unsupported version of this script, modified by
Are you referring to this (from year 2007!) or is there a more recent
version available?
So frustrating to hear that just when I thought I had this figured out.
Especially considering the script is distributed by Stalker!
Kirnauskis Postmaster
This message is sent to you because you are subscribed to
  the mailing list <>.
To unsubscribe, E-mail to: <>
To switch to the DIGEST mode, E-mail to <>
To switch to the INDEX mode, E-mail to <>
Send administrative queries to  <>



Nicolas Hatier, ing. <>
Niversoft idées logicielles -


Nicolas Hatier, ing. <>
Niversoft idées logicielles -

Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster