Astra Linux Directory Client Core API  1.7.0
Пространство имен ALD

Классы

struct  ald_action_trigger
 
struct  ald_backup_extra
 
struct  ald_delete_object_extra
 
struct  ald_file_perm
 
struct  ald_ldap_consistency_extra
 
struct  ald_load_rpc_commands_extra
 
struct  ald_module_info
 
struct  ald_object_action_extra
 
struct  ald_pam_user_extra
 
struct  ald_portable_load_extra
 
struct  ald_portable_save_extra
 
struct  ald_rpc_request
 
struct  ald_rpc_statistics_extra
 
struct  ald_task_extra
 
struct  ald_test_integrity_extra
 
class  CALDAbstractThread
 
class  CALDAdmGroup
 
class  CALDApplication
 
class  CALDCmdCmd
 
class  CALDCmdHelp
 
class  CALDCmdInternalInfo
 
class  CALDCmdStatus
 
class  CALDCommand
 
class  CALDCommandOption
 
class  CALDCommandOptions
 
class  CALDCommands
 
class  CALDConnection
 
class  CALDDNSNameValidator
 
class  CALDDocNameValidator
 
class  CALDDocument
 
class  CALDDomain
 
class  CALDDomainLogCfg
 
class  CALDDomainNameValidator
 
class  CALDEvTask
 
class  CALDFormatCall
 
class  CALDGecosValidator
 
class  CALDGroup
 
class  CALDGroupNameValidator
 
class  CALDHiddenPrincipalsValidator
 
class  CALDHost
 
class  CALDHostFlagsValidator
 
class  CALDHostGroup
 
class  CALDHostGroupNameValidator
 
class  CALDHostNameValidator
 
class  CALDInterface
 
class  CALDKrbPolicy
 
class  CALDKrbPrincipal
 
class  CALDLogProvider
 
class  CALDLogTemplateValidator
 
class  CALDObject
 
class  CALDPathValidator
 
class  CALDPolicy
 
class  CALDPolicyLifeTimeValidator
 
class  CALDPolicyNameValidator
 
class  CALDRpcCommand
 
class  CALDService
 
class  CALDServiceNameValidator
 
class  CALDStaticHelper
 
class  CALDSvcGroup
 
class  CALDSvcGroupNameValidator
 
class  CALDTask
 
class  CALDTaskHistoryValidator
 
class  CALDTrustedDomain
 
class  CALDUser
 
class  CALDUserNameValidator
 
class  CALDValidator
 
class  EALDCheckError
 
class  EALDError
 
class  EALDInternalError
 
class  EALDOutOfMemory
 
class  EALDPermError
 
class  EALDSigIntError
 
class  IALDConfig
 
class  IALDConfigFile
 
class  IALDConfigurator
 
class  IALDCore
 
class  IALDKadm5Connection
 
class  IALDKadm5Wrapper
 
class  IALDKdcConnection
 
class  IALDKdcWrapper
 
class  IALDLdapConnection
 
class  IALDLdapEntity
 
class  IALDLdapQuery
 
class  IALDLdapWrapper
 
class  IALDRpcConnection
 
class  IALDRpcSession
 
class  IALDRpcWrapper
 
class  IALDStatProvider
 

Определения типов

typedef shared_ptr< IALDConfigFileCALDConfigFilePtr
 
typedef shared_ptr< IALDConfigCALDConfigPtr
 
typedef shared_ptr< IALDRpcConnectionCALDRpcConnPtr
 
typedef shared_ptr< IALDRpcWrapperCALDRpcWrapperPtr
 
typedef shared_ptr< CALDCommandOptionCALDCommandOptionPtr
 
typedef map< string, CALDCommandOptionPtrald_command_option_map
 
typedef shared_ptr< CALDCommandCALDCommandPtr
 
typedef map< string, CALDCommandPtrald_command_map
 
typedef ald_module_info *() ald_get_module_info_ft(const ald_module_info &host)
 
typedef bool() ald_module_init_ft(ALD::IALDCore &Core, const string &mode)
 
typedef void() ald_module_done_ft(ALD::IALDCore &Core)
 
typedef shared_ptr< CALDInterfaceCALDInterfacePtr
 
typedef map< string, CALDInterfacePtrald_interface_map
 
typedef shared_ptr< IALDConfiguratorCALDConfiguratorPtr
 
typedef map< string, CALDConfiguratorPtrald_configurator_map
 
typedef shared_ptr< CALDValidatorCALDValidatorPtr
 
