summaryrefslogtreecommitdiffstats
path: root/server/db/sysdb.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/db/sysdb.h')
-rw-r--r--server/db/sysdb.h87
1 files changed, 51 insertions, 36 deletions
diff --git a/server/db/sysdb.h b/server/db/sysdb.h
index 7b2857219..e0dd33496 100644
--- a/server/db/sysdb.h
+++ b/server/db/sysdb.h
@@ -29,6 +29,7 @@
#define SYSDB_FILE "sssd.ldb"
#define SYSDB_BASE "cn=sysdb"
+#define SYSDB_DOM_BASE "cn=%s,cn=sysdb"
#define SYSDB_TMPL_USER_BASE "cn=users,cn=%s,"SYSDB_BASE
#define SYSDB_TMPL_GROUP_BASE "cn=groups,cn=%s,"SYSDB_BASE
@@ -36,13 +37,15 @@
#define SYSDB_PWUID_FILTER "(&(objectclass=user)(uidNumber=%lu))"
#define SYSDB_PWENT_FILTER "(objectclass=user)"
-#define SYSDB_GRNAM_FILTER "(&(objectclass=group)(cn=%s))"
+#define SYSDB_GRNAM_FILTER "(&(objectclass=group)(gid=%s))"
#define SYSDB_GRNA2_FILTER "(&(objectclass=user)(memberof=%s))"
#define SYSDB_GRGID_FILTER "(&(objectclass=group)(gidNumber=%lu))"
#define SYSDB_GRENT_FILTER "(objectclass=group)"
#define SYSDB_INITGR_FILTER "(&(objectclass=group)(gidNumber=*))"
+#define SYSDB_INITGR_LEGACY_FILTER "(&(objectclass=group)(memberUid=%s))"
+
#define SYSDB_PW_NAME "uid"
#define SYSDB_PW_PWD "userPassword"
#define SYSDB_PW_UIDNUM "uidNumber"
@@ -52,9 +55,10 @@
#define SYSDB_PW_SHELL "loginShell"
#define SYSDB_PW_MEMBEROF "memberOf"
-#define SYSDB_GR_NAME "cn"
+#define SYSDB_GR_NAME "gid"
#define SYSDB_GR_GIDNUM "gidNumber"
#define SYSDB_GR_MEMBER "member"
+#define SYSDB_LEGACY_MEMBER "memberUid"
#define SYSDB_LAST_UPDATE "lastUpdate"
@@ -64,7 +68,7 @@
SYSDB_LAST_UPDATE, \
NULL}
#define SYSDB_GRNAM_ATTRS {SYSDB_GR_NAME, SYSDB_GR_GIDNUM, \
- SYSDB_LAST_UPDATE, \
+ SYSDB_LAST_UPDATE, SYSDB_LEGACY_MEMBER, \
NULL}
#define SYSDB_GRPW_ATTRS {SYSDB_PW_NAME, SYSDB_LAST_UPDATE, \
NULL}
@@ -93,6 +97,7 @@ int sysdb_getpwnam(TALLOC_CTX *mem_ctx,
struct sysdb_ctx *ctx,
const char *domain,
const char *name,
+ bool legacy,
sysdb_callback_t fn, void *ptr);
int sysdb_getpwuid(TALLOC_CTX *mem_ctx,
@@ -100,11 +105,14 @@ int sysdb_getpwuid(TALLOC_CTX *mem_ctx,
struct sysdb_ctx *ctx,
const char *domain,
uid_t uid,
+ bool legacy,
sysdb_callback_t fn, void *ptr);
int sysdb_enumpwent(TALLOC_CTX *mem_ctx,
struct event_context *ev,
struct sysdb_ctx *ctx,
+ const char *domain,
+ bool legacy,
sysdb_callback_t fn, void *ptr);
int sysdb_getgrnam(TALLOC_CTX *mem_ctx,
@@ -112,6 +120,7 @@ int sysdb_getgrnam(TALLOC_CTX *mem_ctx,
struct sysdb_ctx *ctx,
const char *domain,
const char *name,
+ bool legacy,
sysdb_callback_t fn, void *ptr);
int sysdb_getgrgid(TALLOC_CTX *mem_ctx,
@@ -119,11 +128,14 @@ int sysdb_getgrgid(TALLOC_CTX *mem_ctx,
struct sysdb_ctx *ctx,
const char *domain,
gid_t gid,
+ bool legacy,
sysdb_callback_t fn, void *ptr);
int sysdb_enumgrent(TALLOC_CTX *mem_ctx,
struct event_context *ev,
struct sysdb_ctx *ctx,
+ const char *domain,
+ bool legacy,
sysdb_callback_t fn, void *ptr);
int sysdb_initgroups(TALLOC_CTX *mem_ctx,
@@ -131,6 +143,7 @@ int sysdb_initgroups(TALLOC_CTX *mem_ctx,
struct sysdb_ctx *ctx,
const char *domain,
const char *name,
+ bool legacy,
sysdb_callback_t fn, void *ptr);
@@ -147,45 +160,47 @@ int sysdb_remove_group_member(TALLOC_CTX *mem_ctx,
struct ldb_dn *member_dn,
struct ldb_dn *group_dn);
-int sysdb_posix_store_user(TALLOC_CTX *memctx,
- struct sysdb_ctx *sysdb,
- const char *domain,
- const char *name, const char *pwd,
- uid_t uid, gid_t gid, const char *gecos,
- const char *homedir, const char *shell);
+int sysdb_delete_user(TALLOC_CTX *memctx,
+ struct sysdb_ctx *sysdb,
+ const char *domain, const char *name);
+
+int sysdb_delete_user_by_uid(TALLOC_CTX *memctx,
+ struct sysdb_ctx *sysdb,
+ const char *domain, uid_t uid);
-int sysdb_posix_remove_user(TALLOC_CTX *memctx,
+int sysdb_add_user_to_group(TALLOC_CTX *mem_ctx,
struct sysdb_ctx *sysdb,
- const char *domain, const char *name);
+ const char *domain,
+ const char *group,
+ const char *username);
+
+int sysdb_remove_user_from_group(TALLOC_CTX *mem_ctx,
+ struct sysdb_ctx *sysdb,
+ const char *domain,
+ const char *group,
+ const char *username);
-int sysdb_posix_remove_user_by_uid(TALLOC_CTX *memctx,
- struct sysdb_ctx *sysdb,
- const char *domain, uid_t uid);
+int sysdb_delete_group(TALLOC_CTX *memctx,
+ struct sysdb_ctx *sysdb,
+ const char *domain, const char *name);
-int sysdb_posix_store_group(TALLOC_CTX *memctx,
+int sysdb_delete_group_by_gid(TALLOC_CTX *memctx,
+ struct sysdb_ctx *sysdb,
+ const char *domain, gid_t gid);
+
+/* legacy synchronous functions for proxy providers */
+
+int sysdb_legacy_store_user(TALLOC_CTX *memctx,
struct sysdb_ctx *sysdb,
const char *domain,
- const char *name, gid_t gid,
- char **members);
-
-int sysdb_posix_add_user_to_group(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
- const char *domain,
- const char *group,
- const char *username);
-
-int sysdb_posix_remove_user_from_group(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
- const char *domain,
- const char *group,
- const char *username);
-
-int sysdb_posix_remove_group(TALLOC_CTX *memctx,
- struct sysdb_ctx *sysdb,
- const char *domain, const char *name);
+ const char *name, const char *pwd,
+ uid_t uid, gid_t gid, const char *gecos,
+ const char *homedir, const char *shell);
-int sysdb_posix_remove_group_by_gid(TALLOC_CTX *memctx,
- struct sysdb_ctx *sysdb,
- const char *domain, gid_t gid);
+int sysdb_legacy_store_group(TALLOC_CTX *memctx,
+ struct sysdb_ctx *sysdb,
+ const char *domain,
+ const char *name, gid_t gid,
+ char **members);
#endif /* __SYS_DB_H__ */