[sendmail-conf] check_relay_dialup и forged IP

Victor Ustugov victor на corvax.kiev.ua
Пн Авг 30 11:06:41 EEST 2004


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




Подробная информация о списке рассылки sendmail-conf