typedef map< string, CALDValidatorPtrald_validator_map
 
typedef bool ald_action_trigger_func(IALDCore *Core, const string &action, const string &object, CALDCommand *cmd, void *extra)
 
typedef pair< string, ald_action_triggerald_trigger_pair
 
typedef multimap< string, ald_action_triggerald_triggers_map
 
typedef list< ald_file_permald_file_perm_list
 
typedef shared_ptr< CALDConnectionCALDConnectionPtr
 
typedef int ald_info_level
 
typedef shared_ptr< CALDObjectCALDObjPtr
 
typedef unsigned int ald_user_caps
 
typedef shared_ptr< CALDUserCALDUserPtr
 
typedef shared_ptr< CALDGroupCALDGroupPtr
 
typedef int ald_task_status
 
typedef shared_ptr< CALDTaskCALDTaskPtr
 
typedef shared_ptr< CALDEvTaskCALDEvTaskPtr
 
typedef shared_ptr< CALDPolicyCALDPolicyPtr
 
typedef shared_ptr< CALDServiceCALDServicePtr
 
typedef shared_ptr< CALDSvcGroupCALDSvcGroupPtr
 
typedef shared_ptr< CALDHostGroupCALDHostGroupPtr
 
typedef shared_ptr< CALDHostCALDHostPtr
 
typedef shared_ptr< CALDAdmGroupCALDAdmGroupPtr
 
typedef shared_ptr< CALDDomainLogCfgCALDDomainLogCfgPtr
 
typedef shared_ptr< CALDTrustedDomainCALDTrustedDomainPtr
 
typedef shared_ptr< CALDDocumentCALDDocumentPtr
 
typedef shared_ptr< CALDDomainCALDDomainPtr
 
typedef shared_ptr< CALDRpcCommandCALDRpcCommandPtr
 
typedef map< string, CALDRpcCommandPtrald_rpc_command_map
 
typedef uint64_t ald_stat_counter
 
typedef list< string > ald_string_list
 
typedef list< int > ald_int_list
 
typedef vector< string > ald_string_vector
 
typedef vector< int > ald_int_vector
 
typedef pair< string, string > ald_string_pair
 
typedef map< string, string > ald_string_map
 
typedef multimap< string, string > ald_string_multimap
 
typedef map< string, int > ald_int_map
 
typedef shared_ptr< CALDKrbPolicyCALDKrbPolicyPtr
 
typedef shared_ptr< IALDKdcConnectionCALDKdcConnPtr
 
typedef shared_ptr< IALDKdcWrapperCALDKdcWrapperPtr
 
typedef shared_ptr< IALDLdapEntityCALDLdapEntPtr
 
typedef list< CALDLdapEntPtrald_ldap_ent_list
 
typedef shared_ptr< IALDLdapQueryCALDLdapQueryPtr
 
typedef shared_ptr< IALDLdapConnectionCALDLdapConnPtr
 
typedef shared_ptr< IALDLdapWrapperCALDLdapWrapperPtr
 
Константы строковых атрибутов принципалов
typedef shared_ptr< CALDKrbPrincipalCALDKrbPrincipalPtr
 
typedef shared_ptr< IALDKadm5ConnectionCALDKadm5ConnPtr
 
typedef shared_ptr< IALDKadm5WrapperCALDKadm5WrapperPtr
 

Перечисления

enum  alRPCStatus { alrsINI, alrsOK, alrsWAIT, alrsERR }
 
enum  ALDParseCommandLineResult { apclrSimple, apclrCommand, apclrExit, apclrError }
 
enum  ALDCommonOptionResult { acorMiss, acorHit, acorExit }
 
enum  acArgumentNecessity { anNoArgument = 0, anRequiredArgument = 1, anOptionalArgument = 2 }
 
enum  acArgumentType {
  acatText, acatNumber, acatHex, acatOct,
  acatTPeriod
}
 
enum  ALDAuthType {
  aatSimple, aatLocal, aatGSS, aatGSSKeytab,
  aatUser
}
 
enum  asmSigIntMode { asmSigIntOn, asmSigIntOff }
 
enum  ALDLogLevel {
  llError, llWarning, llNotice, llInfo,
  llDebug, llTrace
}
 
enum  ALDLogDest { ldStdErr = 1, ldSysLog = 2, ldCSVLog = 4 }
 
enum  ALDLogOption { loEmpty = 0, loInsertID = 1, loToFileOnly = 2, loImmediately = 4 }
 
