summaryrefslogtreecommitdiff
path: root/source4/lib/ldb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-06-17 13:11:29 +1000
committerAndrew Tridgell <tridge@samba.org>2008-06-17 13:11:29 +1000
commit310875e637fd237752770027b28675ed970352dd (patch)
treec89feb3d60d311f064c5e266c11e85aed2e240a8 /source4/lib/ldb
parent370f95acfc197759f9140876b31ac127d3a0e10c (diff)
downloadsamba-310875e637fd237752770027b28675ed970352dd.tar.gz
samba-310875e637fd237752770027b28675ed970352dd.tar.bz2
samba-310875e637fd237752770027b28675ed970352dd.zip
Change our module code to not use the special symbol name init_module()
Current glibc libraries include a function called init_module(). If we use the same name, then a dlsym() can find the glibc function if the module doesn't have an initialisation function. In ldb, none of our modules have an init_module(), so we end up calling the libc functions with bogus arguments. (This used to be commit 1b0621068998590e7b1e9528b78744dcd2cd5909)
Diffstat (limited to 'source4/lib/ldb')
-rw-r--r--source4/lib/ldb/common/ldb.c10
-rw-r--r--source4/lib/ldb/common/ldb_modules.c10
2 files changed, 0 insertions, 20 deletions
diff --git a/source4/lib/ldb/common/ldb.c b/source4/lib/ldb/common/ldb.c
index d0570c5382..cac0a383d8 100644
--- a/source4/lib/ldb/common/ldb.c
+++ b/source4/lib/ldb/common/ldb.c
@@ -185,16 +185,6 @@ int ldb_connect_backend(struct ldb_context *ldb,
fn = ldb_find_backend(backend);
if (fn == NULL) {
- int (*init_fn) (void);
-
- init_fn = ldb_dso_load_symbol(ldb, backend,
- "init_module");
- if (init_fn != NULL && init_fn() == 0) {
- fn = ldb_find_backend(backend);
- }
- }
-
- if (fn == NULL) {
struct ldb_backend_ops *ops;
char *symbol_name = talloc_asprintf(ldb, "ldb_%s_backend_ops", backend);
if (symbol_name == NULL) {
diff --git a/source4/lib/ldb/common/ldb_modules.c b/source4/lib/ldb/common/ldb_modules.c
index ddbe0f23a6..fbfb5e5322 100644
--- a/source4/lib/ldb/common/ldb_modules.c
+++ b/source4/lib/ldb/common/ldb_modules.c
@@ -224,16 +224,6 @@ int ldb_load_modules_list(struct ldb_context *ldb, const char **module_list, str
ops = ldb_find_module_ops(module_list[i]);
if (ops == NULL) {
- int (*init_fn) (void);
-
- init_fn = ldb_dso_load_symbol(ldb, module_list[i],
- "init_module");
- if (init_fn != NULL && init_fn() == 0) {
- ops = ldb_find_module_ops(module_list[i]);
- }
- }
-
- if (ops == NULL) {
char *symbol_name = talloc_asprintf(ldb, "ldb_%s_module_ops",
module_list[i]);
if (symbol_name == NULL) {