exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
sansa
ефрейтор
Сообщения: 66
Зарегистрирован: 2009-10-05 13:02:02
Откуда: Сергиев Посад

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение sansa » 2016-01-30 20:06:53

Exim 4.86.

Выросло хозяйство, пользователей стало не 30 а более 200, субдоменов добавилось...
Структура пользователей по файлам уже стала напрягать, прикрутил vexim.
Тестю (пока альфа).
И вот такое выплыло. В конфиге для exima из дистриба vexim есть такой файл "vexim_acl_check_content.conf"
В нем есть такая вот секция:

Код: Выделить всё

  deny  message         = This message contains a MIME error ($demime_reason)
        demime          = *
        condition       = ${if >{$demime_errorlevel}{2}{1}{0}}
которая срабатывает на вот такой файл во вложении:
"Подключение дистанционного обслуживания, кодового слова, систем самообслуживания.pdf"
такой вот ошибкой:
rejected after DATA: This message contains a MIME error (demime acl condition: proposed filename exceeds 512 characters)
С одной стороны, можно и забить, сервер 4 года без нее работал нормально.

С другой стороны, при ошибках MIME распаковки не работает сканер вирусов, правила на расширение файлов и подобное. Возможно и уязвимость, эксплуатирующая ошибки MIME есть (или появится).

С третьей - подумалось а действительно, "нафига" легитимно позволять отправлять письма с "битым" MIME? В легитимном случае, лучше сразу пользователю сообщить, что его вложения на другой стороне возможно не смогут распаковаться. В нелегитимном - реджект мэйлвара и спама, если это извне, и повод прошерстить на предмет червя, если это из локалки.

С четвертой - Винда позволяет все-таки 1024 символа. И нечего мешать пользователям отправлять (и принимать) нормальные файлы.

Собственно вопрос.
Есть ли возможность настроить demime на предмет 1024 символа?
Здравствуйте, я ваш патологоанатом.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение xM » 2016-01-31 1:15:56

Ну так уберите эту проверку на ошибки MIME - пусть письмо дальше идёт.
Всё равно она погоды не делает.
IT voodoo blog https://kostikov.co

Аватара пользователя
sansa
ефрейтор
Сообщения: 66
Зарегистрирован: 2009-10-05 13:02:02
Откуда: Сергиев Посад

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение sansa » 2016-01-31 13:12:29

Так пока и убрал, но объяснил жеж, почему считаю ее полезной
Здравствуйте, я ваш патологоанатом.

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение xM » 2016-01-31 13:31:05

sansa писал(а): Так пока и убрал, но объяснил жеж, почему считаю ее полезной
Напишите в багтреккер с аргументацией почему надо 1024.
IT voodoo blog https://kostikov.co

Аватара пользователя
sansa
ефрейтор
Сообщения: 66
Зарегистрирован: 2009-10-05 13:02:02
Откуда: Сергиев Посад

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение sansa » 2016-01-31 19:20:33

Ситуация приобрела новое направление.
Скачал исходники.
По сообщению об ошибке вышел на файл demime.h, в котором определена данная переменная. Думал уже сделать патчик, да из сырцов поставить, но решил сначала почитать RFC. Не нашел никаких ограничений, но потом случайно спросил у вики на предмет длинны имени файла. Там вообще ограничение в 255 символов.
Получается какая-то другая беда...
Буду копать дальше.

ЗЫ
Ах, да, отвечаю на свой первый вопрос.
Из конфигурации данная переменная не устанавливается, она константа и жестко зашита в код.
Здравствуйте, я ваш патологоанатом.

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение xM » 2016-01-31 19:32:17

sansa писал(а): Там вообще ограничение в 255 символов.
Вероятно 512 это из-за ЮНИКОД.
IT voodoo blog https://kostikov.co

Аватара пользователя
sansa
ефрейтор
Сообщения: 66
Зарегистрирован: 2009-10-05 13:02:02
Откуда: Сергиев Посад

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение sansa » 2016-01-31 19:37:00

Все равно не получается. 2х255 = 510.
ЗЫ. Т.е. на ФС файл хранится нормально. Имя у него короче 255 символов, а при MIME кодировке - распухает больше 512 символов.
Последний раз редактировалось sansa 2016-01-31 19:39:22, всего редактировалось 1 раз.
Здравствуйте, я ваш патологоанатом.

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение xM » 2016-01-31 19:39:14

ну под степень двойки всё подводится, в любом случае.
IT voodoo blog https://kostikov.co

Аватара пользователя
sansa
ефрейтор
Сообщения: 66
Зарегистрирован: 2009-10-05 13:02:02
Откуда: Сергиев Посад

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение sansa » 2016-01-31 19:41:30

