summaryrefslogtreecommitdiffstats
path: root/src/confdb
diff options
context:
space:
mode:
Diffstat (limited to 'src/confdb')
-rw-r--r--src/confdb/confdb.c16
-rw-r--r--src/confdb/confdb.h8
2 files changed, 23 insertions, 1 deletions
diff --git a/src/confdb/confdb.c b/src/confdb/confdb.c
index 4975a4276..87d33f9bd 100644
--- a/src/confdb/confdb.c
+++ b/src/confdb/confdb.c
@@ -842,9 +842,23 @@ static int confdb_get_domain_internal(struct confdb_ctx *cdb,
goto done;
}
+ ret = get_entry_as_uint32(res->msgs[0], &domain->override_gid,
+ CONFDB_DOMAIN_OVERRIDE_GID, 0);
+ if (ret != EOK) {
+ DEBUG(0, ("Invalid value for [%s]\n", CONFDB_DOMAIN_OVERRIDE_GID));
+ goto done;
+ }
+
+ tmp = ldb_msg_find_attr_as_string(res->msgs[0],
+ CONFDB_NSS_OVERRIDE_HOMEDIR, NULL);
+ domain->override_homedir = talloc_strdup(domain, tmp);
+ if (!domain->name) {
+ ret = ENOMEM;
+ goto done;
+ }
+
*_domain = domain;
ret = EOK;
-
done:
talloc_free(tmp_ctx);
return ret;
diff --git a/src/confdb/confdb.h b/src/confdb/confdb.h
index 7173c9fc8..c2ae9fcb7 100644
--- a/src/confdb/confdb.h
+++ b/src/confdb/confdb.h
@@ -41,6 +41,7 @@
#define CONFDB_DEFAULT_CONFIG_FILE SSSD_CONF_DIR"/sssd.conf"
#define SSSD_MIN_ID 1
#define SSSD_LOCAL_MINID 1000
+#define CONFDB_DEFAULT_SHELL_FALLBACK "/bin/sh"
/* Configuration options */
@@ -72,6 +73,9 @@
#define CONFDB_NSS_FILTER_USERS "filter_users"
#define CONFDB_NSS_FILTER_GROUPS "filter_groups"
#define CONFDB_NSS_PWFIELD "pwfield"
+#define CONFDB_NSS_OVERRIDE_HOMEDIR "override_homedir"
+#define CONFDB_NSS_ALLOWED_SHELL "allowed_shells"
+#define CONFDB_NSS_SHELL_FALLBACK "shell_fallback"
/* PAM */
#define CONFDB_PAM_CONF_ENTRY "config/pam"
@@ -109,6 +113,7 @@
#define CONFDB_DOMAIN_DNS_DISCOVERY_NAME "dns_discovery_domain"
#define CONFDB_DOMAIN_FAMILY_ORDER "lookup_family_order"
#define CONFDB_DOMAIN_ACCOUNT_CACHE_EXPIRATION "account_cache_expiration"
+#define CONFDB_DOMAIN_OVERRIDE_GID "override_gid"
/* Local Provider */
#define CONFDB_LOCAL_DEFAULT_SHELL "default_shell"
@@ -143,6 +148,9 @@ struct sss_domain_info {
bool cache_credentials;
bool legacy_passwords;
+ gid_t override_gid;
+ const char *override_homedir;
+
uint32_t entry_cache_timeout;
struct sss_domain_info *next;