Принципы работы

Демон управления конфигурацией Dr.Web ConfigD всегда запускается с правами суперпользователя root. Он запускает остальные компоненты Dr.Web для почтовых серверов UNIX и связывается с ними через предварительно открытый сокет. Демон управления конфигурацией принимает подключения от прочих компонентов Dr.Web для почтовых серверов UNIX через информационный сокет (публично доступный) и управляющий сокет (доступный только компонентам, запущенным с правами суперпользователя). Он загружает параметры конфигурации и лицензионные данные из файлов или обеспечивает их получение от используемого сервера централизованной защиты через агент Dr.Web ES Agent, а также подстановку корректных значений по умолчанию для параметров конфигурации. К моменту старта любого компонента или отсылки ему сигнала SIGHUP демон управления конфигурацией всегда имеет целостный непротиворечивый набор настроек всех компонентов Dr.Web для почтовых серверов UNIX.

При получении сигнала SIGHUP, Dr.Web ConfigD перечитывает параметры конфигурации и данные из лицензионного ключевого файла. В случае необходимости он также рассылает компонентам уведомления, чтобы они перечитали собственные параметры конфигурации.

При получении сигнала SIGTERM, Dr.Web ConfigD сначала завершает работу всех компонентов, а потом сам завершает работу. Dr.Web ConfigD обеспечивает удаление всех временных файлов компонентов после того, как они завершат работу.

Принципы взаимодействия с другими компонентами
 

1.При запуске все компоненты получают от Dr.Web ConfigD параметры конфигурации и лицензионную информацию. В дальнейшей работе компоненты используют только эти полученные настройки.

2.Dr.Web ConfigD обеспечивает сбор сообщений от всех запущенных под его управлением компонентов в единый журнал. Dr.Web ConfigD cобирает все сообщения, выводимые компонентами в stderr, и помещает в общий журнал Dr.Web для почтовых серверов UNIX с отметкой, у какого компонента и в какой момент произошла ошибка.

3.Все управляемые компоненты завершают работу с определенным кодом. Если код завершения отличен от 101, 102 и 103, компонент будет перезапущен, а соответствующее сообщение из stderr будет зафиксировано в журнале Dr.Web для почтовых серверов UNIX.

Завершение работы с кодом 101 означает, что компонент не может функционировать с предоставленной лицензией. Компонент будет перезапущен только при изменении параметров лицензии.

Завершение работы с кодом 102 означает, что он не может функционировать с текущими параметрами конфигурации. Dr.Web ConfigD предпримет попытку перезапустить компонент, когда будет изменены какие-либо параметры конфигурации.

Завершение работы с кодом 103 происходит в результате длительного отсутствия обращений к компонентам, запускаемым Dr.Web ConfigD по требованию (Dr.Web Scanning Engine и Dr.Web File Checker). Период, по истечении которого компонент завершает работу с кодом 103, указывается в настройках соответствующего компонента (параметр IdleTimeLimit).

Если новые значения параметров конфигурации, полученные компонентом от Dr.Web ConfigD, не могут быть применены им «на лету», компонент завершает работу с кодом 0, чтобы Dr.Web ConfigD перезапустил его.

Если компонент не может подключиться к Dr.Web ConfigD, или происходит ошибка протокола взаимодействия, он отправляет соответствующее сообщение в stderr и завершает работу к кодом 1.

4.Организован обмен сигналами.

Чтобы компонент применил измененные параметры конфигурации, Dr.Web ConfigD отправляет ему сигнал SIGHUP.

Чтобы компонент завершил работу, Dr.Web ConfigD отправляет ему сигнал SIGTERM. Через 30 секунд после завершения сигнала компонент должен завершить работу.

Если компонент не завершает работу в течение положенных 30 секунд, Dr.Web ConfigD отправляет ему сигнал SIGKILL для принудительного завершения работы.