29#include <ldb_errors.h>
41#define CONFDB_DEFAULT_CFG_FILE_VER 2
42#define CONFDB_FILE "config.ldb"
43#define SSSD_CONFIG_FILE_NAME "sssd.conf"
44#define SSSD_CONFIG_FILE SSSD_CONF_DIR"/"SSSD_CONFIG_FILE_NAME
45#define CONFDB_DEFAULT_CONFIG_DIR_NAME "conf.d"
46#define CONFDB_DEFAULT_CONFIG_DIR SSSD_CONF_DIR"/"CONFDB_DEFAULT_CONFIG_DIR_NAME
48#define CONFDB_DEFAULT_SHELL_FALLBACK "/bin/sh"
49#define CONFDB_FALLBACK_CONFIG \
57#define CONFDB_SERVICE_PATH_TMPL "config/%s"
58#define CONFDB_SERVICE_COMMAND "command"
59#define CONFDB_SERVICE_DEBUG_LEVEL "debug_level"
60#define CONFDB_SERVICE_DEBUG_LEVEL_ALIAS "debug"
61#define CONFDB_SERVICE_DEBUG_TIMESTAMPS "debug_timestamps"
62#define CONFDB_SERVICE_DEBUG_MICROSECONDS "debug_microseconds"
63#define CONFDB_SERVICE_DEBUG_BACKTRACE_ENABLED "debug_backtrace_enabled"
64#define CONFDB_SERVICE_RECON_RETRIES "reconnection_retries"
65#define CONFDB_SERVICE_FD_LIMIT "fd_limit"
66#define CONFDB_SERVICE_ALLOWED_UIDS "allowed_uids"
69#define CONFDB_MONITOR_CONF_ENTRY "config/sssd"
70#define CONFDB_MONITOR_ACTIVE_SERVICES "services"
71#define CONFDB_MONITOR_ACTIVE_DOMAINS "domains"
72#define CONFDB_MONITOR_RESOLV_CONF "monitor_resolv_conf"
73#define CONFDB_MONITOR_TRY_INOTIFY "try_inotify"
74#define CONFDB_MONITOR_KRB5_RCACHEDIR "krb5_rcache_dir"
75#define CONFDB_MONITOR_DEFAULT_DOMAIN "default_domain_suffix"
76#define CONFDB_MONITOR_OVERRIDE_SPACE "override_space"
77#ifdef SSSD_NON_ROOT_USER
78#define CONFDB_MONITOR_USER_RUNAS "user"
80#define CONFDB_MONITOR_CERT_VERIFICATION "certificate_verification"
81#define CONFDB_MONITOR_DISABLE_NETLINK "disable_netlink"
82#define CONFDB_MONITOR_ENABLE_FILES_DOM "enable_files_domain"
83#define CONFDB_MONITOR_DOMAIN_RESOLUTION_ORDER "domain_resolution_order"
84#define CONFDB_MONITOR_IMPLICIT_PAC_RESPONDER "implicit_pac_responder"
85#define CONFDB_MONITOR_DUMPABLE "core_dumpable"
86#define CONFDB_MONITOR_PASSKEY_VERIFICATION "passkey_verification"
89#define CONFDB_NAME_REGEX "re_expression"
90#define CONFDB_FULL_NAME_FORMAT "full_name_format"
91#define CONFDB_DEFAULT_FULL_NAME_FORMAT_INTERNAL "%1$s@%2$s%3$s"
92#define CONFDB_DEFAULT_FULL_NAME_FORMAT "%1$s@%2$s"
95#define CONFDB_RESPONDER_GET_DOMAINS_TIMEOUT "get_domains_timeout"
96#define CONFDB_RESPONDER_CLI_IDLE_TIMEOUT "client_idle_timeout"
97#define CONFDB_RESPONDER_CLI_IDLE_DEFAULT_TIMEOUT 60
98#define CONFDB_RESPONDER_LOCAL_NEG_TIMEOUT "local_negative_timeout"
99#define CONFDB_RESPONDER_LOCAL_NEG_TIMEOUT_DEFAULT 14400
100#define CONFDB_RESPONDER_IDLE_TIMEOUT "responder_idle_timeout"
101#define CONFDB_RESPONDER_IDLE_DEFAULT_TIMEOUT 300
102#define CONFDB_RESPONDER_CACHE_FIRST "cache_first"
103#ifdef BUILD_FILES_PROVIDER
105#define CONFDB_RESPONDER_CACHE_FIRST_DEFAILT false
107#define CONFDB_RESPONDER_CACHE_FIRST_DEFAILT true
111#define CONFDB_NSS_CONF_ENTRY "config/nss"
112#define CONFDB_NSS_ENUM_CACHE_TIMEOUT "enum_cache_timeout"
113#define CONFDB_NSS_ENTRY_CACHE_NOWAIT_PERCENTAGE "entry_cache_nowait_percentage"
114#define CONFDB_NSS_ENTRY_NEG_TIMEOUT "entry_negative_timeout"
115#define CONFDB_NSS_FILTER_USERS_IN_GROUPS "filter_users_in_groups"
116#define CONFDB_NSS_FILTER_USERS "filter_users"
117#define CONFDB_NSS_FILTER_GROUPS "filter_groups"
118#define CONFDB_NSS_PWFIELD "pwfield"
119#define CONFDB_NSS_OVERRIDE_HOMEDIR "override_homedir"
120#define CONFDB_NSS_FALLBACK_HOMEDIR "fallback_homedir"
121#define CONFDB_NSS_OVERRIDE_SHELL "override_shell"
122#define CONFDB_NSS_VETOED_SHELL "vetoed_shells"
123#define CONFDB_NSS_ALLOWED_SHELL "allowed_shells"
124#define CONFDB_NSS_SHELL_FALLBACK "shell_fallback"
125#define CONFDB_NSS_DEFAULT_SHELL "default_shell"
126#define CONFDB_MEMCACHE_TIMEOUT "memcache_timeout"
127#define CONFDB_NSS_MEMCACHE_SIZE_PASSWD "memcache_size_passwd"
128#define CONFDB_NSS_MEMCACHE_SIZE_GROUP "memcache_size_group"
129#define CONFDB_NSS_MEMCACHE_SIZE_INITGROUPS "memcache_size_initgroups"
130#define CONFDB_NSS_MEMCACHE_SIZE_SID "memcache_size_sid"
131#define CONFDB_NSS_HOMEDIR_SUBSTRING "homedir_substring"
132#define CONFDB_DEFAULT_HOMEDIR_SUBSTRING "/home"
135#define CONFDB_PAM_CONF_ENTRY "config/pam"
136#define CONFDB_PAM_CRED_TIMEOUT "offline_credentials_expiration"
137#define CONFDB_PAM_FAILED_LOGIN_ATTEMPTS "offline_failed_login_attempts"
138#define CONFDB_DEFAULT_PAM_FAILED_LOGIN_ATTEMPTS 0
139#define CONFDB_PAM_FAILED_LOGIN_DELAY "offline_failed_login_delay"
140#define CONFDB_DEFAULT_PAM_FAILED_LOGIN_DELAY 5
141#define CONFDB_PAM_VERBOSITY "pam_verbosity"
142#define CONFDB_PAM_RESPONSE_FILTER "pam_response_filter"
143#define CONFDB_PAM_ID_TIMEOUT "pam_id_timeout"
144#define CONFDB_PAM_PWD_EXPIRATION_WARNING "pam_pwd_expiration_warning"
145#define CONFDB_PAM_TRUSTED_USERS "pam_trusted_users"
146#define CONFDB_PAM_PUBLIC_DOMAINS "pam_public_domains"
147#define CONFDB_PAM_ACCOUNT_EXPIRED_MESSAGE "pam_account_expired_message"
148#define CONFDB_PAM_ACCOUNT_LOCKED_MESSAGE "pam_account_locked_message"
149#define CONFDB_PAM_CERT_AUTH "pam_cert_auth"
150#define CONFDB_PAM_CERT_DB_PATH "pam_cert_db_path"
151#define CONFDB_PAM_CERT_VERIFICATION "pam_cert_verification"
152#define CONFDB_PAM_P11_CHILD_TIMEOUT "p11_child_timeout"
153#define CONFDB_PAM_WAIT_FOR_CARD_TIMEOUT "p11_wait_for_card_timeout"
154#define CONFDB_PAM_APP_SERVICES "pam_app_services"
155#define CONFDB_PAM_P11_ALLOWED_SERVICES "pam_p11_allowed_services"
156#define CONFDB_PAM_P11_URI "p11_uri"
157#define CONFDB_PAM_INITGROUPS_SCHEME "pam_initgroups_scheme"
158#define CONFDB_PAM_GSSAPI_SERVICES "pam_gssapi_services"
159#define CONFDB_PAM_GSSAPI_CHECK_UPN "pam_gssapi_check_upn"
160#define CONFDB_PAM_GSSAPI_INDICATORS_MAP "pam_gssapi_indicators_map"
161#define CONFDB_PAM_PASSKEY_AUTH "pam_passkey_auth"
162#define CONFDB_PAM_PASSKEY_CHILD_TIMEOUT "passkey_child_timeout"
163#define CONFDB_PAM_PASSKEY_DEBUG_LIBFIDO2 "passkey_debug_libfido2"
166#define CONFDB_SUDO_CONF_ENTRY "config/sudo"
167#define CONFDB_SUDO_CACHE_TIMEOUT "sudo_cache_timeout"
168#define CONFDB_DEFAULT_SUDO_CACHE_TIMEOUT 180
169#define CONFDB_SUDO_TIMED "sudo_timed"
170#define CONFDB_DEFAULT_SUDO_TIMED false
171#define CONFDB_SUDO_INVERSE_ORDER "sudo_inverse_order"
172#define CONFDB_DEFAULT_SUDO_INVERSE_ORDER false
173#define CONFDB_SUDO_THRESHOLD "sudo_threshold"
174#define CONFDB_DEFAULT_SUDO_THRESHOLD 50
177#define CONFDB_AUTOFS_CONF_ENTRY "config/autofs"
178#define CONFDB_AUTOFS_MAP_NEG_TIMEOUT "autofs_negative_timeout"
181#define CONFDB_SSH_CONF_ENTRY "config/ssh"
182#define CONFDB_SSH_HASH_KNOWN_HOSTS "ssh_hash_known_hosts"
183#define CONFDB_DEFAULT_SSH_HASH_KNOWN_HOSTS false
184#define CONFDB_SSH_KNOWN_HOSTS_TIMEOUT "ssh_known_hosts_timeout"
185#define CONFDB_DEFAULT_SSH_KNOWN_HOSTS_TIMEOUT 180
186#define CONFDB_SSH_CA_DB "ca_db"
187#define CONFDB_DEFAULT_SSH_CA_DB SYSCONFDIR"/sssd/pki/sssd_auth_ca_db.pem"
188#define CONFDB_SSH_USE_CERT_KEYS "ssh_use_certificate_keys"
189#define CONFDB_DEFAULT_SSH_USE_CERT_KEYS true
190#define CONFDB_SSH_USE_CERT_RULES "ssh_use_certificate_matching_rules"
193#define CONFDB_PAC_CONF_ENTRY "config/pac"
194#define CONFDB_PAC_LIFETIME "pac_lifetime"
195#define CONFDB_PAC_CHECK "pac_check"
196#define CONFDB_PAC_CHECK_DEFAULT "no_check"
197#define CONFDB_PAC_CHECK_IPA_AD_DEFAULT "check_upn, check_upn_allow_missing, check_upn_dns_info_ex"
200#define CONFDB_IFP_CONF_ENTRY "config/ifp"
201#define CONFDB_IFP_USER_ATTR_LIST "user_attributes"
202#define CONFDB_IFP_WILDCARD_LIMIT "wildcard_limit"
205#define CONFDB_SESSION_RECORDING_CONF_ENTRY "config/session_recording"
206#define CONFDB_SESSION_RECORDING_SCOPE "scope"
207#define CONFDB_SESSION_RECORDING_USERS "users"
208#define CONFDB_SESSION_RECORDING_GROUPS "groups"
209#define CONFDB_SESSION_RECORDING_EXCLUDE_USERS "exclude_users"
210#define CONFDB_SESSION_RECORDING_EXCLUDE_GROUPS "exclude_groups"
213#define CONFDB_DOMAIN_ENABLED "enabled"
214#define CONFDB_DOMAIN_PATH_TMPL "config/domain/%s"
215#define CONFDB_DOMAIN_BASEDN "cn=domain,cn=config"
216#define CONFDB_APP_DOMAIN_BASEDN "cn=application,cn=config"
217#define CONFDB_DOMAIN_ID_PROVIDER "id_provider"
218#define CONFDB_DOMAIN_AUTH_PROVIDER "auth_provider"
219#define CONFDB_DOMAIN_ACCESS_PROVIDER "access_provider"
220#define CONFDB_DOMAIN_CHPASS_PROVIDER "chpass_provider"
221#define CONFDB_DOMAIN_SUDO_PROVIDER "sudo_provider"
222#define CONFDB_DOMAIN_AUTOFS_PROVIDER "autofs_provider"
223#define CONFDB_DOMAIN_SELINUX_PROVIDER "selinux_provider"
224#define CONFDB_DOMAIN_HOSTID_PROVIDER "hostid_provider"
225#define CONFDB_DOMAIN_SUBDOMAINS_PROVIDER "subdomains_provider"
226#define CONFDB_DOMAIN_SESSION_PROVIDER "session_provider"
227#define CONFDB_DOMAIN_RESOLVER_PROVIDER "resolver_provider"
228#define CONFDB_DOMAIN_COMMAND "command"
229#define CONFDB_DOMAIN_TIMEOUT "timeout"
230#define CONFDB_DOMAIN_ATTR "cn"
231#define CONFDB_DOMAIN_ENUMERATE "enumerate"
232#define CONFDB_SUBDOMAIN_ENUMERATE "subdomain_enumerate"
233#define CONFDB_DEFAULT_SUBDOMAIN_ENUMERATE "none"
234#define CONFDB_DOMAIN_MINID "min_id"
235#define CONFDB_DOMAIN_MAXID "max_id"
236#define CONFDB_DOMAIN_CACHE_CREDS "cache_credentials"
237#define CONFDB_DOMAIN_CACHE_CREDS_MIN_FF_LENGTH \
238 "cache_credentials_minimal_first_factor_length"
239#define CONFDB_DEFAULT_CACHE_CREDS_MIN_FF_LENGTH 8
240#define CONFDB_DOMAIN_AUTO_UPG "auto_private_groups"
241#define CONFDB_DOMAIN_FQ "use_fully_qualified_names"
242#define CONFDB_DOMAIN_ENTRY_CACHE_TIMEOUT "entry_cache_timeout"
243#define CONFDB_DOMAIN_ACCOUNT_CACHE_EXPIRATION "account_cache_expiration"
244#define CONFDB_DOMAIN_OVERRIDE_GID "override_gid"
245#define CONFDB_DOMAIN_CASE_SENSITIVE "case_sensitive"
246#define CONFDB_DOMAIN_SUBDOMAIN_HOMEDIR "subdomain_homedir"
247#define CONFDB_DOMAIN_DEFAULT_SUBDOMAIN_HOMEDIR "/home/%d/%u"
248#define CONFDB_DOMAIN_IGNORE_GROUP_MEMBERS "ignore_group_members"
249#define CONFDB_DOMAIN_SUBDOMAIN_REFRESH "subdomain_refresh_interval"
250#define CONFDB_DOMAIN_SUBDOMAIN_REFRESH_DEFAULT_VALUE 14400
251#define CONFDB_DOMAIN_SUBDOMAIN_REFRESH_OFFSET "subdomain_refresh_interval_offset"
252#define CONFDB_DOMAIN_SUBDOMAIN_REFRESH_OFFSET_DEFAULT_VALUE 300
254#define CONFDB_DOMAIN_USER_CACHE_TIMEOUT "entry_cache_user_timeout"
255#define CONFDB_DOMAIN_GROUP_CACHE_TIMEOUT "entry_cache_group_timeout"
256#define CONFDB_DOMAIN_NETGROUP_CACHE_TIMEOUT "entry_cache_netgroup_timeout"
257#define CONFDB_DOMAIN_SERVICE_CACHE_TIMEOUT "entry_cache_service_timeout"
258#define CONFDB_DOMAIN_AUTOFS_CACHE_TIMEOUT "entry_cache_autofs_timeout"
259#define CONFDB_DOMAIN_SUDO_CACHE_TIMEOUT "entry_cache_sudo_timeout"
260#define CONFDB_DOMAIN_SSH_HOST_CACHE_TIMEOUT "entry_cache_ssh_host_timeout"
261#define CONFDB_DOMAIN_COMPUTER_CACHE_TIMEOUT "entry_cache_computer_timeout"
262#define CONFDB_DOMAIN_RESOLVER_CACHE_TIMEOUT "entry_cache_resolver_timeout"
263#define CONFDB_DOMAIN_PWD_EXPIRATION_WARNING "pwd_expiration_warning"
264#define CONFDB_DOMAIN_REFRESH_EXPIRED_INTERVAL "refresh_expired_interval"
265#define CONFDB_DOMAIN_REFRESH_EXPIRED_INTERVAL_OFFSET "refresh_expired_interval_offset"
266#define CONFDB_DOMAIN_OFFLINE_TIMEOUT "offline_timeout"
267#define CONFDB_DOMAIN_OFFLINE_TIMEOUT_MAX "offline_timeout_max"
268#define CONFDB_DOMAIN_OFFLINE_TIMEOUT_RANDOM_OFFSET "offline_timeout_random_offset"
269#define CONFDB_DOMAIN_SUBDOMAIN_INHERIT "subdomain_inherit"
270#define CONFDB_DOMAIN_CACHED_AUTH_TIMEOUT "cached_auth_timeout"
271#define CONFDB_DOMAIN_TYPE "domain_type"
272#define CONFDB_DOMAIN_TYPE_POSIX "posix"
273#define CONFDB_DOMAIN_TYPE_APP "application"
274#define CONFDB_DOMAIN_INHERIT_FROM "inherit_from"
275#define CONFDB_DOMAIN_LOCAL_AUTH_POLICY "local_auth_policy"
278#define CONFDB_PROXY_LIBNAME "proxy_lib_name"
279#define CONFDB_PROXY_RESOLVER_LIBNAME "proxy_resolver_lib_name"
280#define CONFDB_PROXY_PAM_TARGET "proxy_pam_target"
281#define CONFDB_PROXY_FAST_ALIAS "proxy_fast_alias"
282#define CONFDB_PROXY_MAX_CHILDREN "proxy_max_children"
284#ifdef BUILD_FILES_PROVIDER
286#define CONFDB_FILES_PASSWD "passwd_files"
287#define CONFDB_FILES_GROUP "group_files"
288#define CONFDB_DOMAIN_FALLBACK_TO_NSS "fallback_to_nss"
292#define CONFDB_KCM_CONF_ENTRY "config/kcm"
293#define CONFDB_KCM_SOCKET "socket_path"
294#define CONFDB_KCM_DB "ccache_storage"
295#define CONFDB_KCM_CONTAINERS_NEST_LEVEL "containers_nest_level"
296#define CONFDB_KCM_MAX_CCACHES "max_ccaches"
297#define CONFDB_KCM_MAX_UID_CCACHES "max_uid_ccaches"
298#define CONFDB_KCM_MAX_CCACHE_SIZE "max_ccache_size"
299#define CONFDB_KCM_TGT_RENEWAL "tgt_renewal"
300#define CONFDB_KCM_TGT_RENEWAL_INHERIT "tgt_renewal_inherit"
301#define CONFDB_KCM_KRB5_LIFETIME "krb5_lifetime"
302#define CONFDB_KCM_KRB5_RENEWABLE_LIFETIME "krb5_renewable_lifetime"
303#define CONFDB_KCM_KRB5_RENEW_INTERVAL "krb5_renew_interval"
304#define CONFDB_KCM_KRB5_VALIDATE "krb5_validate"
305#define CONFDB_KCM_KRB5_CANONICALIZE "krb5_canonicalize"
306#define CONFDB_KCM_KRB5_AUTH_TIMEOUT "krb5_auth_timeout"
309#define CONFDB_CERTMAP_BASEDN "cn=certmap,cn=config"
310#define CONFDB_CERTMAP_NAME "cn"
311#define CONFDB_CERTMAP_MAPRULE "maprule"
312#define CONFDB_CERTMAP_MATCHRULE "matchrule"
313#define CONFDB_CERTMAP_DOMAINS "domains"
314#define CONFDB_CERTMAP_PRIORITY "priority"
317#define CONFDB_PC_CONF_ENTRY "config/prompting"
318#define CONFDB_PC_TYPE_PASSWORD "password"
319#define CONFDB_PC_PASSWORD_PROMPT "password_prompt"
320#define CONFDB_PC_TYPE_2FA "2fa"
321#define CONFDB_PC_2FA_SINGLE_PROMPT "single_prompt"
322#define CONFDB_PC_2FA_1ST_PROMPT "first_prompt"
323#define CONFDB_PC_2FA_2ND_PROMPT "second_prompt"
324#define CONFDB_PC_TYPE_CERT_AUTH "cert_auth"
325#define CONFDB_PC_TYPE_PASSKEY "passkey"
326#define CONFDB_PC_PASSKEY_INTERACTIVE "interactive"
327#define CONFDB_PC_PASSKEY_INTERACTIVE_PROMPT "interactive_prompt"
328#define CONFDB_PC_PASSKEY_TOUCH "touch"
329#define CONFDB_PC_PASSKEY_TOUCH_PROMPT "touch_prompt"
364enum sss_domain_mpg_mode {
385 enum sss_domain_mpg_mode mpg_mode;
386 bool ignore_group_members;
391 bool cache_credentials;
392 uint32_t cache_credentials_min_ff_length;
397 const char *override_homedir;
398 const char *fallback_homedir;
399 const char *subdomain_homedir;
400 const char *homedir_substr;
401 const char *override_shell;
402 const char *default_shell;
404 uint32_t user_timeout;
405 uint32_t group_timeout;
406 uint32_t netgroup_timeout;
407 uint32_t service_timeout;
408 uint32_t autofsmap_timeout;
409 uint32_t sudo_timeout;
410 uint32_t ssh_host_timeout;
411 uint32_t computer_timeout;
412 uint32_t resolver_timeout;
414 uint32_t refresh_expired_interval;
415 uint32_t refresh_expired_interval_offset;
416 uint32_t subdomain_refresh_interval;
417 uint32_t subdomain_refresh_interval_offset;
418 uint32_t cached_auth_timeout;
420 int pwd_expiration_warning;
422 struct sysdb_ctx *sysdb;
423 struct sss_names_ctx *names;
431 uint32_t trust_direction;
432 struct timeval subdomains_last_checked;
435 const char *view_name;
441#ifdef BUILD_FILES_PROVIDER
442 bool fallback_to_nss;
451 const char **upn_suffixes;
453 struct certmap_info **certmaps;
461 const char *hostname;
464 const char *krb5_keytab;
467 char **gssapi_services;
468 char *gssapi_check_upn;
470 char **gssapi_indicators_map;
474 size_t not_found_counter;
490 struct confdb_ctx **cdb_ctx,
491 const char *confdb_location);
531 TALLOC_CTX *ctx,
char ***_result);
533int confdb_expand_app_domains(
struct confdb_ctx *cdb);
548 struct confdb_ctx *cdb,
580 const char *attribute,
581 const char **values);
605 const char *attribute,
631 const char *section,
const char *attribute,
632 const char *defstr,
char **result);
658 const char *section,
const char *attribute,
659 int defval,
int *result);
686 const char *section,
const char *attribute,
687 bool defval,
bool *result);
708 const char *attribute,
738 const char *section,
const char *attribute,
762 struct confdb_ctx *cdb,
780 bool certmaps_for_local_users);
int confdb_get_sub_sections(TALLOC_CTX *mem_ctx, struct confdb_ctx *cdb, const char *section, char ***sections, int *num_sections)
Convenience function to retrieve a list of subsections given a configuration section name.
int confdb_get_enabled_domain_list(struct confdb_ctx *cdb, TALLOC_CTX *ctx, char ***_result)
Retrieve the list of enabled domains considering the explicit list and the 'enabled' attribute.
int confdb_get_domain(struct confdb_ctx *cdb, const char *name, struct sss_domain_info **domain)
Get a domain object for the named domain.
int confdb_get_param(struct confdb_ctx *cdb, TALLOC_CTX *mem_ctx, const char *section, const char *attribute, char ***values)
Retrieve all values for an attribute.
int confdb_get_string(struct confdb_ctx *cdb, TALLOC_CTX *ctx, const char *section, const char *attribute, const char *defstr, char **result)
Convenience function to retrieve a single-valued attribute as a string.
int confdb_get_string_as_list(struct confdb_ctx *cdb, TALLOC_CTX *ctx, const char *section, const char *attribute, char ***result)
Convenience function to retrieve a single-valued attribute as a null-terminated array of strings.
int confdb_init(TALLOC_CTX *mem_ctx, struct confdb_ctx **cdb_ctx, const char *confdb_location)
Initialize the connection to the ConfDB.
int confdb_get_domains(struct confdb_ctx *cdb, struct sss_domain_info **domains)
Get a null-terminated linked-list of active domain objects.
int confdb_set_string(struct confdb_ctx *cdb, const char *section, const char *attribute, const char *val)
Convenience function to set a single-valued attribute as a string.
int confdb_certmap_to_sysdb(struct confdb_ctx *cdb, struct sss_domain_info *dom, bool certmaps_for_local_users)
Convenience function to write the certificate mapping and matching rules from the configuration datab...
int confdb_get_int(struct confdb_ctx *cdb, const char *section, const char *attribute, int defval, int *result)
Convenience function to retrieve a single-valued attribute as an integer.
sss_domain_type
Whether the domain only supports looking up POSIX entries.
Definition: confdb.h:355
int confdb_add_param(struct confdb_ctx *cdb, bool replace, const char *section, const char *attribute, const char **values)
Add an arbitrary parameter to the confdb.
int confdb_get_bool(struct confdb_ctx *cdb, const char *section, const char *attribute, bool defval, bool *result)
Convenience function to retrieve a single-valued attribute as a boolean.
sss_domain_state
sssd domain state
Definition: confdb.h:334
int confdb_list_all_domain_names(TALLOC_CTX *mem_ctx, struct confdb_ctx *cdb, char ***_names)
Get a null-terminated linked-list of all domain names.
@ DOM_TYPE_POSIX
This is the default domain type.
Definition: confdb.h:359
@ DOM_TYPE_APPLICATION
In this mode, entries are typically resolved only by name.
Definition: confdb.h:361
@ DOM_DISABLED
Domain was removed, should not be used be neither responders not providers.
Definition: confdb.h:342
@ DOM_ACTIVE
Domain is usable by both responders and providers.
Definition: confdb.h:338
@ DOM_INCONSISTENT
Domain is being updated.
Definition: confdb.h:351
@ DOM_INACTIVE
Domain cannot be contacted.
Definition: confdb.h:347
Data structure storing all of the basic features of a domain.
Definition: confdb.h:375