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.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/server/db/sysdb.h b/server/db/sysdb.h
index 01df3c0c2..498ad09bf 100644
--- a/server/db/sysdb.h
+++ b/server/db/sysdb.h
@@ -23,6 +23,7 @@
#define __SYS_DB_H__
#include "ldb.h"
+#include "confdb/confdb.h"
#define SYSDB_CONF_SECTION "config/sysdb"
#define SYSDB_FILE "sssd.ldb"
@@ -50,6 +51,17 @@
#define SYSDB_GR_MEMBER "member"
#define SYSDB_LEGACY_MEMBER "memberUid"
+#define SYSDB_USER_ATTR_DEFAULTGROUP "defaultGroup"
+#define SYSDB_USER_ATTR_GECOS "gecos"
+#define SYSDB_USER_ATTR_HOMEDIR "homeDirectory"
+#define SYSDB_USER_ATTR_SHELL "shell"
+#define SYSDB_USER_ATTR_FULLNAME "fullName"
+#define SYSDB_USER_ATTR_LOCALE "locale"
+#define SYSDB_USER_ATTR_KEYBOARD "keyboard"
+#define SYSDB_USER_ATTR_SESSION "session"
+#define SYSDB_USER_ATTR_LAST_LOGIN "lastLogin"
+#define SYSDB_USER_ATTR_USERPIC "userPicture"
+
#define SYSDB_LAST_UPDATE "lastUpdate"
#define SYSDB_PWNAM_FILTER "(&(objectclass="SYSDB_USER_CLASS")("SYSDB_PW_NAME"=%s))"
@@ -70,6 +82,18 @@
SYSDB_PW_HOMEDIR, SYSDB_PW_SHELL, \
SYSDB_LAST_UPDATE, \
NULL}
+#define SYSDB_USER_ATTRS {SYSDB_USER_ATTR_DEFAULTGROUP, \
+ SYSDB_USER_ATTR_GECOS, \
+ SYSDB_USER_ATTR_HOMEDIR, \
+ SYSDB_USER_ATTR_SHELL, \
+ SYSDB_USER_ATTR_FULLNAME, \
+ SYSDB_USER_ATTR_LOCALE, \
+ SYSDB_USER_ATTR_KEYBOARD, \
+ SYSDB_USER_ATTR_SESSION, \
+ SYSDB_USER_ATTR_LAST_LOGIN, \
+ SYSDB_USER_ATTR_USERPIC, \
+ SYSDB_LAST_UPDATE, \
+ NULL}
#define SYSDB_GRNAM_ATTRS {SYSDB_GR_NAME, SYSDB_GR_GIDNUM, \
SYSDB_LAST_UPDATE, SYSDB_LEGACY_MEMBER, \
NULL}
@@ -142,10 +166,17 @@ int sysdb_initgroups(TALLOC_CTX *mem_ctx,
const char *name,
bool legacy,
sysdb_callback_t fn, void *ptr);
+int sysdb_get_user_attr(TALLOC_CTX *mem_ctx,
+ struct sysdb_ctx *ctx,
+ struct sss_domain_info *domain,
+ const char *name,
+ const char **attributes,
+ sysdb_callback_t fn, void *ptr);
struct ldb_context *sysdb_ctx_get_ldb(struct sysdb_ctx *ctx);
struct sysdb_ctx *sysdb_req_get_ctx(struct sysdb_req *req);
+
int sysdb_transaction(TALLOC_CTX *mem_ctx,
struct sysdb_ctx *ctx,
sysdb_req_fn_t fn, void *pvt);