50 #define ALD_API_VERSION 1*0x10000+7*0x100+37 53 #define ALD_MODULE_VERSION "1.7.37" 56 #define ALD_MODULE_TYPE_HOST 0 58 #define ALD_MODULE_TYPE_ITF 1 59 #define ALD_MODULE_TYPE_CFG 2 60 #define ALD_MODULE_TYPE_PLUGIN 3 67 #define ALD_MODE_UNDEFINED "" 69 #define ALD_MODE_CLIENT "client" 70 #define ALD_MODE_SERVER "server" 71 #define ALD_MODE_ADMIN "admin" 90 inline const string &
name()
const {
return m_strName;}
103 #define ALD_OPR_CFG_INSTALL "install" 105 #define ALD_OPR_CFG_CONFIGURE "configure" 106 #define ALD_OPR_CFG_ON "on" 107 #define ALD_OPR_CFG_OFF "off" 108 #define ALD_OPR_CFG_UNINSTALL "uninstall" 119 virtual int OperationConfig(
const string &mode,
const string &operation) = 0;
140 inline const string &
name()
const {
return m_strName;}
142 inline const string &
error()
const {
return m_strError;}
155 virtual bool Validate(
const void *value,
const void *tag,
void *result);
250 virtual const string &domain() = 0;
251 virtual const string &serverName() = 0;
252 virtual const string &hostName() = 0;
253 virtual const string &compatibilityVersion() = 0;
254 virtual const string &ApplicationName() = 0;
255 virtual void SetApplicationName(
const string& name) = 0;
263 virtual string ALDSubdir() = 0;
269 virtual bool IfForce() = 0;
270 virtual bool IfVerbose() = 0;
271 virtual bool Ifrfc2822() = 0;
272 virtual bool IfServer() = 0;
273 virtual bool IfServerOn() = 0;
274 virtual bool IfClientOn() = 0;
275 virtual bool IfUseFS(
const string &fs) = 0;
276 virtual bool IfNotUseFS() = 0;
277 virtual bool IfConfigured() = 0;
278 virtual bool IfUseDNS() = 0;
279 virtual bool isServerHost() = 0;
285 virtual void ReloadExtensions() = 0;
286 virtual void InitPlugins(
const string &mode) = 0;
288 virtual void SetHostModuleInfo(
const string &name,
const string &desc) = 0;
289 virtual void EnumerateModules(
int module_type,
ald_string_map &mods) = 0;
290 virtual bool IfModuleLoaded(
const string &name) = 0;
297 virtual void AddConfigurator(CALDConfiguratorPtr cfgr) = 0;
298 virtual void RemoveConfigurator(
const string &name) = 0;
299 virtual void UseConfigurators(
const string &mode) = 0;
300 virtual void OperationConfig(
const string &mode,
const string &operation) = 0;
307 virtual void AddInterface(CALDInterfacePtr itf) = 0;
308 virtual CALDInterfacePtr GetInterface(
const string &name) = 0;
309 virtual void RemoveInterface(
const string &name) = 0;
310 virtual void UseInterface(
const string &name,
const string &mode) = 0;
317 virtual void AddValidator(CALDValidatorPtr vld) = 0;
318 virtual CALDValidatorPtr GetValidator(
const string &name) = 0;
319 virtual void RemoveValidator(
const string &name) = 0;
320 virtual bool ValidateValue(
const string &validator,
const void *value,
const void *tag,
void *result,
string *err) = 0;
326 virtual void EnumerateTriggers(
const string &action,
ald_string_map &trgs) = 0;
328 virtual void UnregisterTrigger(
const string &action,
const string &name,
ald_action_trigger_func &trigger) = 0;
329 virtual bool TriggerAction(
const string &action,
const string &
object,
CALDCommand *cmd,
void* extra) = 0;
336 virtual string admin()
const = 0;
339 virtual bool IfKadmin()
const = 0;
340 virtual bool IfCCache()
const = 0;
341 virtual void SetCCache(
bool ccache) = 0;
342 virtual bool GetSecret(
const string &user,
string &secret,
const string &prompt =
"") = 0;
343 virtual bool NewSecret(
const string &user,
string &secret,
const string &prompt =
"") = 0;
344 virtual void SetSecret(
const string &user,
const string &secret) = 0;
347 virtual void ForgetAdmin() = 0;
353 virtual void UseSigInt() = 0;
356 virtual bool IfSigInt() = 0;
357 virtual bool IfSigPipe() = 0;
358 virtual bool IfSigTerm() = 0;
359 virtual bool IfSigHup() = 0;
360 virtual void ClearSignal(
int sig) = 0;
366 virtual void LoadSettings() = 0;
367 virtual string SettingsValue(
const string &p) = 0;
368 virtual bool SettingsValueExists(
const string &p) = 0;
369 virtual void SetSettingsValue(
const string &p,
const string &v) = 0;
377 virtual void OnBeforeCommand() = 0;
378 virtual void OnAfterCommand() = 0;
379 virtual int ExecALDCommand(
const string &command,
const string &argument,
const ald_string_multimap &mapOptions) = 0;
391 virtual bool RE_match(
const string &pattern,
const string &value,
const int optc = 0,
const int opte = 0) = 0;
394 virtual void CheckNameResolution() = 0;
397 virtual void SetKadmLocal(
bool kadmlocal) = 0;
401 virtual void ShowSettings(ostream &out) = 0;
402 virtual void ShowInternals(ostream &out) = 0;
403 virtual void ShowStatus(ostream &out) = 0;
408 virtual bool ServiceGroupsMod(
const string &sgroup,
bool remove =
false) = 0;
410 virtual bool SupportedFSMod(
const string &fs,
bool remove =
false) = 0;
413 virtual bool MaintenanceMode() = 0;
417 #define ALD_USER_NAME_MAX_SIZE 31 419 #define ALD_GROUP_NAME_MAX_SIZE ALD_USER_NAME_MAX_SIZE 420 #define ALD_PWD_MAX_SIZE 40 421 #define ALD_DESC_MAX_SIZE 1000 422 #define ADM_USER_NAME "admin/admin" 423 #define ADM_ALDD_USER_NAME "aldd" 424 #define ADM_DEF_USER_NAME "default/user" 425 #define ALD_DEF_POLICY_NAME "default" 430 #define ALD_FS_LOCAL "local" 431 #define ALD_FS_NFS "nfs" 432 #define ALD_FS_CIFS "cifs" 436 #define ALD_PRM_VERSION "VERSION" 438 #define ALD_PRM_SERVER "SERVER" 439 #define ALD_PRM_DOMAIN "DOMAIN" 440 #define ALD_PRM_DOMAIN_DN "DOMAIN_DN" 441 #define ALD_PRM_REALM "REALM" 442 #define ALD_PRM_NETWORK_FS_TYPE "NETWORK_FS_TYPE" 443 #define ALD_PRM_MINIMUM_UID "MINIMUM_UID" 444 #define ALD_PRM_MINIMUM_GID "MINIMUM_GID" 445 #define ALD_PRM_DEF_LOGIN_SHELL "DEFAULT_LOGIN_SHELL" 446 #define ALD_PRM_TICKET_MAX_LIFE "TICKET_MAX_LIFE" 447 #define ALD_PRM_TICKET_MAX_R_LIFE "TICKET_MAX_RENEWABLE_LIFE" 448 #define ALD_PRM_DESC "DESCRIPTION" 449 #define ALD_PRM_RPC_PORT "RPC_PORT" 450 #define ALD_PRM_USE_RPC "USE_RPC" 451 #define ALD_PRM_ALDD_USER "ALDD_USER" 452 #define ALD_PRM_USE_DNS "USE_DNS" 453 #define ALD_PRM_USER_GROUPS "USER_GROUPS" 454 #define ALD_PRM_USE_DOCUMENTS "USE_DOCUMENTS" 455 #define ALD_PRM_PREF_SERVERS "PREFERRED_SERVERS" 456 #define ALD_PRM_AUTORECONF "AUTORECONFIGURE" 457 #define ALD_PRM_VALID_USER_NAMES "VALID_USER_NAMES" 458 #define ALD_PRM_VALID_GROUP_NAMES "VALID_GROUP_NAMES" 459 #define ALD_PRM_ALD_HOSTNAME "ALD_HOSTNAME" 463 #define ALD_PRM_CLIENT_MOUNT_DIR "CLIENT_MOUNT_DIR" 465 #define ALD_PRM_CLIENT_ON "CLIENT_ON" 466 #define ALD_PRM_CLIENT_FS_KRB_MODE "CLIENT_FS_KRB_MODE" 467 #define ALD_PRM_CLIENT_SMB_VERSION "CLIENT_SMB_VERSION" 468 #define ALD_PRM_ALLOWED_LOCAL_GROUPS "ALLOWED_LOCAL_GROUPS" 469 #define ALD_PRM_CACHE_REFRESH_PERIOD "CACHE_REFRESH_PERIOD" 470 #define ALD_PRM_CACHE_ACCESS_USERS "CACHE_ACCESS_USERS" 471 #define ALD_PRM_LOCAL_SOCKET_PATH "LOCAL_SOCKET_PATH" 475 #define ALD_PRM_SERVER_ON "SERVER_ON" 477 #define ALD_PRM_SERVER_EXPORT_DIR "SERVER_EXPORT_DIR" 478 #define ALD_PRM_SERVER_ARCHIVE_DIR "SERVER_ARCHIVE_DIR" 479 #define ALD_PRM_SERVER_FS_KRB_MODES "SERVER_FS_KRB_MODES" 480 #define ALD_PRM_SERVER_POLLING_PERIOD "SERVER_POLLING_PERIOD" 481 #define ALD_PRM_SERVER_PROPAGATE_PERIOD "SERVER_PROPAGATE_PERIOD" 482 #define ALD_PRM_UTF8_GECOS "UTF8_GECOS" 483 #define ALD_PRM_DEFAULT_LOCAL_GROUPS "DEFAULT_LOCAL_GROUPS" 484 #define ALD_PRM_SERVER_ID "SERVER_ID" 485 #define ALD_PRM_SERVER_RPC_RESTRICTED "RPC_RESTRICTED" 486 #define ALD_PRM_SERVER_KEYTAB "SERVER_KEYTAB" 487 #define ALD_PRM_SERVER_KADM_RELOAD "SERVER_KADM_RELOAD" 491 #define ALD_PRM_SUB_DIR "ALD_SUB_DIR" 493 #define ALD_PRM_CC_PREFIX "ALD_CC_PREFIX" 494 #define ALD_PRM_VAR_LIB_DIR "ALD_VAR_LIB_DIR" 495 #define ALD_PRM_COMMON_KEYTAB "ALD_COMMON_KEYTAB" 496 #define ALD_PRM_CFG_TEMPL_DIR "ALD_CFG_TEMPL_DIR" 497 #define ALD_PRM_CFG_DIR "ALD_CFG_DIR" 498 #define ALD_PRM_ITFS_DIR "ALD_ITFS_DIR" 499 #define ALD_PRM_PLUGINS_DIR "ALD_PLUGINS_DIR" 500 #define ALD_PRM_CFG_MODULES_DIR "ALD_CFG_MODULES_DIR" 501 #define ALD_PRM_CFG "ALD_CFG" 502 #define ALD_PRM_CFG_ROOT_DIR "ALD_CFG_ROOT_DIR" 503 #define ALD_PRM_USR_SHARE_DIR "ALD_USR_SHARE_DIR" 504 #define ALD_PRM_LDAP_SCHEMA_DIR "ALD_LDAP_SCHEMA_DIR" 505 #define ALD_PRM_CACHE_DIR "ALD_PRM_CACHE_DIR" 506 #define ALD_PRM_DOMAIN_USERS_GID "ALD_DOMAIN_USERS_GID" 507 #define ALD_PRM_DOCS_DIR "ALD_PRM_DOCS_DIR" 508 #define ALD_PRM_LDAP_URIS "ALD_PRM_LDAP_URIS" 509 #define ALD_PRM_CONN_LOCK_FILE "ALD_PRM_CONN_LOCK_FILE" 514 #define ALD_VALIDATOR_USER_NAME "UserName" 516 #define ALD_VALIDATOR_GROUP_NAME "GroupName" 517 #define ALD_VALIDATOR_PATH "Path" 518 #define ALD_VALIDATOR_GECOS "Gecos" 519 #define ALD_VALIDATOR_POLICY_NAME "PolicyName" 520 #define ALD_VALIDATOR_POLICY_LIFETIME "PolicyLifeTime" 521 #define ALD_VALIDATOR_TASK_HISTORY "TaskHistory" 522 #define ALD_VALIDATOR_SERVICE_NAME "ServiceName" 523 #define ALD_VALIDATOR_HIDDEN_PRINCIPALS "HiddenPrincipals" 524 #define ALD_VALIDATOR_HOST_NAME "HostName" 525 #define ALD_VALIDATOR_DOMAIN_NAME "DomainName" 526 #define ALD_VALIDATOR_HOST_FLAGS "HostFlags" 527 #define ALD_VALIDATOR_SGROUP_NAME "SvcGroupName" 528 #define ALD_VALIDATOR_HGROUP_NAME "HostGroupName" 529 #define ALD_VALIDATOR_DNS_NAME "DNSName" 530 #define ALD_VALIDATOR_DOC_NAME "DocumentName" 534 #define ALD_CMD_SECTION "ALD Common API" 539 #define ALD_DOMAIN_USERS "Domain Users" 541 #define ALD_DOMAIN_COMPUTERS "Domain Computers" 542 #define ALD_DOMAIN_CONTROLLERS "Domain Controllers" 543 #define ALD_DOMAIN_FILESERVERS "Domain File Servers" Класс контейнера команд
Definition: ALDCommand.h:198
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
int perm
Права доступа
Definition: ALDCore.h:222
const string & name() const
Возвращает наименование
Definition: ALDCore.h:90
Анонимное соединение без аутентификации (только чтение LDAP)
Definition: ALDCore.h:29
Абстрактный базовый класс команды
Definition: ALDCommand.h:136
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:9
pair< string, ald_action_trigger > ald_trigger_pair
Пара <событие,запись о триггере>
Definition: ALDCore.h:211
Структура информации о правах файла
Definition: ALDCore.h:217
const char * name
Имя
Definition: ALDCore.h:40
list< ald_file_perm > ald_file_perm_list
Список информации о правах файлов
Definition: ALDCore.h:226
const string & name() const
Возвращает имя
Definition: ALDCore.h:140
string owner
Владелец
Definition: ALDCore.h:219
void() ald_module_done_ft(ALD::IALDCore &Core)
Тип функции освобождения модуля
Definition: ALDCore.h:78
Класс контейнера опций команды
Definition: ALDCommand.h:99
Локальная несетевая аутентификация для серверных компонент (без запроса пароля)
Definition: ALDCore.h:30
Базовый класс интерфейса
Definition: ALDCore.h:83
CALDValidator(const string &Name, IALDCore &Core)
Конструктор
Definition: ALDCore.h:148
Выключен
Definition: ALDCore.h:170
IALDConfigurator(const string &Name, IALDCore &Core)
Конструктор конфигуратора
Definition: ALDCore.h:117
Структура информации о модуле
Definition: ALDCore.h:37
IALDCore * m_pCore
Указатель на интерфейс Core.
Definition: ALDCore.h:135
const char * desc
Описание
Definition: ALDCore.h:44
Аутентификация Kerberos с использованием файла ключа (без запроса пароля)
Definition: ALDCore.h:32
int api_version
Версия API.
Definition: ALDCore.h:39
map< string, string > ald_string_map
MAP строка => строка
Definition: ALDUtils.h:164
shared_ptr< CALDValidator > CALDValidatorPtr
Разделяемый указатель на валидатор
Definition: ALDCore.h:162
bool() ald_module_init_ft(ALD::IALDCore &Core, const string &mode)
Тип функции инициализации модуля с указанием режима
Definition: ALDCore.h:75
multimap< string, ald_action_trigger > ald_triggers_map
Мультикарта (событие => запись о триггере>
Definition: ALDCore.h:214
ald_module_info *() ald_get_module_info_ft(const ald_module_info &host)
Тип функции получения информации о модуле
Definition: ALDCore.h:64
map< string, CALDValidatorPtr > ald_validator_map
Карта валидаторов (имя => разделяемый указатель на валидатор)
Definition: ALDCore.h:165
Парольная аутентификация Kerberos.
Definition: ALDCore.h:31
Объявление подсистемы регистрации событий Astra Linux Directory.
string group
Группа
Definition: ALDCore.h:220
multimap< string, string > ald_string_multimap
MultiMAP строка => строка
Definition: ALDUtils.h:166
string m_strName
Наименование
Definition: ALDCore.h:86
shared_ptr< IALDConfigurator > CALDConfiguratorPtr
Разделяемый указатель на конфигуратор
Definition: ALDCore.h:123
Аутентификация Kerberos с использованием текущего кеша (без запроса пароля)
Definition: ALDCore.h:33
CALDInterface(const string &Name, IALDCore &Core)
Конструктор интерфейса
Definition: ALDCore.h:92
void * extra
Эктра параметр
Definition: ALDCore.h:46
Структура записи о триггере
Definition: ALDCore.h:184
Объявление классов командного интерфейса Astra Linux Directory.
Базовый класс механизма журналирования Astra Linux Directory.
Definition: ALDLogProvider.h:110
Базовый класс конфигуратора
Definition: ALDCore.h:113
map< string, CALDConfiguratorPtr > ald_configurator_map
Карта конфигураторов (имя => разделяемый указатель на конфигуратор)
Definition: ALDCore.h:126
bool LoginAdmin(IALDCore &Core, const string &admin="")
Вход администратора
const string & error() const
Возвращает сообщение об ошибке
Definition: ALDCore.h:142
int type
Тип
Definition: ALDCore.h:43
shared_ptr< CALDInterface > CALDInterfacePtr
Разделяемый указатель на интерфейс
Definition: ALDCore.h:97
string filename
Путь к файлу
Definition: ALDCore.h:218
virtual ~CALDValidator()
Деструктор
Definition: ALDCore.h:158
asmSigIntMode
Режим SigInt.
Definition: ALDCore.h:168
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
bool ald_action_trigger_func(IALDCore *Core, const string &action, const string &object, CALDCommand *cmd, void *extra)
Тип триггерной функции
Definition: ALDCore.h:181
Включен
Definition: ALDCore.h:169
map< string, CALDInterfacePtr > ald_interface_map
Карта интерфейсов (имя => разделяемый указатель на интерфейс)
Definition: ALDCore.h:100
IALDCore * m_pCore
Указатель на интерфейс ядра
Definition: ALDCore.h:87
string m_strName
Имя
Definition: ALDCore.h:134
Базовый класс валидатора
Definition: ALDCore.h:131
string m_strError
Сообщение об ошибке
Definition: ALDCore.h:136
string name
Имя события
Definition: ALDCore.h:185
ALDAuthType
Набор способов аутентификации
Definition: ALDCore.h:28
Абстрактный класс IALDCore - основной интерфейс клиента Astra Linux Directory, с помощью которого вып...
Definition: ALDCore.h:241
const char * version
Версия
Definition: ALDCore.h:41
ald_action_trigger_func * trigger
Указатель на триггерную функцию
Definition: ALDCore.h:187