53. Добавление новых драйверов или типов поисков


    Следующие действия должны быть предприняты для добавления нового роутера, транспорта, аутентификатора или типа поиска к exim`y:
1. Выберите название для драйвера или типа поиска, которое не конфиликтует с любыми существующими именами; в дальнейшем, я буду использовать
newdriver.
2. Добавьте в
src/EDITME строку:

<type>_NEWDRIVER=yes


где <type> - ROUTER, TRANSPORT, AUTH, или LOOKUP. Если, по умолчанию, код не должен быть включен в бинарник, закомментируте эту строку. Также вы должны добавить любые уместные комментарии о драйвере или типе поиска.
3. Добавьте в
src/config.h.defaults строку:


#define <type>_NEWDRIVER


4. Отредактируйте src/drtables.c , добавьте условный код к частному заголовку и созайте запись в таблице как сделано для всех других драйверов и типов поиска.
5. Отредактируйте
Makefile в соответствующей субдиректории ( src/routers , src/transports , src/auths или src/lookups ); добавьте строку для новго драйвера или типа поиска, и добавьте его к определению OBJ.
6. Создайте
newdriver.h и newdriver.c в соответствующей субдиректории src .
7. Отредактируйте
scripts/MakeLinks и добавьте команды для связи файлов .h и .c , как для других драйверов и поисков.
   Затем, всё что вам нужно сделать - написать код! Хороший способ начать, состоит в том, чтобы сделать проформу путём копирования существующего модуля того же типа, глобально изменяя все встречи с именем, и вырезая большинство кода. Отметтьте, что любые создаваемые вами опции должны быть перечислены в алфавитном порядке, поскольку поиск по таблицам производится с использованием бинарной процедуры chop.
   Ожидается, что в каждой из субдиректорий
src присутствует файл README .




=============
Автор перевода: lissyara, оригинал: http://www.lissyara.su/?id=1200