summaryrefslogtreecommitdiffstats
path: root/src/db
diff options
context:
space:
mode:
Diffstat (limited to 'src/db')
-rw-r--r--src/db/sysdb_autofs.c25
-rw-r--r--src/db/sysdb_autofs.h11
2 files changed, 29 insertions, 7 deletions
diff --git a/src/db/sysdb_autofs.c b/src/db/sysdb_autofs.c
index 57380cfdc..f5aad259a 100644
--- a/src/db/sysdb_autofs.c
+++ b/src/db/sysdb_autofs.c
@@ -77,6 +77,25 @@ done:
return dn;
}
+char *
+sysdb_autofsentry_strdn(TALLOC_CTX *mem_ctx,
+ struct sysdb_ctx *sysdb,
+ const char *map_name,
+ const char *entry_name,
+ const char *entry_value)
+{
+ struct ldb_dn *dn;
+ char *strdn;
+
+ dn = sysdb_autofsentry_dn(mem_ctx, sysdb,
+ map_name, entry_name, entry_value);
+ if (!dn) return NULL;
+
+ strdn = talloc_strdup(mem_ctx, ldb_dn_get_linearized(dn));
+ talloc_free(dn);
+ return strdn;
+}
+
errno_t
sysdb_save_autofsmap(struct sysdb_ctx *sysdb_ctx,
const char *name,
@@ -314,14 +333,12 @@ done:
errno_t
sysdb_del_autofsentry(struct sysdb_ctx *sysdb_ctx,
- const char *map,
- const char *key,
- const char *value)
+ const char *entry_dn)
{
struct ldb_dn *dn;
errno_t ret;
- dn = sysdb_autofsentry_dn(sysdb_ctx, sysdb_ctx, map, key, value);
+ dn = ldb_dn_new(NULL, sysdb_ctx_get_ldb(sysdb_ctx), entry_dn);
if (!dn) {
return ENOMEM;
}
diff --git a/src/db/sysdb_autofs.h b/src/db/sysdb_autofs.h
index 8c8d0f560..0e54f9dc1 100644
--- a/src/db/sysdb_autofs.h
+++ b/src/db/sysdb_autofs.h
@@ -61,9 +61,7 @@ sysdb_save_autofsentry(struct sysdb_ctx *sysdb_ctx,
struct sysdb_attrs *attrs);
errno_t
sysdb_del_autofsentry(struct sysdb_ctx *sysdb_ctx,
- const char *map,
- const char *key,
- const char *value);
+ const char *entry_dn);
errno_t
sysdb_autofs_entries_by_map(TALLOC_CTX *mem_ctx,
@@ -81,4 +79,11 @@ sysdb_set_autofsmap_attr(struct sysdb_ctx *sysdb,
errno_t
sysdb_invalidate_autofs_maps(struct sysdb_ctx *sysdb);
+char *
+sysdb_autofsentry_strdn(TALLOC_CTX *mem_ctx,
+ struct sysdb_ctx *sysdb,
+ const char *map_name,
+ const char *entry_name,
+ const char *entry_value);
+
#endif /* _SYSDB_AUTOFS_H_ */