diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2010-07-23 16:25:04 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-07-30 15:57:57 -0400 |
commit | 766e61cb433aa96e832226e30d5ec9a84304f707 (patch) | |
tree | 6abbe2319f8bd3f8b6a4dcac366e06747535f635 /src/db | |
parent | d925dce2d1c2b3038440e6181aa8217534bd8850 (diff) | |
download | sssd-766e61cb433aa96e832226e30d5ec9a84304f707.tar.gz sssd-766e61cb433aa96e832226e30d5ec9a84304f707.tar.xz sssd-766e61cb433aa96e832226e30d5ec9a84304f707.zip |
Add sysdb_group_dn_name utility function
Diffstat (limited to 'src/db')
-rw-r--r-- | src/db/sysdb.c | 22 | ||||
-rw-r--r-- | src/db/sysdb.h | 2 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/db/sysdb.c b/src/db/sysdb.c index ebdaa0910..f6996c431 100644 --- a/src/db/sysdb.c +++ b/src/db/sysdb.c @@ -52,6 +52,28 @@ struct ldb_dn *sysdb_group_dn(struct sysdb_ctx *ctx, void *memctx, return ldb_dn_new_fmt(memctx, ctx->ldb, SYSDB_TMPL_GROUP, name, domain); } +errno_t sysdb_group_dn_name(struct sysdb_ctx *ctx, void *memctx, + const char *_dn, char **_name) +{ + struct ldb_dn *dn; + *_name = NULL; + + dn = ldb_dn_new_fmt(memctx, ctx->ldb, "%s", _dn); + if (dn == NULL) { + return ENOMEM; + } + + *_name = talloc_strdup(memctx, ldb_dn_get_rdn_name(dn)); + if (!_name) { + talloc_zfree(dn); + return ENOMEM; + } + + talloc_zfree(dn); + + return EOK; +} + struct ldb_dn *sysdb_domain_dn(struct sysdb_ctx *ctx, void *memctx, const char *domain) { diff --git a/src/db/sysdb.h b/src/db/sysdb.h index fee8e34a2..2de2a6485 100644 --- a/src/db/sysdb.h +++ b/src/db/sysdb.h @@ -200,6 +200,8 @@ struct ldb_dn *sysdb_user_dn(struct sysdb_ctx *ctx, void *memctx, const char *domain, const char *name); struct ldb_dn *sysdb_group_dn(struct sysdb_ctx *ctx, void *memctx, const char *domain, const char *name); +errno_t sysdb_group_dn_name(struct sysdb_ctx *ctx, void *memctx, + const char *dn_str, char **name); struct ldb_dn *sysdb_domain_dn(struct sysdb_ctx *ctx, void *memctx, const char *domain); struct ldb_dn *sysdb_custom_dn(struct sysdb_ctx *ctx, void *memctx, |