enum  aoLoadStatus { aolsLoaded, aolsContinue, aolsError }
 
enum  aoLoadFieldStatus { aolfsLoaded, aolfsUnexpected, aolfsEnd, aolfsError }
 
enum  aoOperation { aooGet, aooCreate, aooModify, aooRemove }
 
enum  aoTriggerActionType { aotatAction, aotatCheck }
 
enum  arcPrivKind {
  arckPublic, arckAuthenticated, arckAuthorized, arckPrivileged,
  arckSystem
}
 
enum  alSCOPE { alsBASE, alsONELEVEL, alsSUBTREE, alsCHILDREN }
 
enum  alOPERATION { aloADD = '+', aloREPLACE = '=', aloDELVAL = '-', aloDELETE = '!' }
 

Функции

void RegisterLdapSchema (IALDCore &Core, const string &schema)
 
IALDCoreAllocateCore ()
 
void FreeCore (IALDCore *&ICore)
 
bool LoginAdmin (IALDCore &Core, const string &admin="")
 
bool LoginAdmin (IALDCore &Core, const string &admin, const string &pwd)
 
void Logout (IALDCore &Core, bool keep_cred=false)
 
void InitCore (IALDCore &Core)
 
void RegisterBaseValidators (IALDCore &Core)
 
bool UnparseHostName (IALDCore &Core, const string &host, const string &domain, string &fullname, string *perror)
 
bool ParseHostName (IALDCore &Core, const string &fullname, string &host, string &domain, string *perror)
 
void UpdatePrincipalInKeytab (CALDKadm5ConnPtr krb5, const string &keytab, const string &name, bool create)
 
string HostPrincipal (const string &name)
 
string UserToDN (const string &user, const string &base)
 
string DNToUser (const string &dn)
 
void CheckValidExits (const string &command, const int exitcode, ald_int_list &validlist)
 
void RestartNSCD ()
 
void InvalidateNSCD ()
 
void SetAllowTix (CALDKadm5ConnPtr &krb5, bool AllowTix)
 
void UpdateLifetimes (IALDCore &Core, CALDKadm5ConnPtr &krb5)
 
void FilterUserPrincipals (IALDCore &Core, ald_string_list &list)
 
void CheckConfigured (IALDCore &Core)
 
void CheckCompatibility (IALDCore &Core, const string &version)
 
string CannonicalizePrincipalName (IALDCore &Core, const string &name, const string &domain)
 
string SvcPrincipal (IALDCore &Core, const string &svc, const string &host="", const string &realm="")
 
string LifetimeToStr (unsigned int ltime)
 
void UseCommonCommand (IALDCore &Core, const string &cmd)
 
bool GetActiveALDServerName (IALDCore &Core, const string &domain, string &dc)
 
void SetCounter (string &name, int value)
 
int GetCounter (string &name)
 
int IncrementCounter (string &name, int increment)
 
string ModHostFlags (const string &flags, char flag, bool op)
 
CALDHostPtr GetServer (CALDConnectionPtr Conn)
 
CALDHostPtr GetHost (CALDConnectionPtr Conn)
 
bool UpdateServiceInKeytab (CALDConnectionPtr Conn, const string &keytab, const string &service, bool create)
 
void ShowLdapOperInfo (CALDObject &object, ostream &out)
 
void SetALDTimestamp (CALDObject &object, const string &tsname, time_t ts=0)
 
string GetALDTimestamp (CALDObject &object, const string &tsname)
 
bool ofl (const string &mnt, unsigned int signum, ald_string_map &occupants)
 
void KillOccupants (const string &mnt, bool hup, bool term, bool kill, unsigned int wait, bool quiet)
 
void send_str (ostream &o, const string &s, bool checklen=true)
 
void read_str (istream &i, string &s, bool checklen=true)
 
void send_size (ostream &o, size_t s)
 
void read_size (istream &i, size_t &s)
 
const char * rpcmsgtype2str (unsigned short message)
 
bool SendBroadcastMessage (IALDCore &Core, const string &msg, ald_string_list *responses=NULL, int timeout=3)
 
void UseTermColors (bool colored)
 
bool IsTermColored ()
 
string t_cmd (const char *cmd)
 
string t_dflt ()
 
const char * ExtractFileName (const char *pszFileName)
 
const char * ExtractFuncName (const char *pszFuncName)
 
bool ParsePair (const string &line, string &name, string &value)
 
