Механизм плагинов расширяет функциональность TLS Terminator, позволяя внедрять пользовательскую логику в работу компонента TLS Terminator без изменения его исходного кода. Плагины для компонента TLS Terminator представляют собой динамические библиотеки. При разработке плагинов необходимо соблюдать условия, необходимые для использования динамических библиотек. Чтобы использовать механизм плагинов, необходимо выполнить следующие действия:
/opt/KasperskyOS-Community-Edition-<platform>-<version>/sysroot-*-kos/include/tls/tls_plugin_interface.h. Обязательны для реализации следующие функции интерфейса:plugin_init() – инициализация плагина.plugin_fini() – завершение работы плагина.plugin_get_version() – получение версии плагина.Реализация остальных функций интерфейса опциональна и зависит от задач, для которых разрабатывается плагин.
--plugin_path. Подробнее см. "Параметры запуска и переменные окружения TLS Terminator".Детали работы механизма плагинов:
dlopen().plugin_get_version() и инициализация плагина через вызов plugin_init().dlsym().Компонент TLS Terminator при инициализации передает плагину набор указателей на свои собственные реализации функций через структуру tls_functions. Это позволяет плагину вызывать эти реализации, если необходимо.
plugin_fini().dlclose().