summaryrefslogtreecommitdiffstats
path: root/src/db/sysdb_ops.c
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2012-01-28 10:34:02 -0500
committerStephen Gallagher <sgallagh@redhat.com>2012-01-31 09:37:40 -0500
commite299638926171e0e92a36122aeff6611cd52418d (patch)
treee091b058ba862bc80ad5e6b8bbfb86955a796f15 /src/db/sysdb_ops.c
parentf660877b38e563c4aa0cb1431624069808873fec (diff)
downloadsssd_unused-e299638926171e0e92a36122aeff6611cd52418d.tar.gz
sssd_unused-e299638926171e0e92a36122aeff6611cd52418d.tar.xz
sssd_unused-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.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index 4c4bc5ce..6573dcf9 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;
}