nixp.ru v3.0

26 мая 2017,
пятница,
04:57:53 MSK

DevOps с компанией «Флант»
multya написал 16 августа 2005 года в 12:42 (1470 просмотров) Ведет себя как мужчина; открыл 2 темы в форуме.

доброго времени суток…

есть sendmail-8.13.4 на redhat-7.3 там крутится несколько виртуальных доменов. нужно решить следующую задачу. запретить отправлять почту с одного из виртуальных доменов (например example1.com) в мир (например example.tld)

посоветовали использовать check_compat с http://corvax.falbi.kiev.ua/sendmail-cf-8.12/hack/

http://corvax.falbi.kiev.ua/sendmail-cf-8.13/hack/

закачал необходимые: cfhead.m4 check_compat.m4 is_outgoing.m4

precheck_envelope.m4

в sendmail.mc добавил

HACK(`check_compat’)dnl

пересобрал sendmail.cf

стартую sendmail, в ответ получаю ошибку:

554 5.0.0 /etc/mail/sendmail.cf: line 1703: unknown configuration line «ifelse_strstr(confCHECK_OUTGOING_IN, LOCAL_HOST_NAMES, dnl»

554 5.0.0 /etc/mail/sendmail.cf: line 1708: unknown configuration line «)»

554 5.0.0 /etc/mail/sendmail.cf: line 1709: unknown configuration line «ifelse_strstr(confCHECK_OUTGOING_IN, RELAY_DOMAINS, dnl»

554 5.0.0 /etc/mail/sendmail.cf: line 1712: unknown configuration line «)»

554 5.0.0 /etc/mail/sendmail.cf: line 1713: unknown configuration line «ifelse_strstr(confCHECK_OUTGOING_IN, ACCESS_DB, dnl»

554 5.0.0 /etc/mail/sendmail.cf: line 1721: unknown configuration line «)»

если добавить в sendmail.mc еще HACK(`cfhead’)dnl

то получаю другую ошибку:

554 5.0.0 /etc/mail/sendmail.cf: line 200: readcf: map dulpat01: class regex not available

554 5.0.0 /etc/mail/sendmail.cf: line 202: readcf: map dulpat02: class regex not available

554 5.0.0 /etc/mail/sendmail.cf: line 203: readcf: map dulpat03: class regex not available

554 5.0.0 /etc/mail/sendmail.cf: line 205: Sequence map dulpat: unknown member map dulpat01

554 5.0.0 /etc/mail/sendmail.cf: line 205: Sequence map dulpat: unknown member map dulpat02

554 5.0.0 /etc/mail/sendmail.cf: line 205: Sequence map dulpat: unknown member map dulpat03

554 5.0.0 /etc/mail/sendmail.cf: line 214: readcf: map checkaddress_canonified: class regex not available

554 5.0.0 /etc/mail/sendmail.cf: line 219: readcf: map checkaddress: class regex not available

554 5.0.0 /etc/mail/sendmail.cf: line 225: readcf: map allnumbers: class regex not available

554 5.0.0 /etc/mail/sendmail.cf: line 226: readcf: map allnumbersdots: class regex not available

вот мой sendmail.mc, ткине плиз носом что не так… пробовал на разных версиях (8.12.11 & 8.13.4) ошибки одинаковые:

divert(-1)

divert(0)dnl

include(`/usr/src/sendmail-8.13.4/cf/m4/cf.m4\′)dnl

VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $’)

OSTYPE(linux)dnl

define(`confDEF_USER_ID’,«25:25»)dnl

undefine(`UUCP_RELAY’)dnl

undefine(`BITNET_RELAY’)dnl

define(`confTO_CONNECT’, `1m’)dnl

define(`confTRY_NULL_MX_LIST’,true)dnl

define(`confDONT_PROBE_INTERFACES’,true)dnl

define(`PROCMAIL_MAILER_PATH’,`/usr/bin/procmail’)dnl

define(`ALIAS_FILE’, `/etc/mail/aliases’)dnl

define(`UUCP_MAILER_MAX’, `2000000\′)dnl

define(`confUSERDB_SPEC’, `/etc/mail/userdb.db’)dnl

define(`confPRIVACY_FLAGS’, `authwarnings,novrfy,noexpn,restrictqrun’)dnl

define(`confAUTH_OPTIONS’, `A’)dnl

TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl

define(`confAUTH_MECHANISMS’, `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl

define(`CERT_DIR’, `MAIL_SETTINGS_DIR`’certs’)dnl

define(`confCACERT_PATH’, `CERT_DIR’)dnl

define(`confCACERT’, `CERT_DIR/CAcert.pem’)dnl

define(`confSERVER_CERT’, `CERT_DIR/client.pem’)dnl

define(`confSERVER_KEY’, `CERT_DIR/client_key.pem’)dnl

define(`confTO_IDENT’, `0s’)dnl

define(`confMAX_MESSAGE_SIZE’, `5120000\′)dnl

FEATURE(`no_default_msa’,`dnl’)dnl

FEATURE(`smrsh’,`/usr/sbin/smrsh’)dnl

FEATURE(`mailertable’,`hash -T -o /etc/mail/mailertable.db’)dnl

FEATURE(`virtusertable’,`hash -T -o /etc/mail/virtusertable.db’)dnl

FEATURE(`genericstable’,`hash -T -o /etc/mail/genericstable.db’)dnl

GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains’)dnl

FEATURE(redirect)dnl

FEATURE(always_add_domain)dnl

FEATURE(use_cw_file)dnl

FEATURE(use_ct_file)dnl

FEATURE(local_procmail,`’,`procmail -t -Y -a $h -d $u’)dnl

FEATURE(`access_db’,`hash -T -o /etc/mail/access.db’)dnl

FEATURE(`blacklist_recipients’)dnl

HACK(`cfhead’)dnl

HACK(`check_compat’)dnl

EXPOSED_USER(`root’)dnl

dnl FEATURE(`relay_based_on_MX’)dnl

MAILER(local)dnl

MAILER(smtp)dnl

MAILER(procmail)dnl

Cw[…заменено…]

dnl define(`_FFR_MILTER’,1)dnl

MAIL_FILTER(`drweb-filter’, `S=inet:3001@localhost, F=T, T=S:240s;R:240s;E:1h’)dnl

MAIL_FILTER(`clmilter’,`S=local:/var/run/clamav/clmilter.sock,F=, T=S:4m;R:4m’)dnl

define(`confINPUT_MAIL_FILTERS’, `drweb-filter, clmilter’)dnl

define(`confMILTER_LOG_LEVEL’,`10\′)dnl

Насколько видно из описания хаков для is_outgoing.m4, например, нужно задавать макрос confCHECK_OUTGOING_IN. В комментариях этот процесс подробно описан.