Sergey wrote:
>>>define чего нибудь ?
>>>confCHECK_RELAY_DIALUP. значения: client_ptr, client_name, both
>>>по-умолчанию - client_ptr.
>>>>т. к. исключения пока проверяются исключительно по ${client_name}, то
>>предлагаю и проверку делать по дефолту как раз по ${client_name}. если
>>кто-то хочет проверять и ${client_ptr}, он должен понимать, что он делает.
>>я не для домохозяек хаки пишу, а для _postmaster'ов_
>> Тут другой момент есть. Регексп проверить - это не просто две строки
> сравнить. Это ощутимая потеря в производительность может получиться
> в ряде случаев. Спрашивается, зачем проверять ненужный client_name,
ты, как postmaster, полностью отдающий отчет в своих действиях, просто
выключишь проверку ${client_name} и включишь проверку ${client_ptr}
а у чайника какого-нить может не оказаться моего precheck_envelope или
он может его выкинуть (были уже случаи). и тогда у него на 8.12 просто
не будет переменной ${client_ptr}
> удваивая потерю на проверку ? В общем, с умолчанием как угодно я могу
> согласиться, а вот с "и" - не особо. :-) Обязательно должен быть вариант
> "или".
ессно, будут все варианты. переменная confCHECK_RELAY_DIALUP может
содержать в себе подстроки CLIENT_PTR и CLIENT_NAME. или одну подстроку,
или обе, разделенные пробелом.
>>race condition, а именно: sendmail успел отрезолвить ${client_name},
>>потом я в Local_check_relay (или Local_check_rcpt, в зависимости от
>>использования delay_checks) начинаю резолвить PTR запись рилея для
>>помещения значения в ${client_ptr} и тут... валится резолвер...
>>вероятность возникновения такой ситуации мизерна, но все же...
>> М-м-м... Интересно, как это он отрезолвил client_name, не имея уже
> client_ptr ? :-)
на 8.12 client_ptr резолвлю _я_ ручками после всех резолвингов самого
sendmail в правиле Local_check_relay (или Local_check_rcpt, в
зависимости от использования delay_checks)
> Нет, я понимаю, что в твоей доработке для 8.12 ты
> тем, что уже сделал SM, можешь не воспользоваться по каким-то причинам,
> но я удивлюсь, если в 8.13 значение client_ptr определяется после
> client_name.
я не делаю пока заточки исключительно под 8.13, ты это знаешь и так
> Ему самое время быть определенным по мере выяснения
> client_name.
в 8.13 - естественно. в 8.12 - нет
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694 CRV2-RIPE, CRV-UANIC