string CurrentUser ()
 
string DefaultCodeset ()
 
string HostName (const string &host)
 
string TildeSubst (const string &file)
 
string HostDomain (const string &host)
 
string PFM2Name (const string &PFM)
 
Функции получения интерфейсов
CALDLdapConnPtr GetLdapConnection (IALDCore &Core, ALDAuthType at, unsigned int ci_flags)
 
CALDKadm5ConnPtr GetKadm5Connection (IALDCore &Core, ALDAuthType at, unsigned int ci_flags)
 
CALDRpcConnPtr GetRpcConnection (IALDCore &Core, ALDAuthType at, unsigned int ci_flags)
 
CALDConfigPtr GetConfig (IALDCore &Core)
 
Исполнение внешних команд
int ExecCommand (const string &command, bool infinite=false)
 
int ExecCommandOut (const string &command, ald_string_list &outlist, bool infinite=false)
 
int ExecCommandInOut (const string &command, ald_string_list &outlist, const ald_string_list &inlist, bool infinite=false)
 
Работа с клиентской точкой монтирования домашних каталогов
void CreateClientMountPoint (IALDCore &Core)
 
void UmountClientMountPoint (IALDCore &Core, const string &mode)
 
void MountClientMountPoint (IALDCore &Core, const string &mode)
 
Функции сериализации объектов Kerberos
string princ2str (const CALDKrbPrincipalPtr &princ)
 
CALDKrbPrincipalPtr str2princ (const string &name, const string &body)
 
string policy2str (const CALDKrbPolicyPtr &policy)
 
CALDKrbPolicyPtr str2policy (const string &name, const string &body)
 
Группа макросов нотификации операций с объектом
bool IfAdminCanManageHost (CALDConnectionPtr conn, const string &admin, const string &host)
 
bool IfAdminCanManageHostGroup (CALDConnectionPtr conn, const string &admin, const string &hostgroup)
 
Функции преобразования строк и целых
bool str2i (const string &str, int &val)
 
string i2str (int val)
 
bool str2u (const string &str, unsigned int &val)
 
string u2str (unsigned int val)
 
bool hex2u (const string &str, unsigned int &val)
 
string u2hex (unsigned int val)
 
bool oct2u (const string &str, unsigned int &val)
 
string u2oct (unsigned int val)
 
bool strTou64 (const string &str, uint64_t &val)
 
string u64Tostr (uint64_t val)
 
Функции преобразования строк и типов времени
string TimeToStr (time_t t, bool rfc2822)
 
time_t StrToTime (const string &strdt, bool rfc2822)
 
time_t GeneralizedTimeToTime (const string &gt)
 
string GeneralizedTimeToStr (const string &gt, bool rfc2822)
 
string TimeToGeneralizedTime (time_t t)
 
Функции работы со строками
string TrimLeft (const string &str)
 
string TrimRight (const string &str)
 
string Trim (const string &str)
 
string Unquote (const string &str)
 
string Quote (const string &str, bool force=false)
 
string Capitallize (const string &str)
 
string string2upper (const string &str)
 
string string2lower (const string &str)
 
string & StrAppend (string &str1, const string &str2)
 
char * strdup (const char *str)
 
char * strdup (const string &str)
 
Функции преобразования имен доменов
string DomainToDn (const string &domain)
 
string DomainToRealm (const string &domain)
 
string RemoveRealm (const string &str)
 
string DnToDomain (const string &dn)
 
string RealmToDomain (const string &realm)
 
string RemoveDomain (const string &str, const string &domain)
 
Функции запроса ответа у пользователя
string AskPassword (const string &prompt, size_t size, char star)
 
string AskText (const string &prompt, size_t size)
 
string AskTextDef (const string &prompt, const string &defText, size_t size)
 
bool AskYesNo (const string &prompt, bool defYes)
 
unsigned int AskNumber (const string &prompt, unsigned int defVal)
 
Функции работы со списками строк
void list_merge (ald_string_list &al1, const ald_string_list &al2)
 
void list_subtract (ald_string_list &al1, const ald_string_list &al2)
 
void list_intersect (ald_string_list &al1, const ald_string_list &al2)
 
bool IsMemberOfList (const ald_string_list &list, const string &str)
 
string listToStr (const ald_string_list &list)
 
void StrTolist (const string &str, ald_string_list &list, char delim=',')
 
Функции работы с путями и файлами
bool IsFileExist (const string &path)
 
bool IsDirExist (const string &path)
 
