[PATCH] Fix shared object clashes - read_data()
Alexander Bokovoy
ab at samba.org
Thu Jan 21 10:39:26 UTC 2016
On Thu, 21 Jan 2016, Uri Simchoni wrote:
> 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
>
> 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'
> )
Can we rename read_data to something more unique?
--
/ Alexander Bokovoy
More information about the samba-technical
mailing list