Summary: | proftpd: unknown configuration directive 'IdentLookups' | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Evgeny Ivanitskiy <pikone> |
Component: | proftpd | Assignee: | Konstantin A Lepikhov (L.A. Kostis) <lakostis> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | amakeenk, ender |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Evgeny Ivanitskiy
2023-09-20 21:46:15 MSK
(In reply to Evgeny Ivanitskiy from comment #0) > После обновления до версии 1.3.8-alt0.1.ga3489a6c8 proftpd перестал > запускаться с уже имеющимся конфигурационным файлом. > > В journalctl выводится следующая ошибка: > > fatal: unknown configuration directive 'IdentLookups' on line 15 of > '/etc/proftpd.conf' > > На предыдущей версии 1.3.6-alt0.4.ga73dbfe3b, при наличии той же строки в > конфигурационном файле, подобной ошибки не возникало, proftpd исправно > запускался. предыдущая версия в сизифе была 1.3.7, та версия, что вы имеете в виду, это из p10. А по вашей директиве см. http://www.proftpd.org/docs/RELEASE_NOTES-1.3.7a + The mod_ident module is no longer automatically built by default. To include the mod_ident module in the build, it must be explicitly requested via --enable-ident or --with-shared=mod_ident. This means that configuration files using the IdentLookups directive will now want to using an enclosing <IfModule> section, like so: <IfModule mod_ident.c> IdentLookups off </IfModule> Я включу этот модуль снова в новой сборке. Кстати, а что именно все-таки хочется добиться с этой переменной? - Я могу убрать эту опцию из конфигурации по умолчанию и не собирать модуль ident - Я могу обновить эту опцию в конфигурации по умолчанию и собрать модуль ident. (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #2) > Кстати, а что именно все-таки хочется добиться с этой переменной? Не сломать уже существующие установки при обновлении пакета в стабильных бранчах. (In reply to Alexander Makeenkov from comment #3) > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #2) > > Кстати, а что именно все-таки хочется добиться с этой переменной? > > Не сломать уже существующие установки при обновлении пакета в стабильных > бранчах. Я собрал исправление в таске #330015, прошу проверить. Насчет обновления и "не сломать" не получится: - в апстриме это breaking change, и логика тут есть - выкинуть код, который потенциально опасный и не нужен в большинстве случаев. Поэтому тащить эту функциональность включенной по умолчанию нет смысла (т.к. в 100% она отключена на уровне конфигурации "из коробки"). - в сборке для sisyphus я тоже это изменение сделал в виде триггера с предупреждением, что либо эту опцию нужно убрать либо поставить модуль. - в сборке для дистрибутива это на усмотрение выпускающего, либо поддерживать свою сборку, либо тоже написать это в замечаниях по обновлению, либо переписать триггер, чтобы он опцию выкусывал из конфига (не очень надежно). (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #4) > Я собрал исправление в таске #330015, прошу проверить. Проверил воспроизводимость ошибки в sisyphus с заданием. Если устанавливать proftpd сразу из задания, то никаких проблем не возникает, сервис успешно запускается. Но если обновляться с версии из репозитория, то после обновления до задания ошибка не пропадает. Сервис отказывается запускаться сообщая об ошибке "fatal: unknown configuration directive 'IdentLookups'". Однако с новой версией добавляется новый конфигурационный файл, который записывается в "/etc/proftpd.conf.rpmnew". Он отличается от стандартного конфигурационного файла тем, что там вместо > IdentLookups off Используется > <IfModule mod_ident.c> > IdentLookups off > </IfModule> Если добавить эти две строки в старый конфигурационный файл, то сервис успешно с ним запускается. Следовательно, в любом случае, требуется правка конфигурационного файла для дальнейшей работы (Ответ для Evgeny Ivanitskiy на комментарий #5) > Если добавить эти две строки в старый конфигурационный файл, то сервис > успешно с ним запускается. Следовательно, в любом случае, требуется правка > конфигурационного файла для дальнейшей работы Если при обновлении выводится сообщение о необходимости это сделать, то думаю, что этого достаточно в данном случае. (Ответ для Alexander Makeenkov на комментарий #6) > Если при обновлении выводится сообщение о необходимости это сделать, то > думаю, что этого достаточно в данном случае. Единственное предупреждающее сообщение выводится apt-get при обновлении: Обновление / установка... 1: proftpd-1.3.8-alt0.2.ga3489a6c8 предупреждение: /etc/proftpd.conf создан как /etc/proftpd.conf.rpmnew Больше никаких сообщений нет (In reply to Evgeny Ivanitskiy from comment #7) > (Ответ для Alexander Makeenkov на комментарий #6) > > Если при обновлении выводится сообщение о необходимости это сделать, то > > думаю, что этого достаточно в данном случае. > > Единственное предупреждающее сообщение выводится apt-get при обновлении: > > Обновление / установка... > 1: proftpd-1.3.8-alt0.2.ga3489a6c8 > предупреждение: /etc/proftpd.conf создан как /etc/proftpd.conf.rpmnew > > Больше никаких сообщений нет триггер добавлен для обновления с версии 1.3.6, которая в p10, если обновляться с нее то предупреждение будет выводится. %triggerun -- proftpd < 1.3.7 if grep -q IdentLookups /etc/proftpd.conf; then echo 'WARNING! WARNING! Outdated config detected!' echo 'Manual intervention needed:' echo 'Please remove IdentLookups directive from config or' echo 'install proftpd-mod_indent package if you still need' echo 'IDENT lookups support.' fi Предупреждение выводится: WARNING! WARNING! Outdated config detected! Manual intervention needed: Please remove IdentLookups directive from config or install proftpd-mod_indent package if you still need IDENT lookups support. 356: proftpd-1.3.6-alt0.4.ga73dbfe3b Вот только пакета proftpd-mod_indent, который в нём указан нету: # apt-get install proftpd-mod_indent Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено E: Невозможно найти пакет proftpd-mod_indent # apt-repo list 330015 | grep -c indent 0 Потому что в сообщении опечатка, и пакет называется proftpd-mod_ident: # apt-repo list 330015 | grep ident proftpd-mod_ident Нужно поправить сообщение, и думаю, что можно отправлять в сизиф. proftpd-1.3.8-alt0.2.ga3489a6c8 -> sisyphus: Thu Sep 21 2023 L.A. Kostis <lakostis@altlinux.ru> 1.3.8-alt0.2.ga3489a6c8 - enable mod_ident and make trigger with warning if unsupported configuration detected (closes #47656). - adjust default configuration for IdentLookups changes. |