On 05/17/11 14:17, Alexey Murz Korepov wrote:
> My changes to SQL queries works not like I want, so I describe the idea:
> At now we operates with number of different pairs from-to of emails.
> For whitelist we count percents as passed/total
>
> So, if we have server that very often sends mail from one email
> [email protected] to another [email protected],  count of different pairs
> will not increase more than one, so this server will never adds to
> autowhitelist and I always will get the greylist delay from it.
>
> My offer is to look not only to number of pairs, but also to number of
> successfully delivered mail. So if we see one server that sends 532
> messages from  [email protected] to another [email protected], now it got
> totalcount=1 and didn't pass the AutoWhitelistCount more than1, but in
> my version we must compare 532 to AutoWhitelistCount.
>
> What do you think about this?
>
> On 17 May 2011 17:46, Alexey Murz Korepov <[email protected]> wrote:
>> Updated variant:
>>
>> ### getting totalcount:
>>                                       my $sth = DBSelect("
>>                                               SELECT
>>                                                       SUM(`Count`) AS
>> TotalCount
>>                                               FROM
>>                                                       greylisting_tracking
>>                                               WHERE
>>                                                       TrackKey =
>> ".DBQuote($key)."
>>                                                       AND FirstSeen
>>> = ".DBQuote($addedTime)."
>>                                       ");
>>
>> ...
>>                                       my $totalCount =
>> defined($row->{'totalcount'}) ? $row->{'totalcount'} : 0;
>>
>>
>> ### getting failcount:
>>                                               $sth = DBSelect("
>>                                                       SELECT
>>
>> SUM(Tries)  AS FailCount
>>                                                       FROM
>>
>> greylisting_tracking
>>                                                       WHERE
>>
>> TrackKey = ".DBQuote($key)."
>>                                                               AND
>> FirstSeen >= ".DBQuote($addedTime)."
>>                                                               AND Count = 0
>>                                               ");
>>                                                       my $percentage
>> = ( 1 - $failCount / $totalCount ) * 100;
>>
>> 2011/5/17 Alexey Murz Korepov <[email protected]>:
>>> ### getting totalcount:
>>>                                        my $sth = DBSelect("
>>>                                                SELECT
>>>                                                        SUM(`Count`) AS 
>>> TotalCount
>>>                                                FROM
>>>                                                        greylisting_tracking
>>>                                                WHERE
>>>                                                        TrackKey = 
>>> ".DBQuote($key)."
>>>                                                        AND FirstSeen >= 
>>> ".DBQuote($addedTime)."
>>>                                        ");
>>>
>>> ...
>>>                                        my $totalCount = 
>>> defined($row->{'totalcount'}) ? $row->{'totalcount'} : 0;
>>>
>>>
>>> ### getting failcount:
>>>                                                $sth = DBSelect("
>>>                                                        SELECT
>>>                                                                SUM(Tries)  
>>> AS PassCount
>>>                                                        FROM
>>>                                                                
>>> greylisting_tracking
>>>                                                        WHERE
>>>                                                                TrackKey = 
>>> ".DBQuote($key)."
>>>                                                                AND 
>>> FirstSeen >= ".DBQuote($addedTime)."
>>>                                                                AND Count != >>> 0
>>>                                                ");
>>>

Gerylisting works with triplets, sending server IP, sender and
recipient. Whitelisting & blacklisting is based on triplets.

I think what you want would be classified as a feature request (a kind
of alternative method of greylisting), where X number of successful mail
deliveries would cause a host to be whitelisted from greylisting.

You do know that once a system has passed greylisting there is a
configurable period where greylisting will not take place if there is
regular mail? how does this not suite your purpose?

Personally I think the best place for this topic would be a feature
request on the devlabs site, this way we can get a full description of
what you want to do, and why none of the current features fulfill your
requirements.

Regards
Nigel

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Users mailing list
[email protected]
http://lists.policyd.org/mailman/listinfo/users

Reply via email to