From d804be699cfbd94cd97fb41f324e9d44fe2f09b6 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Sat, 16 Dec 2006 01:26:40 +0000 Subject: [PATCH] Complain if syncprov is instantiated outside of a database definition --- servers/slapd/overlays/syncprov.c | 7 +++++++ servers/slapd/slap.h | 1 + 2 files changed, 8 insertions(+) diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index a466f52022..da42520093 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -2474,6 +2474,13 @@ syncprov_db_init( slap_overinst *on = (slap_overinst *)be->bd_info; syncprov_info_t *si; + if ( SLAP_ISGLOBALOVERLAY( be ) ) { + Debug( LDAP_DEBUG_ANY, + "syncprov must be instantiated within a database.\n", + 0, 0, 0 ); + return 1; + } + si = ch_calloc(1, sizeof(syncprov_info_t)); on->on_bi.bi_private = si; ldap_pvt_thread_mutex_init( &si->si_csn_mutex ); diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index a19420c5a2..0c7ae1d410 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -1746,6 +1746,7 @@ struct slap_backend_db { #define SLAP_NOLASTMOD(be) (SLAP_DBFLAGS(be) & SLAP_DBFLAG_NOLASTMOD) #define SLAP_LASTMOD(be) (!SLAP_NOLASTMOD(be)) #define SLAP_ISOVERLAY(be) (SLAP_DBFLAGS(be) & SLAP_DBFLAG_OVERLAY) +#define SLAP_ISGLOBALOVERLAY(be) (SLAP_DBFLAGS(be) & SLAP_DBFLAG_GLOBAL_OVERLAY) #define SLAP_NO_SCHEMA_CHECK(be) \ (SLAP_DBFLAGS(be) & SLAP_DBFLAG_NO_SCHEMA_CHECK) #define SLAP_GLUE_INSTANCE(be) \ -- 2.47.2