53. Добавление новых драйверов или типов поисков
Следующие действия должны быть предприняты для добавления нового роутера, транспорта, аутентификатора или типа поиска к exim`y:“
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
”.
=============
Автор перевода: lissyara, оригинал: http://www.lissyara.su/?id=1200