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