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

Материал из wiki.lissyara.su
Перейти к: навигация, поиск

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

Следующие действия должны быть предприняты для добавления нового роутера, транспорта, аутентификатора или типа поиска к 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”.


translated by lissyara