>Но, в принципе, правильным путём идутГлядя на то безобразие, что они учинили, очень сомневаюсь.
Казалось бы безобидное нововведение:
В основной блок конфигурации добавлена опция "sqlite_dbfile" для использования при определении префикса строки поиска. Изменение нарушает обратную совместимость - старый метод задания префикса перестал работать при указании неочищенных (tainted) переменных в lookup-запросах. Новый метод ("sqlite_dbfile") позволяет держать имя файла отдельно.
Про катастрофическое влияние на производительность ни кто не подумал.
Раньше было (в разных местах конфига):
${lookup sqlite {/var/lib/exim/aliases.db select name from aliases where id='userx';}}
${lookup sqlite {/var/lib/exim/whitelist.db select name from whitelist where id='userx';}}
${lookup sqlite {/var/lib/exim/greylist.db select name from greylist where id='userx';}}
${lookup sqlite {/var/lib/exim/blacklist.db select name from blacklist where id='userx';}}
Т.е. каждая таблица размещалась в отдельном файле, что-бы избежать конкуренции и блокировок.
Теперь так не работает. Извольте только так:
sqlite_dbfile=/var/lib/exim/global.db
${lookup sqlite {select name from aliases where id='userx';}}
${lookup sqlite {select name from whitelist where id='userx';}}
.....
Из-за единственности опции "sqlite_dbfile" пришлось все таблицы объединить в один глобальный файл.
Наверное, exim, слишком быстр для современных дисковых систем. надо было специально притормозить.
Кому это мешало?! Какую возможную дыру безопасности они этим закрывают? Ответ прост - кретинизм и недальновидность.