Принципы работы |
Компонент предназначен для выполнения запросов данных из текстовых файлов, реляционных СУБД, сетевых хранилищ и служб каталогов (таких, как Active Directory), поддерживающих протокол LDAP. Получаемые данные (такие, как идентификаторы пользователей и их полномочия) передаются затребовавшим их компонентам Dr.Web для почтовых серверов UNIX для использования в различных правилах проверки (например, для разрешения доступа пользователя к запрошенному URL и т. п.).
Компонент Dr.Web LookupD автоматически запускается демоном управления конфигурацией Dr.Web ConfigD по мере необходимости (при возникновении запросов на получение данных из хранилищ). При поступлении от некоторого компонента Dr.Web для почтовых серверов UNIX запроса на получение данных, демон управления конфигурацией Dr.Web ConfigD запускает Dr.Web LookupD (если он еще не запущен), после чего компонент выполняет запрос из требуемого источника данных, возвращая ответ. В зависимости от запроса, ответом является список строк, удовлетворяющих некоторому условию поиска, извлеченных из источника данных в соответствии с заданным критерием поиска, либо логическое значение (истина или ложь), указывающая, нашлись ли в результатах поиска строки, соответствующие заданному условию. В настройках Dr.Web LookupD может быть задано неограниченное число источников данных, при этом, формируя запрос на выборку данных, клиентский компонент Dr.Web для почтовых серверов UNIX должен указать, из какого источника должны быть выбраны данные. После старта и выполнения поступившего запроса, Dr.Web LookupD продолжает работу некоторое время, ожидая поступления новых запросов. В случае их отсутствия, по окончанию периода ожидания, Dr.Web LookupD автоматически завершает свою работу. Базовый способ использования компонента Dr.Web LookupD другими компонентами Dr.Web для почтовых серверов UNIX — это выборка данных для проверки истинности условий специального вида, указанных в правилах работы компонентов. При проверке правил и определении истинности такого условия запрос данных у Dr.Web LookupD производится автоматически. 1.При обработке текстовых файлов начальные и конечные пробелы в строках отбрасываются. Пустые строки, и строки, в которых в качестве первого непробельного символа указан символ '#', игнорируются. 2.Текстовые файлы считаются неизменяемыми источниками данных и их содержимое полностью кешируется в памяти. Кроме того, кешируются и результаты запросов к этим файлам на проверку значения. Таким образом, при изменении содержимого файла-источника необходимо заставить Dr.Web LookupD перечитать конфигурацию, для чего можно послать сигнал HUP компоненту Dr.Web ConfigD, например, при помощи команды drweb-ctl reload. Перед соединением с MySQL дополнительно производится чтение параметров из секции [client] файла настроек MySQL по умолчанию (данный файл ищется по следующим путям: /etc/my.cnf, /etc/mysql/my.cnf, /etc/alternatives/my.cnf). |