diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-11-01 22:28:59 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-11-01 13:05:04 +0000 |
commit | 8366bb495abefe5cc1d0cb120530a1933d942fbf (patch) | |
tree | 0042a7bbd12b14103faca5c4306c634733de5554 /source4 | |
parent | 1ccb69aabb9057d272fc584d648a4ed9ffc0f3b7 (diff) | |
download | samba-8366bb495abefe5cc1d0cb120530a1933d942fbf.tar.gz samba-8366bb495abefe5cc1d0cb120530a1933d942fbf.tar.bz2 samba-8366bb495abefe5cc1d0cb120530a1933d942fbf.zip |
s4-ldb: added support for ldb module version checking
Diffstat (limited to 'source4')
-rw-r--r-- | source4/lib/ldb/include/ldb_module.h | 7 | ||||
-rw-r--r-- | source4/lib/ldb/wscript | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/source4/lib/ldb/include/ldb_module.h b/source4/lib/ldb/include/ldb_module.h index 800bf72e44..fbea70770d 100644 --- a/source4/lib/ldb/include/ldb_module.h +++ b/source4/lib/ldb/include/ldb_module.h @@ -252,4 +252,11 @@ int ldb_register_hook(ldb_hook_fn hook_fn); */ int ldb_modules_hook(struct ldb_context *ldb, enum ldb_module_hook_type t); +#define LDB_MODULE_CHECK_VERSION(version) do { \ + if (strcmp(version, LDB_VERSION) != 0) { \ + fprintf(stderr, "ldb: module version mismatch in %s : ldb_version=%s module_version=%s\n", \ + __FILE__, version, LDB_VERSION); \ + return LDB_ERR_UNAVAILABLE; \ + }} while (0) + #endif diff --git a/source4/lib/ldb/wscript b/source4/lib/ldb/wscript index 3204ba8e32..4ed7298434 100644 --- a/source4/lib/ldb/wscript +++ b/source4/lib/ldb/wscript @@ -56,6 +56,8 @@ def configure(conf): if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'): conf.env.ENABLE_LDAP_BACKEND = True + conf.DEFINE('LDB_VERSION', VERSION, quote=True) + conf.DEFINE('HAVE_CONFIG_H', 1, add_to_cflags=True) # we don't want any libraries or modules to rely on runtime @@ -124,7 +126,7 @@ def build(bld): vnum=VERSION, manpages='man/ldb.3', abi_file = abi_file, - abi_match = abi_match) + abi_match = abi_match) bld.SAMBA_PYTHON('pyldb', 'pyldb.c', @@ -204,7 +206,7 @@ def build(bld): 'common/ldb.c', deps='tevent', includes='include', - cflags='-DLDB_MODULESDIR=\"%s\" -DLDB_VERSION=\"%s\"' % (modules_dir, VERSION)) + cflags='-DLDB_MODULESDIR=\"%s\"' % modules_dir) bld.SAMBA_LIBRARY('ldb-cmdline', source='tools/ldbutil.c tools/cmdline.c', |