Причем здесь степень двойки?
Имя файла в ASCII занимает количество символов * 8 бит (по одному байту на символ). В UTF - количество символов * 16 бит (по 2 байта на символ). Разница не в степени, а просто в 2 раза.
Здравствуйте, я ваш патологоанатом.

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение xM » 2016-01-31 19:46:17

При том что размерность буферов подгоняют, обычно, под неё. Так удобнее по многим причинам.
IT voodoo blog https://kostikov.co

Аватара пользователя
sansa
ефрейтор
Сообщения: 66
Зарегистрирован: 2009-10-05 13:02:02
Откуда: Сергиев Посад

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение sansa » 2016-01-31 19:49:17

Тут согласен.
В итоге, кусок конфига нужный, прото он работает не так как задумано...

Виноват или клиент, или процедура demime.
Может кто помочь? Внести в тестовый сервер данную секцию, и попробовать вашим клиентом отправить сообщение с таким же файлом (только по имени) через него?
Я пробовал Thunderbird 38.5.1, roundcube 0.9.5 - оба клиента режутся данным правилом на этом имени файла.
Здравствуйте, я ваш патологоанатом.

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение xM » 2016-01-31 20:24:40

sansa писал(а): Я пробовал Thunderbird 38.5.1, roundcube 0.9.5 - оба клиента режутся данным правилом на этом имени файла
А точно у вас дело именно в длине имени файла? Может быть там какой-то спецсимвол чудесным образом затесался?
IT voodoo blog https://kostikov.co

Аватара пользователя
sansa
ефрейтор
Сообщения: 66
Зарегистрирован: 2009-10-05 13:02:02
Откуда: Сергиев Посад

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение sansa » 2016-01-31 20:45:47

Имя файла для поста скопировано из explorerа. F2, Ctrl_C, форум, Ctrl_V
В клиентах выбирал его же (он у меня 100% один такой).

Отправлено спустя 15 минут 58 секунд:
Да и не бывает символов на 4+ байта.
Тем более, что в ASCII имя файла 85 байт. Вместе с расширением.
ЗЫЫ. Скопировал имя из эксплолера. Вставил в текстовый редактор FAR Manager. Сохранил. Посмотрел HEX структуру, не увидел ничего нового.
Перезагрузил комп. Скопировал из редактора имя файла, переименовал 1 файл с помощью проводника, второй с помощью FAR. Попробовал раздельно отправить каждый из них каждым клиентом. Та же беда. Во всех случаях.
Здравствуйте, я ваш патологоанатом.

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение xM » 2016-01-31 22:50:55

sansa писал(а): Тем более, что в ASCII имя файла 85 байт. Вместе с расширением.
Я к тому же и писал.
Да, интересно.
IT voodoo blog https://kostikov.co

Аватара пользователя
sansa
ефрейтор
Сообщения: 66
Зарегистрирован: 2009-10-05 13:02:02
Откуда: Сергиев Посад

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение sansa » 2016-02-01 0:05:56

xM писал(а): Да, интересно.
Поможешь с клиентами?
Здравствуйте, я ваш патологоанатом.

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение xM » 2016-02-01 0:39:37

sansa писал(а): Поможешь с клиентами?
У меня лично их, собственно, два. Один как у вас (RC), а второй несколько экзотичен для России и вряд ли вас заинтересует.
IT voodoo blog https://kostikov.co

Аватара пользователя
sansa
ефрейтор
Сообщения: 66
Зарегистрирован: 2009-10-05 13:02:02
Откуда: Сергиев Посад

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение sansa » 2016-02-03 20:53:39

Пока проверил только штатным outlook`ом XP. То же самое.
Уже думаю, за ОС. Ubuntu 14.04 LTS. Поднял такую же рядом (благо виртуальная ферма есть). Накатываю те же конфиги, но без обновлений
Здравствуйте, я ваш патологоанатом.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение Alex Keda » 2016-02-04 20:08:26

я, кстати, сообщения с длинными именами вложений просто срубаю.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
sansa
ефрейтор
Сообщения: 66
Зарегистрирован: 2009-10-05 13:02:02
Откуда: Сергиев Посад

exim4 demime - Ошибка: Слишком длинное имя (>512 символов)

Непрочитанное сообщение sansa » 2016-02-04 20:30:21

Я согласен, что может помочь с "Вы выйграли приз.doc.txt.pdf.vbs", но само по себе не является защитой от этого.
ЗЫ. Нашел OpenBsd лет 6 работающую в качестве фэйлшары. Поднял на ней экзим из портов (версию не посмотрел), стандартный конфиг, только локальные пользователи - то же самое...
Здравствуйте, я ваш патологоанатом.