diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2012-01-28 10:34:02 -0500 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2012-01-31 09:37:40 -0500 |
commit | e299638926171e0e92a36122aeff6611cd52418d (patch) | |
tree | e091b058ba862bc80ad5e6b8bbfb86955a796f15 /src/db/sysdb_ops.c | |
parent | f660877b38e563c4aa0cb1431624069808873fec (diff) | |
download | sssd-e299638926171e0e92a36122aeff6611cd52418d.tar.gz sssd-e299638926171e0e92a36122aeff6611cd52418d.tar.xz sssd-e299638926171e0e92a36122aeff6611cd52418d.zip |
SYSDB: extend sysdb_store_service() to accept additional attributes
Diffstat (limited to 'src/db/sysdb_ops.c')
-rw-r--r-- | src/db/sysdb_ops.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c index 4c4bc5ce7..6573dcf9d 100644 --- a/src/db/sysdb_ops.c +++ b/src/db/sysdb_ops.c @@ -21,6 +21,7 @@ #include "util/util.h" #include "db/sysdb_private.h" +#include "db/sysdb_services.h" #include "util/crypto/sss_crypto.h" #include <time.h> @@ -2949,20 +2950,21 @@ errno_t sysdb_remove_attrs(struct sysdb_ctx *sysdb, msg = ldb_msg_new(NULL); if (!msg) return ENOMEM; - if (type == SYSDB_MEMBER_USER) { + switch(type) { + case SYSDB_MEMBER_USER: msg->dn = sysdb_user_dn(sysdb, msg, sysdb->domain->name, name); - if (!msg->dn) { - ret = ENOMEM; - goto done; - } - } else if (type == SYSDB_MEMBER_GROUP) { + break; + + case SYSDB_MEMBER_GROUP: msg->dn = sysdb_group_dn(sysdb, msg, sysdb->domain->name, name); - if (!msg->dn) { - ret = ENOMEM; - goto done; - } - } else { - ret = EINVAL; + break; + + case SYSDB_MEMBER_SERVICE: + msg->dn = sysdb_svc_dn(sysdb, msg, sysdb->domain->name, name); + break; + } + if (!msg->dn) { + ret = ENOMEM; goto done; } |