[SCM] Samba Shared Repository - branch master updated
Andrew Tridgell
tridge at samba.org
Mon Nov 1 07:48:01 MDT 2010
The branch, master has been updated
via 9b0f8a8 s4-ldb: use ldb_set_modules_dir() to load additional ldb modules
via 9103047 s4-ldb: enable version checking in dsdb ldb modules
via a386ca8 s4-ldb: enable ldb module version checking
via 8366bb4 s4-ldb: added support for ldb module version checking
from 1ccb69a s3:winbindd: fix query_user for users with NULL full name.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 9b0f8a8e5ff578c0eb231fea80943f2a72dd7286
Author: Andrew Tridgell <tridge at samba.org>
Date: Mon Nov 1 22:48:16 2010 +1100
s4-ldb: use ldb_set_modules_dir() to load additional ldb modules
this allows ldb_wrap to enable s4 modules in a standalone ldb install
without any additional installation
Autobuild-User: Andrew Tridgell <tridge at samba.org>
Autobuild-Date: Mon Nov 1 13:47:33 UTC 2010 on sn-devel-104
commit 91030477825112d50c6f4e72f9ece2a51a79230a
Author: Andrew Tridgell <tridge at samba.org>
Date: Mon Nov 1 22:30:45 2010 +1100
s4-ldb: enable version checking in dsdb ldb modules
commit a386ca85590a0ee18c1d98c80c6b1ec4faab31a7
Author: Andrew Tridgell <tridge at samba.org>
Date: Mon Nov 1 22:30:23 2010 +1100
s4-ldb: enable ldb module version checking
commit 8366bb495abefe5cc1d0cb120530a1933d942fbf
Author: Andrew Tridgell <tridge at samba.org>
Date: Mon Nov 1 22:28:59 2010 +1100
s4-ldb: added support for ldb module version checking
-----------------------------------------------------------------------
Summary of changes:
source4/dsdb/samdb/ldb_modules/acl.c | 1 +
source4/dsdb/samdb/ldb_modules/acl_read.c | 1 +
source4/dsdb/samdb/ldb_modules/anr.c | 1 +
source4/dsdb/samdb/ldb_modules/descriptor.c | 1 +
source4/dsdb/samdb/ldb_modules/dsdb_cache.c | 1 +
source4/dsdb/samdb/ldb_modules/extended_dn_in.c | 1 +
source4/dsdb/samdb/ldb_modules/extended_dn_out.c | 3 ++-
source4/dsdb/samdb/ldb_modules/extended_dn_store.c | 1 +
source4/dsdb/samdb/ldb_modules/instancetype.c | 1 +
source4/dsdb/samdb/ldb_modules/lazy_commit.c | 2 ++
source4/dsdb/samdb/ldb_modules/linked_attributes.c | 1 +
source4/dsdb/samdb/ldb_modules/local_password.c | 1 +
source4/dsdb/samdb/ldb_modules/naming_fsmo.c | 1 +
source4/dsdb/samdb/ldb_modules/new_partition.c | 1 +
source4/dsdb/samdb/ldb_modules/objectclass.c | 1 +
source4/dsdb/samdb/ldb_modules/objectclass_attrs.c | 1 +
source4/dsdb/samdb/ldb_modules/objectguid.c | 1 +
source4/dsdb/samdb/ldb_modules/operational.c | 1 +
source4/dsdb/samdb/ldb_modules/partition.c | 1 +
source4/dsdb/samdb/ldb_modules/password_hash.c | 1 +
source4/dsdb/samdb/ldb_modules/pdc_fsmo.c | 1 +
source4/dsdb/samdb/ldb_modules/proxy.c | 1 +
source4/dsdb/samdb/ldb_modules/ranged_results.c | 1 +
source4/dsdb/samdb/ldb_modules/repl_meta_data.c | 1 +
source4/dsdb/samdb/ldb_modules/resolve_oids.c | 1 +
source4/dsdb/samdb/ldb_modules/rootdse.c | 1 +
source4/dsdb/samdb/ldb_modules/samba3sam.c | 1 +
source4/dsdb/samdb/ldb_modules/samba3sid.c | 1 +
source4/dsdb/samdb/ldb_modules/samba_dsdb.c | 1 +
source4/dsdb/samdb/ldb_modules/samba_secrets.c | 1 +
source4/dsdb/samdb/ldb_modules/samldb.c | 1 +
source4/dsdb/samdb/ldb_modules/schema_data.c | 1 +
source4/dsdb/samdb/ldb_modules/schema_load.c | 1 +
source4/dsdb/samdb/ldb_modules/show_deleted.c | 1 +
source4/dsdb/samdb/ldb_modules/simple_dn.c | 1 +
source4/dsdb/samdb/ldb_modules/simple_ldap_map.c | 3 ++-
source4/dsdb/samdb/ldb_modules/subtree_delete.c | 1 +
source4/dsdb/samdb/ldb_modules/subtree_rename.c | 1 +
source4/dsdb/samdb/ldb_modules/update_keytab.c | 1 +
source4/lib/ldb/common/ldb_modules.c | 18 ++++++++++++------
source4/lib/ldb/include/ldb_module.h | 7 +++++++
source4/lib/ldb/include/ldb_private.h | 2 --
source4/lib/ldb/ldb_ldap/ldb_ldap.c | 3 ++-
source4/lib/ldb/ldb_sqlite3/ldb_sqlite3.c | 9 +++++----
source4/lib/ldb/ldb_tdb/ldb_tdb.c | 1 +
source4/lib/ldb/modules/asq.c | 4 +++-
source4/lib/ldb/modules/paged_results.c | 1 +
source4/lib/ldb/modules/paged_searches.c | 1 +
source4/lib/ldb/modules/rdn_name.c | 1 +
source4/lib/ldb/modules/skel.c | 2 ++
source4/lib/ldb/modules/sort.c | 2 ++
source4/lib/ldb/tests/sample_module.c | 2 ++
source4/lib/ldb/wscript | 6 ++++--
source4/nbt_server/wins/wins_ldb.c | 3 ++-
54 files changed, 87 insertions(+), 19 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c
index 63e3f65..0a7f431 100644
--- a/source4/dsdb/samdb/ldb_modules/acl.c
+++ b/source4/dsdb/samdb/ldb_modules/acl.c
@@ -1184,5 +1184,6 @@ static const struct ldb_module_ops ldb_acl_module_ops = {
int ldb_acl_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_acl_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/acl_read.c b/source4/dsdb/samdb/ldb_modules/acl_read.c
index 1bd9c5e..401e0dc 100644
--- a/source4/dsdb/samdb/ldb_modules/acl_read.c
+++ b/source4/dsdb/samdb/ldb_modules/acl_read.c
@@ -308,5 +308,6 @@ static const struct ldb_module_ops ldb_aclread_module_ops = {
int ldb_aclread_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_aclread_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/anr.c b/source4/dsdb/samdb/ldb_modules/anr.c
index 9291dd5..ec9d825 100644
--- a/source4/dsdb/samdb/ldb_modules/anr.c
+++ b/source4/dsdb/samdb/ldb_modules/anr.c
@@ -372,5 +372,6 @@ static const struct ldb_module_ops ldb_anr_module_ops = {
int ldb_anr_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_anr_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/descriptor.c b/source4/dsdb/samdb/ldb_modules/descriptor.c
index 7aee406..c0b79f6 100644
--- a/source4/dsdb/samdb/ldb_modules/descriptor.c
+++ b/source4/dsdb/samdb/ldb_modules/descriptor.c
@@ -905,5 +905,6 @@ static const struct ldb_module_ops ldb_descriptor_module_ops = {
int ldb_descriptor_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_descriptor_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/dsdb_cache.c b/source4/dsdb/samdb/ldb_modules/dsdb_cache.c
index 2a1b29d..b252fff 100644
--- a/source4/dsdb/samdb/ldb_modules/dsdb_cache.c
+++ b/source4/dsdb/samdb/ldb_modules/dsdb_cache.c
@@ -43,5 +43,6 @@ static const struct ldb_module_ops ldb_dsdb_cache_module_ops = {
int ldb_dsdb_cache_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_dsdb_cache_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/extended_dn_in.c b/source4/dsdb/samdb/ldb_modules/extended_dn_in.c
index 60f6ec4..39e69d9 100644
--- a/source4/dsdb/samdb/ldb_modules/extended_dn_in.c
+++ b/source4/dsdb/samdb/ldb_modules/extended_dn_in.c
@@ -414,5 +414,6 @@ static const struct ldb_module_ops ldb_extended_dn_in_module_ops = {
int ldb_extended_dn_in_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_extended_dn_in_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/extended_dn_out.c b/source4/dsdb/samdb/ldb_modules/extended_dn_out.c
index eab14ed..052563f 100644
--- a/source4/dsdb/samdb/ldb_modules/extended_dn_out.c
+++ b/source4/dsdb/samdb/ldb_modules/extended_dn_out.c
@@ -880,9 +880,10 @@ static const struct ldb_module_ops ldb_extended_dn_out_fds_module_ops = {
/*
initialise the module
*/
-_PUBLIC_ int ldb_extended_dn_out_module_init(const char *ldb_version)
+_PUBLIC_ int ldb_extended_dn_out_module_init(const char *version)
{
int ret;
+ LDB_MODULE_CHECK_VERSION(version);
ret = ldb_register_module(&ldb_extended_dn_out_ldb_module_ops);
if (ret != LDB_SUCCESS) {
return ret;
diff --git a/source4/dsdb/samdb/ldb_modules/extended_dn_store.c b/source4/dsdb/samdb/ldb_modules/extended_dn_store.c
index 471020d..e38a451 100644
--- a/source4/dsdb/samdb/ldb_modules/extended_dn_store.c
+++ b/source4/dsdb/samdb/ldb_modules/extended_dn_store.c
@@ -456,5 +456,6 @@ static const struct ldb_module_ops ldb_extended_dn_store_module_ops = {
int ldb_extended_dn_store_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_extended_dn_store_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/instancetype.c b/source4/dsdb/samdb/ldb_modules/instancetype.c
index 7374103..c557fe1 100644
--- a/source4/dsdb/samdb/ldb_modules/instancetype.c
+++ b/source4/dsdb/samdb/ldb_modules/instancetype.c
@@ -204,5 +204,6 @@ static const struct ldb_module_ops ldb_instancetype_module_ops = {
int ldb_instancetype_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_instancetype_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/lazy_commit.c b/source4/dsdb/samdb/ldb_modules/lazy_commit.c
index d0efea2..24fc6dd 100644
--- a/source4/dsdb/samdb/ldb_modules/lazy_commit.c
+++ b/source4/dsdb/samdb/ldb_modules/lazy_commit.c
@@ -27,6 +27,7 @@
* Author: Andrew Bartlett
*/
+#include "includes.h"
#include "ldb_module.h"
#include "dsdb/samdb/ldb_modules/util.h"
@@ -122,5 +123,6 @@ static const struct ldb_module_ops ldb_lazy_commit_module_ops = {
int ldb_lazy_commit_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_lazy_commit_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/linked_attributes.c b/source4/dsdb/samdb/ldb_modules/linked_attributes.c
index 18faa73..d54060b 100644
--- a/source4/dsdb/samdb/ldb_modules/linked_attributes.c
+++ b/source4/dsdb/samdb/ldb_modules/linked_attributes.c
@@ -1090,5 +1090,6 @@ static const struct ldb_module_ops ldb_linked_attributes_module_ops = {
int ldb_linked_attributes_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_linked_attributes_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/local_password.c b/source4/dsdb/samdb/ldb_modules/local_password.c
index ed267e5..e1b3054 100644
--- a/source4/dsdb/samdb/ldb_modules/local_password.c
+++ b/source4/dsdb/samdb/ldb_modules/local_password.c
@@ -1108,5 +1108,6 @@ static const struct ldb_module_ops ldb_local_password_module_ops = {
int ldb_local_password_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_local_password_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/naming_fsmo.c b/source4/dsdb/samdb/ldb_modules/naming_fsmo.c
index 4b30cfe..b309035 100644
--- a/source4/dsdb/samdb/ldb_modules/naming_fsmo.c
+++ b/source4/dsdb/samdb/ldb_modules/naming_fsmo.c
@@ -103,5 +103,6 @@ static const struct ldb_module_ops ldb_naming_fsmo_module_ops = {
int ldb_naming_fsmo_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_naming_fsmo_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/new_partition.c b/source4/dsdb/samdb/ldb_modules/new_partition.c
index 0c5082b..8eb3de8 100644
--- a/source4/dsdb/samdb/ldb_modules/new_partition.c
+++ b/source4/dsdb/samdb/ldb_modules/new_partition.c
@@ -202,5 +202,6 @@ static const struct ldb_module_ops ldb_new_partition_module_ops = {
int ldb_new_partition_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_new_partition_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/objectclass.c b/source4/dsdb/samdb/ldb_modules/objectclass.c
index d58cf53..474e848 100644
--- a/source4/dsdb/samdb/ldb_modules/objectclass.c
+++ b/source4/dsdb/samdb/ldb_modules/objectclass.c
@@ -1519,5 +1519,6 @@ static const struct ldb_module_ops ldb_objectclass_module_ops = {
int ldb_objectclass_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_objectclass_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c b/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c
index abc64be..cb4f7d9 100644
--- a/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c
+++ b/source4/dsdb/samdb/ldb_modules/objectclass_attrs.c
@@ -474,5 +474,6 @@ static const struct ldb_module_ops ldb_objectclass_attrs_module_ops = {
int ldb_objectclass_attrs_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_objectclass_attrs_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/objectguid.c b/source4/dsdb/samdb/ldb_modules/objectguid.c
index 24103bd..b5d814e 100644
--- a/source4/dsdb/samdb/ldb_modules/objectguid.c
+++ b/source4/dsdb/samdb/ldb_modules/objectguid.c
@@ -283,5 +283,6 @@ static const struct ldb_module_ops ldb_objectguid_module_ops = {
int ldb_objectguid_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_objectguid_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/operational.c b/source4/dsdb/samdb/ldb_modules/operational.c
index ed4ce65..3151061 100644
--- a/source4/dsdb/samdb/ldb_modules/operational.c
+++ b/source4/dsdb/samdb/ldb_modules/operational.c
@@ -867,5 +867,6 @@ static const struct ldb_module_ops ldb_operational_module_ops = {
int ldb_operational_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_operational_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/partition.c b/source4/dsdb/samdb/ldb_modules/partition.c
index aecc27f..7732bcf 100644
--- a/source4/dsdb/samdb/ldb_modules/partition.c
+++ b/source4/dsdb/samdb/ldb_modules/partition.c
@@ -1212,5 +1212,6 @@ static const struct ldb_module_ops ldb_partition_module_ops = {
int ldb_partition_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_partition_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c b/source4/dsdb/samdb/ldb_modules/password_hash.c
index 41be2f6..2c7f436 100644
--- a/source4/dsdb/samdb/ldb_modules/password_hash.c
+++ b/source4/dsdb/samdb/ldb_modules/password_hash.c
@@ -2825,5 +2825,6 @@ static const struct ldb_module_ops ldb_password_hash_module_ops = {
int ldb_password_hash_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_password_hash_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/pdc_fsmo.c b/source4/dsdb/samdb/ldb_modules/pdc_fsmo.c
index 63800d1..5c7d400 100644
--- a/source4/dsdb/samdb/ldb_modules/pdc_fsmo.c
+++ b/source4/dsdb/samdb/ldb_modules/pdc_fsmo.c
@@ -108,5 +108,6 @@ static const struct ldb_module_ops ldb_pdc_fsmo_module_ops = {
int ldb_pdc_fsmo_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_pdc_fsmo_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/proxy.c b/source4/dsdb/samdb/ldb_modules/proxy.c
index 4a73fe9..6fba24f 100644
--- a/source4/dsdb/samdb/ldb_modules/proxy.c
+++ b/source4/dsdb/samdb/ldb_modules/proxy.c
@@ -401,5 +401,6 @@ static const struct ldb_module_ops ldb_proxy_module_ops = {
int ldb_proxy_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_proxy_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/ranged_results.c b/source4/dsdb/samdb/ldb_modules/ranged_results.c
index e1ab18e..b3e79d0 100644
--- a/source4/dsdb/samdb/ldb_modules/ranged_results.c
+++ b/source4/dsdb/samdb/ldb_modules/ranged_results.c
@@ -253,5 +253,6 @@ static const struct ldb_module_ops ldb_ranged_results_module_ops = {
int ldb_ranged_results_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_ranged_results_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
index 1086166..d7ad46f 100644
--- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
+++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
@@ -4210,5 +4210,6 @@ static const struct ldb_module_ops ldb_repl_meta_data_module_ops = {
int ldb_repl_meta_data_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_repl_meta_data_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/resolve_oids.c b/source4/dsdb/samdb/ldb_modules/resolve_oids.c
index 19d7454..71f9a30 100644
--- a/source4/dsdb/samdb/ldb_modules/resolve_oids.c
+++ b/source4/dsdb/samdb/ldb_modules/resolve_oids.c
@@ -701,5 +701,6 @@ static const struct ldb_module_ops ldb_resolve_oids_module_ops = {
int ldb_resolve_oids_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_resolve_oids_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/rootdse.c b/source4/dsdb/samdb/ldb_modules/rootdse.c
index 8eadb32..8a3f0cf 100644
--- a/source4/dsdb/samdb/ldb_modules/rootdse.c
+++ b/source4/dsdb/samdb/ldb_modules/rootdse.c
@@ -1238,5 +1238,6 @@ static const struct ldb_module_ops ldb_rootdse_module_ops = {
int ldb_rootdse_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_rootdse_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/samba3sam.c b/source4/dsdb/samdb/ldb_modules/samba3sam.c
index 5421252..318d605 100644
--- a/source4/dsdb/samdb/ldb_modules/samba3sam.c
+++ b/source4/dsdb/samdb/ldb_modules/samba3sam.c
@@ -931,5 +931,6 @@ static const struct ldb_module_ops ldb_samba3sam_module_ops = {
int ldb_samba3sam_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_samba3sam_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/samba3sid.c b/source4/dsdb/samdb/ldb_modules/samba3sid.c
index 3fb4e98..76bcfce 100644
--- a/source4/dsdb/samdb/ldb_modules/samba3sid.c
+++ b/source4/dsdb/samdb/ldb_modules/samba3sid.c
@@ -200,5 +200,6 @@ static const struct ldb_module_ops ldb_samba3sid_module_ops = {
int ldb_samba3sid_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_samba3sid_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/samba_dsdb.c b/source4/dsdb/samdb/ldb_modules/samba_dsdb.c
index 871a5bd..da20487 100644
--- a/source4/dsdb/samdb/ldb_modules/samba_dsdb.c
+++ b/source4/dsdb/samdb/ldb_modules/samba_dsdb.c
@@ -359,5 +359,6 @@ static const struct ldb_module_ops ldb_samba_dsdb_module_ops = {
int ldb_samba_dsdb_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_samba_dsdb_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/samba_secrets.c b/source4/dsdb/samdb/ldb_modules/samba_secrets.c
index 8a0faae..ae3b7fc 100644
--- a/source4/dsdb/samdb/ldb_modules/samba_secrets.c
+++ b/source4/dsdb/samdb/ldb_modules/samba_secrets.c
@@ -99,5 +99,6 @@ static const struct ldb_module_ops ldb_samba_secrets_module_ops = {
int ldb_samba_secrets_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_samba_secrets_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/samldb.c b/source4/dsdb/samdb/ldb_modules/samldb.c
index c97b570..43602ce 100644
--- a/source4/dsdb/samdb/ldb_modules/samldb.c
+++ b/source4/dsdb/samdb/ldb_modules/samldb.c
@@ -2000,5 +2000,6 @@ static const struct ldb_module_ops ldb_samldb_module_ops = {
int ldb_samldb_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_samldb_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/schema_data.c b/source4/dsdb/samdb/ldb_modules/schema_data.c
index 0f52e47..eeb7c46 100644
--- a/source4/dsdb/samdb/ldb_modules/schema_data.c
+++ b/source4/dsdb/samdb/ldb_modules/schema_data.c
@@ -485,5 +485,6 @@ static const struct ldb_module_ops ldb_schema_data_module_ops = {
int ldb_schema_data_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_schema_data_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/schema_load.c b/source4/dsdb/samdb/ldb_modules/schema_load.c
index a02d728..086b2bf 100644
--- a/source4/dsdb/samdb/ldb_modules/schema_load.c
+++ b/source4/dsdb/samdb/ldb_modules/schema_load.c
@@ -365,5 +365,6 @@ static const struct ldb_module_ops ldb_schema_load_module_ops = {
int ldb_schema_load_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_schema_load_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/show_deleted.c b/source4/dsdb/samdb/ldb_modules/show_deleted.c
index 6dc1d73..25e4630 100644
--- a/source4/dsdb/samdb/ldb_modules/show_deleted.c
+++ b/source4/dsdb/samdb/ldb_modules/show_deleted.c
@@ -172,5 +172,6 @@ static const struct ldb_module_ops ldb_show_deleted_module_ops = {
int ldb_show_deleted_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_show_deleted_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/simple_dn.c b/source4/dsdb/samdb/ldb_modules/simple_dn.c
index 5b30ea9..c7b800f 100644
--- a/source4/dsdb/samdb/ldb_modules/simple_dn.c
+++ b/source4/dsdb/samdb/ldb_modules/simple_dn.c
@@ -74,5 +74,6 @@ static const struct ldb_module_ops ldb_simple_dn_module_ops = {
int ldb_simple_dn_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_simple_dn_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
index 5d09bda..ccd47dc 100644
--- a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
+++ b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
@@ -937,9 +937,10 @@ static const struct ldb_module_ops ldb_nsuniqueid_module_ops = {
/*
initialise the module
*/
-_PUBLIC_ int ldb_simple_ldap_map_module_init(const char *ldb_version)
+_PUBLIC_ int ldb_simple_ldap_map_module_init(const char *version)
{
int ret;
+ LDB_MODULE_CHECK_VERSION(version);
ret = ldb_register_module(&ldb_entryuuid_module_ops);
if (ret != LDB_SUCCESS) {
return ret;
diff --git a/source4/dsdb/samdb/ldb_modules/subtree_delete.c b/source4/dsdb/samdb/ldb_modules/subtree_delete.c
index aa03ab2..07a7592 100644
--- a/source4/dsdb/samdb/ldb_modules/subtree_delete.c
+++ b/source4/dsdb/samdb/ldb_modules/subtree_delete.c
@@ -118,5 +118,6 @@ static const struct ldb_module_ops ldb_subtree_delete_module_ops = {
int ldb_subtree_delete_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_subtree_delete_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/subtree_rename.c b/source4/dsdb/samdb/ldb_modules/subtree_rename.c
index ce444f8..64bbc08 100644
--- a/source4/dsdb/samdb/ldb_modules/subtree_rename.c
+++ b/source4/dsdb/samdb/ldb_modules/subtree_rename.c
@@ -451,5 +451,6 @@ static const struct ldb_module_ops ldb_subtree_rename_module_ops = {
int ldb_subtree_rename_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_subtree_rename_module_ops);
}
diff --git a/source4/dsdb/samdb/ldb_modules/update_keytab.c b/source4/dsdb/samdb/ldb_modules/update_keytab.c
index 2bb949a..e39b260 100644
--- a/source4/dsdb/samdb/ldb_modules/update_keytab.c
+++ b/source4/dsdb/samdb/ldb_modules/update_keytab.c
@@ -446,5 +446,6 @@ static const struct ldb_module_ops ldb_update_keytab_module_ops = {
int ldb_update_keytab_module_init(const char *version)
{
+ LDB_MODULE_CHECK_VERSION(version);
return ldb_register_module(&ldb_update_keytab_module_ops);
}
diff --git a/source4/lib/ldb/common/ldb_modules.c b/source4/lib/ldb/common/ldb_modules.c
index 5f01082..1eeede2 100644
--- a/source4/lib/ldb/common/ldb_modules.c
+++ b/source4/lib/ldb/common/ldb_modules.c
@@ -35,12 +35,6 @@
#include "dlinklist.h"
#include "system/dir.h"
-void ldb_set_modules_dir(struct ldb_context *ldb, const char *path)
-{
- talloc_free(ldb->modules_dir);
- ldb->modules_dir = talloc_strdup(ldb, path);
-}
-
static char *ldb_modules_strdup_no_spaces(TALLOC_CTX *mem_ctx, const char *string)
{
size_t i, len;
@@ -978,6 +972,18 @@ static int ldb_modules_load_dir(const char *modules_dir, const char *version)
return LDB_SUCCESS;
}
+/*
+ load any additional modules from the given directory
+*/
+void ldb_set_modules_dir(struct ldb_context *ldb, const char *path)
+{
+ int ret = ldb_modules_load_dir(path, LDB_VERSION);
+ if (ret != LDB_SUCCESS) {
+ ldb_asprintf_errstring(ldb, "Failed to load modules from: %s\n", path);
+ }
+}
+
+
/*
load all modules static (builtin) modules
*/
diff --git a/source4/lib/ldb/include/ldb_module.h b/source4/lib/ldb/include/ldb_module.h
index 800bf72..fbea707 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/include/ldb_private.h b/source4/lib/ldb/include/ldb_private.h
--
Samba Shared Repository
More information about the samba-cvs
mailing list