diff options
author | Simo Sorce <simo@redhat.com> | 2013-01-08 13:45:55 -0500 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-01-15 10:53:03 +0100 |
commit | c14184c07634801cda7864aa17c6fa8dc9ab43d1 (patch) | |
tree | 2dfce6637085a2c5975eb610cfd1c724c424b293 /src/db | |
parent | 46675b5033169e1e954cd570413ce85b2c5e11fc (diff) | |
download | sssd-c14184c07634801cda7864aa17c6fa8dc9ab43d1.tar.gz sssd-c14184c07634801cda7864aa17c6fa8dc9ab43d1.tar.bz2 sssd-c14184c07634801cda7864aa17c6fa8dc9ab43d1.zip |
Move mpg flag to the domain where it belongs
A sysdb contains now multiple domains, but the mpg property is a
property of a specific domain not of the underlying database.
Diffstat (limited to 'src/db')
-rw-r--r-- | src/db/sysdb.c | 6 | ||||
-rw-r--r-- | src/db/sysdb_ops.c | 10 | ||||
-rw-r--r-- | src/db/sysdb_private.h | 1 | ||||
-rw-r--r-- | src/db/sysdb_search.c | 6 | ||||
-rw-r--r-- | src/db/sysdb_subdomains.c | 1 |
5 files changed, 8 insertions, 16 deletions
diff --git a/src/db/sysdb.c b/src/db/sysdb.c index 62c33f23..a35664d1 100644 --- a/src/db/sysdb.c +++ b/src/db/sysdb.c @@ -972,12 +972,6 @@ int sysdb_domain_init_internal(TALLOC_CTX *mem_ctx, } sysdb->domain = domain; - /* The local provider s the only true MPG, - * for the other domains, the provider actually unrolls MPGs */ - if (strcasecmp(domain->provider, "local") == 0) { - sysdb->mpg = true; - } - ret = sysdb_get_db_file(sysdb, domain->provider, domain->name, db_path, &sysdb->ldb_file); diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c index 5e6f6fb0..46ab64d3 100644 --- a/src/db/sysdb_ops.c +++ b/src/db/sysdb_ops.c @@ -1086,7 +1086,7 @@ int sysdb_add_user(struct sysdb_ctx *sysdb, uint32_t id; int ret; - if (sysdb->mpg) { + if (domain->mpg) { if (gid != 0) { DEBUG(0, ("Cannot add user with arbitrary GID in MPG domain!\n")); return EINVAL; @@ -1120,7 +1120,7 @@ int sysdb_add_user(struct sysdb_ctx *sysdb, return ret; } - if (sysdb->mpg) { + if (domain->mpg) { /* In MPG domains you can't have groups with the same name as users, * search if a group with the same name exists. * Don't worry about users, if we try to add a user with the same @@ -1161,7 +1161,7 @@ int sysdb_add_user(struct sysdb_ctx *sysdb, ret = sysdb_attrs_add_uint32(id_attrs, SYSDB_UIDNUM, id); if (ret) goto done; - if (sysdb->mpg) { + if (domain->mpg) { ret = sysdb_attrs_add_uint32(id_attrs, SYSDB_GIDNUM, id); if (ret) goto done; } @@ -1300,7 +1300,7 @@ int sysdb_add_group(struct sysdb_ctx *sysdb, return ret; } - if (sysdb->mpg) { + if (domain->mpg) { /* In MPG domains you can't have groups with the same name as users, * search if a group with the same name exists. * Don't worry about users, if we try to add a user with the same @@ -1710,7 +1710,7 @@ int sysdb_store_user(struct sysdb_ctx *sysdb, if (ret) goto fail; } - if (uid && !gid && sysdb->mpg) { + if (uid && !gid && domain->mpg) { ret = sysdb_attrs_add_uint32(attrs, SYSDB_GIDNUM, uid); if (ret) goto fail; } diff --git a/src/db/sysdb_private.h b/src/db/sysdb_private.h index 4eea0904..5a900f17 100644 --- a/src/db/sysdb_private.h +++ b/src/db/sysdb_private.h @@ -84,7 +84,6 @@ struct sysdb_ctx { struct sss_domain_info *domain; /* *DEPRECATED*, do not use! */ - bool mpg; struct ldb_context *ldb; char *ldb_file; diff --git a/src/db/sysdb_search.c b/src/db/sysdb_search.c index 0bc813a6..8ff29c37 100644 --- a/src/db/sysdb_search.c +++ b/src/db/sysdb_search.c @@ -227,7 +227,7 @@ int sysdb_getgrnam(TALLOC_CTX *mem_ctx, return ENOMEM; } - if (sysdb->mpg) { + if (domain->mpg) { fmt_filter = SYSDB_GRNAM_MPG_FILTER; base_dn = ldb_dn_new_fmt(tmp_ctx, sysdb->ldb, SYSDB_DOM_BASE, domain->name); @@ -299,7 +299,7 @@ int sysdb_getgrgid(TALLOC_CTX *mem_ctx, return ENOMEM; } - if (sysdb->mpg) { + if (domain->mpg) { fmt_filter = SYSDB_GRGID_MPG_FILTER; base_dn = ldb_dn_new_fmt(tmp_ctx, sysdb->ldb, SYSDB_DOM_BASE, domain->name); @@ -349,7 +349,7 @@ int sysdb_enumgrent(TALLOC_CTX *mem_ctx, return ENOMEM; } - if (sysdb->mpg) { + if (domain->mpg) { fmt_filter = SYSDB_GRENT_MPG_FILTER; base_dn = ldb_dn_new_fmt(tmp_ctx, sysdb->ldb, SYSDB_DOM_BASE, domain->name); diff --git a/src/db/sysdb_subdomains.c b/src/db/sysdb_subdomains.c index 6a3f9ee6..2d8470d5 100644 --- a/src/db/sysdb_subdomains.c +++ b/src/db/sysdb_subdomains.c @@ -561,7 +561,6 @@ errno_t sysdb_get_subdomain_context(TALLOC_CTX *mem_ctx, } new_ctx->domain = subdomain; - new_ctx->mpg = true; new_ctx->ldb = sysdb->ldb; new_ctx->ldb_file = sysdb->ldb_file; |