[PATCH] Fix shared object clashes - read_data()
Uri Simchoni
uri at samba.org
Thu Jan 21 09:42:56 UTC 2016
Hi,
The attached patch fixes a panic in ldbsearch, when built on an
up-to-date FC22 machine.
This seems to be related to recent changes in samba (more reliance on
gnutls), not to Fedora upgrades, so no BUG: report.
It seems that libsamba-util.so.0 is a direct dependency of
libldb_module_acl.so (according to the linux loader, not sure if we have
a script or a test or build option that checks this automatically...),
so adding the dependency is, I hope, correct.
The reason it's **needed** on the FC22 system, and in the order
specified by the patch, is that on that system, the system-supplied
gnutls requires libtspi.so.1, which exports a read_data() function.
read_data() is also exported by the private libsys_rw-samba4.so library.
Adding libsamba-util before the kerberos stuff (and with libsamba-util
depending on libgenrand which depends on libsys_rw) makes sure we get
the right read_data() on linux.
The command that triggers the panic is:
./bin/ldbsearch -H ldap://localdc -UAdministrator%locDCpass1 -s base -b
"cn=RID Set,cn=LOCALDC,ou=domain controllers,DC=SAMBA,DC=EXAMPLE,DC=COM"
rIDAllocationPool
I also suppose that having a shared library with read_data() in it is
asking for trouble (and the linux loader doesn't seem to support the
notion of private shared libs, so the fact that it's private doesn't
really help here).
Thanks,
Uri
-------------- next part --------------
From 0c827f531cbc4d8b5c932e107fd500111630226c Mon Sep 17 00:00:00 2001
From: Uri Simchoni <uri at samba.org>
Date: Thu, 21 Jan 2016 11:14:36 +0200
Subject: [PATCH] build: fix ldbsearch panic on FC22
add dependency that fixes ldbsearch panic due to conflict -
function read_data() is implemented both by libtspi.so.1, which
is a dependency of gnutls on FC22, and by an internal samba
shared lib.
Signed-off-by: Uri Simchoni <uri at samba.org>
---
source4/dsdb/samdb/ldb_modules/wscript_build_server | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source4/dsdb/samdb/ldb_modules/wscript_build_server b/source4/dsdb/samdb/ldb_modules/wscript_build_server
index b54d27f..8fa9939 100755
--- a/source4/dsdb/samdb/ldb_modules/wscript_build_server
+++ b/source4/dsdb/samdb/ldb_modules/wscript_build_server
@@ -325,7 +325,7 @@ bld.SAMBA_MODULE('ldb_acl',
init_function='ldb_acl_module_init',
module_init_name='ldb_init_module',
internal_module=False,
- deps='talloc samba-security samdb DSDB_MODULE_HELPERS krb5samba'
+ deps='talloc samba-util samba-security samdb DSDB_MODULE_HELPERS krb5samba'
)
--
2.4.3
More information about the samba-technical
mailing list