URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 55506
[ Назад ]

Исходное сообщение
"Пожалуйста, помогите разобраться с pcre + postfix"

Отправлено LuckyBird , 13-Апр-05 16:16 
Стоит postfix 2.2, я хочу письма с некоторыми вложениями вложеними не принимать.

в main.cf пописано
body_checks = pcre:/usr/local/etc/postfix/body_checks

а в body_ckecks
/^Content-Disposition:attachment;filename=".*\.(lnk|asd|hlp|ocx|reg|bat|c[ho]m|cmd
|dll|vxd|pif|scr|hta|jse?|sh[mbs]|vb[esx]|ws[fh])"/   REJECT

В логи пешет следующее
Apr 13 15:08:50 bzdja postfix/cleanup[7761]: dict_open: pcre:/usr/local/etc/postfix/body_checks
Apr 13 15:08:51 bzdja postfix/cleanup[7761]: dict_pcre_lookup: /usr/local/etc/postfix/body_checks: Cg==

Больше ничего связаного в body_checks нет, писбма с вложениями доходят,
подскажите - что я неправильно делаю ?


Содержание

Сообщения в этом обсуждении
"Пожалуйста, помогите разобраться с pcre + postfix"
Отправлено jonatan , 13-Апр-05 16:30 
Если я не ошибаюсь, то начиная с версии postfix 2.0 нужно проверять mime_header_checks.

body_checks
    These  are  applied to all other content, including
    multi-part message boundaries.

    With Postfix versions before 2.0, all content after
    the initial message headers is treated as body con-
    tent.


"Пожалуйста, помогите разобраться с pcre + postfix"
Отправлено unk , 13-Апр-05 18:15 
>Больше ничего связаного в body_checks нет, писбма с вложениями доходят,
>подскажите - что я неправильно делаю ?
regexp'ы плохо пишите и/или слабо знакомы с синтаксисом почтовых заголовков.

Hint: Например _совершенно_ валидный \s (а он там будет с вероятностью 0.999) обходит ваше выражение.


"Пожалуйста, помогите разобраться с pcre + postfix"
Отправлено jonatan , 14-Апр-05 09:06 
unk прав. Правильно будет так:

/^Content-Disposition:\s*attachment;\s*filename=.*\.(lnk|asd|hlp|ocx|reg|bat|c[ho]m|cmd|dll|vxd|pif|scr|hta|jse?|sh[mbs]|vb[esx]|ws[fh])/   REJECT