summaryrefslogtreecommitdiffstats
path: root/src/db/sysdb.h
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2015-07-24 09:55:28 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-07-27 22:59:17 +0200
commitea6cfe4e1d7c84370bfcc86251ea10b2658b52d3 (patch)
treeeafb81d6345982af8fa78c7ae98dd8fb8f994120 /src/db/sysdb.h
parent681fd36964b873135b2b8dd5200ddcfd1e420214 (diff)
downloadsssd-ea6cfe4e1d7c84370bfcc86251ea10b2658b52d3.tar.gz
sssd-ea6cfe4e1d7c84370bfcc86251ea10b2658b52d3.tar.xz
sssd-ea6cfe4e1d7c84370bfcc86251ea10b2658b52d3.zip
SYSDB: prepare for LOCAL view
Objects doesn't have to have overrideDN specified when using LOCAL view. Since the view is not stored on the server we do not want to contact LDAP therefore we special case LOCAL view saying that it is OK that this attribute is missing. Preparation for: https://fedorahosted.org/sssd/ticket/2584 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/db/sysdb.h')
-rw-r--r--src/db/sysdb.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/db/sysdb.h b/src/db/sysdb.h
index 0f745ccb1..9e28b5c66 100644
--- a/src/db/sysdb.h
+++ b/src/db/sysdb.h
@@ -157,9 +157,10 @@
#define SYSDB_AD_ACCOUNT_EXPIRES "adAccountExpires"
#define SYSDB_AD_USER_ACCOUNT_CONTROL "adUserAccountControl"
+#define SYSDB_DEFAULT_VIEW_NAME "default"
+#define SYSDB_LOCAL_VIEW_NAME "LOCAL" /* reserved for client-side overrides */
#define SYSDB_VIEW_CLASS "view"
#define SYSDB_VIEW_NAME "viewName"
-#define SYSDB_DEFAULT_VIEW_NAME "default"
#define SYSDB_OVERRIDE_CLASS "overrride"
#define SYSDB_OVERRIDE_ANCHOR_UUID "overrideAnchorUUID"
#define SYSDB_OVERRIDE_USER_CLASS "userOverride"
@@ -473,6 +474,17 @@ static inline bool is_default_view(const char *view_name)
}
}
+static inline bool is_local_view(const char *view_name)
+{
+ /* NULL is treated as default */
+ if (view_name != NULL
+ && strcmp(view_name, SYSDB_LOCAL_VIEW_NAME) == 0) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
errno_t sysdb_delete_view_tree(struct sysdb_ctx *sysdb, const char *view_name);
errno_t sysdb_invalidate_overrides(struct sysdb_ctx *sysdb);