Re[2]: [sendmail-conf] is_outgoing.m4 и access_db

Sergey Korolew ds на bittu.org.ru
Ср Окт 27 21:18:31 EEST 2004


Здравствуйте, Victor.

Вы писали 27 октября 2004 г., 21:50:00:

VU> полезно проверять все в sendmail -bt -d21.12
Да я вот только более-менее -bt пользоваться научился - чтобы и
макросы задать и рулесет нужный прогнать с параметрами. Кстати,
нормальный способ передать на вход разделитель $| существует ?
Сейчас (как ты здесь показывал) делаю тестовый рулесет:
STest
R $* <?> $*       $: $>Local_check_relay $1 $| $2
и ему на вход параметры, разделенные <?>... Некрасиво.

VU> и контроллировать, чтобы хак в случае, когда не нужно реагировать на
VU> письмо, а передавать управление дальше, возвращал из правила то же
VU> значение, которое ему и передавалось.
Увы, отладка в голове подвела.

VU> кстати, а что за хак самодельный? в чем идея?
Да ты в курсе, мы в ru.unix.bsd на эту тему общались, ты и реализацию
подкинул. Суть в том, чтобы для писем, уходящих из локалки, прятать
адрес релея (для скрытия внутренней структуры сети) и заменять его на
localhost в Received:
Вот как это выглядит:
Received: from ds.dialup.bittu (localhost [127.0.0.1])
    by bitty.balakovo.info with ESMTP id i9J7dUV8022660
    for <test на balakovo.info>; Tue, 19 Oct 2004 11:39:31 +0400 (MSD)
хотя на самом деле ds.dialup.bittu имеет адрес 192.168.90.1.

Если кому-то будет интересно:
divert(-1)
#
# Convert host address in Received: to localhost for relayed domains
#
# Конвертируем адреса в хидере Received: для отправляемых изнутри писем
# Было:  Received: from ds (ds.dialup.bittu [192.168.90.1])
# Стало: Received: from ds (localhost [127.0.0.1])
# Управление в access: 
# HideIP:1.2.3.4   HIDE
# HideIP:1.2.3.    HIDE
# HideIP:1.2.      HIDE
#
dnl
divert(0)
VERSIONID(`$Id: masq_as_localhost.m4,v 8.12-0.02 2004/04/11 17:46:00 DS Exp $')dnl
divert(-1)
dnl
ifdef(`_ACCESS_TABLE_', `', `
errprint(`*** ERROR: HACK(masq_as_localhost) requires FEATURE(access_db)
')')
dnl
define(`confRECEIVED_HEADER',dnl
$?sfrom $s $.$?{hide_ip}(localhost [127.0.0.1])$|$?_($?s$|from $.$_)$.$.
    $?{auth_type}(authenticated$?{auth_ssf} bits=${auth_ssf}$.)
    $.by $j$?r with $r$. id $i$?{tls_version}
    (version=${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify})$.$?u
    for $u; $|;
    $.$b)dnl
dnl
LOCAL_RULESETS
dnl
dnl
SLocal_check_relay
dnl workspace: {client_name} $| {client_addr}
R $* $| $+              $: <$(access HideIP:$2 $: ? $)> $1 $| $2
R <?> $* $| $-.$-.$-.$- $: <$(access HideIP:$2.$3.$4. $: ? $)> $1 $| $2.$3.$4.$5
R <?> $* $| $-.$-.$-.$- $: <$(access HideIP:$2.$3. $: ? $)> $1 $| $2.$3.$4.$5
R <HIDE> $*             $: $(macro {hide_ip} $@ yes $) $1
R <$*> $*               $: $2




-- 
С уважением,
 Sergey                          mailto:ds на bittu.org.ru





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