Перевод выполнен Алексеем Паутовым в рамках
некоммерческого проекта RussianLDP
(http://www.rldp.ru/). Именно на этом сайте
и надлежит искать новые версии, если таковые будут.
53. Добавление новых драйверов или типов поисков
Следующие действия должны быть предприняты для добавления
нового роутера, транспорта, аутентификатора или типа поиска к exim:
- 1. Выберите название для драйвера или типа поиска, которое не
конфиликтует с любыми существующими именами.
В дальнейшем я буду использовать newdriver.
- 2. Добавьте в src/EDITME строку:
где <type> ROUTER, TRANSPORT, AUTH или LOOKUP.
Если по умолчанию код не должен быть включен в исполняемый модуль,
закомментируте эту строку. Также Вы должны добавить любые уместные
комментарии о драйвере или типе поиска.
- 3. Добавьте в src/config.h.defaults строку:
- 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.