difference between bind-9.8 and bind-9.9
Günter Kukkukk
linux at kukkukk.com
Mon Jun 4 15:04:59 MDT 2012
Am Montag, 4. Juni 2012, 21:44:48 schrieb Charles Tryon:
> I'm having some problems in my testing environment with the default library
> version number for bind (dlz_dlopen: incorrect version 1 should be 2 in
> '/usr/local/samba/lib/bind9/dlz_bind9.so' in /var/log/messages). I've hit
> this several times because I have a couple of different test environments
> where I'm updating from git on a fairly regular basis. My somewhat brute
> force way to fix then problem has simply been to re-build and install the
> correct bind-9.x, but this clearly isn't a very good long term solution.
>
> What I'm looking for, but haven't found yet is any way to specify, either
> on the configure line or when running the provisioning step, which version
> of the library you wish to use. In particular, I am currently building on
> a new Fedora17 base, which includes bind9.9 by default, so I want to be
> able to run with that version. Is there any standard way to specify the
> target version, other than changing the define in
> source4/dns_server/dlz_minimal.h?
Hi Charles,
in the recent git tree, when you look at the file
./source4/dns_server/wscript_build:
----------
...
# a bind9 dlz module giving access to the Samba DNS SAM
bld.SAMBA_LIBRARY('dlz_bind9',
source='dlz_bind9.c',
cflags='-DBIND_VERSION_9_8',
private_library=True,
link_name='modules/bind9/dlz_bind9.so',
realname='dlz_bind9.so',
install_path='${MODULESDIR}/bind9',
deps='samba-hostconfig samdb-common gensec popt',
enabled=bld.AD_DC_BUILD_IS_ENABLED())
bld.SAMBA_LIBRARY('dlz_bind9_9',
source='dlz_bind9.c',
cflags='-DBIND_VERSION_9_9',
private_library=True,
link_name='modules/bind9/dlz_bind9_9.so',
realname='dlz_bind9_9.so',
install_path='${MODULESDIR}/bind9',
deps='samba-hostconfig samdb-common gensec popt',
enabled=bld.AD_DC_BUILD_IS_ENABLED())
--------------
you'll notice, that two dlz related dynlibs are build now.
When you specify --dns-backend=BIND9_DLZ during the configure step, these
2 dynlibs are installed to e.g.
/usr/local/samba/lib/bind9/dlz_bind9.so
/usr/local/samba/lib/bind9/dlz_bind9_9.so
and the file
/usr/local/samba/private/named.conf
is generated, which should be included into your /etc/named.conf.
It contains:
# This DNS configuration is for BIND 9.8.0 or later with dlz_dlopen support.
#
# This file should be included in your main BIND configuration file
#
# For example with
# include "/usr/local/samba/private/named.conf";
#
# This configures dynamically loadable zones (DLZ) from AD schema
# Uncomment only single database line, depending on your BIND version
#
dlz "AD DNS Zone" {
# For BIND 9.8.0
# database "dlopen /usr/local/samba/lib/bind9/dlz_bind9.so";
# For BIND 9.9.0
database "dlopen /usr/local/samba/lib/bind9/dlz_bind9_9.so";
};
So to change between bind-9.8.x and 9.9.x, one has to edit this file
manually.
Cheers, Günter
More information about the samba-technical
mailing list