bool IsPathExist (const string &path)
 
void RemoveDir (const string &path, bool force)
 
void RemoveFile (const string &path)
 
void RemovePath (const string &path, bool force)
 
void RemoveFiles (const string &path, const string &pattern)
 
void CreateDir (const string &path, mode_t mode)
 
void EnsureDir (const string &path, mode_t mode)
 
void Chown (const string &path, uid_t uid, gid_t gid, bool rec=false)
 
void Chown (const string &path, const string &ouser, const string &ogroup, bool rec=false)
 
void Chmod (const string &path, mode_t mode, bool rec=false)
 
bool IsDirectory (const string &path)
 
bool IsFile (const string &path)
 
void RenameFile (const string &file, const string &targetFile)
 
void CopyFile (const string &file, const string &targetFile)
 
void CopyPath (const string &path, const string &targetPath, mode_t mode)
 
void CreateFile (const string &file)
 
string GetFileName (const string &file)
 
string GetFilePath (const string &file)
 
string GetFileExt (const string &file)
 
Функции работы со сжатием файлов
void GZipFile (const string &file, const string &targetFile)
 
void GunZipFile (const string &file, const string &targetFile)
 
void TarCreate (const ald_string_list &files, const string &targetFile, int mode)
 
void TarExtract (const string &file, const string &targetPath, int mode)
 
void Pack (const ald_string_list &files, const string &targetFile, int mode)
 
void Unpack (const string &file, const string &targetPath, int mode)
 
Функции поддержки форматирования тестов целостности
void TestIntegrityItem (const string &info)
 
void TestIntegritySection (const string &info, bool verb)
 
void TestIntegrityOK ()
 
void TestIntegrityERROR ()
 
void TestIntegrityWARNING ()
 
void TestIntegrityFIXED ()
 

Переменные

const size_t ALDRPCHDRSIZE = sizeof(ald_rpc_header)
 
const string ALD_HISTORY_FILE = ".history"
 

Управление службами

enum  ALDServiceOperation {
  asoStop, asoStart, asoRestart, asoInstall,
  asoRemove, asoReload
}
 
int ManageService (const string &service, ALDServiceOperation op, bool ignore=false)
 

Работа с привилегиями Linux

enum  aldCapFlag { acfEffective = 1, acfPermitted = 2, acfInheritable = 4 }
 
typedef uint32_t ald_linux_caps
 
typedef unsigned ald_cap_flags
 
void EnumerateLinuxCaps (ald_string_list &caps)
 
ald_linux_caps LinuxCapByName (const string &capname)
 
void LinuxCapMod (cap_value_t cap, ald_cap_flags flags, cap_flag_value_t val)
 
void LinuxCapsClear (ald_cap_flags flags)
 

Подробное описание

Пространство имен основного интерфейса Astra Linux Directory.

Перечисления

◆ ALDCommonOptionResult

Результат разбора общих опций

Элементы перечислений
acorMiss 

Не найдено

acorHit 

Отработано

acorExit 

Требуется выход

◆ ALDParseCommandLineResult

Результат разбора командной строки

Элементы перечислений
apclrSimple 

Простой вызов

apclrCommand 

Команда

apclrExit 

Все отработано => выход

apclrError 

Ошиба

Функции

◆ GetCounter()

int ALD::GetCounter ( string &  name)

Получение значения именованного счётчика

◆ IncrementCounter()

int ALD::IncrementCounter ( string &  name,
int  increment 
)

Атомарное изменение значения именованного счётчика

◆ KillOccupants()

void ALD::KillOccupants ( const string &  mnt,
bool  hup,
bool  term,
bool  kill,
unsigned int  wait,
bool  quiet 
)

Поиск и заврешение процессов, использующих указанную точку монтирования

Аргументы
[in]mntТочка монтирования
[in]hupПосылка SIGHUP
[in]termПосылка SIGTERM
[in]killПосылка SIGKILL
[in]waitВремя ожидания ms
[in]quietПризнак тихого режима

◆ ofl()

bool ALD::ofl ( const string &  mnt,
unsigned int  signum,
ald_string_map occupants 
)

Поиск и посылка сигналов процессам, использующих указанную точку монтирования

Аргументы
[in]mntТочка монтирования
[in]signumСигнал
[out]occupantsКарта процессов
Возвращает
Результат поиска

◆ SetCounter()

void ALD::SetCounter ( string &  name,
int  value 
)

Установка значения именованного счётчика