|
Astra Linux Directory Client Core API
1.7.0
|
См. документацию.
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"
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);
320 virtual bool ValidateValue(
const string &validator,
const void *value,
const void *tag,
void *result,
string *err) = 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;
391 virtual bool RE_match(
const string &pattern,
const string &value,
const int optc = 0,
const int opte = 0) = 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_UTF8_GECOS "UTF8_GECOS"
482 #define ALD_PRM_DEFAULT_LOCAL_GROUPS "DEFAULT_LOCAL_GROUPS"
483 #define ALD_PRM_SERVER_ID "SERVER_ID"
484 #define ALD_PRM_SERVER_RPC_RESTRICTED "RPC_RESTRICTED"
485 #define ALD_PRM_SERVER_KEYTAB "SERVER_KEYTAB"
486 #define ALD_PRM_SERVER_KADM_RELOAD "SERVER_KADM_RELOAD"
490 #define ALD_PRM_SUB_DIR "ALD_SUB_DIR"
492 #define ALD_PRM_CC_PREFIX "ALD_CC_PREFIX"
493 #define ALD_PRM_VAR_LIB_DIR "ALD_VAR_LIB_DIR"
494 #define ALD_PRM_COMMON_KEYTAB "ALD_COMMON_KEYTAB"
495 #define ALD_PRM_CFG_TEMPL_DIR "ALD_CFG_TEMPL_DIR"
496 #define ALD_PRM_CFG_DIR "ALD_CFG_DIR"
497 #define ALD_PRM_ITFS_DIR "ALD_ITFS_DIR"
498 #define ALD_PRM_PLUGINS_DIR "ALD_PLUGINS_DIR"
499 #define ALD_PRM_CFG_MODULES_DIR "ALD_CFG_MODULES_DIR"
500 #define ALD_PRM_CFG "ALD_CFG"
501 #define ALD_PRM_CFG_ROOT_DIR "ALD_CFG_ROOT_DIR"
502 #define ALD_PRM_USR_SHARE_DIR "ALD_USR_SHARE_DIR"
503 #define ALD_PRM_LDAP_SCHEMA_DIR "ALD_LDAP_SCHEMA_DIR"
504 #define ALD_PRM_CACHE_DIR "ALD_PRM_CACHE_DIR"
505 #define ALD_PRM_DOMAIN_USERS_GID "ALD_DOMAIN_USERS_GID"
506 #define ALD_PRM_DOCS_DIR "ALD_PRM_DOCS_DIR"
507 #define ALD_PRM_LDAP_URIS "ALD_PRM_LDAP_URIS"
508 #define ALD_PRM_CONN_LOCK_FILE "ALD_PRM_CONN_LOCK_FILE"
513 #define ALD_VALIDATOR_USER_NAME "UserName"
515 #define ALD_VALIDATOR_GROUP_NAME "GroupName"
516 #define ALD_VALIDATOR_PATH "Path"
517 #define ALD_VALIDATOR_GECOS "Gecos"
518 #define ALD_VALIDATOR_POLICY_NAME "PolicyName"
519 #define ALD_VALIDATOR_POLICY_LIFETIME "PolicyLifeTime"
520 #define ALD_VALIDATOR_TASK_HISTORY "TaskHistory"
521 #define ALD_VALIDATOR_SERVICE_NAME "ServiceName"
522 #define ALD_VALIDATOR_HIDDEN_PRINCIPALS "HiddenPrincipals"
523 #define ALD_VALIDATOR_HOST_NAME "HostName"
524 #define ALD_VALIDATOR_DOMAIN_NAME "DomainName"
525 #define ALD_VALIDATOR_HOST_FLAGS "HostFlags"
526 #define ALD_VALIDATOR_SGROUP_NAME "SvcGroupName"
527 #define ALD_VALIDATOR_HGROUP_NAME "HostGroupName"
528 #define ALD_VALIDATOR_DNS_NAME "DNSName"
529 #define ALD_VALIDATOR_DOC_NAME "DocumentName"
533 #define ALD_CMD_SECTION "ALD Common API"
538 #define ALD_DOMAIN_USERS "Domain Users"
540 #define ALD_DOMAIN_COMPUTERS "Domain Computers"
541 #define ALD_DOMAIN_CONTROLLERS "Domain Controllers"
542 #define ALD_DOMAIN_FILESERVERS "Domain File Servers"
ALDAuthType
Набор способов аутентификации
Definition: ALDCore.h:28
Объявление классов командного интерфейса Astra Linux Directory.
virtual const string & ApplicationName()=0
virtual void ShowInternals(ostream &out)=0
virtual void UseInterface(const string &name, const string &mode)=0
virtual bool ValidateValue(const string &validator, const void *value, const void *tag, void *result, string *err)=0
virtual void UnregisterTrigger(const string &action, const string &name, ald_action_trigger_func &trigger)=0
virtual void SetSecret(const string &user, const string &secret)=0
virtual int ExecALDCommand(const string &command, const string &argument, const ald_string_multimap &mapOptions)=0
virtual const ald_string_list & AllowedLocalGroups()=0
Базовый класс валидатора
Definition: ALDCore.h:132
const string & error() const
Возвращает сообщение об ошибке
Definition: ALDCore.h:142
@ aatUser
Аутентификация Kerberos с использованием текущего кеша (без запроса пароля)
Definition: ALDCore.h:33
virtual bool IfModuleLoaded(const string &name)=0
IALDCore * m_pCore
Указатель на интерфейс ядра
Definition: ALDCore.h:87
virtual void UseSigInt()=0
virtual void ShowSettings(ostream &out)=0
void() ald_module_done_ft(ALD::IALDCore &Core)
Тип функции освобождения модуля
Definition: ALDCore.h:78
list< ald_file_perm > ald_file_perm_list
Список информации о правах файлов
Definition: ALDCore.h:226
pair< string, ald_action_trigger > ald_trigger_pair
Пара <событие,запись о триггере>
Definition: ALDCore.h:211
virtual void LoadSettings()=0
const string & name() const
Возвращает наименование
Definition: ALDCore.h:90
virtual ald_string_map & Tags()=0
@ aatSimple
Анонимное соединение без аутентификации (только чтение LDAP)
Definition: ALDCore.h:29
virtual string SettingsValue(const string &p)=0
virtual ALDAuthType authType() const =0
Текущий способ аутентификации
virtual CALDCommands & CLCommands()=0
virtual bool TriggerAction(const string &action, const string &object, CALDCommand *cmd, void *extra)=0
virtual const string & serverName()=0
virtual bool SupportedFSMod(const string &fs, bool remove=false)=0
Модификация внутреннего списка поддерживаемых ФС
virtual const string & hostName()=0
virtual int ExecALDCommand(const string &command, const ald_string_list &args, const ald_string_multimap &mapOptions)=0
virtual void EnumerateValidators(ald_string_list &vlds)=0
virtual void AddConfigurator(CALDConfiguratorPtr cfgr)=0
const char * name
Имя
Definition: ALDCore.h:40
Класс контейнера команд
Definition: ALDCommand.h:199
virtual void InitPlugins(const string &mode)=0
virtual void AddInterface(CALDInterfacePtr itf)=0
string m_strName
Наименование
Definition: ALDCore.h:86
int perm
Права доступа
Definition: ALDCore.h:222
virtual bool IfSigInt()=0
int api_version
Версия API.
Definition: ALDCore.h:39
virtual bool GetSecret(const string &user, string &secret, const string &prompt="")=0
virtual void LoginAdmin(const string &user, ALDAuthType at, bool kadmin=true)=0
virtual ~CALDValidator()
Деструктор
Definition: ALDCore.h:158
virtual bool RE_match(const string &pattern, const string &value, const int optc=0, const int opte=0)=0
Сопоставление по регулярному выражению
string owner
Владелец
Definition: ALDCore.h:219
virtual void RegisterTrigger(const string &action, const string &name, ald_action_trigger_func &trigger)=0
map< string, CALDValidatorPtr > ald_validator_map
Карта валидаторов (имя => разделяемый указатель на валидатор)
Definition: ALDCore.h:165
Абстрактный класс IALDCore - основной интерфейс клиента Astra Linux Directory, с помощью которого вып...
Definition: ALDCore.h:242
shared_ptr< CALDValidator > CALDValidatorPtr
Разделяемый указатель на валидатор
Definition: ALDCore.h:162
shared_ptr< IALDConfigurator > CALDConfiguratorPtr
Разделяемый указатель на конфигуратор
Definition: ALDCore.h:123
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
virtual CALDLogProvider * LogProvider()=0
Возвращает указатель на провайдер протоколирования
string m_strName
Имя
Definition: ALDCore.h:134
string m_strError
Сообщение об ошибке
Definition: ALDCore.h:136
bool() ald_module_init_ft(ALD::IALDCore &Core, const string &mode)
Тип функции инициализации модуля с указанием режима
Definition: ALDCore.h:75
virtual bool IfClientOn()=0
virtual bool SettingsValueExists(const string &p)=0
ald_module_info *() ald_get_module_info_ft(const ald_module_info &host)
Тип функции получения информации о модуле
Definition: ALDCore.h:64
virtual void ForgetAdmin()=0
Удаление аутентификационной информации текущего пользователя
multimap< string, ald_action_trigger > ald_triggers_map
Мультикарта (событие => запись о триггере>
Definition: ALDCore.h:214
virtual bool IfNotUseFS()=0
virtual const ald_string_list & ServicesGroups()=0
virtual asmSigIntMode GetSigIntMode()=0
virtual void EnumerateModules(int module_type, ald_string_map &mods)=0
virtual bool IfSigHup()=0
string name
Имя события
Definition: ALDCore.h:185
virtual void SetHostModuleInfo(const string &name, const string &desc)=0
void * extra
Эктра параметр
Definition: ALDCore.h:46
virtual bool IfServerOn()=0
map< string, string > ald_string_map
MAP строка => строка
Definition: ALDUtils.h:164
multimap< string, string > ald_string_multimap
MultiMAP строка => строка
Definition: ALDUtils.h:166
Абстрактный базовый класс команды
Definition: ALDCommand.h:137
map< string, CALDConfiguratorPtr > ald_configurator_map
Карта конфигураторов (имя => разделяемый указатель на конфигуратор)
Definition: ALDCore.h:126
virtual void EnumerateInterfaces(ald_string_list &itfs)=0
virtual void SetSettingsValue(const string &p, const string &v)=0
CALDInterface(const string &Name, IALDCore &Core)
Конструктор интерфейса
Definition: ALDCore.h:92
virtual bool IfVerbose()=0
virtual void AddValidator(CALDValidatorPtr vld)=0
virtual bool isServerHost()=0
Объявление подсистемы регистрации событий Astra Linux Directory.
const char * desc
Описание
Definition: ALDCore.h:44
@ aatGSS
Парольная аутентификация Kerberos.
Definition: ALDCore.h:31
virtual void ShowStatus(ostream &out)=0
virtual bool Ifrfc2822()=0
virtual void OnAfterCommand()=0
virtual bool IfKadmin() const =0
IALDConfigurator(const string &Name, IALDCore &Core)
Конструктор конфигуратора
Definition: ALDCore.h:117
const string & name() const
Возвращает имя
Definition: ALDCore.h:140
virtual const ald_string_list & DefaultLocalGroups()=0
virtual const string & compatibilityVersion()=0
virtual void SetSigIntMode(asmSigIntMode mode)=0
virtual const string & domain()=0
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
shared_ptr< CALDInterface > CALDInterfacePtr
Разделяемый указатель на интерфейс
Definition: ALDCore.h:97
virtual void EnumerateTriggers(const string &action, ald_string_map &trgs)=0
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:10
IALDCore * m_pCore
Указатель на интерфейс Core.
Definition: ALDCore.h:135
virtual void ClearSignal(int sig)=0
virtual const ald_module_info & HostModuleInfo()=0
asmSigIntMode
Режим SigInt.
Definition: ALDCore.h:168
virtual bool IfSigPipe()=0
Структура информации о модуле
Definition: ALDCore.h:37
virtual void SetApplicationName(const string &name)=0
virtual const ald_string_list & HiddenPrincipals()=0
virtual void RemoveConfigurator(const string &name)=0
virtual CALDValidatorPtr GetValidator(const string &name)=0
Базовый класс механизма журналирования Astra Linux Directory.
Definition: ALDLogProvider.h:111
virtual void OnBeforeCommand()=0
virtual bool IfCCache() const =0
int type
Тип
Definition: ALDCore.h:43
virtual CALDCommandOptions & CommonCLOptions()=0
@ asmSigIntOn
Включен
Definition: ALDCore.h:169
const char * version
Версия
Definition: ALDCore.h:41
virtual int OperationConfig(const string &mode, const string &operation)=0
Выполнение указанной для режима операции
@ aatGSSKeytab
Аутентификация Kerberos с использованием файла ключа (без запроса пароля)
Definition: ALDCore.h:32
virtual bool IfUseDNS()=0
CALDValidator(const string &Name, IALDCore &Core)
Конструктор
Definition: ALDCore.h:148
Структура записи о триггере
Definition: ALDCore.h:184
virtual bool IfSigTerm()=0
virtual const ald_string_list & SupportedFS()=0
ald_action_trigger_func * trigger
Указатель на триггерную функцию
Definition: ALDCore.h:187
virtual void SetKadmLocal(bool kadmlocal)=0
Установка режима работы с Kerberos.
void ClearError()
Очистка ошибки
@ aatLocal
Локальная несетевая аутентификация для серверных компонент (без запроса пароля)
Definition: ALDCore.h:30
map< string, CALDInterfacePtr > ald_interface_map
Карта интерфейсов (имя => разделяемый указатель на интерфейс)
Definition: ALDCore.h:100
Базовый класс интерфейса
Definition: ALDCore.h:84
bool ald_action_trigger_func(IALDCore *Core, const string &action, const string &object, CALDCommand *cmd, void *extra)
Тип триггерной функции
Definition: ALDCore.h:181
virtual void RemoveInterface(const string &name)=0
virtual bool IfConfigured()=0
virtual void RemoveValidator(const string &name)=0
Структура информации о правах файла
Definition: ALDCore.h:217
Класс контейнера опций команды
Definition: ALDCommand.h:100
virtual void CheckNameResolution()=0
Проверка разрешения имен
virtual string ALDSubdir()=0
virtual void SetCCache(bool ccache)=0
Базовый класс конфигуратора
Definition: ALDCore.h:114
virtual bool ServiceGroupsMod(const string &sgroup, bool remove=false)=0
Модификация внутреннего списка групп сервисов
virtual bool IfUseFS(const string &fs)=0
virtual void EnumerateConfigurators(ald_string_list &cfgs)=0
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
string group
Группа
Definition: ALDCore.h:220
@ asmSigIntOff
Выключен
Definition: ALDCore.h:170
virtual string admin() const =0
virtual void UseConfigurators(const string &mode)=0
virtual void OperationConfig(const string &mode, const string &operation)=0
virtual bool NewSecret(const string &user, string &secret, const string &prompt="")=0
string filename
Путь к файлу
Definition: ALDCore.h:218
virtual void ReloadExtensions()=0
virtual CALDInterfacePtr GetInterface(const string &name)=0
virtual bool IfServer()=0